⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grun_93.hpl

📁 schematic interface orange for eeprom programming
💻 HPL
字号:
; Orange programmer module v3.2
; (c) 2000 Alex Plusov, Valery Fomin
; CHIP=Grundig Car Radio with 24C01 (128x8) or  24C02 (256x8) SEEPROM

; For model with code 1999 limit!


SOCKET=2

PINO=CLK,0
PINO=DI,1
PINO=CS,2
PINO=ORG,3
PINI=DO,1

CDELAY=5 ; one set delay
;R8=CRC,H
R9=Code,D


[INIT]
ORG=1

[READ]
CS=0
CLK=0
CS=1
DI=1,CLK=1,CLK=0    ; start bit
DI=1,CLK=1,CLK=0    ; \ read instruction
DI=0,CLK=1,CLK=0    ; /
LOOP=ADR(5,0){DI=I,CLK=1,CLK=0}    ; out adr
DI=1
LOOP=DATA(15,0){CLK=1,CLK=0,I=DO}  ; read data word
CS=0

[WRITEINIT]
CS=0
CLK=0
CS=1
DI=1,CLK=1,CLK=0    ; start bit
CONST=0x30
LOOP=CONST(7,0){DI=I,CLK=1,CLK=0}    ; out EWEN
CS=0


[WRITE]
CS=0
CLK=0
CS=1
DI=1,CLK=1,CLK=0    ; start bit
DI=0,CLK=1,CLK=0    ; \ write instruction
DI=1,CLK=1,CLK=0    ; /
LOOP=ADR(5,0){DI=I,CLK=1,CLK=0}    ; out adr
LOOP=DATA(15,0){DI=I,CLK=1,CLK=0}  ; write data word
CS=0,DI=1,CS=1      ; check status
P=10000
DO?1
CS=0



[_CALCULATE]
R4=R0,R4=/16 ;>>4
R5=R1,R5=/16 ;>>4
R4=^R5
R4=^0FH
R4=&7               ;C1

R5=R0,R5=/16 ;>>4   ;C2
R6=R0,R6=&0FH
R5=^R6

R6=R1,R6=/16 ;>>4   ;C3
R6=^R5

R9=R6
R5=<<4,R9=|R5
R4=<<8,R9=|R4

PRINT=("Code: %04lu",R9)

[CalcCode] ;from buffer
R9=0
ADR=00H,R0=DATA
R1=R0,R1=/256,R0=&0xFF
ADR=01H,R2=DATA
R3=R2,R3=/256,R2=&0xFF

R8=R0,R8=^R2
R5=R1,R5=^R3,R5=<<8
R8=|R5

R8?3412H{R8=R0,R0=R1,R1=R8,R8=R2,R2=R3,R3=R8,R8=1234H}  ;Swapped bytes?

R8?1234H{  ;Check CRC
_CALCULATE
EXIT
}

PRINT=("Dump broken!")

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -