; Driver signature
.byte $65, $6d, $64 ; "emd"
- .byte $00 ; EM API version number
+ .byte EMD_API_VERSION ; EM API version number
; Jump table.
.word INSTALL
- .word DEINSTALL
+ .word UNINSTALL
.word PAGECOUNT
.word MAP
.word USE
ldx #VDC_CSET
lda tmp1
- jsr vdcputreg ; restore 16/64k flag
- jmp @endok ; and leave default values for 16k
+ jsr vdcputreg ; restore 16/64k flag
+ jmp @endok ; and leave default values for 16k
@have64k:
- lda #<256
- ldx #>256
- sta pagecount
- stx pagecount+1
+ lda #<256
+ ldx #>256
+ sta pagecount
+ stx pagecount+1
@endok:
lda #<EM_ERR_OK
ldx #>EM_ERR_OK
jmp vdcsetsrcaddr
; ------------------------------------------------------------------------
-; DEINSTALL routine. Is called before the driver is removed from memory.
+; UNINSTALL routine. Is called before the driver is removed from memory.
; Can do cleanup or whatever. Must not return anything.
;
-DEINSTALL:
+UNINSTALL:
;on C128 restore font and clear the screen?
rts
jsr setup
beq @L2 ; Skip if no full pages
-; Copy full pages
+; Copy full pages
@L1: jsr transferin
inc ptr1+1
; Copy the remainder of the page
-@L2: ldy #EM_COPY_COUNT
+@L2: ldy #EM_COPY::COUNT
lda (ptr3),y ; Get bytes in last page
beq @L4
sta tmp1
jsr setup
beq @L2 ; Skip if no full pages
-; Copy full pages
+; Copy full pages
@L1: jsr transferout
inc ptr1+1
; Copy the remainder of the page
-@L2: ldy #EM_COPY_COUNT
+@L2: ldy #EM_COPY::COUNT
lda (ptr3),y ; Get bytes in last page
beq @L4
sta tmp1
sta ptr3
stx ptr3+1 ; Save the passed em_copy pointer
- ldy #EM_COPY_OFFS
+ ldy #EM_COPY::OFFS
lda (ptr3),y
sta ptr1
- ldy #EM_COPY_PAGE
+ ldy #EM_COPY::PAGE
lda (ptr3),y
sta ptr1+1 ; From
- ldy #EM_COPY_BUF
+ ldy #EM_COPY::BUF
lda (ptr3),y
sta ptr2
iny
lda (ptr3),y
sta ptr2+1 ; To
- ldy #EM_COPY_COUNT+1
+ ldy #EM_COPY::COUNT+1
lda (ptr3),y ; Get number of pages
sta tmp1
rts