Jump to content
IGNORED

2600 Rom Comparisions and Dumps


Omegamatrix

Recommended Posts

The Stand Alone Test Cart and Diagnostic Test Cart 2.6 differences are interesting. :)

 

 

The roms are different. No question about it since there is a byte difference at $FCEE. But since 2k roms are repeated in a 4k space, the same code appears between $F000 - $F7FF (2k of rom) as address $F800 - $FFFF (2k of rom). Now look at what is happening at this point:

 

Stand Alone Test Cart
STX	SWCHA		  ; 4
JSR	LFF04		  ; 6

Diagnostic Test Cart 2.6
STX	SWCHA		  ; 4
JSR	L7F04		  ; 6

 

 

These are jumping to the same routine, but in different halves of the 4k rom. There is no difference in functionality, yet the code is different between these two roms. Now the interesting part:

 

F in binary

1111

 

7 in binary

0111

 

 

You can see there is one "bit" difference between the two. Bit rot could explain the difference between the two roms. I would expect that the Stand Alone Test Cart is the actual good dump as all the other JSR's (Jump to Subroutine) and JMP's (Jump) use $Fx instead of $7x as the high address in the call. The funny thing is even with this bit rot, the game functions 100% the same, by chance.

Link to comment
Share on other sites

The Stand Alone Test Cart and Diagnostic Test Cart 2.6 differences are interesting. :)

 

 

The roms are different. No question about it since there is a byte difference at $FCEE. But since 2k roms are repeated in a 4k space, the same code appears between $F000 - $F7FF (2k of rom) as address $F800 - $FFFF (2k of rom). Now look at what is happening at this point:

 

Stand Alone Test Cart
STX	SWCHA		 ; 4
JSR	LFF04		 ; 6

Diagnostic Test Cart 2.6
STX	SWCHA		 ; 4
JSR	L7F04		 ; 6

 

 

These are jumping to the same routine, but in different halves of the 4k rom. There is no difference in functionality, yet the code is different between these two roms. Now the interesting part:

 

F in binary

1111

 

7 in binary

0111

 

 

You can see there is one "bit" difference between the two. Bit rot could explain the difference between the two roms. I would expect that the Stand Alone Test Cart is the actual good dump as all the other JSR's (Jump to Subroutine) and JMP's (Jump) use $Fx instead of $7x as the high address in the call. The funny thing is even with this bit rot, the game functions 100% the same, by chance.

 

This makes no difference to the hardware. 1111 and 0111 both have the important low bit set to 1 (that is the only bit that the hardware uses in the upper nybble of the MSB to determine if the address is RAM or ROM. It's not "by chance" that it works.

 

Address $FF04 - the 2600 "sees" $1F04 (rom)

Address $7F04 - the 2600 "sees" $1F04 (rom)

 

It would be an entirely different story if the rightmost bit of the nybble were set to zero, however. In that case, the address would be translated as $0F04 (ram).

 

It could have been "bit rot"...on the other hand, it could have been a bad dump that accidentally lost the high bit.

Link to comment
Share on other sites

F in binary

1111

 

7 in binary

0111

 

 

You can see there is one "bit" difference between the two. Bit rot could explain the difference between the two roms. I would expect that the Stand Alone Test Cart is the actual good dump as all the other JSR's (Jump to Subroutine) and JMP's (Jump) use $Fx instead of $7x as the high address in the call. The funny thing is even with this bit rot, the game functions 100% the same, by chance.

That's probably not bit rot. Changing zeros to ones happens during erasure, and is a passive process that can happen naturally. Changing ones to zeros happens during programming and is an active process that occurs under very specific conditions.
Link to comment
Share on other sites

This makes no difference to the hardware. 1111 and 0111 both have the important low bit set to 1

Yep, you are right. I had it in my head that I was looking at $F7FF. My mind was playing tricks on me. The $7FFF address would go to the same place in the rom as the 3 high bits in the high octect are don't care conditions since they are not addressed.

 

 

 

Were games still being hard coded in hex back then or did they have assemblers? If it was an assembler translating a label then its very unlikely that the $7F value occured (would have been $FF instead).

Link to comment
Share on other sites

This is interesting. The PAL rom is 4k, so I split it in half. The roms are not the same at all however. They will have to be compared to each other and the NTSC one to see if one is perhaps an earlier version stuck inside.

 

 

Diagnostic_Test_Cart_2_6_PAL__2k_halves.zip

 

 

This is each comparision:

 

;-----------------------------------------------------------------------------
Stand Alone Test Cart (NTSC)
; LFF04 subroutine is called ~ nine places
LFCEC:
JSR	LFF04


Diagnostic Test Cart ver 2.6 (NTSC)
; same as Stand Alone Test Cart except for one byte at $FCEE
; L7F04 subroutine is called once, subrountine LFF04 is called ~ eight places
LFCEC:
JSR	L7F04


Diagnostic Test Cart ver 2.6 (PAL) $F000 - $F7FF
; Because of differences between PAL and NTSC rom, subroutine is now at address $FEF1
; LFEF1 subroutine is called ~ nine places
LFCDC:
JSR	LFEF1


Diagnostic Test Cart ver 2.6 (PAL) $F800 - $FFFF
; Because of differences between the 2k halves of the PAL rom, subroutine is now at address $FEFF
; LFEF1 subroutine is called ~ nine places
LFCEA:
JSR	LFEFF
;-----------------------------------------------------------------------------

 

So the Diagnostic Test Cart (NTSC) is the only one that has an odd ball address. All the other roms use the same label nine times. I would say it is pretty convincing that the dump is not good.

 

 

BTW the routine they are all calling is just a 17 line delay:

	LDX	#$10 
.loopDelay:
STX	WSYNC
DEX
BPL	.loopDelay
RTS

 

 

Just what does the test cart exactly do anyhow? IIRC AtariProtos said they think extra equipment might be required to make it work properly.

Link to comment
Share on other sites

Regarding bitrot, if I remember correctly, the NTSC 2600 diag cart was released on ROMs not EPROMs. Not sure about the PAL ones. I've never opened either my NTSC or PAL diag carts becuase I didn't want to destroy the label. Could be a bad dump though.

 

The extra hardware that is mentioned are the joystick port loopback plugs. From what I remember you only need them for the joystick port test.

 

Mitch

Link to comment
Share on other sites

Are they sliding trap door? Would you be able to see a hex inverter inside or is it too small a gap?

 

 

I would like to learn more of bit rot too. We did a little bit of how transistors strore a charge in school, but honestly I can't remember the connections or if that is how an eprom is done.

 

 

Failure of prom is a different story. I know Bomb carts were bad for it, but I don't know why or what exactly happens to them.

Link to comment
Share on other sites

Just what does the test cart exactly do anyhow? IIRC AtariProtos said they think extra equipment might be required to make it work properly.

There were joystick port plug shorters for example, I have a pair of them. There may have been other things as well, but I don't have the manual.

 

Tempest

Link to comment
Share on other sites

Just what does the test cart exactly do anyhow? IIRC AtariProtos said they think extra equipment might be required to make it work properly.

There were joystick port plug shorters for example, I have a pair of them. There may have been other things as well, but I don't have the manual.

 

Tempest

I looked at a few pictures on Atarimania and see what you mean. Has the manual for the cart ever been scanned? I'm curious what pins are grounded, and if the led turns on each time something is tested, etc..

Link to comment
Share on other sites

I looked at a few pictures on Atarimania and see what you mean. Has the manual for the cart ever been scanned? I'm curious what pins are grounded, and if the led turns on each time something is tested, etc..

 

The 2600 service manual was scanned to a PDF by atariguide.com, you can download it from there.

 

Mitch

Link to comment
Share on other sites

Tempest,

 

Do you also have the ROM of the 4.2 version?

 

8)

