mirror of
https://github.com/cc65/cc65.git
synced 2024-12-26 08:32:00 +00:00
git-svn-id: svn://svn.cc65.org/cc65/trunk@2843 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
f3b1ddfe8a
commit
1af46f9998
@ -2,7 +2,7 @@
|
|||||||
; Extended memory driver for the CBM510 additional RAM banks. Driver works
|
; Extended memory driver for the CBM510 additional RAM banks. Driver works
|
||||||
; without problems when linked statically.
|
; without problems when linked statically.
|
||||||
;
|
;
|
||||||
; Ullrich von Bassewitz, 2002-12-09 !!! UNTESTED !!!
|
; Ullrich von Bassewitz, 2002-12-09, 2003-12-27
|
||||||
;
|
;
|
||||||
|
|
||||||
.include "zeropage.inc"
|
.include "zeropage.inc"
|
||||||
@ -38,7 +38,7 @@
|
|||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|
||||||
RAMBANK = 2
|
RAMBANK = 1
|
||||||
OFFS = 2
|
OFFS = 2
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
@ -63,15 +63,20 @@ pagecount: .res 1 ; Number of available pages
|
|||||||
INSTALL:
|
INSTALL:
|
||||||
lda #$FF
|
lda #$FF
|
||||||
sta curpage ; Invalidate the current page
|
sta curpage ; Invalidate the current page
|
||||||
|
sta pagecount ; Assume all memory available
|
||||||
|
|
||||||
ldx UsrMemTop+2
|
sec
|
||||||
cpx #RAMBANK ; Top of memory in bank 2?
|
jsr $FF99 ; MEMTOP
|
||||||
|
|
||||||
|
cmp #RAMBANK ; Top of memory in bank 2?
|
||||||
bne @L1 ; No: We can use all the memory
|
bne @L1 ; No: We can use all the memory
|
||||||
clc
|
txa
|
||||||
adc UsrMemTop+1
|
sub #OFFS
|
||||||
@L1: sta pagecount
|
tya
|
||||||
|
sbc #$00
|
||||||
|
sta pagecount
|
||||||
|
|
||||||
lda #<EM_ERR_OK
|
@L1: lda #<EM_ERR_OK
|
||||||
ldx #>EM_ERR_OK
|
ldx #>EM_ERR_OK
|
||||||
; rts ; Run into UNINSTALL instead
|
; rts ; Run into UNINSTALL instead
|
||||||
|
|
||||||
@ -112,12 +117,11 @@ MAP: sta curpage ; Remember the new page
|
|||||||
sta IndReg
|
sta IndReg
|
||||||
|
|
||||||
ldy #$00
|
ldy #$00
|
||||||
@L1: lda (ptr1),y
|
@L1: .repeat 2
|
||||||
sta window,y
|
|
||||||
iny
|
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
sta window,y
|
sta window,y
|
||||||
iny
|
iny
|
||||||
|
.endrepeat
|
||||||
bne @L1
|
bne @L1
|
||||||
|
|
||||||
stx IndReg
|
stx IndReg
|
||||||
@ -154,12 +158,11 @@ COMMIT: lda curpage ; Get the current page
|
|||||||
sta IndReg
|
sta IndReg
|
||||||
|
|
||||||
ldy #$00
|
ldy #$00
|
||||||
@L1: lda window,y
|
@L1: .repeat 2
|
||||||
sta (ptr1),y
|
|
||||||
iny
|
|
||||||
lda window,y
|
lda window,y
|
||||||
sta (ptr1),y
|
sta (ptr1),y
|
||||||
iny
|
iny
|
||||||
|
.endrepeat
|
||||||
bne @L1
|
bne @L1
|
||||||
|
|
||||||
stx IndReg
|
stx IndReg
|
||||||
|
Loading…
Reference in New Issue
Block a user