ZXmore or the ZX80CORE follow-up
Re: ZXmore or the ZX80CORE follow-up
Hmmm strange.
Normally the /WR signal is masked with the CTRL0 signal (should be high) and only enabled in case the flash rom should be programmed by the loader. Maybe you can measure it. Anyway this is just a safety function. There shouldn't write anything to the flash rom normally - except the BASIC does sometimes to first 5 bytes of the active instance. But as you are not able to enter a BASIC command ...
You did add the removed chips for the test, right ? I guess, otherwise you won't see anything.
So measure pin 5 of IC7 if there are any pulses. This should be steady high (preventing WR input of flash rom from write attempts).
Normally the /WR signal is masked with the CTRL0 signal (should be high) and only enabled in case the flash rom should be programmed by the loader. Maybe you can measure it. Anyway this is just a safety function. There shouldn't write anything to the flash rom normally - except the BASIC does sometimes to first 5 bytes of the active instance. But as you are not able to enter a BASIC command ...
You did add the removed chips for the test, right ? I guess, otherwise you won't see anything.
So measure pin 5 of IC7 if there are any pulses. This should be steady high (preventing WR input of flash rom from write attempts).
Re: ZXmore or the ZX80CORE follow-up
The second time i wrote the code to the rom i didn't put it into the zxmore. I verified the code was written correctly to it,unplugged it from the eprom burner,plugged it back into the eprom burner and verified again and it failed.its just not keeping its code.
I have a 27c040 eprom (32 pin 512k) and i noticed the rom socket on the zxmore shows a 32 pin chip on the legend under the socket.would that be a compatable replacment?
I have a 27c040 eprom (32 pin 512k) and i noticed the rom socket on the zxmore shows a 32 pin chip on the legend under the socket.would that be a compatable replacment?
- 1024MAK
- Posts: 5529
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
- Contact:
Re: ZXmore or the ZX80CORE follow-up
Can your programmer "dump" (copy) the "ROM" to a (plain binary) file. Do you have an hex editer that can then compare it to the known good downloaded file?
Would be interesting to see why / which data is corrupted.
Mark
Would be interesting to see why / which data is corrupted.
Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Amp
Standby alert 
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Spring approaching...
ZX81 Chip Pin-outs
ZX81 Video Transistor Amp


There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb

Spring approaching...
Re: ZXmore or the ZX80CORE follow-up
I did dump the contents of the rom but since it's corrupted (didn't verify against the 1.8 bin file) i didn't keep it.looks like just random errors are occurring as when I've repeated the test it fails to verify in different places.
Just found a pinout of my 27c040 and it looks like its not pin compatable.I've ordered a new 39sf040 but it's coming from abroad.will let you all know how it goes once it arrives.
Just found a pinout of my 27c040 and it looks like its not pin compatable.I've ordered a new 39sf040 but it's coming from abroad.will let you all know how it goes once it arrives.
- 1024MAK
- Posts: 5529
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
- Contact:
Re: ZXmore or the ZX80CORE follow-up
Very odd.
I have not had a problem with any EEPROMs or Flash as of yet. I have heard of problems with EPROMs, where the programmer did not manage to properly program the memory cells. All these are based on much the same technology. The memory cells are actually analogue. A type of comparator reads the cell and decides if it is a zero or a one. Cells that have not been programmed since the last erase, will read as ones. A cell that has not been properly programmed may read as zero while in the programmer, but some time later (and also dependent on temperature and supply voltage) may revert to reading as a one again.
The problem with EPROMs is the fast program mode must be compatiable with that chip and with the manufacturers specifications. Use the wrong manufacturer specs and the EPROM may appear to program okay, but will not retain the correct memory in a working system.
Mark
I have not had a problem with any EEPROMs or Flash as of yet. I have heard of problems with EPROMs, where the programmer did not manage to properly program the memory cells. All these are based on much the same technology. The memory cells are actually analogue. A type of comparator reads the cell and decides if it is a zero or a one. Cells that have not been programmed since the last erase, will read as ones. A cell that has not been properly programmed may read as zero while in the programmer, but some time later (and also dependent on temperature and supply voltage) may revert to reading as a one again.
The problem with EPROMs is the fast program mode must be compatiable with that chip and with the manufacturers specifications. Use the wrong manufacturer specs and the EPROM may appear to program okay, but will not retain the correct memory in a working system.
Mark
Last edited by 1024MAK on Sat Mar 26, 2016 7:22 pm, edited 1 time in total.
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Amp
Standby alert 
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Spring approaching...
ZX81 Chip Pin-outs
ZX81 Video Transistor Amp


There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb

Spring approaching...
Re: ZXmore or the ZX80CORE follow-up
Okay - will ship a new version with some test facilities on tuesday (after holidays) with some instructions. 

Re: ZXmore or the ZX80CORE follow-up
Just got back from seeing batman vs superman and I was messing with the 27c040.
After that I set my burner up for the SST39SF040 and now it's writing and verifying fine.Even after trying it in the zxmore it's verifying fine.I must have had the chip set wrong on my programmer.Noob mistake.
Anyway the rom chip is fine and I can write any new code to it without you having to send me one.
Thanks for the offer though and thanks for your patience and help getting me through this.I'm learning quite a bit and this will help me fixing any other problems I might have with my other retro systems.
After that I set my burner up for the SST39SF040 and now it's writing and verifying fine.Even after trying it in the zxmore it's verifying fine.I must have had the chip set wrong on my programmer.Noob mistake.

