What NEW hardware you think would be useful for your MTX

lezanderson
Posts: 186
Joined: 14 Aug 2012 15:31

What NEW hardware you think would be useful for your MTX

Post by lezanderson »

Perhaps we should have a POLL and see what NEW hardware people would like for their MTX.. There's obviously the bits already done:

ReMemorizer (Andy Key)
512K Memory Board (Andy Key)
MAGROM (Dave & Martin)
CF Card Reader (Dave & Martin)


But what NEW stuff would you like ?
Bill B
Posts: 593
Joined: 26 Jan 2014 16:31

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

Post by Bill B »

Mostly, I would like the time needed to play. However a few random thoughts:
  • Slightly off topic, but I must get around to adding DART & RS232 driver chips to my comms. board. I would cable both serial ports to a single 25-pin D (or see if I could squeeze two 9-pin D into the space). I could then cable the internal PIO socket to the other 25-pin D, making this accessible without having to open the box.
  • An expansion bus break-out. At present I have the 80 column/comms. card internally and the SDX externally, which leaves no convenient way of adding extra hardware.
  • An in-situ programmable ROM card. At its most basic this could just be static RAM which is addressed as a ROMs 4-7. Better would be flash ROM that could be reprogrammed either by the MTX it is connected to, or serially from another machine. Although, nowadays it is probably easier to develop and test a new ROM in MEMU.
  • Back in the day, having got CP/M, what I most wished for was high resolution graphics (at least 640x480x256 colours with programmable palette). I had even purchased some fast static RAM and a RAMDAC chip. However I never managed to come up with a design for the glue logic that wasn't killed by propagation delays.
protek
Posts: 46
Joined: 02 Aug 2015 08:57
Location: Oulu, Finland

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

Post by protek »

For me, some kind of memory expansion would be great and I'm also looking forward for the CFX.

At least if I can get the PSU built.
User avatar
Dave
Posts: 1280
Joined: 11 Aug 2012 18:16
Contact:

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

Post by Dave »

Bill B wrote:Mostly, I would like the time needed to play. However a few random thoughts:
  • Back in the day, having got CP/M, what I most wished for was high resolution graphics (at least 640x480x256 colours with programmable palette). I had even purchased some fast static RAM and a RAMDAC chip. However I never managed to come up with a design for the glue logic that wasn't killed by propagation delays.
Yes, CP/M with nice graphics would be really nice, but you'd have to write the software to use them, I don't think that there were (m)any CP/M graphics programs?
lezanderson
Posts: 186
Joined: 14 Aug 2012 15:31

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

Post by lezanderson »

I think a 'Super' internal expansion board would be COOL.

With :

Real Time Clock
Multiple RS232 ports
RAM expansion 500K+ ?
ROM Expansion
MAGROM built in
PATA IDE Hard Drive interface for IDE hard Drive or CF card ?
F18A Socket for second VDP
Speculator functionality to Run ZX Spectrum Games ?

Though that's quite a 'WISH' List ! :roll:
Martin A
Posts: 799
Joined: 09 Nov 2013 21:03

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

Post by Martin A »

I have 2 items on my wish list:
A video board that's memory mapped instead of I/O, the 99x8 series of VDP's might make for easy hardware designs but the data transfer rate is compromised. Simple things like scrolling take a LOT more code and longer to execute than on their memory mapped cousins. The MTX memory map has lots of space where the video ram could be paged in, 320 x 200 in 16 colours, 640x200 in 4 colours would fit into a 32k paged RAM bank. I'm not sure though if that's within my design capabilities. ***

The other one is a tube/Co-processor interface. I did try to fit a 65C02 co-processor to the MTX, which had a memory map that in theory would have allowed BBC ROMS to run. I abandoned that design some time ago because of problems with the basic design. With a better basic design it's probably still a just about viable concept.
Abandoned First attempt
Abandoned First attempt
Image1.jpg (83.45 KiB) Viewed 10215 times
*** A Spectrumesque 256x192 could possibly be fitted into paged ram too. There's a design here http://www.zxdesign.info/harlequin.shtml in 74 series logic that might be adaptable.
Bill B
Posts: 593
Joined: 26 Jan 2014 16:31

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

