;;;;;L.MAP - save LAST game info .inesprg 1 ;01 x 16k prg bank .ineschr 0 ;no chr bank .inesmir 1 ; VERTICAL mirroring .inesmap 0 .include "variables.h" .include "loader.fns" .bank 0 .org $0400 jmp START .org $0404 jmp CONTROLLER START: jsr RenderingOff SaveLast: lda #$60 sta $0404 ;module not ready, set controller vector to rts lda #$00 sta moduleReady lda #'T' sta exMatch1+0 ;.TXT sta exMatch1+1 sta exMatch1+2 sta exMatch1+3 lda #'X' sta exMatch2+0 ;.TXT sta exMatch2+1 sta exMatch2+2 sta exMatch2+3 lda #'T' sta exMatch3+0 ;.TXT sta exMatch3+1 sta exMatch3+2 sta exMatch3+3 ;-------------------------------------; lda baseDirCluster sta sourceCluster lda baseDirCluster+1 sta sourceCluster+1 lda baseDirCluster+2 sta sourceCluster+2 lda baseDirCluster+3 sta sourceCluster+3 jsr CardLoadDir ; powerpak dir lda #'L' sta findEntry lda #'A' sta findEntry+1 ;;find LAST.TXT in powerpak dir lda #'S' sta findEntry+2 lda #'T' sta findEntry+3 lda #'N' sta findEntry+4 lda #'E' sta findEntry+5 lda #'S' sta findEntry+6 lda #' ' sta findEntry+7 jsr DirFindEntry lda tempEntry+$1C sta sourceCluster lda tempEntry+$1D sta sourceCluster+1 lda tempEntry+$1E sta sourceCluster+2 lda tempEntry+$1F sta sourceCluster+3 ;copy to source cluster jsr ClusterToLBA ldx #$00 ldy #$00 SaveLastGameLoop: ;;game name lda gameName, x sta $0200, y iny inx cpx #32 bne SaveLastGameLoop ldx #$00 SaveLastGameCLoop: ;;game cluster lda gameCluster, x sta $0200, y iny inx cpx #4 bne SaveLastGameCLoop ldx #$00 SaveLastSaveLoop: ;;save name lda saveName, x sta $0200, y iny inx cpx #32 bne SaveLastSaveLoop ldx #$00 SaveLastSaveCLoop: ;;save cluster lda wramCluster, x sta $0200, y iny inx cpx #4 bne SaveLastSaveCLoop ldx #$00 SaveLastGameGenieLoop: ;;game genie chars 5x8 lda gameGenie, x sta $0200, y iny inx cpx #40 bne SaveLastGameGenieLoop lda #$00 sta bankCounter sta sectorCounter sta sourceLo ;reset to beginning of sector buffer lda #$02 sta sourceHi jsr CardWriteSector ;write 512 bytes to file jsr ClearFindEntry ;;load game mapper file lda #'M' sta findEntry lda #'A' sta findEntry+1 lda #'P' sta findEntry+2 lda mapperModule sta findEntry+3 lda mapperModule+1 sta findEntry+4 jsr RenderingOff jmp CardLoadModule CONTROLLER: rts