Anyway the rom chip is fine and I can write any new code to it without you having to send me one.
Thanks for the offer though and thanks for your patience and help getting me through this.I'm learning quite a bit and this will help me fixing any other problems I might have with my other retro systems.
Re: ZXmore or the ZX80CORE follow-up
Okay then. So the behavior hasn't changed after returning the 1.8 version, I assume ? So not working ?
Re: ZXmore or the ZX80CORE follow-up
Still the same.
There was nothing wrong with the code on the ROM-just the settings on my burner.My ROM now contains the correct 1.8 code and has been verified multiple times.
I did recheck stuff like A15 (still no signal there) NMI (stuck high) and others but they are still the same as before.
There was nothing wrong with the code on the ROM-just the settings on my burner.My ROM now contains the correct 1.8 code and has been verified multiple times.
I did recheck stuff like A15 (still no signal there) NMI (stuck high) and others but they are still the same as before.
Re: ZXmore or the ZX80CORE follow-up
Sorry - didn't had too much time for developing different test utilities.
This is the first step.
It has a simple program which checks if ROM addressing is working properly in a ZXmore.
In the ZIP there is ZXMDIAG2.ROM which may be flashed on a ZXmore to any instance (except 0).
It will be placed in instance 2 later for an official diagnostic ROM.
The ZIP contains also a 512k BIN file which may be burned to the flash ROM through a eprom burner for those system really need this diagnostic ROM and are not able to flash the internal ROM. The complete diagnostic ROM will be delivered from release 1.9 on and contains following content:
As reading the ROM is the most essential part this is completely separated from other test routines and does not require access to RAM. So this test will even work when RAM is bad or not present. It is most simplified and contains a routine which runs in an endless loop. All code is in address area $0000-$00FF and non used areas are initialized with a HALT ($76) while interrupts have been disabled and NMI turned off directly after startup. So whenever a wrong address is executed or a NMI happens the CPU will be halted forever (except repeated NMI's which can be detected with a scope or logic analyzer).
This is the code:
This should be measured at CPU:
NMI (pin 17) = high
HALT (pin 18) =high
IORQ (pin 20) = one pulse (OUT instruction) every 25us (assuming 6.5 MHz clock), 400ns width, repeated
WR (pin 22) - same as IORQ (due to the OUT instruction)
A15 - A8 = one pulse every 25us (together with IORQ), 600ns width, repeated
IORQ should be used as trigger signal on one channel while displaying one of the other signals at the other channel.
Choose horizontal resolution of 2us/div and expect following pattern on the address lines:
A0 = toggling every 600ns (16 low and 16 high pulses alternating, = 32 nop instructions, instruction address and refresh address synchronous)
A1 = toggling every 1.2us (8 pulses like above, double length)
A2 = toggling every 2.4us (4 pulses)
A3 = toggling every 4.8us (2 pulses)
A4 = toggling every 9.6us (1 pulse low and 1 pulse high)
A5 = low for about 9.6us
A6 = low for about 9.6us
A7 = high for about 9.6us
M1/RFSH same as A8 while M1 starts with low and RFSH starts with high
ROMCS (IC4, pin 22) = low for about 9.6us (32 small needle pulse high may be seen)
OE (IC4, pin 24) = low for about 9.6us (32 small needle pulse high may be seen)
So this will be continued but I am now on a business travel for about one week.
Next step will be testing RAM access.
If the signals are measured the ROM access seem to work properly.
This is the first step.
It has a simple program which checks if ROM addressing is working properly in a ZXmore.
In the ZIP there is ZXMDIAG2.ROM which may be flashed on a ZXmore to any instance (except 0).
It will be placed in instance 2 later for an official diagnostic ROM.
The ZIP contains also a 512k BIN file which may be burned to the flash ROM through a eprom burner for those system really need this diagnostic ROM and are not able to flash the internal ROM. The complete diagnostic ROM will be delivered from release 1.9 on and contains following content:
Code: Select all
0=ZXmaster
1=ZX81
2=DIAG2 (rom)
3-6=ZX81
7=ZX80
This is the code:
Code: Select all
format zx81 as 'rom'
define NEWLINE $76
define IOADRKBD $FE // io address, keyboard check
define IOADRNMION $FE // io address, NMI on
define IOADRNMIOFF $FD // io address, NMI off
ORG $0
OUT (IOADRNMIOFF),A
DI
LD A,$FF
JP pre
db $7C-$ dup(NEWLINE)
pre:
LD R,A
OUT ($FF),A
main:
db $20 dup(0)
JR pre
db 2000h-$ dup(NEWLINE)
NMI (pin 17) = high
HALT (pin 18) =high
IORQ (pin 20) = one pulse (OUT instruction) every 25us (assuming 6.5 MHz clock), 400ns width, repeated
WR (pin 22) - same as IORQ (due to the OUT instruction)
A15 - A8 = one pulse every 25us (together with IORQ), 600ns width, repeated
IORQ should be used as trigger signal on one channel while displaying one of the other signals at the other channel.
Choose horizontal resolution of 2us/div and expect following pattern on the address lines:
A0 = toggling every 600ns (16 low and 16 high pulses alternating, = 32 nop instructions, instruction address and refresh address synchronous)
A1 = toggling every 1.2us (8 pulses like above, double length)
A2 = toggling every 2.4us (4 pulses)
A3 = toggling every 4.8us (2 pulses)
A4 = toggling every 9.6us (1 pulse low and 1 pulse high)
A5 = low for about 9.6us
A6 = low for about 9.6us
A7 = high for about 9.6us
M1/RFSH same as A8 while M1 starts with low and RFSH starts with high
ROMCS (IC4, pin 22) = low for about 9.6us (32 small needle pulse high may be seen)
OE (IC4, pin 24) = low for about 9.6us (32 small needle pulse high may be seen)
So this will be continued but I am now on a business travel for about one week.
Next step will be testing RAM access.
If the signals are measured the ROM access seem to work properly.
- Attachments
-
- ZXMDIAG.zip
- (45.29 KiB) Downloaded 161 times