Post by Bill B »

Simple scrolling is not necessarily slow on an I/O mapped display. On the MTX 80 column card it is a simple update of a 16 bit register on the 6845 controller chip. Indeed during fast scrolling you can see the occasional glitch when only half of the register has been updated by the first of two 8-bit writes.

But I agree, for complex graphics, memory mapped displays are more convenient. But then there is the issue of contention between the CPU and video generator for RAM access, which can also impact performance.

With modern 15ns static RAM and a fast PLD for address decoding it might be possible to implement interlaced access without having to introduce wait states for the CPU or glitching the video. Of course, the simplest solution, if you can find it, is dual port RAM.
Martin A
Posts: 799
Joined: 09 Nov 2013 21:03

Memory interleaving

Post by Martin A »

I had a look at memory interleaving in the past. it was used on the 6502 quite a lot as that CPU does it's reads or writes in 1/2 a cycle, so it's relatively easy to share accesses, by giving the CPU access on one half of the clock cycle and the video hardware on the other.

The Z80's reads and writes take multiple cycles, looking at the timing diagrams interleaving didn't seem to be possible, a second (or 3rd or 4th.) opinion would be good though.

If the Z80 had access during one half of the clock system clock read or write setups would be duplicated, which I didn't see as a problem as long as the various memory setup times were met.

The timing diagrams in the Z80 manuals show the memory read for the instruction fetch occurs on or just after the rising edge of the clock (in T2)

A memory data read on the other hand appears to be done on the falling edge of the clock (in T3).

I couldn't see any simple way of sharing ram on a half cycle basis, which is a shame. At 4mhz, a 1/2 cycle is 125ns, so a modern low power 32k sram which typically has a 70ns or better access and comes in a nice matrix board friendly DIP format, would have done. At mouser prices 32k sram is around the £1.50 mark.

Dual port ram the down side is coat as it is comparatively expensive, Mouser have 32k PLCC dual port SRAMs for around £30. (the 8k version is about half that. if you were going for a ZX spectrum type display)

For video display use with the video side only using read access, contention is going to be exceedingly rare, as it would only happen if the CPU were writing to the currently active display cell and so would probably only require the CPU to wait for one cycle of the video display.
Bill B
Posts: 593
Joined: 26 Jan 2014 16:31

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

Post by Bill B »

It is a while since I last thought about this in detail. However from what I remember:

Assuming that the video memory is all in one chip, then the address bus on that chip is in contention whenever the display is being refreshed, and the CPU is also trying to access the video memory. I have in the past considered systems where the video data is split between two chips, with the video generator taking bytes alternately from one chip then the other, leaving the CPU time to access the chip not currently supplying video data.

For an interlaced read, you need a one byte latch. The interlace circuit needs to copy data from the RAM into the latch in time for the falling edge of T2. It then remains there for T3 if required. The Z80 reads the latch, not the RAM directly.
lezanderson
Posts: 186
Joined: 14 Aug 2012 15:31

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

Post by lezanderson »

Using A Microcontroller to Generate a video display might be an option>?

Something like the ATMega1284 or the like could generate either a RGB PAL TV Signal or VGA Monitor output, with instructions on chip for scrolling (Left,Right,Up,Down, Diagonal etc), clear screen etc. giving video modes like 640x200 (Mono) , 320x200 (4 Cols), 160 x 200 (16 Cols). And as the Microcontroller's RAM is completely separate from the Z80 BUS there would be no speed penalty. And the beauty is most of the hardware is in one Chip !

It could even be used to 'Superimpose' the TMS9929A Video output on to it's display , by fast synchronised switching of video outputs ...

It seems using a Microcontroller to generate video is getting quite trendy, as I've seen several examples.
Post Reply