Page 2 of 2

Re: What NEW hardware you think would be useful for your MTX

Posted: 29 Sep 2015 13:40
by 1024MAK
Z80 based computers that have a memory mapped display in main DRAM include the ZX Spectrum, clones of the ZX Spectrum, and Amstrad CPC range.

The ULA in the ZX Spectrum holds the CPU clock to prevent the CPU from corrupting the display, as you almost certainly know. What is interesting is that some of the USSR clones are designed to let the CPU run at full speed all the time without affecting the display hardware. I have not fully worked out how yet, but they do have some latches associated with the video DRAM.

Now, with modern faster SRAM and cheap multi FIFO registers (in a CPLD say), I was thinking that there is a nice cycle that can be pinched from the Z80 without affecting it's normal execute cycle. What am I on about? I propose that the video system steals the Z80 refresh cycle.

Each time the Z80 does a refresh, the video hardware disables the Z80 address lines (with tri-state buffers) and instead collects the next byte from the video memory. It then stores this until needed. Now normally this may not be enough bandwidth. However, if the video system is constantly collecting screen data, even when the video signal (timing wise) is in the non-displayed section, and storing this data, I think it may just about work.

Of course, it would also need careful speed matching with the CPU speed as well.

Mark

Re: What NEW hardware you think would be useful for your MTX

Posted: 29 Sep 2015 15:55
by lezanderson
Legacy Video Chips (VDPs)

68B45/R6545 6845 CRT controller as used in BBC/Amstrad etc
V6366 Enhanced version of 6845 may allow DUAL PORT DRAM/SRAM ?
EF936x Graphic Processor with Hardware Line,Fill,Scroll etc
V99x8 No need to explain
V9990 (with DUAL Port 512k DRAMs) TC524258BZ-80 DUAL-PORT VIDEO RAM 256Kx4/512x4 150/30ns 5V ZIP‑28
Dedicated Logic (like the ZX Spectrum) ZX Spectrum uses 144Macrocells so should easily fit into EPM7160SLC84 etc
Microcontroller used to 'Emulate' a Video Chip .. depends on how good you are with modern microcontrollers ?
The F18A VDP


Though we may be straying away from the Point/Aim... which is to build a simple low cost internal expansion card for MTX users ?

Re: What NEW hardware you think would be useful for your MTX

Posted: 29 Sep 2015 19:52
by Bill B
Not so very much off topic. A new 80 column capable graphics card would complement the CFX in the same way that the original MTX 80 column card complemented the SDX.

For simple, microprocessor generated video is perhaps the way to go. I think it would be possible to do something with a Parallax Propeller, a 24LC256 serial EEPROM and a handful of resistors. It would not be fully graphics capable (the Propeller chip only has 32KB of on-board RAM and no interface to external RAM). But at least as capable as the original MTX 80 column card, and perhaps even reproduce the same hardware interface.

I have been thinking about this for some time, and might have a go once I have got a few other projects (like interfacing Dave's MTX keyboard to MEMU-Pi) out of the way.

Re: What NEW hardware you think would be useful for your MTX

Posted: 29 Sep 2015 21:30
by Martin A
I'm tinkering with a co-processor design. Currently the idea is the idea is build it in 2 parts.

1) a half width*** Eurocard fitted with a controller rom for the MTX, in and out FIFO ram to facilitate communications, 2x 8 bit status ports one for each CPU. Both really need to be on this board as that's where the FIFO's are.

2) An up to full width CPU card with CPU, ram, rom and logic to access the interface card and on-board memory. Depending on the CPU, a clock might be needed too as not all CPU's can run off the MTX's 4mhz single phase clock.

Some form of interrupt is needed, and I'll have to see if the hardware for that will fit best on the CPU board, or the interface. Making the signal long enough to be recognised, but fast enough not to create repeat triggers will be a consideration. As will be dealing with CPU's potentially clocked at vastly different speeds.

Currently I don't have any small board to board connectors, so I'm planning on using spare 64 way DIN connectors from the MTXplus+ however I can only see a need for 20 or so connections. Power, 8 bits data, some form of selects for read/write the FIFO's, and status port, plus essential I/O signals like interrupt and reset.


***There's no room in the case for 2 Eurocards, so one has to be cut down lengthwise.

Re: What NEW hardware you think would be useful for your MTX

Posted: 30 Sep 2015 18:52
by 1024MAK
Bill B wrote:Not so very much off topic. A new 80 column capable graphics card would complement the CFX in the same way that the original MTX 80 column card complemented the SDX.

For simple, microprocessor generated video is perhaps the way to go. I think it would be possible to do something with a Parallax Propeller, a 24LC256 serial EEPROM and a handful of resistors. It would not be fully graphics capable (the Propeller chip only has 32KB of on-board RAM and no interface to external RAM). But at least as capable as the original MTX 80 column card, and perhaps even reproduce the same hardware interface.
If the MTX is given a serial port (does not need level shifters or variable baud speeds, so could be fairly simple), you can use Grant's monitor driver system. Okay, it's not colour, but it is 80 column and also does graphics :D

It may even be possible to interface the display section to the MTX internal parallel port.

Mark

Re: What NEW hardware you think would be useful for your MTX

Posted: 30 Sep 2015 19:32
by 1024MAK
Martin A wrote:I'm tinkering with a co-processor design. Currently the idea is the idea is build it in 2 parts.

1) a half width*** Eurocard fitted with a controller rom for the MTX, in and out FIFO ram to facilitate communications, 2x 8 bit status ports one for each CPU. Both really need to be on this board as that's where the FIFO's are.

2) An up to full width CPU card with CPU, ram, rom and logic to access the interface card and on-board memory. Depending on the CPU, a clock might be needed too as not all CPU's can run off the MTX's 4mhz single phase clock.

Some form of interrupt is needed, and I'll have to see if the hardware for that will fit best on the CPU board, or the interface. Making the signal long enough to be recognised, but fast enough not to create repeat triggers will be a consideration. As will be dealing with CPU's potentially clocked at vastly different speeds.

Currently I don't have any small board to board connectors, so I'm planning on using spare 64 way DIN connectors from the MTXplus+ however I can only see a need for 20 or so connections. Power, 8 bits data, some form of selects for read/write the FIFO's, and status port, plus essential I/O signals like interrupt and reset.


***There's no room in the case for 2 Eurocards, so one has to be cut down lengthwise.
The Torch Z80 Communicator (second processor) uses a 8255 PPI back-to-back to a 6522 VIA instead of a FIFO and works well. See here :D

Mark