Yes it should be in the directory called Test Cart (no idea why I separated them). I actually have the EPROM right here and it's labeled 4.2 DOM 6-1-82.

I see.

 

That brings me to my next question:

 

What exactly is wrong with these?

non_working_proto_dumps.zip

 

8)

Link to comment
Share on other sites

I looked at a few pictures on Atarimania and see what you mean. Has the manual for the cart ever been scanned? I'm curious what pins are grounded, and if the led turns on each time something is tested, etc..

 

The 2600 service manual was scanned to a PDF by atariguide.com, you can download it from there.

 

Mitch

That explains the 'blue" shortening plugs as they are mentioned in section 3, testing and troubleshooting. I saw a picture of the blue plugs here, but I thought they were a homemade job at the time as the rest I saw were black (on Atarimania).

 

http://cgi.ebay.com/Atari-2600-service-car...1QQcmdZViewItem

Link to comment
Share on other sites

Tempest,

 

Do you also have the ROM of the 4.2 version?

 

8)

Yes it should be in the directory called Test Cart (no idea why I separated them). I actually have the EPROM right here and it's labeled 4.2 DOM 6-1-82.

I see.

 

That brings me to my next question:

 

What exactly is wrong with these?

non_working_proto_dumps.zip

 

8)

LOTR, Ewok, and Miner all seem to work no problem. What problems were you having with these?

Link to comment
Share on other sites

Tempest,

 

Do you also have the ROM of the 4.2 version?

 

8)

Yes it should be in the directory called Test Cart (no idea why I separated them). I actually have the EPROM right here and it's labeled 4.2 DOM 6-1-82.

I see.

 

That brings me to my next question:

 

What exactly is wrong with these?

non_working_proto_dumps.zip

 

8)

Gremlins was not joined correctly. Here is the corrected version. The others mostly just need the bankswitching specified. Fatal Run I believe needs to be reordered. I was not able to get ms pacman or the diag working and I don't have any more time to look at them right now.

 

Mitch

Gremlins31284.zip

Link to comment
Share on other sites

Tempest,

 

Do you also have the ROM of the 4.2 version?

 

8)

Yes it should be in the directory called Test Cart (no idea why I separated them). I actually have the EPROM right here and it's labeled 4.2 DOM 6-1-82.

I see.

 

That brings me to my next question:

 

What exactly is wrong with these?

non_working_proto_dumps.zip

 

8)

LOTR, Ewok, and Miner all seem to work no problem. What problems were you having with these?

They don't seem to work in Z26.

 

But I noticed they do to work in Stella.

 

I will include Miner Prototype and LOTR (Earlier).

 

Is Ewok Adventure (NTSC,F6) a hack/conversion or something?

 

Fatal Run (NTSC) , Gremlins 2-12-84, MsPacMan 920 and Test Cart (Dom42) 06-01-82 do nothing, though.

 

8)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...