Jump to content

Photo

Atari 2600 POP

Atari 2600 point of purchase

29 replies to this topic

#26 jeffrond OFFLINE  

jeffrond

    Space Invader

  • Topic Starter
  • 16 posts
  • Location:Grand Forks, ND

Posted Sat Apr 14, 2018 6:20 PM

I have finally read an Atari rom properly!  It does not match the Atari VCS Point-of-Purchase ROM (1982).bin above perfectly.  In the above rom memory location 0390 contains 0F.  In my rom, location 0390 contains 07.

 

This is what I used to read the rom.

Atari VCS POP how to read.JPG
 
Here is my rom:
Attached File  Atari VCS POP.BIN   2KB   10 downloads
 
 
What do you think rom experts?  Can any of you tell what will happen with that 07 vs 0F at location 0390?


#27 Keatah OFFLINE  

Keatah

    Missile Commander

  • 21,045 posts

Posted Sat Apr 14, 2018 10:58 PM

Right.  You have to sit and wait and sooner or later it will cycle to the copyright screen and then the game selection menu.

 

Well that's a shitkicker, every single time I loaded it. I jammed on all the buttons and controls. It did nothing, I put the window in the background and ran off to do something else, when I came back it was still showing the Fuji. I did it 4 times!! What terrible timing..



#28 alex_79 OFFLINE  

alex_79

    Stargunner

  • 1,134 posts
  • Location:Italy

Posted Sun Apr 15, 2018 10:00 AM

I partially disassembled the POP rom a while ago in order to hack it into a menu for the "Menu Driven Mega Cart" designed by Edwin Blink.

The POP is slightly different compared to a standard 2600 and that's why the rom doesn't do much in Stella and other 2600 emulators (technically it's not a rom for the Atari 2600!)
Here are a few notes (from the source that you can find in this post):
 

;==========================================================================================
; VCS POP (Point Of Purchase) KIOSK hardware notes 
;==========================================================================================
;
; 
; Memory map has a few differences from the standard VCS one:
; TIA mirrors in $x800-$xFFF area don't exist in the VCS POP.
; any address in the $x800-$xFFF (x=even value) area maps to dip 
; switch A7 (READ - 4 bits in low nybble) and Rom select latch (WRITE - 6 bits).
; RIOT mirrors in $x800-$xFFF area DO exist, but cannot be used because they would cause 
; bus contention with dip switch/ rom select latch
; 
; 
; 
;                                              A|A|A|A|A|A|A|A|A|A|A|A|A|A|A|A
;                                              1|1|1|1|1|1|9|8|7|6|5|4|3|2|1|0
;                                              5|4|3|2|1|0| | | | | | | | | |            
; $0000-$003F = TIA $00-$3F           mirrors: - - - 0 0 - - - 0 - x x x x x x
; $0080-$00FF = RIOT RAM $00-$7F      mirrors: - - - 0 - - 0 - 1 x x x x x x x
; $0280-$029F = RIOT $00-$1F          mirrors: - - - 0 - - 1 - 1 - - x x x x x
; $0800       = ROM LATCH (WRITE) /   mirrors: - - - 0 1 - - - - - - - - - - -
;               DIP SWITCH A7 (READ)          
; $1000-$1FFF = ROM                   mirrors: - - - 1 x x x x x x x x x x x x
;            
;                                              x = used as address bit
;                                              - = don't care
;
;
; 
; No LDIF, RDIF, TVTYPE, SELECT or RESET physical switches.
; LDIF and RDIF bits hardwired to GND (B position).
; RESET bit goes low for a while after a ROM is selected.
;
; There are 2 pushbuttons to select the game number (ONES and TENS) and a START button
; These 3 buttons are wired to the 3 unused (on the VCS) pins of RIOT PORTB
;
; A timer circuit resets the POP VCS after a while. Duration (infinite play is also possible) 
; is set by 4-dipswitch bank A8.
; 
; 
; Pressing any of the START, ONES or TENS buttons cause the timer to reset
;
; 2 joysticks and 2 paddles (INPT0 -INPT1) hardwired
;
;
; Rom select latch:
; 6 bits used : 	        bit 0,1 -> COL 0-3
;			        bit 2	-> ROMSEL2
;			        bit 3,4,5 -> ROW 0-5
;
; 48 roms max supported ($00 - $2F). rom $00 is the menu itself
; A standard 2600 cart port is present on the board but cannot be accessed with the board
; mounted inside the cabinet. The port is wired in parallel with rom #7. To use it, the rom 
; in that position must be removed, then the cart can be accessed by selecting game 7 on
; the menu.
;
;
; Dip switch A7:
; 4 bits = number of free upper rom slots (0-15)
;==========================================================================================

I have finally read an Atari rom properly! It does not match the Atari VCS Point-of-Purchase ROM (1982).bin above perfectly. In the above rom memory location 0390 contains 0F. In my rom, location 0390 contains 07.


That byte affects the max game number displayed in the menu that can be configured using the dipswitches marked "A7" on the board:

pop_A7.jpg

the known rom allows values from 32 to 47, while the one you dumped from 40 to 47 (basically it ignores the position of one of the switches).
Here's the relevant code:
 

LF38C:
       LDA    DIPSW_A7          ;4
       AND    #$0F              ;2  <------------------ AND #$07 in the alternate dump!
       STA    temp0             ;3
       LDA    #$2F              ;2 max number of games = 48
       SEC                      ;2
       SBC    temp0             ;3
       LDX    #$00              ;2
LF39A: ; divide by ten to convert to BCD
       SEC                      ;2
       SBC    #$0A              ;2
       BMI    LF3A3             ;2
       INX                      ;2
       JMP    LF39A             ;3
LF3A3: 
       CLC                      ;2
       ADC    #$0B              ;2 add 1 to low BCD digit
       STA    max_rom_BCD_LO    ;3 Lo BCD digit
       INX                      ;2 add 1 to high BCD digit
       STX    max_rom_BCD_HI    ;3 HI BCD digit


Edited by alex_79, Sun Apr 15, 2018 10:02 AM.


#29 Rom Hunter OFFLINE  

Rom Hunter

    VCS Games Archivist

  • 8,869 posts
  • Obtainer of Rare Antiquities

Posted Sun Apr 15, 2018 12:58 PM

So, is the new ROM dump worth archiving?

8)

 



#30 jeffrond OFFLINE  

jeffrond

    Space Invader

  • Topic Starter
  • 16 posts
  • Location:Grand Forks, ND

Posted Mon Apr 16, 2018 7:58 PM

Tough to tell if this is worth archiving or if it is due to bit-rot. Strange they would put code in the program if they have the hardware to limit the selections already.
  • jhd likes this




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users