Jump to content







Photo

Incredible 2600 Discovery!

Posted by Cybergoth, 08 April 2007 · 212 views

Hi there!

Look at this: Klov
(read the fine print)

If you don't get what I mean, try here: System 16

Screenshot:
Posted Image

ROMs:
Set1:
Set2:

6K Binaries:

Disassembly from TJ:
Latest source from TJ:
Service Mode removal try from MR:
Second update from MR:
Third source from TJ:
4th source from TJ:

Greetings,
Manuel

Attached Files






That's interesting. I wonder if the picture of "breakout" on the second page is shown with the wrong aspect ratio, since the photo of the cabinet shows a horizontal monitor. Also, it's curious that the game is shown in sideways orientation. I'm not quite sure what's really going on.

Also, I just looked up Breakout on the KLOV and it's shown in double-ended cocktail format. Would the game have been wired to allow the screen to be drawn in reverse order, or did the game just use a relay to flip the monitor's deflection coils?
  • Report
I added a MAME screenshot I just did myself. I could imagine they just had an older/buggy driver for the System 16 screenshots.

I wonder if anyone would like to try to:

A) Add support for this to Stella/Z26 (It's 3 2K ROMS, so its something new :D)
B) Get it running on a stock 2600 (8K SC I guess)

Both should be rather trivial tasks I think, but such jobs are rather something for TJ, batari, Eckhard or yourself ;)
  • Report
Definitely and interesting discovery. Just downloaded the ROMs. ;)
  • Report
;)

Apparently there are two romsets. I found tourtabl, but apparently there is another set called tourtab2... Did anyone find that one?

Anyway, according to MAME's cheat search feature, the second RIOT chip appears to be here:
400-47F: 2nd RIOT's RAM
500-51F: 2nd RIOT's I/O

Also, there appears to be 6k addressable ROM! $E800-$FFFF is tagged for ROM (as is $800-$FFF, but that's just a mirror of $E800-$EFFF.)
  • Report
Attached both ROM sets! ;)

Set 2 differs only in 1 ROM, might be interesting to see what they changed.

And here's a link to the MAME driver code:
http://www.mameworld...vers/tourtabl.c
(Might make sense to compare with its current MESS driver)

I'd think it must possibly be using a 6502?
  • Report
Got the memory layout:
030929.ab2 and 030751.ab2: $0800..$0fff (both ROMs are 99% identical)
030752.ab3: $1000..$17ff
030753.ab4: $1800..$1fff

So that's indeed 6K of ROM.

Not sure about $04xx and 05xx yet.
  • Report
Can DiStella possibly be tweaked to disassemble 6K?

EDIT: Added 2 6K binaries merged like TJ suggested
  • Report

Cybergoth, on Mon Apr 9, 2007 10:51 AM, said:

Can DiStella possibly be tweaked to disassemble 6K?
I created a disassembly which assembles 1:1 to the 6K version. Check your mail.
  • Report
Thanks, excellent work! Attached your disassembly! ;)

So, what difference is INTIM making vs. TIMINT?

(The First byte might be a kind of versioning or some CRC)
  • Report

Cybergoth, on Mon Apr 9, 2007 12:49 PM, said:

So, what difference is INTIM making vs. TIMINT?
IIRC TIMINT is a bit "safer" when the code lasts too long. Else both should work identical.
  • Report
If you clonespy those 3 ROMs vs. Video Olympics, which is the closest?

It might give a clue as how to have it best splitted into 4K banks; Maybe have the "video olympics" 2K in one bank and the new 4K in the other?
  • Report
All pretty different:
(1/5)				0  1  2  3  4
 0 030753ˇˇˇˇˇˇˇˇˇˇ   ˇ  -  - 37 10
 1 030751ˇˇˇˇˇˇˇˇˇˇ   -  ˇ  - 38 14
 2 030752ˇˇˇˇˇˇˇˇˇˇ   -  -  ˇ 38 18
 3 tt234ˇˇˇˇˇˇˇˇˇˇˇ 100100100  ˇ 36
 4 Video Olympicsˇˇ   =  =  = 14  ˇ
  • Report
Hm... from this point on, it seems as if it would be the best to have such a binary running emulated in Z26 or Stella, then it could be tweaked with instant feedback wether something broke.

Next task seems to be sorting out the inputs:

Quote

PORT_START /* TIA INPT4 */
PORT_DIPNAME( 0x80, 0x80, "Breakout Replay" )
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
PORT_DIPSETTING( 0x80, DEF_STR( On ))

