SAM Coupé
Cassette tape | |
Display | UHF TV, composite or RGB monitor; 512 × 192 with 4 colors, 256 x 192 with 16 colors |
---|---|
Graphics | Motorola MC 1377P, VGT-200 gate array custom ASIC graphic processor |
Sound | Philips SAA1099 (6 channel, 8 octave, stereo, envelope and amplitude control); Beeper |
Input | Mouse, Light pen, Light gun, joystick |
Connectivity | SCART, 64-pin Euroconnector, Mouse port, Light pen / Light gun port, 5-pin DIN stereo audio out, MIDI ports, 9-pin joystick port, 3.5 mm mono audio in/out |
Backward compatibility | ZX Spectrum |
The SAM Coupé (pronounced /sæm ku:peɪ/ from its original
It was based on and designed to have a compatibility mode with the ZX Spectrum 48K with influences from the Loki project[1] and marketed as a logical upgrade from the Spectrum with increased memory, graphical and sound capabilities, native peripheral support (floppy disk, MIDI, joystick, light pen/light gun and a proprietary mouse).
The inclusion of support for higher graphical modes allowed for 80-column text presentation, providing a platform to support productivity and CP/M applications via additional software.
Being based on
When MGT went into receivership in June 1990[4] two further attempts were made to restart the computer and brand, firstly under SAM Computers Limited[5] and then in November 1992 under West Coast Computers, a company spun from Format Publications which lasted until liquidation in 2005.[6]
Naming
The capitalised SAM is an acronym for 'Some Amazing Micro' according to
It has also been reported to be related to 'Some Amazing Machine'.
The ‘Coupé’ nickname has two sources: one being an ice cream sundae called the “Ice Cream Coupé” and the other because the machine resembles a fastback car in profile with the feet as the wheels.[7][8]
Hardware
The SAM Coupé's hardware was designed by Bruce Gordon of Miles Gordon Technology. The computer included custom silicon to handle display, memory and IO functionality. This was originally prototyped using wire-wrapped 7400-series logic chips, before being produced as a VLSI VGT-200 gate array ASIC.[9][10]
Processor and logic
The machine is based around a
Memory and storage
The basic SAM Coupé model has 256
The computer has a direct connection for a cassette recorder for data storage but two 3.5 inch floppy disk drives can be installed within the case as well or externally using an interface.
Graphics
The SAM Coupé was designed primarily for the UK market, and is designed around the PAL television standard, which refreshes at 50 frames per second. Unlike a standard PAL signal which is interleaved, the SAM is designed to emit two identically positioned fields at 50 FPS, giving something closer to a 312 lines progressive signal than the 625-lines interlaced broadcast television signals common in the UK at the time.
The display is surrounded by a large border area to provide a title-safe display zone for the CRT televisions of that era. The colour of this region can be changed in software by using the BORDER port to select a colour from the palette.
Display Modes
The SAM Coupé has four display modes:[12]
- Mode 1 — 256 × 192, non-linear framebuffer, 1 bit per pixel with separate colour attributes for each 8×8 block of pixels = 6.75 KB (arranged to match the display of the ZX Spectrum for backwards compatibility)
- Mode 2 — 256 × 192, linear framebuffer, 1 bit per pixel with separate colour attributes for each 8-wide block of pixels = 12 KB
- Mode 3 — 512 × 192, linear framebuffer, 2 bits per pixel (4 colours) = 24 KB
- Mode 4 — 256 × 192, linear framebuffer, 4 bits per pixel (16 colours) = 24 KB
-
Mode 1 example image
-
Mode 2 example image
-
Mode 3 example image
-
Mode 4 example image
The 'attribute' modes borrow their design from the ZX Spectrum, where a bitmap is used to select between a paper and ink colour from two groups of eight colours. The group to use is selected by a 'brightness' flag. The colour block can also be set to 'flash' - that is, alternate between the two colours used for paper and ink.
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
---|---|---|---|---|---|---|---|
Flash | Bright | Paper 2 | Paper 1 | Paper 0 | Ink 2 | Ink 1 | Ink 0 |
Hardware palette
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
---|---|---|---|---|---|---|---|
- | Green 1 | Red 1 | Blue 1 | Half-Bright | Green 0 | Red 0 | Blue 0 |
The ASIC can be configured to generate interrupts when a line on the display is starting to be emitted, allowing video effects to be synchronised with specific display lines with little effort. By default, it will generate an interrupt for every frame. Typically this interrupt is used to double buffer the frame, read the keyboard/mouse state, and output music.
The interrupt state can also be polled directly from the ASIC's status register.
The
The non-standard SCART display connector includes both composite and RGB output, as well as signals to drive a 16-colour TTL monitor.
Access to internal RAM was shared between the display and the CPU, with CPU accesses incurring a speed penalty (memory contention) as it was forced to waited for isochronous
A small compensation was the straightforward arrangement of colour pixels in this memory, instead of the ZX Spectrum's more limited display and attributes memory. Low-level graphics software operations could be much simpler than their Spectrum equivalents and therefore somewhat faster to execute.
The penalty of memory contention delay applied to all memory accesses to RAM, and not just to memory associated with the video circuitry (as in the case of the ZX Spectrum). Hardware
While the main 256 × 192 area of the screen was being drawn, the processor could only access memory in 1 out of every 8 t-states. During the border area this was 1 out of every 4 t-states, which had no effect on the many instructions whose timings were a multiple of 4. In modes 3 and 4 the display could be disabled completely, eliminating these memory contention delays for a full 6 MHz running speed. Code running in ROM or external RAM was unaffected by contention, though any RAM accesses they performed to shared internal RAM would still be affected.
Character set
The character set includes block graphics and international characters. Font size can be altered to make text display in 32, 64, or 85 columns, and double height characters are also possible.[12][15] Users can freely define their own characters by creating User Defined Graphics (UDGs). A large number of character codes (144 to 255) are available for this purpose. Block graphics (code 128 to 143) can be turned off in order free more characters for UDGs.[15]
When in BASIC, the cursor is composed of the Blocks off characters (128/129) for lower and upper case respectively regardless of current Blocks setting, so overwriting these positions will also change the cursor. If this is undesirable, then systems variable (SVAR) 1 can be set to a 2-character value for the new lower and upper case cursor characters to be used.
The Utility Tapes and SAMDOS disk operating system media included an international character font loader to allow additional characters to be loaded into the block graphics region starting at 128 (0x80). This meant the cursor characters were overwritten so the accompanying BASIC loader set the cursor to * and + for lower and upper case respectively.[16]
The following table show the predefined character set arrangement:[12][15]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | |||||||||||||||||
1 | |||||||||||||||||
2 | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / | ||
3 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? | |
4 | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | |
5 | P | Q | R | S | T | U | V | W | X | Y | Z | [
|
\ | ]
|
↑ | _ | |
6 | £ | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | |
7 | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | © | |
8 | Blocks on | ||||||||||||||||
Blocks off | é | ||||||||||||||||
Blocks off, International characters | É | æ | Æ | ô
|
ö | ò | û | ù
|
ÿ | Ö | Ü | ¢
|
£
|
¥
|
₧ | ƒ | |
9 | Blocks on | ||||||||||||||||
Blocks off, International characters | á | í | ó | ú | ñ | Ñ | ª
|
º
|
¿
|
||||||||
A | |||||||||||||||||
B | |||||||||||||||||
C | |||||||||||||||||
D | |||||||||||||||||
E | |||||||||||||||||
F |
Notes:
- Character codes 0 to 31 (0x00 to 0x1F): control codes
- Character codes 32 to 168 (0x20 to 0xA8): predefined character set
- Character codes 128 to 143 (0x80 to 0x8F): block graphics / foreign characters or User Defined Graphics (UDGs)
- Character codes 144 to 255 (0x90 to 0xFF): User Defined Graphics (UDGs)
Audio
Six channels of 8-octave stereo sound are provided by a Philips SAA1099 sound and noise generator chip. The machine allows for the playback of sound samples under software control as well as supporting four-channel Amiga Tracker modules at 3-bit sample resolution of 10.4KHz[17] and 4-bit at 15.625 Khz.[18]
To provide backwards compatibility with the ZX Spectrum, the SAM also provides a single-bit 'beeper' channel which can be used to emit simple tones by toggling the bit on and off as per the original Spectrum.
Firmware and DOS
The machine shipped with 32 KB of ROM containing code to boot the machine and a BASIC interpreter (SAM BASIC) written by Andrew Wright and heavily influenced by his earlier Beta BASIC for the ZX Spectrum. The ROMs contained only the bootstrap code and the DOS was instead loaded from disk using the BOOT
command, or the F9 key. The majority of disks shipped with SAMDOS, the system's first DOS, on them so that they could be directly booted. An improved replacement, MasterDOS, was also developed offering faster disk access, more files and support for the real-time clock accessory to provide file timestamps amongst many other improvements.
The BASIC was very advanced and included code for sprite drawing and basic vector shapes such as lines and circles. The screen co-ordinate system for these was variable and could be arbitrarily scaled and centred. A provision for "recording" sequences of graphics commands so that they could later be repeated without the speed penalty of a BASIC interpreter in between was provided.
The machine is capable of running
Disk drives
The SAM originally used
Due to a flaw in the Coupé's design, resetting the machine while a disk was left in a drive would be liable to cause data corruption on that disk, as while the RESET line is held logic low the ASIC (that generates the 8 Mhz clock) is halted thus no clock signal is sent to the drive's controllers.[21]
The
Expansion ports
A large array of expansion ports were provided, including:
- Two internal drive bays.
- Non-standard SCART connector offering composite video and digital and linear RGB as well as power input.
- 64-pin Euroconnector[11] for general purpose hardware expansions.
- Mouse socket (proprietary format, although a converter for Atari ST style mice was later available).
- Light pen / Light gun and Stereo sound output via 5-pin DIN connector.
- MIDI IN/OUT ports (and THROUGH, via a software switch).
- Network using the MIDI port (up to 16 machines could be interconnected).
- Atari-style 9-pin joystick port (dual capability with a splitter cable although due to a flaw the two joysticks would interfere with each other).
- 3.5mm mono Cassettejack (dual use for loading and saving).
Up to four devices could be connected to the Coupé's Euroconnector port, through the use of the SAMBUS, which also provided a built-in clock. When using more power-hungry peripherals, the SAMBUS required an additional power supply.[24]
Power
The SAM's Power Supply was a modified Amstrad CPC MP1/MP2 modulator unit, with the RF modulator built in and connected via a joint power/TV socket to the computer. This made signal interference from the AC/DC converter common and it was a popular but entirely unofficial modification to remove the modulator and keep it as a separate unit.[25]
ZX Spectrum compatibility
Emulation of the ZX Spectrum was limited to the 48K and was achieved by either using a supplied utility and a skeleton ROM image (containing no original code) or by loading a complete copy of the ZX Spectrum ROM (obtained from a ZX Spectrum). In order to match the processing speed of the ZX Spectrum (3.5 MHz), the SAM Coupé introduces extra wait states in display Mode 1 (the ZX Spectrum-compatible graphics mode) to slow down the CPU to roughly match the rate of that system.
The
Because the Coupé did not run at exactly the same speed as the Spectrum even in emulation mode, many anti-piracy tape loaders would not work on the Coupé hardware. This led to the development by MGT of a special hardware
See also
References
- ^ Owen, Chris (2003). "Loki, Janus, Pandora - The Unreleased Sinclair Computers". Planet Sinclair. Retrieved 14 April 2023.
- ^ Alway, Robin (August 1990). "So what really has happened to the SAM Coupe?" (PDF). Your Sinclair: 40.
- ^ Pillar, Jon (September 1992). "SAM Centre - News". Your Sinclair: 38.
- ^ "MGT". World of SAM. 14 May 2018. Retrieved 14 April 2023.
- ^ Dooré, Dan (14 May 2018). "Sam Computers Ltd". World of SAM. Retrieved 14 April 2023.
- ^ Dooré, Dan (14 May 2018). "West Coast Computers". World of SAM. Retrieved 14 April 2023.
- ^ "SAM Coupé - SinclairFAQ". Sinclair Wiki. Retrieved 14 February 2019.
- ^ Dooré, Dan (July 2018). "Naming". World of SAM. Retrieved 14 February 2019.
- ^ Dooré, Dan (24 June 2021). "Development machine". World of SAM. Retrieved 14 April 2023.
- ^ a b Brown, Adrian (15 May 2018). "ASIC". World of SAM. Retrieved 27 April 2023.
- ^ a b c Collier, Andrew (2018). "EuroConnector". World of SAM.
- ^ a b c "Basically". Crash. No. 74. March 1990. p. 13.
- ^ Color Television RGB to PAL/NTSC Encoder MC1377 (PDF). Motorola. 1995.
- ^ Croucher, Mel (1989). SAM Coupé Users' Manual (PDF). MILES GORDON TECHNOLOGY plc. p. 170.
- ^ a b c Croucher, Mel (1989). SAM Coupé Users' Manual (PDF). MILES GORDON TECHNOLOGY plc. pp. 87–89.
- ^ Dooré, Dan. "Fonts". www.worldofsam.org. Retrieved 28 April 2023.
- ^ Drissen, Stefan (14 April 2023), SAM MOD player, retrieved 17 April 2023
- ^ SAM Coupé: Peace Droid - 15.6KHz - stereo oscilloscope view 4K, retrieved 15 February 2024
- ^ "Home Page". SAM Coupè Pro-DOS [CP/M 2.2] Resource Pages. Retrieved 1 March 2019.
- ^ Dooré, Dan (May 2021). "Prototype". World of SAM. Retrieved 5 June 2021.
- ^ Brown, Adrian (May 2018). "DPU". World of SAM. Retrieved 13 February 2019.
- ^ Dooré, Dan. "KEdisk". www.worldofsam.org. Retrieved 29 April 2023.
- ^ Drissen, Stefan. "PC Suite". www.worldofsam.org. Retrieved 29 April 2023.
- ^ Dooré, Dan. "SamBus". www.worldofsam.org. Retrieved 29 April 2023.
- ^ Dooré, Dan (June 2018). "External PSU Modification". World of SAM. Retrieved 13 February 2019.
- ^ "SAM Coupé - ZX128 - SNAPER". VELESOFT - ZX SAM TIMEX SPRINTER.
External links
- World of SAM
- Quazar
- Simcoupe emulator
- SAM Coupé Pro-DOS [CP/M 2.2] Resource Pages
- Spectrum Advanced Machine
- SAM Coupé for MiSTer
- SAM Coupé for MIST Board