by Luis Claudio Grosso
Interface that connects Timex Sinclair 1500 (in Argentina known as Czerweny CZ1500) or Sinclair ZX81 with Commodore 1541 disk drive.
The new design will not have 128kB SRAM. There's too much problems to solve with more memory and this requres extra logic chips and board space. From other side, the ZX1541 is enough powerful by itself, while extra 96kB of memory would not be probably used by many people.
The differences to original project are:
- through slot,
- complete /ROMCS through signal support,
- IEC lines /RESET and /ATN can be read in #BF port (bits 4 and 5),
- SRAM bank number can be read back in #BF port (bit 1),
- interface memory can be disabled by setting bit in #BF port (bit 0),
- two LEDs showing IEC data line and interface active.
The ZX1541 board
The printed circuit board is designed as top board for Split interface. Dimensions 82mm × 45mm. Most of parts are mounted at bottom side (upside down).
Firmware upgrades 2006
In order to solve the problem of loading the interface firmware
(almost 3kB) on a machine with only 1kB of RAM Luis wrote a short loader heavily based on the standard LOAD routine in the machine ROM. The routine loads the firmware in the interface RAM then it's dumped down to the EEPROM. The loader is not needed when 4kB RAM or more is installed.
The IECATA device has number 10, fixed into the microcontroller code, while the ZX1541 only selected 8/9. It's solved in update, now the key 'C' cycles the device number between 8 and 11 (8 to B).
In the package is included a D64 disk image containing four excellent machine coded games, written by Fernando Barletta, plus BIGSNAKE (author unknown, disassembled and bug-fixed by Luis with TKBUG, a Brazilian debugger).
Firmware upgrades 2007
Changes that are already done:
- Start address moved from 8912 into 12300 for better HRG compatibility. This is an option, firmware code is available for both entry points.
- Full screen file selector - no need to retype file name after directory display.
- Code for German of ZX1541 (other port and no extra RAM) is recompiled to work with Luis design.
Expected changes for future:
- Integration with code of German ZX1541: USR 12288 and USR 12290 entries, available for BASIC.
Features of German ZX1541:
PRINT USR 12288,"" (status)
PRINT USR 12288,"$" (directory)
PRINT USR 12288,"FILENAME" (load)
PRINT USR 12288,"FILENAME",start (load data)
PRINT USR 12288,"FILENAME" (verify when "F" is inverted)
PRINT USR 12290,"FILENAME" (save)
PRINT USR 12288,"FILENAME",start,length (save data)
PRINT USR 12290,"N:DISKNAME,ID" (format)
PRINT USR 12290,"C:COPY=ORIGINAL" (copy)
PRINT USR 12290,"V" (validate)
PRINT USR 12290,"R:NEWNAME=OLDNAME" (rename)
PRINT USR 12290,"I" (initialize)
PRINT USR 12290,"S:FILENAME" (delete)
Files for download
- zx15412.zip 26.0kB (2007-07-12 13:42)
- Firmware 1.2. Fixed bugs, added RAM test. German syntax not supported.
- zx1541-1.zip 50.1kB (2007-06-04 21:24)
- Firmware 1.1. Added full screen fileselector (USR 8192). Also mixed version with German way (USR 12288, USR 12290), separate code.
- zxger1.zip 16.0kB (2007-05-01 15:55)
- Source and .P file of German firmware adapted to Luis' design.
- 0003a.jpg 40.0kB (2007-04-18 14:20)
- ZX1541 without case, elements sides of both boards. Mounted by Luis with non-SMS part
- 0003b.jpg 54.3kB (2007-07-11 21:37)
- ZX1541 without case, soldering sides of both boards.
- filesel.zip 45.9kB (2007-04-06 23:55)
- Fileselector demo.
- zx2k.zip 32.1kB (2006-12-03 12:54)
- [en] Firmware upgrade. Device selection 8..11, loader for 1kB and 2kB machines, some games on C64 diskimage.
- build-en.html 19.4kB (2007-04-28 01:23)
- [en] Description how to build and test ZX1541. Still continued.
- 0001c.jpg 125.1kB (2006-11-15 16:32), uploaded by Jarek Adamski
- ZX1541 without case and IEC slot, top view.
- 0001b.jpg 35.6kB (2006-11-15 16:28), uploaded by Jarek Adamski
- Four pictures showing ZX1541 from sides.
- 0001a.jpg 183.4kB (2006-11-15 13:57), uploaded by Jarek Adamski
- The ZX1541 top board mounted without LEDs and IEC connector. Please note the vertical wires.
- zx15-004.zip 47.3kB (2006-11-05 11:54)
- Schematic and board v004 as Eagle data files. Some holes are too small.
- zx1541v003.png 31.2kB (2006-03-25 01:54)
- Schematisc of ZX1541 interface that will be produced in 2006.
- zx1541.txt 6.2kB (2006-03-24 23:16)
- [en] Description how the ZX1541 harware works.
- zx154man.zip 3.7kB (2004-10-09 16:02)
- Short user manual.
- disk1.jpg 124.9kB (2004-09-19 20:22)
- Prototipe by Luis Claudio Grosso - top view.
- disk2.jpg 122.7kB (2004-09-17 11:04)
- Prototipe by Luis Claudio Grosso - bottom view.
- zx1541f.zip 15.5kB (2002-01-23 17:32)
- (old) Recent release of operating system. Source code and installer as P file.
- 1500dsk.zip 20.0kB (2000-08-12 23:28)
- (old) Original schematics (PCX format flles) and test program.
- gifs.zip 38.4kB (2000-08-06 01:31)
- (old) Original schematics in GIF format.
Links to other pages
- [en] Topic about ZX1541 on the forum of www.ts1000.us.
- [de] Another (not compatibile) ZX1541 project that uses Z80PIO.
- Commodore 1541 disk drive emulators
- Emulators of Commodore 1541 drive for various platforms.
- Short PC utility to transfer .P files to a real ZX81 or TS1500 using the PC parallel port.
- ZX.SPLIT : Sinclair bus splitter
- You can build bus splitters and through interfaces with this.
- IECATA : IDE/CF as Commodore IEC
- IDE harddisk or CompactFlash can be used as a Commodore IEC device.