From: Jarek Adamski Date: 2001-08-26 14:28 Subject: ZXVGS for TC2068, TS2068, UK2086. URL: http://8bit.yarek.pl/upgrade/ts.memory/ ZXVGS for TC2068, TS2068, UK2086. Hardware abundance taken into account. A. 8255 PIO with socket compatibile to Timex Interface or MB-02. The 8255 PIO was added by Unipolbrit in UK2086. It can be also added in TC2068 and TS2068 - there's a lot of space inside. External file server is needed. B. YABUS.ISA with ISA Multi I/O card. An additional power supply is needed for drives. C. BetaDisk or DEMAK. An additional power supply is needed for drives. D. FLASH EPROM cartridge. The profits from ZXVGS installation. A. The Timex FDD 3000, Amiga, PC or other computer can be used as external file server. You can use its disks and other devices (mouse, printers, modems, network etc.). B. The LPT and COM ports can be used, the FDC allows to use the 1640kB disks in two drives, HDC gives access to half of hard disk space. C. The FDC allows to use 820kB disks in four drives. D. The computer can work without external file server and additional power supply. If all the cartrigde cases are so small as the one owned by me, the cartridge can contain up to 1MB (two 29F040 in PLCC). Memory map. The present memory map (DOCK not touched at all). At HOME EXROM #E000 RAM5 rom2 #C000 RAM4 rom2 #A000 RAM3 rom2 #8000 RAM2 rom2 #6000 RAM1 rom2 #4000 RAM0 rom2 #2000 rom1 rom2 #0000 rom0 rom2 The second idea for new memory map. The 16kB EPROM (rom0 and rom1) is replaced with 64kB EPROM (ROM0..ROM7), the 8kB PROM (rom2) - with 32kB SRAM (SRAM0..SRAM3). The ZXVGS and TS2086 modes are exchangable by extenal switch, while exlusive mode means TS2068 software compatibility is lost. (The "+" sign means these banks are not repeated when 128kB EPROM is used.) mode: ZXVGS TS2068 exclusive At HOME EXROM HOME EXROM HOME EXROM #E000 RAM5 ROM1+ RAM5 SRAM3 RAM5 ROM5 #C000 RAM4 ROM0+ RAM4 SRAM2 RAM4 ROM4 #A000 RAM3 ROM1 RAM3 SRAM1 RAM3 ROM1 #8000 RAM2 ROM0 RAM2 SRAM0 RAM2 ROM0 #6000 RAM1 SRAM5 RAM1 ROM5+ RAM1 SRAM3 #4000 RAM0 SRAM4 RAM0 ROM4+ RAM0 SRAM2 #2000 ROM3 SRAM1 ROM7 ROM5 ROM3 SRAM1 #0000 ROM2 SRAM0 ROM6 ROM4 ROM2 SRAM0 Onboard control logic. 1. An additional LS253 is used. Both outputs are pulled up to +5V. 2. Each output is connected to PROM sockets as /CS. They are here called /HCS for HOME PROM socket and /ECS for EXROM PROM socket. As /OE the /RD of Z80 is used. 3. The A14 line of 64kB EPROM is connected to /EXROM. The A15 line can be connected to /ZXVGS line (generated by selection switch) for TS2068 software compatibility, or to A14 to give 16kB more in EXROM bank for ZXVGS. 4. Connections for TS2068 software compatibility: an OR gate (diodes) and switch must be used. Selection inputs are: /ZXVGS (from selector switch) and A15, /MREQ is gate signal. Outputs are /HCS and /ECS. /ZXVGS A15 /HCS (EPROM) /ECS (SRAM) 0 0 /ROMCS /EXROM 0 1 /EXROM 1 1 0 /ROMCS+/EXROM 1 1 1 1 /EXROM 5. Connections for no TS2068 software compatibility (exclusive mode). Selection inputs are: /EXROM and A15, /MREQ is gate signal. Outputs are /HCS and /ECS. /EXROM A15 /HCS (EPROM) /ECS (SRAM) 0 0 1 0 0 1 0 1 1 0 /ROMCS 1 1 1 1 1 6. As you can see both logic connections are exactly the same, except one selection signal. (The values of /EXROM and /ROMCS give those fixed ones.) 7. Connections for no TS2068 software compatibility (exclusive mode) with TC2144 extension and 74LS153 used. A14 of the EPROM is connected to signal generated by TC2144 (B4 for A15=0, A14 for A15=1). Selection inputs are: /MREQ and A15, gate signal is always GND. Outputs are /HCS and /ECS. /MREQ A15 /HCS (EPROM) /ECS (SRAM) 0 0 /ROMCS /EXROM 0 1 /EXROM 1 1 0 1 1 1 1 1 1 8. The exclusive mode offers 16kB more ROM for ZXVGS. As ZXVGS must work without them, only some special code can be placed there. In those 16kB also could be placed some data for CP/M ("wide" character set, BDOS, CCP, code for terminal), what allows to use CP/M without memory extension. As the memory can be easy expanded by replacing two DRAM chips and using free AY output bit, this will not have big meaning. 9. Instead of 64kB EPROM a 128kB FLASH EPROM can be used. The additional A16 address line can be connected to A14 line. This gives 16kB more for both ZXVGS and TS2068 modes. In ZXVGS the 16kB can be used as in exclusive mode. In TS2068 mode this gives 24kB extra ROM, that can be used to extend TS2086 - a dedicated operating system can be used. 10. Possible EPROM sizes ("s" - means modese are switchable, "o" - means only one mode possible) and free memory available for code and data. EPROM ZXVGS TS2068 exclusive unusable 32kB o, 16kB o, 8kB o, 16kB 0kB 64kB s, 16kB s, 8kB o, 32kB 0kB (16kB for exclusive) 128kB s, 32kB s, 24kB o, 32kB 32kB (80kB for exclusive) Prototipe. I'm going to prepare first a ".DCK" file for Warajevo 2.51 emulator. It will have RAM in DOCK, used together with free RAM in EXROM as ramdisk (about 96kB, or 64kB when two memory banks). This should allow to test all the RSXes. Then I'm going to make a simulation of 8255 and ZX128 memory banks using a TSR for Warajevo (also ZXVGSTSR.COM will be used). Then I'm going to make changes inside my UK2086. Software. In matter of software, the SRAM contents is copied from ROM0 (plus ROM1), that can be also used as BIOS procedures. In this situation a new ZXVGS release can be loaded into SRAM then use ROM0 (plus ROM1) as BIOS without need of frequent ROM upade. ZXVGSUPB.COM features. ZXVGSUPB.COM is a TSR program that extends emulation of TS2068 performed by Warajevo. Unlike to ZXVGSWRJ.COM TSR, there's no need (I hope) to put 8086 code into TS2068 system software, because only ports are expanded. So this system software can be moved to real hardware without changes and should work there. The main difference is interrupts generation by COM and LPT (perhaps FDC too) in real hardware. 1. Access to MS-DOS filesystem via 8255 connection simulation and ZXVGSTSR.COM. This gives unlimited access to files of PC, also TCP/IP connections ("TCP:", "FTP:", "HTTP:" devices). The 8255 is available in ports #1F, #3F, #5F and #7F. At this moment port #3F reads from 2FFh, port #5F outs to 3FFh, what allows communication with other MS-DOS process. 2. Mapping the FDC ports of PC to ports #70..#7F. This provides access to 820kB and 1640kB ZXVGS (CPM22QED) disks. Reading, writing, formatting, even booting the system. Allows to test before using real hardware. 3. Mapping the second HDC ports of PC to ports #B0..#B7, #BE, #BF. This provides access to HDD (CP/M partitions) and CDD. Also "half disk" ports could be available at #60..#67, #76, #77. Allows to test before using real hardware. 4. Mapping LPT ports of PC to ports #58..#5B (device unit selected by high byte). Can help testing before using real hardware. 5. Mapping COM ports of PC to ports #50..#57 (device unit selected by high byte). Can help testing before using real hardware. 6. Memory extension compatibile to ZX128. 7. Redirecting AY ports (ZX128 mode) to LPT (must find the scheme). 8. Possibility to develop the CPM22QED for TS2068 emulation, working with floppy drives and harddisks. Harddisks can be operated this way before installing them into ZX Spectrum +3 and Timex FDD 3000. Bootable floppy disks can be created for all hardware that uses ZXVGS or CPM22QED. Notes. 1. The a addtional TTL in UK2086, upside down, near to internal socket is OR gate (made of 74LS00), used to generate /CS signal for EPROM from /MREQ and /ROMCS. This is required, because EPROM do not have 3 control inputs as the 63128 chip. 2. The additional BASIC instructions, like ERASE or LOAD* are dummy ones, used only to accept Interface 1 syntax. After a instruction "m" (or any string) is expected, then comma. Colon means next statement. 3. In the UK2068, the 8255 is selected for A2=0. My questions (some of them mostly to people from Portugal). 1. I want to make RSX for ZXVGS for TS2068 syntax - suggestion for extension is ".BTS". Does anyone have sources? 2. (I know now.) What signals are on external slot of TC2068 and UK2068? (There are 8 more pins and probably not all other ones are like in ZX. They aren't compatibile to TS2068, as Timex Interface do work.) 3. What applications are for internal slot? (I own only one 16kB HOME cartridge - "ZX Spectrum emulator" and have seen some in "TS2068 Technical Manual".) 4. How many cartriges are there? (I want to have kind of list.) 5. How important is keeping compatibility to original hardware? (In matter of cartridges and dedicated software. I have no reason to keep compatibility in UK2086, probably nobody in Poland has.) 6. What ports (memory locations?) are used to control memory banks in cartridges? 7. What ports are used for 8255 in UK2086? (I've resoldered it and don't remember original wire positions.) 8. What do you think about 1MB FLASH EPROM cartridges placed in DOCK or EXROM available as kind of disk?