Programming EPROM
ZXNet echo conference «hardware.zx»
From Eudgine Palenock → To All 25 October 1999
Hello, All!
I promised for a long time, but there was no time to do it...
Programmer - just soldered the sockets to the BB55 ports on the Profi, /CS - started with
CDOS modem (#EF:D7 to avoid adding an extra port, there is a line before the subject
disable)
When recording, the programming voltage must be applied (1 pin 27512)
When reading, you need to apply ground there (hook up the ground<->12V switch)
You need to turn off turbo mode when recording (or maybe not - I didn’t check it in turbo
entry)
STROB EQU port to which /CS from ROM (#EF) is connected
CSSET EQU byte to activate /CS (#00)
CSRES EQU byte for reset /CS (#80)
; We should have started #FE on some beat, but we didn’t think of it right away.
LD A,CSRES
OUT (STROB),A
LD A,#80 ;
OUT (#7F),A ; programming BB55
===
here is a software program that in a cycle (65536 times) takes a byte from memory and makes CALL SVROM,
then increments HL accordingly...
===
;at the input to HL - the ROM address, in A its contents
SVROM PUSH AF
LD A,H
OUT (#3F),A ;high byte of address
LD A,L
OUT (#5F),A ;low byte of address
DEFS 5.0 ;delay
POP AF
OUT (#1F),A ;output byte (which needs to be flashed)
PUSH HLCALL NUM ;prints the address on the screen so it doesn’t get boring
LD A,CSSET
OUT (STROB),A
LD HL,0 ;delay
LD DE,0 ;DURATION - 1 ms
LD BC,164;
LDIR;
LD A,CSRES ;;; This is what we screwed up in theory ;)
OUT (STROB),A ;;; but it works, you can't remove it
NOP ;PAUSE;;; tried it, but it should work
LD A,CSSET ;;; without this...
OUT (STROB),A ;;;
LD HL,0 ;
LD DE,0 ;DURATION - 3 ms
LDBC,499;
LDIR;
LD A,CSRES
OUT (STROB),A
POP HL
RET
PS. I can summarize the entire source, it contains reading, CRC, comparison and various glitches
;) but the interface itself, recording, CRC and purity check work...
Maybe someone will add it... I will now be assembling a programmer on a PC...
Best regards, Evgeniy aka EVP.