The Messenger
Submitted by mcleod_ideafix on Thu, 2006-04-20 10:50. Peripheral
1991
The Messenger was an interface for the ZX Spectrum that allowed a PLUS-D/Multiface-type snapshot to be taken and then transferred via the MIDI/Network port to the Sam (with an additional card for NMI debounce)
Information by Andrew Thompson from the Sam Coupé Scrapbook
‘The Messenger’ was Samco’s ultimate answer to spectrum compatibility. It consisted of an interface which plugged into the edge connector on the back of the spectrum and from this a cable ran to the SAM’s network port. There was also a very small card which plugged into the SAM’s EuroConnector and had a single button on it which generated an NMI. The third part was a disk that had the Messenger program itself on it.
Basically operation worked like this:
When you first bought the messenger you transfered the Spectrum’s rom down the network cable and stored it on the Messenger disk.
From then on, to get a new game onto the SAM you loaded the Messenger disk into the SAM and loaded the game that you wanted into the Spectrum from tape in the usual way.
Once the game was loaded into the Spectrum you pressed the button on the back of the Messenger interface (which is plugged into the Spectrum remember), and this ‘froze’ the machine at that point.
You then had a number of options that you could select from a menu on the SAM:
Here they are the typewritten instruction sheets that came with my Messenger (v1.1).
Information by Steven Pick from the Sam Coupé Scrapbook
The Messenger is Bruce Gordon’s first Spectrum interface for over 2 years, but it seems that the old man hasn’t lost his touch on producing a fine piece of valuable hardware for any SAM-Spectrum owner.
The Messenger is a black box which hugs onto the Spectrum’s edge connector, and has a cable linking to the Coupe’s MIDI ports. From here, you can load up Spectrum stuff on your Spectrum, then once the game is loaded, “port” the code across to the SAM. A button on the Messenger itself freezes the action of the Spectrum - a lot like a Multiface, and with this, you can do the business and save it to disk.
Because you are loading stuff on the Spectrum itself, there is a very, very high compatibility rate of 99%. The other 1%, I think, is for a crap tape header, or something. There’s no buggering around with tape volume at all, and it’s all extremely friendly to use. In short, a worthwhile and essential purchase for any Spectrum-SAM owner!
Sam Coupé Timeline
Submitted by Dan Dooré on Thu, 2006-04-20 10:24.Information originally from Tim Paveley taken from the Sam Coupé Scrapbook
| Year | Date | Details |
|---|---|---|
| 1998 | March | Crash Issue 50 gives a preview of the prototype to Simon Goodwin, courtesy of worldofspectrum.org |
| 1989 | February | Crash Issue 61 gives an early look at a Sam prototype, courtesy of worldofspectrum.org |
| March | Your Sinclair Issue 39 has a preview, courtesy of The YS Rock ‘n’ Roll Years. | |
| November | Your Sinclair Issue 47 has a preview, courtesy of The YS Rock ‘n’ Roll Years. | |
| November 20th | Original launch date as announced on the Sam Coupe Hotline | |
| December | Sam Coupé Released. | |
| 1990 | March | Known ROM bugs reported in free handout. |
| Your Sinclair Issue 51 review, courtesy of The YS Rock ‘n’ Roll Years. | ||
| April | Your Sinclair Issue 52 has a review of the Sam Drive, courtesy of The YS Rock ‘n’ Roll Years. | |
| 11th June | MGT plc goes into receivership. | |
| June | Defenders of the Earth released (first commercial game)! | |
| 6th August | Sam Computers Ltd start up. | |
| October | Price cut, Sam with Sam Drive now costs less than UKP200. | |
| October | VoiceBox released, first 3rd party add on. | |
| December | One Meg Upgrade, SamBus (with clock) and MasterDOS released. | |
| 1991 | March | Sam Shop Opens. |
| April | Sound Sampler, Sam MIDI Sequencer released. | |
| May | The Messenger released. | |
| Summer | Some people are working on a WIMP package. Quote - ‘as easy to use as the Macintosh system, as fast as the Archimedes Desktop, as nice to look at as Windows 3, and as customisable and multitaskable as Amiga Workbench 2’ | |
| Prince of Persia planned for July Launch. | ||
| F16 - Combat Fighter planned for July Launch, Never released. | ||
| MasterBASIC released. | ||
| Work is taking place on the Mouse Interface. | ||
| October | Prince of Persia Released. | |
| December | Launch of The Sound Machine, Pro-DOS (cp/m). | |
| 1992 | January | Launch of NewsDisk, SCADS Released. |
| March | Hardware Development Kit released (includes the ill-fated 32768 colour upgrade). | |
| Summer | Release of GameStar model. Release of GamesMaster. | |
| 15th July | SamCo goes into Liquidation. | |
| August | Parallax, and Spell Master released. | |
| October | The Secretary released. | |
| December | Blue Alpha revived. | |
| 1993 | January | First West Coast Computers Mailshot. |
| February | E-Tracker released. | |
| Summer | West Coast Computers report they are developing a modem, “The Communicator” with Blue Alpha - it never appeared. | |
| October | New SamBUS released Two-up (no clock, LED, 2 slots). | |
| November | First Sam & Spectrum Gloucester Show. DRiVER released. | |
| 1994 | January | Sampaint & Lemmings released. |
| February | Colin Macdonald (of Fred fame) writes a Sam article in Computer Trade Weekly. | |
| April | 2nd Sam & Spectrum Gloucester Show. | |
| October | 3rd Sam & Spectrum Gloucester Show. Oh No! More Lemmings launched. | |
| 1995 | ||
| 1996 | Sim Coupe development started. |
EuroConnector
Submitted by Dan Dooré on Thu, 2006-04-20 10:13. Built-inThe 64-way ‘EuroConnector’ is a DIN 41612/IEC 60603-2 Type-C Connector and the standard expansion port for peripherals.
The single connector can be extended with a SamBus or a Three-up.
Pin Out:
(NB row A is at the bottom of the Euroconnector, row C at the top).
| PIN | SIGNAL | PIN | SIGNAL |
|---|---|---|---|
| 1A | DBDIR | 1C | IORQL |
| 2A | RDL | 2C | MREQL |
| 3A | WRL | 3C | HALTL |
| 4A | BUSAKL | 4C | NMIL |
| 5A | WAITL | 5C | INTL |
| 6A | BUSREQL | 6C | CD1 |
| 7A | RESETL | 7C | CDO |
| 8A | CM1L | 8C | CD7 |
| 9A | REFRESHL | 9C | CD2 |
| 10A | 0 VOLTS | 1OC | +5 VOLTS |
| 11A | AO | 11C | CD6 |
| 12A | A1 | 12C | CD5 |
| 13A | A2 | 13C | CD3 |
| 14A | A3 | 14C | CD4 |
| 15A | A4 | 15C | CPU CLK |
| 16A | A5 | 16C | A15 |
| 17A | A6 | 17C | A14 |
| 18A | A7 | 18C | A13 |
| 19A | A8 | 19C | A12 |
| 20A | A9 | 20C | All |
| 21A | A10 | 21C | DISK 2L |
| 22A | MSEINTL | 22C | ROMCSL |
| 23A | XMEML | 23C | EARMIC |
| 24A | 8 MHz | 24C | DISK 1L |
| 25A | RED 1 | 25C | PRINTL |
| 26A | GREEN 1 | 26C | BLUE 1 |
| 27A | C SYNC | 27C | ROMCSRL |
| 28A | SPEN | 28C | AUDIO RIGHT OUTPUT |
| 29A | BLUE 0 | 29C | AUDIO LEFT OUTPUT |
| 30A | RED 0 | 30C | COMP VIDEO |
| 31A | BRIGHT | 31C | GREEN 0 |
| 32A | +5 VOLTS | 32C | 0 VOLTS |
Lightpen
Submitted by Dan Dooré on Thu, 2006-04-20 10:09. PeripheralN/A
Information from Andy Gale taken from the Sam Coupé Scrapbook
Very simple really - the SPEN pin on the lightpen/audio port is usually pulled high internally with a resistor. This means that ports 248 and 504 are constantly updated with the x and y coordinates respectively of the raster beam. If SPEN is held low then those ports ‘stick’ at their current value. So, basically, your lightpen circuit should hold SPEN low and blip it high very briefly when the raster beam passes in front of the photodetector (you could use a photodiode, phototransistor, photodarlington - preferrably a fast one) - this shouldn’t take much more than one i.c.! Note that the x-resolution is not too great, and that line interrupts (often used for palette changes) will not operate. Sorry.
Joystick connector
Submitted by Dan Dooré on Thu, 2006-04-20 10:00. Built-inContent moved to Keyboard and Joystick port
MasterDOS Hook Codes
Submitted by Dan Dooré on Thu, 2006-04-20 08:49.Information from Frode Tennebø from the Sam Coupé Scrapbook
MasterDOS provides hook (command) codes which enable the machinecode programmer to use the DOS’s facilities without having to return to or call SAM BASIC.
If an error occurs, MasterDOS puts an error number into the A register; otherwise the A register will be zero.
The Hook Codes currently available are:
- INIT 128 (80H)
- Look for an AUTO file on the current disk. Noaction (or error) occurs if there is no AUTO file, otherwise it isloaded (and executed if it is an auto-running Basic or CODEfile). This Hook can only be used in sections B and C of the memorymap.
- HGTHD 129 (81H)
- Get file header. This routine should be calledwith IX pointing to the UIFA, which should hold the file type required(at IX+0) and the file name (at IX+1 to IX+10). The routine looks forthe file in the current directory on the current drive and eitherreturns with an error code, or transfers the data from the filedirectory entry to IX+80 dec, in UIFA form. The calling code and theUIFA can be in sections B, C or D of the memory map. (Note: this hookworks correctly in SAMDOS, provided IX=4BOOH.)
- HLOAD 130 (82H)
- Load data from the file you have just got theheader of using HGTHD above. HL must point to the destination address,paged in between 8000H and BFFFH, i.e. in section C of the memorymap. The C register should hold the number of 16K pages in the file,and DE should hold the length MOD 16K. These values can be read fromthe header loaded by HGTHD. See also Hook 143.
- HVERY 131 (83H)
- Like HLOAD, but verify the data on the diskagainst the data in memory. Error code 93 dec if verify failed.
- HSAVE 132 (84H)
- Save the file whose UIFA is pointed to byIX. All relevant data in the UIFA must be complete - for a CODE file,type, name, start, length and execute address. If in doubt, try a SAVEfrom BASIC and then look at 4500H-4B47H to find the requiredvalues.
- HSKSF 133 (85H)
- Seek Safe. On some machines, pressing the Resetbutton can corrupt the disk sector under the drive head. This is oftenon the track containing the last sector of the last fileloaded. MasterDOS tries to minimise the problem by parking the drivehead on the last track in the directory, after a LOAD or a SAVE. Thistrack will be unused unless the directory is fairly full. Using theHSKSF hook will move the head of the current drive to the last trackin the directory, unless this would be track 4 (which contains thefirst sector of DOS) in which case track 3 is used instead.
- HAUTO 136 (88H)
- Like Hook 128, but an error code of 101 dec isreturned if there is no AUTO file.
- HSKTD 137 (89H)
- Seek Track D. Move the drive head of thecurrent drive to the track specified in the D register.
- HFMTK 138 (8AH)
- Format Track. Format the track under the drivehead, using the D register to supply the track number and the Eregister as the number of the first sector (1-10). Later sectors willbe numbered 1 higher till 10 is reached and numbering goes back to1. [Does not exist?]
- HVAR 139 (8BH)
- Supply the address of a DVAR by putting it onthe floating point calculator stack. On entry, the FPCS should holdthe desired DVAR number. Note: it is probably easier to page in DOS(the DOS page is held at 5BC2H) and read the disk variablesdirectly. DVAR 0 is at an offset of 0220H within the page - this willnot change.
- HEOF 140 (8CH)
- Supply the End-Of-File status (1 or 0) of aspecified stream. The stream number should be on the FPCS. It will bereplaced by the EOF status.
- HPTR 141 (8DHl)
- Supply the PTR value for a specifiedstream. The stream number on the FPCS is replaced by the PTRvalue.
- HPATH 142 (8EH)
- Supply the current PATH$ on the FPCS Use CALL0124H (JSTKFETCH) to get page (A) offset (DE) and length (BC) of thestring.
- HLUPG 143 (8FH)
- As Hook 130, but on entry the A register shouldhold the page number of the destination address. This need not bepaged in.
- HVEPG 144 (90H)
- As Hook 131, but on entry the A register holdsthe page to verify against.
- HSDIR 145 (9lH)
- Select Directory. Similar to DIR=”name” inBasic. On entry, the registers hold details of the location and lengthof the desired subdirectory name. DE is the offset, A is the page ofthe name start, and BC is the name length.
- HOFSM 146 (92H)
- Open a File Sector Map for an OPENTYPE file. IXmust point to the UIFA. The routine will create the map and clear thedisk buffer.
- HOFLE 147 (93H)
- Open a file on the disk. IX must point to theUIFA. The routine will create a sector address map, and save a 9-byteheader to the disk buffer.
- HSBYT 148 (94H)
- Save the byte in the A register to the diskfile (If the buffer is full it will be written to the disk and thebyte will go into the start of the next buffer.)
- HWSAD 149 (95H)
- Write Single Sector. On entry, the A registeris the drive number (1-7) which is used to access the table at DVAR111 to get the actual drive to use. D holds the destination track, andE the sector. HL points to the source in memory, which must be insections B, C or D of the memory map. 512 bytes will be written todisk.
- HKSB 150 (96H)
- Save a block of data to the disk file. The Aregister holds the length to save in pages, and DE holds the lengthMOD 16K. HL points to the start of the data to save, paged intosection C of the memory map.
- HDBOP 151 (97H)
- Save BC bytes to the disk file. DE points tothe start of the data to save, paged into section C of the memorymap. Used by DOS to write strings to OPENTYPE files.
- HCFSM 152 (98H)
- Close a file. This routine writes the lastbuffer to a disk file and creates a directory entry for it. IX shouldpoint to the UIFA.
- HORDER 153 (99H)
- Sort list into ASCII order. HL should point tothe start of the list in sections B, C or D of the memory map. The BCregister should hold the length of each item in the list, and the DEregister the number of items. The A register specifies the number ofcharacters to sort on. No paging is performed so the entire list mustbe paged in by the user before this hook is called.
- HGFLE 158 (9EH)
- Get a file from the disk. The IX register mustpoint to the UIFA. The return is made with the first sector of thefile loaded into the disk buffer and RPT pointing to the firstbyte.
- HRSAD 160 (A0H)
- Read Single Sector. On entry, the A register isthe drive number (1-7) which is used to access the table at DVAR 111to get the actual drive to use. D holds the source track, and E thesector. HL points to the destination in memory, which must be insections B, C or D of the memory map. 512 bytes will be read from thedisk.
- HLDBK 161 (A1H)
- Load a block of data from the current diskfile. HL points to the destination of the data in memory, paged intosection C of the memory map. The A register is the length to load, inpages, and DE holds the length MOD 16K.
- HMRSAD 162 (A2H)
- Read Multiple Sectors. Equivalent to READ ATin Basic. The A register is the drive to use (1-7, using DVAR 111table), D holds the track, E the sector, C the page and HL the offset(8000H-BFFFH) of the destination. IX holds the number of sectors toload.
- HMWSAD 163 (A3H)
- Write Multiple Sectors. Equivalent to WRITE ATin Basic. As above, but C and HL hold the source address, rather thanthe destination.
- HREST 164 (A4H)
- Restore. Move drive head to track 0. The diskneed not be formatted.
- HP2IR 165 (A5H)
- Print directory. If the A register holds 2,print a simple directory. If it holds 4, print a detaileddirectory. Neither option does a CLS first. The current stream is usedto output.
- HERAZ 166 (A6H)
- ERASE a file from disk. The file name should beat IX+1 to IX+10.
- HCHRD 168 (A8H)
- Read character from the disk file whose UIFA ispointed to by IX. The character and flags are passed out in thealternate BC register: EXX, PUSH BC, EXX, POP AF gives the characterin A, and the carry flag set if the read was OK, else we hit end offile.
Enceladus
Submitted by Dan Dooré on Thu, 2006-04-20 08:30. DiskHolding Page
Enceladus 1 - December 1990
Enceladus 2 - January 1991
Enceladus 3 - 1991
Enceladus 4 - 1991
Enceladus 5 - Jnne 1991
Enceladus 6 - 1991
Best of Enceladus, Birthday Pack Edition - Aug 1991
Enceladus 7 - October 1991
Enceladus 8 - December 1991
Enceladus 9 - February 1992
Enceladus 10 - April 1992
Enceladus 11 - July 1992
Enceladus 12 - October 1992
Tim Paveley - Sam Coupé Scrapbook Contents
Submitted by Dan Dooré on Thu, 2006-04-20 08:24. GrantedI’m finding myself linking more and more entries to the Scrapbook so I thought I’d check that that was OK with you in the first instance.
Yup.
The second thing I’d like to ask is how I link to the pages, if they are still updated then I can just link a URL but if they are effectively static now would you object to me taking the content and reformatting it on worldofsam.org with a ‘Taken from the scrapbook’ link at the bottom?
To be honest, I’m unlikely to make any major updates, so copy if you prefer - if you do link could you use Sam Coupé Scrapbook link though, incase I move them again.
Cheers,
Tim
SamTek
Submitted by Dan Dooré on Thu, 2006-04-20 08:19.SamTech
SamTek was a hardware development venture formed by Bruce Gordon around the time of SamCo.
The SamTek monikor can be seen on the PCB of the One Meg interface.
Steve Taylor - Mouse Driver 2.0
Submitted by Dan Dooré on Wed, 2006-04-19 11:54. GrantedFrom the README.64C on the disc:
“Mouse Driver v2.0 is Public Domain software and may, as such, be used and copied freely. You may also use it in this form for commercial software, provided appropriate credit is given.”


