Re: identifying an unknown eprom content

From: Hans Liss <Hans_at_Liss.pp.se>
Date: Thu, 27 Aug 2020 13:53:43 +0200
Message-ID: <b686e6d2-e843-13db-f3ff-65d494f4e380_at_Liss.pp.se>
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.

/Hans
Received on 2020-08-27 14:04:18

Archive generated by hypermail 2.3.0.