PORT_START /* TIA INPT5 */
PORT_DIPNAME( 0x80, 0x80, "Game Length" )
PORT_DIPSETTING( 0x00, "11 points (3 balls)" )
PORT_DIPSETTING( 0x80, "15 points (5 balls)" )

PORT_START /* RIOT #0 SWCHA */
PORT_DIPNAME( 0x0F, 0x0E, "Replay Level" )
PORT_DIPSETTING( 0x0B, "200 points" )
PORT_DIPSETTING( 0x0C, "250 points" )
PORT_DIPSETTING( 0x0D, "300 points" )
PORT_DIPSETTING( 0x0E, "400 points" )
PORT_DIPSETTING( 0x0F, "450 points" )
PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)

PORT_START /* RIOT #0 SWCHB */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Game Select") PORT_CODE(KEYCODE_SPACE)
PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )

PORT_START /* RIOT #1 SWCHA */
PORT_DIPNAME( 0x0F, 0x07, DEF_STR( Coinage ))
PORT_DIPSETTING( 0x00, "Mode A" )
PORT_DIPSETTING( 0x01, "Mode B" )
PORT_DIPSETTING( 0x02, "Mode C" )
PORT_DIPSETTING( 0x03, "Mode D" )
PORT_DIPSETTING( 0x04, "Mode E" )
PORT_DIPSETTING( 0x05, "Mode F" )
PORT_DIPSETTING( 0x06, "Mode G" )
PORT_DIPSETTING( 0x07, "Mode H" )
PORT_DIPSETTING( 0x08, "Mode I" )
PORT_DIPSETTING( 0x09, "Mode J" )
PORT_DIPSETTING( 0x0A, "Mode K" )
PORT_DIPSETTING( 0x0B, "Mode L" )
PORT_DIPSETTING( 0x0C, "Mode M" )
PORT_DIPSETTING( 0x0D, "Mode N" )
PORT_DIPSETTING( 0x0E, "Mode O" )
PORT_DIPSETTING( 0x0F, "Mode P" )
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Language ) )
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
PORT_DIPSETTING( 0x10, DEF_STR( French ) )
PORT_DIPSETTING( 0x20, DEF_STR( German ) )
PORT_DIPSETTING( 0x30, DEF_STR( Spanish ) )
PORT_SERVICE( 0x40, IP_ACTIVE_HIGH )
PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )

PORT_START /* RIOT #1 SWCHB */
PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_START4 )
PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_START1 )
  • Report
That's pretty wild - never knew there was an arcade system based on the 2600's hardware.

What's the "fine print" on the KLOV site though?
  • Report
I meant the trivia section, where it mentions Video Olympics :D

BTW: Actually I found this when browsing MAME by resolution. I was looking for a game that would fit on the VCS screen - Tournament Table matches it exact ;)
  • Report
I'd heard of there being 2600-based arcade hardware some years ago. I just never knew which game(s) used it.
  • Report
Ah - I was looking for a TIA reference ;)
  • Report
I'd definitely like to see this get ported back to the 2600. I have seen the cab for this. It uses analog noncentering sticks. I don't think it sold too well and doesn't appear to be much of a collectible, but it is a curious piece of history.
  • Report

Cybergoth, on Mon Apr 9, 2007 6:25 PM, said:

Next task seems to be sorting out the inputs:
How do you read this? ;)
  • Report

Thomas Jentzsch, on Tue Apr 10, 2007 9:28 AM, said:

Cybergoth, on Mon Apr 9, 2007 6:25 PM, said:

Next task seems to be sorting out the inputs:
How do you read this? ;)

Pretty straightforward:

Quote

PORT_START /* TIA INPT4 */
PORT_DIPNAME( 0x80, 0x80, "Breakout Replay" )
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
PORT_DIPSETTING( 0x80, DEF_STR( On ))

This for example would let me assume that it (mis-)uses the left fire button state to switch a replay mode for the breakout game on/off. The leftmost bit set = ON, clear = OFF.

This MAME code is not necessarily complete or correct though, but it might be a good starting point.

What I saw in your disassembly code already, is that more 0x05XX adresses are used than just SWCHA/SWCHB, but the ports defined by the MAME driver only contain those two.

I find the settings regarding modes and language most interesting. Maybe docs on those modes can be found somewhere. Also, when getting rid of the foreign languages, maybe it can fit even into 4K somehow.
  • Report

Search My Blog

Recent Comments

Latest Visitors