mirror of
https://github.com/a2-4am/4cade.git
synced 2025-02-27 14:29:38 +00:00
shrink promote
This commit is contained in:
parent
6f72cb7eb6
commit
a85748c8af
@ -9,14 +9,14 @@
|
||||
; D000..E5F4 - persistent data structures (per-game cheat categories,
|
||||
; gGlobalPrefsStore, gGamesListStore)
|
||||
; ...unused...
|
||||
; EAAE..FFF9 - main program code
|
||||
; EA5C..FFF9 - main program code
|
||||
; FFFA..FFFF - NMI, reset, IRQ vectors
|
||||
;
|
||||
; LC RAM BANK 2
|
||||
; D000..D3FF - ProRWTS data
|
||||
; D400..D5FF - ProRWTS code
|
||||
; D600..D9FF - HGR font data
|
||||
; DA00..DF83 - HGR font code & ProRWTS glue code
|
||||
; DA00..DF2F - HGR font code & ProRWTS glue code
|
||||
; ...unused...
|
||||
; DFF0..DFFF - backup of stack (during gameplay and self-running demos)
|
||||
;------------------------------------------------------------------------------
|
||||
|
@ -216,10 +216,10 @@ gCurrentlyVisibleSlideshowIndex
|
||||
Launch
|
||||
jsr SwitchToBank2
|
||||
jsr SaveOrRestoreScreenHoles ; save screen hole contents
|
||||
ldx #$F1
|
||||
- lda $100,x
|
||||
sta $DF00,x ; back up stack
|
||||
inx
|
||||
ldy #$F1
|
||||
- lda $100,y
|
||||
sta $DF00,y ; back up stack
|
||||
iny
|
||||
bne -
|
||||
tsx ; back up stack pointer
|
||||
stx $DFF0
|
||||
@ -231,5 +231,10 @@ Launch
|
||||
sta $bf00,x
|
||||
dex
|
||||
bpl -
|
||||
tya
|
||||
ldy #$18
|
||||
- sta $bf57,y
|
||||
dey
|
||||
bne -
|
||||
jmp $106 ; jump to pre-launch code
|
||||
}
|
||||
|
@ -21,11 +21,8 @@ ProDOS_enter
|
||||
!set CloseHandles = @imp_close
|
||||
stx ProDOS_savedX+1
|
||||
sty ProDOS_savedY+1
|
||||
pha
|
||||
jsr @swap_zp
|
||||
pla
|
||||
tax
|
||||
pla
|
||||
tay
|
||||
pla
|
||||
sta @fetchaddr+1
|
||||
@ -43,14 +40,11 @@ ProDOS_enter
|
||||
pha
|
||||
tya
|
||||
pha
|
||||
php
|
||||
txa
|
||||
pha
|
||||
@request
|
||||
lda #$d1
|
||||
cmp #$80
|
||||
beq @do_readblock
|
||||
cmp #$81 ;I don't remember if I used this, but it's cheap to add
|
||||
cmp #$81
|
||||
beq @do_writeblock
|
||||
cmp #$c4
|
||||
beq @do_getattrib
|
||||
@ -69,9 +63,9 @@ ProDOS_enter
|
||||
cmp #$ce
|
||||
beq @do_seek
|
||||
cmp #$d1
|
||||
beq @do_eof
|
||||
;;any others??
|
||||
jmp ProDOS_fatal
|
||||
;;bne @do_fatal
|
||||
@do_eof
|
||||
jmp @imp_eof
|
||||
@do_readblock
|
||||
@do_writeblock
|
||||
jmp @imp_rdwrblock
|
||||
@ -92,8 +86,8 @@ ProDOS_enter
|
||||
jmp @restore_zp
|
||||
@do_seek
|
||||
jmp @imp_seek
|
||||
@do_eof
|
||||
jmp @imp_eof
|
||||
@do_fatal
|
||||
;;jmp ProDOS_fatal
|
||||
|
||||
@imp_rdwrblock
|
||||
and #$7f
|
||||
@ -345,15 +339,6 @@ ProDOS_enter
|
||||
|
||||
@restore_zp
|
||||
jsr @swap_zp
|
||||
pla
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
and #8
|
||||
plp
|
||||
adc #0
|
||||
tax
|
||||
jmp ProDOS_exit
|
||||
|
||||
@handle
|
||||
@ -492,54 +477,52 @@ promote
|
||||
!pseudopc $bf00 {
|
||||
php
|
||||
sei
|
||||
lda $c012
|
||||
bit $c083
|
||||
!byte $24
|
||||
!if * != $bf06 {
|
||||
!error "$BF06 misplaced (",*,")"
|
||||
}
|
||||
rts ;clock interface, must be RTS on real ProDOS if program uses $20x
|
||||
|
||||
asl
|
||||
lda $c011
|
||||
bit $c083
|
||||
jmp ProDOS_LC
|
||||
!text "4Q"
|
||||
jmp ProDOS_enter
|
||||
ProDOS_exit
|
||||
ProDOS_savedX
|
||||
ldx #$d1
|
||||
plp
|
||||
clc
|
||||
bcc ProDOS_savedY
|
||||
!if * != $bf13 {
|
||||
!error "$BF13 misplaced (",*,")"
|
||||
}
|
||||
!byte $c1
|
||||
!word $c2d1, $c3d1, $c4d1, $c5d1, $c6d1, $c7d1
|
||||
ProDOS_LC
|
||||
bit $c083
|
||||
jmp ProDOS_enter
|
||||
ProDOS_exit
|
||||
sta $c082, x
|
||||
ProDOS_savedX
|
||||
ldx #$d1
|
||||
ProDOS_savedY
|
||||
ldy #$d1
|
||||
plp
|
||||
clc
|
||||
!byte $24
|
||||
ProDOS_unit
|
||||
!if * != $bf30 {
|
||||
!error "$BF30 misplaced (",*,")"
|
||||
}
|
||||
!byte $d1
|
||||
|
||||
sta $c081
|
||||
lda #0
|
||||
rts
|
||||
|
||||
ProDOS_unit
|
||||
!if * > $bf30 {
|
||||
!error "$BF30 misplaced (",*,")"
|
||||
} else {
|
||||
!if * != $bf30 {
|
||||
!fill $bf30-*
|
||||
}
|
||||
}
|
||||
!byte $d1
|
||||
|
||||
ProDOS_fatal ;only for debugging, will be removed
|
||||
bit $c081
|
||||
pha
|
||||
jsr $fe89
|
||||
jsr $fe93
|
||||
pla
|
||||
jsr $fdda
|
||||
jmp $ff65
|
||||
*=$bf58
|
||||
!fill $18
|
||||
;; bit $c081
|
||||
;; pha
|
||||
;; jsr $fe89
|
||||
;; jsr $fe93
|
||||
;; pla
|
||||
;; jsr $fdda
|
||||
;; jmp $ff65
|
||||
;;*=$bf58
|
||||
;; !fill $18 ;filled by init instead
|
||||
|
||||
ProDOS_prefix=$bfd0
|
||||
; !fill $2e
|
||||
|
Loading…
x
Reference in New Issue
Block a user