Re: [MZ-700] 64KB ROM mod

Post Reply
hlide
Posts: 260
Joined: Thu Jan 25, 2018 9:31 pm

Re: [MZ-700] 64KB ROM mod

Post by hlide » Sun Sep 01, 2019 1:35 pm

I was puzzled by a ROM mod seen in an ebay link selling a full MZ-731 with two mods.
MZ700-ROMMOD2.jpg
MZ700-ROMMOD2.jpg (77.24 KiB) Viewed 179 times
With so few components on the ROM PCB and so many kilo bytes (64 KByte) for the ROM.
So I tried to understand how it can be possible. In fact, I understand it uses the printer port ($FE).
IC4J.png
So it uses the I/O port $FE to select a 4Kbyte page in range $0000-$0FFF among 16 pages (16 x 4KB = 64KB).
Ok what for the second 74LS157? I mean we need to select a page between 0 and 15 so a 4-bit input selector.
Oh wait! I have an idea ! Here's my wild hint how with two 74LS157 and one 27C512 it could be done:
MZ700-64KB-ROM.png
Basically, an OUT ($FE),A with A[3..0] = page number between 0 and 15 could do so.
I'm still annoyed with the fact it might The only conflict with tracer.

hlide
Posts: 260
Joined: Thu Jan 25, 2018 9:31 pm

Re: Re: [MZ-700] 64KB ROM mod

Post by hlide » Sun Sep 01, 2019 2:01 pm

I made a mistake, it is a 74LS175 but it doesn't change its intended behavior described in the schematic.

User avatar
Pacman
Posts: 83
Joined: Mon Feb 05, 2018 2:59 pm

Re: [MZ-700] 64KB ROM mod

Post by Pacman » Mon Sep 02, 2019 9:09 am


hlide
Posts: 260
Joined: Thu Jan 25, 2018 9:31 pm

Re: Re: [MZ-700] 64KB ROM mod

Post by hlide » Mon Sep 02, 2019 11:41 am

Thanks Pacman, your link confirms my schematics and shows that way makes the interferrence between ROM page selection and printer operation acceptable: a selection of a page non 0 is only used when copying its content in RAM. At the end of the copy, page 0 is back. As long it is done this way, printer operations should work as they also conveniently select page 0.

hlide
Posts: 260
Joined: Thu Jan 25, 2018 9:31 pm

Re: Re: [MZ-700] 64KB ROM mod

Post by hlide » Wed Sep 04, 2019 11:31 am

So, I cannot say I dislike the trick they used to make an 64KB EPROM Disk by sharing an existing I/O port with printer.

I wonder if some people here are interested here to have one.

Here are some improvements I can see:

[Hardware]

- there is no need to unsolder the original IC-4J (74LS175), you only need two wires for getting CLOCK and CLEAR signals. 5V and GND are already provided by the ROM socket. Those both wires will feed the CLOCK and CLEAR signals of the second LS175 put on the same board as the big ROM. Wires can use test clips to avoid soldering them on the pins of IC-4J.

- IC-5H has a socket so it just a matter for the PCB to have the right male connector for the socket. The PCB must reroute some signals from a 2732 to a 27C512/27C010/27C020. For 27C010/27C020, there is a need for a third LS175.

- Bit 7 and 6 are the only effective bits when writing port $EF for printer, the other bits are unsused. So it means there are up to 6 bits to encode a page with 2 LS175 and up to 4 bits to encode a page with 1 LS175.

- Adding a third LS175 is easy: just add it on the PCB, no wire to add.

- Should we consider a reprogrammable FLASH in situ? a switch and an additional wire to grab /WR. Switch will allow reprogramming or not.

[Software]

- since only bit 7 and 6 are effective for a printer when writing a port $EF, it should be safe to use bits 0, 1, 2, 3, 4 and 5 to select a page between 0 and 63. So it means storage can be up to 256 KByte instead of 64 Kbyte.

- the ability to reprogram the FLASH content from a program in RAM.

- an IPL which can display and select a program to launch dynamically from a set of binaries even after reprogramming FLASH without the need to reassemble the IPL source.

Post Reply