include "tios.h" xdef _nostub xdef _ti89 xdef _ti92plus xdef _main xdef _comment _main: move.w #2,-(a7) ROM_CALL $18f ;FontSetSys add.l #2,a7 move.b #'R',d2 bsr SendByte move.b #'A',d2 bsr SendByte move.b #'M',d2 bsr SendByte move.b #' ',d2 bsr SendByte move.l #0,a0 bsr DispAddr move.w #0,d3 move.l #0,AbortNow mainloop: clr.w d0 move.b (a0)+,d0 add.w d0,d3 move.b d0,d2 bsr SendByte move.l a0,d4 and.l #$fff,d4 cmp.l #0,d4 bne nochecksum move.b d3,d2 bsr SendByte cmp.l #1,AbortNow beq doAbort move.w d3,d2 lsr.w #8,d2 bsr SendByte cmp.l #1,AbortNow beq doAbort clr.w d3 nochecksum: bsr DispAddr cmp.l #1,AbortNow beq doAbort cmp.l #$40000,a0 bne mainloop pea.l donetext(pc) ROM_CALL $e6 ;ST_showHelp add.l #4,a7 doAbort: move.w #4,-(a7) pea.l blankStr(pc) move.w #45,-(a7) move.w #64,-(a7) ROM_CALL $1a9 ;DrawStrXY add.l #10,a7 rts SendByte: ;Byte to send in d2 movem.l d0-d7/a0-a5,-(a7) move.l #$ffff,d1 SendLoop: move.l d1,-(a7) lea.l buf(pc),a0 move.b d2,(a0) move.w #1,-(a7) move.l a0,-(a7) ROM_CALL $250 ;transmit add.l #6,a7 move.l (a7)+,d1 tst.l d0 beq SendLoopEnd dbra d1,SendLoop move.l #1,AbortNow SendLoopEnd: movem.l (a7)+,d0-d7/a0-a5 rts DispAddr: movem.l d0-d7/a0-a5,-(a7) move.l a0,d0 and.l #1023,d0 tst.l d0 bne DispAddrEnd move.l a0,d0 and.l #$fffff,d0 lsr.l #8,d0 lsr.l #2,d0 move.w d0,-(a7) pea.l strx(pc) pea.l buf(pc) ROM_CALL $53 ;sprintf add.l #10,a7 move.w #4,-(a7) pea.l buf(pc) move.w #45,-(a7) move.w #64,-(a7) ROM_CALL $1a9 ;DrawStrXY add.l #10,a7 DispAddrEnd: movem.l (a7)+,d0-d7/a0-a5 rts blankStr: dc.b " ",0,0 AbortNow: dc.l 0 strx: dc.b "%3dK",0,0 buf: dc.l 0,0,0,0 donetext: dc.b "RAM dump completed",0 _comment: dc.b "89/92+ RAM Dumper",0 end