Am Donnerstag, 27. August 2020, 13:53:43 CEST schrieb Hans Liss: > On 2020-08-27 13:44, groepaz_at_gmx.net wrote: > > Am Donnerstag, 27. August 2020, 13:41:46 CEST schrieb groepaz_at_gmx.net: > >> Am Donnerstag, 27. August 2020, 13:32:56 CEST schrieb Hans Liss: > >>> Odd code. It seems to have some magic I/O at $8000/$8001, with $8001 > >>> maybe producing side effects on read. > >>> > >>> Also, the sequence starting at $e7a0 is kinda epic. It laboriously > >>> stores code, instruction by instruction, at $0400 - $041b, and then > >>> jumps to $0400. I wonder why. > >> > >> that would be the typical thing to do if you eg want to bank out the ROM > >> you are running from, to call code from another ROM (bank), or from RAM > >> > >> $400x seems to be I/O to me as well... there really must be more to this, > >> ie without the schematics or knowledge of the hardware it doesnt make a > >> lot of sense > > > > this is the code at 0400 > > > > .C:0400 A2 FF LDX #$FF > > .C:0402 A0 FF LDY #$FF > > .C:0404 A9 5C LDA #$5C > > .C:0406 8D 00 80 STA $8000 > > .C:0409 CA DEX > > .C:040a D0 F8 BNE $0404 > > .C:040c 88 DEY > > .C:040d D0 F5 BNE $0404 > > .C:040f A9 A2 LDA #$A2 > > .C:0411 CD 00 04 CMP $0400 > > .C:0414 D0 03 BNE $0419 > > .C:0416 4C 32 E8 JMP $E832 > > .C:0419 4C 2D E8 JMP $E82D > > You were faster! :) > > It's a bit strange. It's a clear sign of self-modifying code, checking > the value at $0400 like that. But I can't see anything in the ROM code > that might change that value. perhaps there were two CPUs in the system? and this is the "locking" between them? that kind of thing wasnt terribly uncommon in the PETs -- http://hitmen.eu http://ar.pokefinder.org http://vice-emu.sourceforge.net http://magicdisk.untergrund.net Choose any two: 1) Enjoy your job. 2) Work within the law. 3) Make lots of money.Received on 2020-08-27 15:00:04
Archive generated by hypermail 2.3.0.