Changes

Jump to: navigation, search

Programming:Unlocking ASIC

565 bytes added, 16 April
To unlock the ASIC, a 17-byte "unlock" sequence must be sent to the CRTC's selection port (&BC00) :
RQ00, 0, 255, 119, 179, 81, 168, 212, 98, 57, 156, 70, 43, 21, 138, STATE, <ACQ>
* RQ00 must be different from the value 0.
* STATE=205 for UNLOCK otherwise another value for LOCK.
* ACQ represents sending any value if STATE=205 (not needed otherwise).
 
 
= Z80 Assembler version =
<pre>
;; This example shows how to unlock the ASIC
Note: As one may see, the nybbles in the sequence are based on two 4bit shift registers. For one reason or another, Amstrad has patented the verification mechanism ([[Media:Patent GB2243701A.pdf|GB2243701A]]). The patent seems to focus on ''verifying'' (rather than on ''sending'') the sequence, so its legal use is a bit unclear.
 
 
= BASIC version =
<pre>
1000 RESTORE 1010:FOR I=0 TO 16:READ A:OUT &BC00,A:NEXT I:RETURN
1010 DATA 255, 0, 255, 119, 179, 81, 168, 212, 98, 57, 156, 70, 43, 21, 138, 205, 238
</pre>
[[Category:Programming]]
[[Category:CPC Plus]]
5,102
edits