Changes

Jump to: navigation, search

Amstrad Cartridge Identification Device

1,146 bytes added, 00:29, 18 February 2010
The '''ACID''' ('''A'''mstrad '''C'''artridge '''I'''dentification '''D'''evice) protection chip is used in the [[GX4000 cartridge|cartridges]] of the [[Plus]] series and the [[GX4000]] game console.
It is labelled labeled with "Amstrad 40908".
Because this chip was a custom creation by Amstrad it is currently not possible to replace this chip nor to build new cartridges, because it is not known how it works.
==The beast unleashedTechnical ==
The 16pin ACID chip (in the cartridge) is soon sending a serial data stream to be betterly understood and masteredthe 160pin ASIC chip (in the computer). The data stream is generated by some shift/xor logic, and many stuff are is also affected by the EPROM address/enable signals. If the data stream isn't correct, then the ASIC does scatter access to comeRAM ;ACID reverse-engineered 13-16 February 2010 by nocash (Martin Korth) ;below is repeated on every CLK cycle... if PinCCLR=0 then ShiftReg=1FFFFh CmpVal=13596h, XorVal=0c820h if PinA0=1 then CmpVal=CmpVal XOR 0000ch, XorVal=XorVal XOR 00004h if PinA1=1 then CmpVal=CmpVal XOR 06000h, XorVal=XorVal XOR 06000h if PinA2=1 then CmpVal=CmpVal XOR 000c0h, XorVal=XorVal XOR 00080h if PinA3=1 then CmpVal=CmpVal XOR 00030h, XorVal=XorVal XOR 00020h if PinA4=1 then CmpVal=CmpVal XOR 18000h, XorVal=XorVal XOR 08000h if PinA5=1 then CmpVal=CmpVal XOR 00003h, XorVal=XorVal XOR 00000h if PinA6=1 then CmpVal=CmpVal XOR 00600h, XorVal=XorVal XOR 00000h if PinA7=1 then CmpVal=CmpVal XOR 01800h, XorVal=XorVal XOR 00800h if PinCE=0 AND (ShiftReg OR 100h)=CmpVal then ShiftReg=ShiftReg XOR XorVal NewBit=ShiftRegBit0 XOR ShiftRegBit9 XOR ShiftRegBit12 XOR ShiftRegBit16 ShiftReg=(ShiftReg SHR 1) + (NewBit SHL 16) PinSIN=ShiftRegBit0
== Pinout ==
6,388
edits