Jump to content
IGNORED

Help figuring out a program


cx2k

Recommended Posts

I've been archiving a bunch of disk from a former Atari employee and stumbled upon 2 programs that I can't figure out. Maybe the experts here can help.

 

The disk contains 2 files - RSMT and RSMT.DAT

RSMT seems like machine language but RSMT.DAT contains a bunch of data statements and a couple of REM statements about code start and end. No idea what these are, what they do, how to run them.

 

The disk also contains what looks like cart dumps of several Atari carts. Any help would be appreciated. ATR attached.

 

 

RSMT.atr

Link to comment
Share on other sites

Had just few minutes:

SLALOM.BAS - this game http://www.atarimania.com/game-atari-400-800-xl-xe-giant-slalom_14135.html

ASSY - assembler editor cart
BASIC - atari basic rev A cart
ROIDS - asteroids cart, with removed copy protection
MSCMDND - known proto of Missile Command cart


PACMAN - some prototype(?) of Jawbreaker by Sierra?
 

RSMT - short asm code
RSMT.DAT - the same code in DATA statements


the RSMT itself looks like some kind of cartridge initialization code. Definitely nothing like finished product, maybe some debugging tool.

Edited by jindroush
  • Like 4
Link to comment
Share on other sites

On 6/8/2023 at 5:12 PM, jindroush said:

Had just few minutes:

SLALOM.BAS - this game http://www.atarimania.com/game-atari-400-800-xl-xe-giant-slalom_14135.html

ASSY - assembler editor cart
BASIC - atari basic rev A cart
ROIDS - asteroids cart, with removed copy protection
MSCMDND - known proto of Missile Command cart


PACMAN - some prototype(?) of Jawbreaker by Sierra?
 

RSMT - short asm code
RSMT.DAT - the same code in DATA statements


the RSMT itself looks like some kind of cartridge initialization code. Definitely nothing like finished product, maybe some debugging tool.

Thanks for looking into it @jindroush. My main concern was figuring out the RSMT programs. Any further insight by chance?

 

John

 

Link to comment
Share on other sites

entry_point_1:
;600
	SEI	
	LDA	#$00
	STA	WARMST
	CLD	
	LDX	#$FF
	TXS	
	LDA	#$C0	;end page
	STA	$07

	LDA	#$80	;begin page
	JSR	cleaner

	LDA	#$FF	;sets 'cart not available' for both left & right cart
	STA	$BFFC
	STA	$9FFC
	JMP	$F14F	; INITIALIZE DOSVEC TO POINT TO SIGNON (BLACKBOARD) (OS/A-OS/B)

entry_point_2:
;61d
	SEI	
	LDA	#$00
	STA	WARMST
	CLD	
	LDX	#$FF
	TXS	
	LDA	#$A0	;end page
	STA	$07

	LDA	#$90	;begin page
	JSR	cleaner

	LDA	#$FF	;sets 'cart not available' for right cart
	STA	$9FFC
	JMP	$F14F	; INITIALIZE DOSVEC TO POINT TO SIGNON (BLACKBOARD) (OS/A-OS/B)

cleaner:STA	$06	;begin page
	LDA	$01FF   ;store return address
	STA	$067F
	LDA	$01FE
	STA	$067E
	JSR	$F281	;run HARDWARE INITIALIZATION (only in OS/A)

	LDA	#$00
	LDY	#$08
	STA	$04
	STA	$05

	;clears $0008 to page in $07
clr_loop:STA	($04),Y
	INY	
	CPY	#$00
	BNE	clr_loop	;clears up $08-$FF in first pass, whole page in

	INC	$05
	LDX	$05
	CPX	#$06    ;skip page $06, where this code resides
	BNE	skip6
	INC	$05
	LDX	$05
skip6:  CPX	$07
	BNE	clr_loop	;up to value stored in $07

	LDA	$067F	;restore stack and return
	STA	$01FF
	LDA	$067E
	STA	$01FE
	RTS	


This is the code. It works only on OS/A machines, as I checked rom sources for the addresses called, and both are valid only in OS/A.
The code has two entry points - you either call $600 or $61D. The cartridges on the disk assume the $61D entry. When you do some black magic, ie. add this code to 8kb cart and add $61D entry point, the machine would run the cart loaded to RAM on machine which looks like recently booted without many traces of previously loaded code (DOS for example)

The code at $61D is clear, as it simply runs hardware init, clears memory up to cartridge at $A000, sets right cartridge as not inserted and continues boot process, which actually runs cartridge (tested in Altirra on 400/800 system with OS/A ROM, see asmed_tst.xex).

Not sure what is code at $600 good for, it looks like it completely re-initializes machine and just continues booting, so it jumps to MEMORY PAD.

asmed_tst.xex

  • Like 1
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...