Prev: 4000 Up: Map Next: 5CB0
5B80: Decryption Routine
Decrypts the game by running RRD on every byte from 7FFF up to FBFE, then jumps to SecurityCheck.
Decrypt every byte from 7FFF upwards.
GameEntry 5B80 LD HL,$7FFF Set the start address to 7FFF.
5B83 LD BC,$007C Set B to 00 so each inner pass covers one page, and C to 7C pages.
5B86 XOR A Reset the flags.
Decryption_Loop 5B87 RRD Rotate the current byte right through the accumulator.
5B89 INC HL Move onto the next byte.
5B8A DJNZ Decryption_Loop Decrease B by one and loop back to Decryption_Loop until this page is done.
5B8C DEC C Decrease the page count by one.
5B8D JR NZ,Decryption_Loop Loop back to Decryption_Loop until every page is decrypted.
GameEntry_Jump 5B8F JP SecurityCheck Jump to SecurityCheck.
View the equivalent code in;
Earlier Ultimate games use a much simpler mechanism;
Prev: 4000 Up: Map Next: 5CB0