...
This was thought to be due to an intermittent timing error from the decode chip CD74HCT139 which switches between the RAM and Flash chip but after the Z88 Hardware Investigation, it has been discovered to be a misunderstanding by both the hardware and software engineers on how to write faultlessly to the flash chip. This has only affected a few users, i.e. those who play games in RAM or who do repetitive writing to the flash card. The majority of users have not reported any problems.
Object
Although the best solution would be a software upgrade to OZ 4.7 allowing users to update their cards, it has been decided to see if by changing the hardware the same result may be achieved. See Writing to Flash Chips for a full explanation of what needs to be fixed. NOTE: This needs to be updated with the results found here.
...
Choosing the output
Using the above truth table was difficult. Connecting the other inputs to the desired state i.esignal that we wish to control as the Enable signal, choosing which out put is used is determined by A0 and A1. In this case they are both high, which means that Y3 is used.
- ROE to E (Pin 15)
- Vcc to A0 (Pin 14) for A19 high
- Vcc to A1 (Pin 13) for logic 1
...
This procedure was repeated for
- ROE to E (Pin 15)
- Vcc to A0 (Pin 14) for A19 high
- GND to A1 (Pin 13) for logic 0
...
| CE | A19 | LOGIC 1 | ROES |
---|
256K FLASH PROTECTED | X | 1 | 1 | 1 |
---|
256K FLASH | 1 | 1 | 0 | ROE |
---|
512K RAM | 0 | 0 |
|
|
---|
Connection List 512K
E | A0 | A1 |
| PIN No |
|
|
|
|
|
|
| I/O |
| PIN No |
|
|
|
|
|
---|
FROM Z88 SE1 | I | E | 1 | 1 | 0 |
---|
1 | 10x | MA190x | 0x1 | 1 | LOGIC 1 - Vcc0x11 | 0 | 0 | 0 | Y0 | 4 | 1 | 1 | 1 | 1 | 0 |
|
| O | Y0 | 12 | 1 | 1 | 1 | 1 | 0 |
---|
TO FLASH CE | O |
---|
0 | 0 | 10Y2 | 61 |
| TO FLASH ROE_S | O | Y2 | 10 | 1 | 1 | 0 | 1 | 1 |
---|
| O |
---|
0 | 1 | 1TO FLASH ROE_S | O | Y3 | 91XX1As all the inputs on the 2nd decoder have been tied to LOGIC 0 - GND, pin 13 was changed to GND, which moved the output (ROE_S) from pin 9 (Y3) to pin 11 (Y1).
...
Connection List 1M
| I/O |
| PIN No |
|
|
|
|
|
|
| I/O |
| PIN No |
|
|
|
|
|
---|
FROM Z88 SE1 | I | E | 1 | 1 | 0 |
---|
11 A190x | A190 | x0x1 | 1 | FROM Z88 SE1 | 0x1 | 10 |
TO RAM CE | O | Y0 | 4 | 1 | 1 | 1 | 1 | 0 |
| TO FLASH ROE_S | O | Y0 | 12 | 1 | 1 | 1 | 1 | 0 |
---|
TO FLASH CE | O | Y1 | 5 | 1 | 1 | 1 | 0 | 1 |
---|
TO FLASH ROE_S |
|
| O | Y1 | 11 | 1 | 1 | 1 | 0 | 1 |
---|
| O | Y2 | 6 | 1 | 1 | 0 | 1 | 1 |
|
| O | Y2 | 10 | 1 | 1 | 0 | 1 | 1 |
---|
| O | Y3 | 7 | 1 | 0 | 1 | 1 | 1 |
|
| O | Y3 | 9 | 1 | 0 | 1 | 1 | 1 |
---|
Conclusion
It has been a long journey to get to this point, but we are pleased to report Further testing will be done before reporting that a hardware solution has been found.
...
- The chip select of the decoder remains unchanged.
This selects the RAM Chip Enable when A19 is low and the FLASH Chip Enable when A19 is high. - The FLASH chip only uses its Chip Enable when it is read, like a ROM.
The second independent part of the decoder does a similar function to the FLASH chip like the first, by only enabling its Output Enable signal with ROE, when A19 is high and Card Enable is low. This means that when the on board RAM is accessed, or the card is no longer enabled, the FLASH chip is no longer able to write to the data bus. - The extra circuitry does in effect the same thing as the chip enable, but gates the Output Enable signal. This prevents the flash chip from writing to the data bus when it is not selected.
POE & ROE
Splitting these two signals on the 512K/512K Flash/RAM card has made no difference. There are more cycles generated on the POE signal to refresh the RAM, but it was found that even Cambridge are using the ROE signal for their RAMs so it is proposed to leave ROE to Output Enable the FLASH and RAM as before.
...
https://tinyurl.com/mkdlwv4
512K Flash Modifications
Image RemovedImage Added
| Pin | Pin | Pin | Instruction |
| Pin |
|
---|
|
|
|
| Cut track (ROE) underside from pin 24 | U3 | 24 | 512K FLASH |
U4 | 13 | 14 | 15 | Lift up pins DO NOT CONNECT TO PCB |
|
|
|
U4 | 13 |
|
| (SE1) CE A19 - Connect to | U4 | 12 |
|
U4 |
| 14 |
| A19 (SE1) CE - Connect to | U4 | 21 |
|
U4 |
|
| 15 | ROE - Connect to | U1 | 37 | 1M FLASHVIA |
|
|
|
U4 |
| 1110 |
| ROE_S Connect to | U3U1 | 2437 | 512K FLASH OE |
1M Flash Modifications
Image RemovedImage Added
| Pin | Pin | Pin | Instruction |
| Pin |
|
---|
|
|
|
| Cut track (ROE) on top going to | U1 | 37 | 1M FLASH |
U4 |
| 4 | 5 | Lift up pins DO NOT CONNECT TO PCB |
|
|
|
U4 | 13 |
| 14 | 15 | Lift up pins DO NOT CONNECT TO PCB |
|
|
|
U4 | 13 |
|
| REMAINS ON GND |
|
|
|
U4 |
| 14 |
| (SE1) CE - Connect to | U4 | 1 | U4 | 14 | Connect to Vcc |
|
U4 |
|
| 15 | ROE - Connect to | U3 | 24 | 512K FLASH |
U4 |
| 1112 |
| ROE_S Connect to | U1 | 37 | 1M FLASH |
...