Enterprise Forever
:HUN => Programozás => Topic started by: Zozosoft on 2007.May.22. 00:30:54
-
A találkozón említettem, hogy a publikus ellenörzõ összegen kivûl van egy titkos védelme is az EXOS-nak a módosítások ellen.
Jól meg is szívatott anno :-)
Elöször is próbáljátok ki a hatását:
POKE 49022,0
Aztán próbáljátok használni a gépet (EXOS alatt, pl BASIC-ben), úgy 5-10 percig...
(Emulátor alatt is mûködik)
-
Na kipróbálta valaki? :-)
-
Na kipróbálta valaki? :-)
Lefagy, mert ez a rész felülír egy "véletlenszerűen" választott változót, ha a fenti címen (BF7Eh) nem a megfelelő érték van.
00E47A ED 5F LD A, R
00E47C E6 07 AND 07
00E47E 20 17 JR NZ, 00E497
00E480 21 6D E6 LD HL, E66D
00E483 46 LD B, (HL)
00E484 3A 7E BF LD A, (BF7E)
00E487 23 INC HL
00E488 9E SBC A, (HL)
00E489 10 FC DJNZ 00E487
00E48B 21 FD FF LD HL, FFFD
00E48E 96 SUB (HL)
00E48F 28 06 JR Z, 00E497
00E491 2A EC BF LD HL, (BFEC)
00E494 26 BF LD H, BF
00E496 35 DEC (HL)
-
Lefagy, mert ez a rész felülír egy "véletlenszerûen" választott változót, ha a fenti címen (BF7Eh) nem a megfelelõ érték van.
Lelötted a poént :-)
Így van, igen változatos jelenségek történnek, majd totális fagyi szokott a vége lenni...
Mivel az ellenörzõ összeget is beleszámolja, így bármit módosítasz a ROM-on, már mûködésbe lép a trükk...
És anno nem volt EP emulátor szuper debuggerrel :-)
Amúgy a nullás szegmens, csak úgy tök mellékesen tölti fel ezt a változót:
A most következõ rész 4 rendszerváltozót hoz létre és állít
alapállapotba.
C125 3E02 LD A,002h A=2 Alapérték
C127 32E8BF LD (0BFE8h),A (LV_TAPE)=2 40mV
C12A EEA5 XOR 0A5h 10100101b maszk
C12C 327EBF LD (0BF7Eh),A (BF7Eh)=A7h
C12F EEA8 XOR 0A8h 10101000b maszk
C131 32D5BF LD (0BFD5h),A (BAUD_SER)=0Fh Alapérték
Átviteli sebesség
9600 bit/sec
C134 AF XOR A A=0
C135 3D DEC A Z=0 'ROM1-es reset rutin
kell' jelzése
A=255 Alapérték
C136 32E7BF LD (0BFE7h),A (PROTECT)=255 Védett