ZXmore or the ZX80CORE follow-up

Any discussions related to the creation of new hardware or software for the ZX80 or ZX81
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXmore or the ZX80CORE follow-up

Post by PokeMon »

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).
Bildschirmfoto 2016-03-26 um 11.20.29.png
Bildschirmfoto 2016-03-26 um 11.20.29.png (20.28 KiB) Viewed 2953 times
User avatar
Lurch666
Posts: 36
Joined: Sun Nov 22, 2015 7:07 pm

Re: ZXmore or the ZX80CORE follow-up

Post by Lurch666 »

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?
User avatar
1024MAK
Posts: 5118
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: ZXmore or the ZX80CORE follow-up

Post by 1024MAK »

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
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
User avatar
Lurch666
Posts: 36
Joined: Sun Nov 22, 2015 7:07 pm

Re: ZXmore or the ZX80CORE follow-up

Post by Lurch666 »

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.
User avatar
1024MAK
Posts: 5118
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: ZXmore or the ZX80CORE follow-up

Post by 1024MAK »

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
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 Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXmore or the ZX80CORE follow-up

Post by PokeMon »

Okay - will ship a new version with some test facilities on tuesday (after holidays) with some instructions. ;)
User avatar
Lurch666
Posts: 36
Joined: Sun Nov 22, 2015 7:07 pm

Re: ZXmore or the ZX80CORE follow-up

Post by Lurch666 »

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. :oops:

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.
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXmore or the ZX80CORE follow-up

Post by PokeMon »

Okay then. So the behavior hasn't changed after returning the 1.8 version, I assume ? So not working ?
User avatar
Lurch666
Posts: 36
Joined: Sun Nov 22, 2015 7:07 pm

Re: ZXmore or the ZX80CORE follow-up

Post by Lurch666 »

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.
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXmore or the ZX80CORE follow-up

Post by PokeMon »

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:

Code: Select all

0=ZXmaster
1=ZX81 
2=DIAG2 (rom)
3-6=ZX81 
7=ZX80 
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:

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)
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.
Attachments
ZXMDIAG.zip
(45.29 KiB) Downloaded 139 times
Post Reply