Changes

Programming:Unlocking ASIC

387 bytes added, 18 March
ld hl,sequence
ld e,17
 
.seq
ld a,(hl)
dec e
jr nz,seq
 
ei
ret
== In Z80 Assembler ==
This allowed [[Madram]] to create this optimized lock-unlock routine:
<pre>
UnlockAsic
out (c),0
ld hl,%1001000011101010
 
.loop
out (c),c
cp #4D
jr nz,.loop
 
ld a,#CD ; a=#CD for unlock, another value for lock
out (c),a : out (c),aeiret</pre> Another optimized unlock routine by [[Urusergi]]:<pre>dild bc,#BCFFout (c),cout (c),0ld a,c .loopout (c),ald d,a ; D = 7654 3210rlca:rlca ; A = 5432 1076xor d:and #7F:xor d ; A = 7432 1076ld e,arlca ; A = 4321 0767xor e ; A = 7432 1076 XOR 4321 0767rrc d ; D = 0765 4321xor d:and #88:xor d ; A = (7 xor 4)765 (1 xor 0)321cp cjr nz,.loop 
ei
ret
27
edits