diff --git a/ram2gs_asm.s b/ram2gs_asm.s index e5be661..37c12ca 100644 --- a/ram2gs_asm.s +++ b/ram2gs_asm.s @@ -40,6 +40,54 @@ .segment "CODE" +.proc _unswap: near +.A8 +.I8 + ; Save current bank and accumulator + phb + pha + ; Switch to bank 0xFB + lda #$FB + pha + plb + ; Submit C1AD + lda #$C1 + sta $FFFE + lda #$AD + sta $FFFF + ; Pull and submit command + lda #$00 + sta $FFFD + ; Restore accumulator and bank and return + pla + plb + rts +.endproc + +.proc _swap: near +.A8 +.I8 + ; Save current bank and accumulator + phb + pha + ; Switch to bank 0xFB + lda #$FB + pha + plb + ; Submit C1AD + lda #$C1 + sta $FFFE + lda #$AD + sta $FFFF + ; Pull and submit command + lda #$01 + sta $FFFD + ; Restore accumulator and bank and return + pla + plb + rts +.endproc + .proc _ram2gs_getsize: near .A8 .I8 @@ -100,55 +148,6 @@ rts .endproc - -.proc _unswap: near -.A8 -.I8 - ; Save current bank and accumulator - phb - pha - ; Switch to bank 0xFB - lda #$FB - pha - plb - ; Submit C1AD - lda #$C1 - sta $FFFE - lda #$AD - sta $FFFF - ; Pull and submit command - lda #$00 - sta $FFFD - ; Restore accumulator and bank and return - pla - plb - rts -.endproc - -.proc _swap: near -.A8 -.I8 - ; Save current bank and accumulator - phb - pha - ; Switch to bank 0xFB - lda #$FB - pha - plb - ; Submit C1AD - lda #$C1 - sta $FFFE - lda #$AD - sta $FFFF - ; Pull and submit command - lda #$01 - sta $FFFD - ; Restore accumulator and bank and return - pla - plb - rts -.endproc - .proc _ram2gs_detect: near .A8 .I8