cx2k Posted June 8, 2023 Share Posted June 8, 2023 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 Quote Link to comment Share on other sites More sharing options...
jindroush Posted June 8, 2023 Share Posted June 8, 2023 (edited) 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 June 8, 2023 by jindroush 4 Quote Link to comment Share on other sites More sharing options...
cx2k Posted June 10, 2023 Author Share Posted June 10, 2023 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 Quote Link to comment Share on other sites More sharing options...
jindroush Posted June 10, 2023 Share Posted June 10, 2023 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 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.