Use changed EM decls
git-svn-id: svn://svn.cc65.org/cc65/trunk@2773 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -22,7 +22,7 @@
|
|||||||
; Driver signature
|
; Driver signature
|
||||||
|
|
||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte $00 ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Jump table.
|
||||||
|
|
||||||
@@ -225,7 +225,7 @@ setup: sta ptr1
|
|||||||
; Get the page number from the struct and adjust it so that it may be used
|
; Get the page number from the struct and adjust it so that it may be used
|
||||||
; with the hardware. That is: lower 6 bits in tmp1, high bits in tmp2.
|
; with the hardware. That is: lower 6 bits in tmp1, high bits in tmp2.
|
||||||
|
|
||||||
ldy #EM_COPY_PAGE+1
|
ldy #EM_COPY::PAGE+1
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
sta tmp2
|
sta tmp2
|
||||||
dey
|
dey
|
||||||
@@ -240,7 +240,7 @@ setup: sta ptr1
|
|||||||
|
|
||||||
; Get the buffer pointer into ptr2
|
; Get the buffer pointer into ptr2
|
||||||
|
|
||||||
ldy #EM_COPY_BUF
|
ldy #EM_COPY::BUF
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
sta ptr2
|
sta ptr2
|
||||||
iny
|
iny
|
||||||
@@ -249,7 +249,7 @@ setup: sta ptr1
|
|||||||
|
|
||||||
; Get the count, calculate -(count-1) and store it into ptr3
|
; Get the count, calculate -(count-1) and store it into ptr3
|
||||||
|
|
||||||
ldy #EM_COPY_COUNT
|
ldy #EM_COPY::COUNT
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
eor #$FF
|
eor #$FF
|
||||||
sta ptr3
|
sta ptr3
|
||||||
@@ -260,7 +260,7 @@ setup: sta ptr1
|
|||||||
|
|
||||||
; Get the page offset into X and clear Y
|
; Get the page offset into X and clear Y
|
||||||
|
|
||||||
ldy #EM_COPY_OFFS
|
ldy #EM_COPY::OFFS
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
tax
|
tax
|
||||||
ldy #$00
|
ldy #$00
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
; Driver signature
|
; Driver signature
|
||||||
|
|
||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte $00 ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Jump table.
|
||||||
|
|
||||||
@@ -165,16 +165,16 @@ COPYFROM:
|
|||||||
sta ptr3
|
sta ptr3
|
||||||
stx ptr3+1 ; Save the passed em_copy pointer
|
stx ptr3+1 ; Save the passed em_copy pointer
|
||||||
|
|
||||||
ldy #EM_COPY_OFFS
|
ldy #EM_COPY::OFFS
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr1
|
sta ptr1
|
||||||
ldy #EM_COPY_PAGE
|
ldy #EM_COPY::PAGE
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
clc
|
clc
|
||||||
adc #>BASE
|
adc #>BASE
|
||||||
sta ptr1+1 ; From
|
sta ptr1+1 ; From
|
||||||
|
|
||||||
ldy #EM_COPY_BUF
|
ldy #EM_COPY::BUF
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2
|
sta ptr2
|
||||||
iny
|
iny
|
||||||
@@ -184,7 +184,7 @@ COPYFROM:
|
|||||||
lda #<ptr1
|
lda #<ptr1
|
||||||
sta FETVEC
|
sta FETVEC
|
||||||
|
|
||||||
ldy #EM_COPY_COUNT+1
|
ldy #EM_COPY::COUNT+1
|
||||||
lda (ptr3),y ; Get number of pages
|
lda (ptr3),y ; Get number of pages
|
||||||
beq @L2 ; Skip if no full pages
|
beq @L2 ; Skip if no full pages
|
||||||
sta tmp1
|
sta tmp1
|
||||||
@@ -204,7 +204,7 @@ COPYFROM:
|
|||||||
|
|
||||||
; Copy the remainder of the page
|
; Copy the remainder of the page
|
||||||
|
|
||||||
@L2: ldy #EM_COPY_COUNT
|
@L2: ldy #EM_COPY::COUNT
|
||||||
lda (ptr3),y ; Get bytes in last page
|
lda (ptr3),y ; Get bytes in last page
|
||||||
beq @L4
|
beq @L4
|
||||||
sta tmp1
|
sta tmp1
|
||||||
@@ -230,16 +230,16 @@ COPYFROM:
|
|||||||
COPYTO: sta ptr3
|
COPYTO: sta ptr3
|
||||||
stx ptr3+1 ; Save the passed em_copy pointer
|
stx ptr3+1 ; Save the passed em_copy pointer
|
||||||
|
|
||||||
ldy #EM_COPY_OFFS
|
ldy #EM_COPY::OFFS
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr1
|
sta ptr1
|
||||||
ldy #EM_COPY_PAGE
|
ldy #EM_COPY::PAGE
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
clc
|
clc
|
||||||
adc #>BASE
|
adc #>BASE
|
||||||
sta ptr1+1 ; To
|
sta ptr1+1 ; To
|
||||||
|
|
||||||
ldy #EM_COPY_BUF
|
ldy #EM_COPY::BUF
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2
|
sta ptr2
|
||||||
iny
|
iny
|
||||||
@@ -249,7 +249,7 @@ COPYTO: sta ptr3
|
|||||||
lda #<ptr1
|
lda #<ptr1
|
||||||
sta STAVEC
|
sta STAVEC
|
||||||
|
|
||||||
ldy #EM_COPY_COUNT+1
|
ldy #EM_COPY::COUNT+1
|
||||||
lda (ptr3),y ; Get number of pages
|
lda (ptr3),y ; Get number of pages
|
||||||
beq @L2 ; Skip if no full pages
|
beq @L2 ; Skip if no full pages
|
||||||
sta tmp1
|
sta tmp1
|
||||||
@@ -269,7 +269,7 @@ COPYTO: sta ptr3
|
|||||||
|
|
||||||
; Copy the remainder of the page
|
; Copy the remainder of the page
|
||||||
|
|
||||||
@L2: ldy #EM_COPY_COUNT
|
@L2: ldy #EM_COPY::COUNT
|
||||||
lda (ptr3),y ; Get bytes in last page
|
lda (ptr3),y ; Get bytes in last page
|
||||||
beq @L4
|
beq @L4
|
||||||
sta tmp1
|
sta tmp1
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
; Driver signature
|
; Driver signature
|
||||||
|
|
||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte $00 ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Jump table.
|
||||||
|
|
||||||
@@ -252,7 +252,7 @@ setup: sta ptr1
|
|||||||
; Get the page number from the struct and adjust it so that it may be used
|
; Get the page number from the struct and adjust it so that it may be used
|
||||||
; with the hardware. That is: lower 6 bits in tmp1, high bits in tmp2.
|
; with the hardware. That is: lower 6 bits in tmp1, high bits in tmp2.
|
||||||
|
|
||||||
ldy #EM_COPY_PAGE+1
|
ldy #EM_COPY::PAGE+1
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
sta tmp2
|
sta tmp2
|
||||||
dey
|
dey
|
||||||
@@ -261,7 +261,7 @@ setup: sta ptr1
|
|||||||
|
|
||||||
; Get the buffer pointer into ptr2
|
; Get the buffer pointer into ptr2
|
||||||
|
|
||||||
ldy #EM_COPY_BUF
|
ldy #EM_COPY::BUF
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
sta ptr2
|
sta ptr2
|
||||||
iny
|
iny
|
||||||
@@ -270,7 +270,7 @@ setup: sta ptr1
|
|||||||
|
|
||||||
; Get the count, calculate -(count-1) and store it into ptr3
|
; Get the count, calculate -(count-1) and store it into ptr3
|
||||||
|
|
||||||
ldy #EM_COPY_COUNT
|
ldy #EM_COPY::COUNT
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
eor #$FF
|
eor #$FF
|
||||||
sta ptr3
|
sta ptr3
|
||||||
@@ -281,7 +281,7 @@ setup: sta ptr1
|
|||||||
|
|
||||||
; Get the page offset into X and clear Y
|
; Get the page offset into X and clear Y
|
||||||
|
|
||||||
ldy #EM_COPY_OFFS
|
ldy #EM_COPY::OFFS
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
tax
|
tax
|
||||||
ldy #$00
|
ldy #$00
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
; Driver signature
|
; Driver signature
|
||||||
|
|
||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte $00 ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Jump table.
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
; Driver signature
|
; Driver signature
|
||||||
|
|
||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte $00 ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Jump table.
|
||||||
|
|
||||||
@@ -265,7 +265,7 @@ COPYFROM:
|
|||||||
|
|
||||||
; Copy the remainder of the page
|
; Copy the remainder of the page
|
||||||
|
|
||||||
@L2: ldy #EM_COPY_COUNT
|
@L2: ldy #EM_COPY::COUNT
|
||||||
lda (ptr3),y ; Get bytes in last page
|
lda (ptr3),y ; Get bytes in last page
|
||||||
beq @L4
|
beq @L4
|
||||||
sta tmp1
|
sta tmp1
|
||||||
@@ -301,7 +301,7 @@ COPYTO:
|
|||||||
|
|
||||||
; Copy the remainder of the page
|
; Copy the remainder of the page
|
||||||
|
|
||||||
@L2: ldy #EM_COPY_COUNT
|
@L2: ldy #EM_COPY::COUNT
|
||||||
lda (ptr3),y ; Get bytes in last page
|
lda (ptr3),y ; Get bytes in last page
|
||||||
beq @L4
|
beq @L4
|
||||||
sta tmp1
|
sta tmp1
|
||||||
@@ -360,21 +360,21 @@ setup:
|
|||||||
sta ptr3
|
sta ptr3
|
||||||
stx ptr3+1 ; Save the passed em_copy pointer
|
stx ptr3+1 ; Save the passed em_copy pointer
|
||||||
|
|
||||||
ldy #EM_COPY_OFFS
|
ldy #EM_COPY::OFFS
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr1
|
sta ptr1
|
||||||
ldy #EM_COPY_PAGE
|
ldy #EM_COPY::PAGE
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr1+1 ; From
|
sta ptr1+1 ; From
|
||||||
|
|
||||||
ldy #EM_COPY_BUF
|
ldy #EM_COPY::BUF
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2
|
sta ptr2
|
||||||
iny
|
iny
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2+1 ; To
|
sta ptr2+1 ; To
|
||||||
|
|
||||||
ldy #EM_COPY_COUNT+1
|
ldy #EM_COPY::COUNT+1
|
||||||
lda (ptr3),y ; Get number of pages
|
lda (ptr3),y ; Get number of pages
|
||||||
sta tmp1
|
sta tmp1
|
||||||
rts
|
rts
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
; Driver signature
|
; Driver signature
|
||||||
|
|
||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte $00 ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Jump table.
|
||||||
|
|
||||||
@@ -183,22 +183,22 @@ COPYFROM:
|
|||||||
sta ptr3
|
sta ptr3
|
||||||
stx ptr3+1 ; Save the passed em_copy pointer
|
stx ptr3+1 ; Save the passed em_copy pointer
|
||||||
|
|
||||||
ldy #EM_COPY_OFFS
|
ldy #EM_COPY::OFFS
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr1
|
sta ptr1
|
||||||
ldy #EM_COPY_PAGE
|
ldy #EM_COPY::PAGE
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
add #>BASE
|
add #>BASE
|
||||||
sta ptr1+1 ; From
|
sta ptr1+1 ; From
|
||||||
|
|
||||||
ldy #EM_COPY_BUF
|
ldy #EM_COPY::BUF
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2
|
sta ptr2
|
||||||
iny
|
iny
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2+1 ; To
|
sta ptr2+1 ; To
|
||||||
|
|
||||||
common: ldy #EM_COPY_COUNT+1
|
common: ldy #EM_COPY::COUNT+1
|
||||||
lda (ptr3),y ; Get number of pages
|
lda (ptr3),y ; Get number of pages
|
||||||
beq @L2 ; Skip if no full pages
|
beq @L2 ; Skip if no full pages
|
||||||
sta tmp1
|
sta tmp1
|
||||||
@@ -214,7 +214,7 @@ common: ldy #EM_COPY_COUNT+1
|
|||||||
|
|
||||||
; Copy the remainder of the page
|
; Copy the remainder of the page
|
||||||
|
|
||||||
@L2: ldy #EM_COPY_COUNT
|
@L2: ldy #EM_COPY::COUNT
|
||||||
lda (ptr3),y ; Get bytes in last page
|
lda (ptr3),y ; Get bytes in last page
|
||||||
beq @L4
|
beq @L4
|
||||||
tax
|
tax
|
||||||
@@ -249,15 +249,15 @@ common: ldy #EM_COPY_COUNT+1
|
|||||||
COPYTO: sta ptr3
|
COPYTO: sta ptr3
|
||||||
stx ptr3+1 ; Save the passed em_copy pointer
|
stx ptr3+1 ; Save the passed em_copy pointer
|
||||||
|
|
||||||
ldy #EM_COPY_OFFS
|
ldy #EM_COPY::OFFS
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2
|
sta ptr2
|
||||||
ldy #EM_COPY_PAGE
|
ldy #EM_COPY::PAGE
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
add #>BASE
|
add #>BASE
|
||||||
sta ptr2+1 ; To
|
sta ptr2+1 ; To
|
||||||
|
|
||||||
ldy #EM_COPY_BUF
|
ldy #EM_COPY::BUF
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr1
|
sta ptr1
|
||||||
iny
|
iny
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
; Driver signature
|
; Driver signature
|
||||||
|
|
||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte $00 ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Jump table.
|
||||||
|
|
||||||
@@ -225,7 +225,7 @@ setup: sta ptr1
|
|||||||
; Get the page number from the struct and adjust it so that it may be used
|
; Get the page number from the struct and adjust it so that it may be used
|
||||||
; with the hardware. That is: lower 6 bits in tmp1, high bits in tmp2.
|
; with the hardware. That is: lower 6 bits in tmp1, high bits in tmp2.
|
||||||
|
|
||||||
ldy #EM_COPY_PAGE+1
|
ldy #EM_COPY::PAGE+1
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
sta tmp2
|
sta tmp2
|
||||||
dey
|
dey
|
||||||
@@ -240,7 +240,7 @@ setup: sta ptr1
|
|||||||
|
|
||||||
; Get the buffer pointer into ptr2
|
; Get the buffer pointer into ptr2
|
||||||
|
|
||||||
ldy #EM_COPY_BUF
|
ldy #EM_COPY::BUF
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
sta ptr2
|
sta ptr2
|
||||||
iny
|
iny
|
||||||
@@ -249,7 +249,7 @@ setup: sta ptr1
|
|||||||
|
|
||||||
; Get the count, calculate -(count-1) and store it into ptr3
|
; Get the count, calculate -(count-1) and store it into ptr3
|
||||||
|
|
||||||
ldy #EM_COPY_COUNT
|
ldy #EM_COPY::COUNT
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
eor #$FF
|
eor #$FF
|
||||||
sta ptr3
|
sta ptr3
|
||||||
@@ -260,7 +260,7 @@ setup: sta ptr1
|
|||||||
|
|
||||||
; Get the page offset into X and clear Y
|
; Get the page offset into X and clear Y
|
||||||
|
|
||||||
ldy #EM_COPY_OFFS
|
ldy #EM_COPY::OFFS
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
tax
|
tax
|
||||||
ldy #$00
|
ldy #$00
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
; Driver signature
|
; Driver signature
|
||||||
|
|
||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte $00 ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Jump table.
|
||||||
|
|
||||||
@@ -174,23 +174,23 @@ COPYFROM:
|
|||||||
sta ptr3
|
sta ptr3
|
||||||
stx ptr3+1 ; Save the passed em_copy pointer
|
stx ptr3+1 ; Save the passed em_copy pointer
|
||||||
|
|
||||||
ldy #EM_COPY_OFFS
|
ldy #EM_COPY::OFFS
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr1
|
sta ptr1
|
||||||
ldy #EM_COPY_PAGE
|
ldy #EM_COPY::PAGE
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
clc
|
clc
|
||||||
adc #>BASE
|
adc #>BASE
|
||||||
sta ptr1+1 ; From
|
sta ptr1+1 ; From
|
||||||
|
|
||||||
ldy #EM_COPY_BUF
|
ldy #EM_COPY::BUF
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2
|
sta ptr2
|
||||||
iny
|
iny
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2+1 ; To
|
sta ptr2+1 ; To
|
||||||
|
|
||||||
common: ldy #EM_COPY_COUNT+1
|
common: ldy #EM_COPY::COUNT+1
|
||||||
lda (ptr3),y ; Get number of pages
|
lda (ptr3),y ; Get number of pages
|
||||||
beq @L2 ; Skip if no full pages
|
beq @L2 ; Skip if no full pages
|
||||||
sta tmp1
|
sta tmp1
|
||||||
@@ -206,7 +206,7 @@ common: ldy #EM_COPY_COUNT+1
|
|||||||
|
|
||||||
; Copy the remainder of the page
|
; Copy the remainder of the page
|
||||||
|
|
||||||
@L2: ldy #EM_COPY_COUNT
|
@L2: ldy #EM_COPY::COUNT
|
||||||
lda (ptr3),y ; Get bytes in last page
|
lda (ptr3),y ; Get bytes in last page
|
||||||
beq @L4
|
beq @L4
|
||||||
tax
|
tax
|
||||||
@@ -245,16 +245,16 @@ common: ldy #EM_COPY_COUNT+1
|
|||||||
COPYTO: sta ptr3
|
COPYTO: sta ptr3
|
||||||
stx ptr3+1 ; Save the passed em_copy pointer
|
stx ptr3+1 ; Save the passed em_copy pointer
|
||||||
|
|
||||||
ldy #EM_COPY_OFFS
|
ldy #EM_COPY::OFFS
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2
|
sta ptr2
|
||||||
ldy #EM_COPY_PAGE
|
ldy #EM_COPY::PAGE
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
clc
|
clc
|
||||||
adc #>BASE
|
adc #>BASE
|
||||||
sta ptr2+1 ; To
|
sta ptr2+1 ; To
|
||||||
|
|
||||||
ldy #EM_COPY_BUF
|
ldy #EM_COPY::BUF
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr1
|
sta ptr1
|
||||||
iny
|
iny
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
; Driver signature
|
; Driver signature
|
||||||
|
|
||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte $00 ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Jump table.
|
||||||
|
|
||||||
@@ -252,7 +252,7 @@ setup: sta ptr1
|
|||||||
; Get the page number from the struct and adjust it so that it may be used
|
; Get the page number from the struct and adjust it so that it may be used
|
||||||
; with the hardware. That is: lower 6 bits in tmp1, high bits in tmp2.
|
; with the hardware. That is: lower 6 bits in tmp1, high bits in tmp2.
|
||||||
|
|
||||||
ldy #EM_COPY_PAGE+1
|
ldy #EM_COPY::PAGE+1
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
sta tmp2
|
sta tmp2
|
||||||
dey
|
dey
|
||||||
@@ -261,7 +261,7 @@ setup: sta ptr1
|
|||||||
|
|
||||||
; Get the buffer pointer into ptr2
|
; Get the buffer pointer into ptr2
|
||||||
|
|
||||||
ldy #EM_COPY_BUF
|
ldy #EM_COPY::BUF
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
sta ptr2
|
sta ptr2
|
||||||
iny
|
iny
|
||||||
@@ -270,7 +270,7 @@ setup: sta ptr1
|
|||||||
|
|
||||||
; Get the count, calculate -(count-1) and store it into ptr3
|
; Get the count, calculate -(count-1) and store it into ptr3
|
||||||
|
|
||||||
ldy #EM_COPY_COUNT
|
ldy #EM_COPY::COUNT
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
eor #$FF
|
eor #$FF
|
||||||
sta ptr3
|
sta ptr3
|
||||||
@@ -281,7 +281,7 @@ setup: sta ptr1
|
|||||||
|
|
||||||
; Get the page offset into X and clear Y
|
; Get the page offset into X and clear Y
|
||||||
|
|
||||||
ldy #EM_COPY_OFFS
|
ldy #EM_COPY::OFFS
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
tax
|
tax
|
||||||
ldy #$00
|
ldy #$00
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
; Driver signature
|
; Driver signature
|
||||||
|
|
||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte $00 ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Jump table.
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
; Driver signature
|
; Driver signature
|
||||||
|
|
||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte $00 ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Jump table.
|
||||||
|
|
||||||
@@ -265,7 +265,7 @@ COPYFROM:
|
|||||||
|
|
||||||
; Copy the remainder of the page
|
; Copy the remainder of the page
|
||||||
|
|
||||||
@L2: ldy #EM_COPY_COUNT
|
@L2: ldy #EM_COPY::COUNT
|
||||||
lda (ptr3),y ; Get bytes in last page
|
lda (ptr3),y ; Get bytes in last page
|
||||||
beq @L4
|
beq @L4
|
||||||
sta tmp1
|
sta tmp1
|
||||||
@@ -301,7 +301,7 @@ COPYTO:
|
|||||||
|
|
||||||
; Copy the remainder of the page
|
; Copy the remainder of the page
|
||||||
|
|
||||||
@L2: ldy #EM_COPY_COUNT
|
@L2: ldy #EM_COPY::COUNT
|
||||||
lda (ptr3),y ; Get bytes in last page
|
lda (ptr3),y ; Get bytes in last page
|
||||||
beq @L4
|
beq @L4
|
||||||
sta tmp1
|
sta tmp1
|
||||||
@@ -360,21 +360,21 @@ setup:
|
|||||||
sta ptr3
|
sta ptr3
|
||||||
stx ptr3+1 ; Save the passed em_copy pointer
|
stx ptr3+1 ; Save the passed em_copy pointer
|
||||||
|
|
||||||
ldy #EM_COPY_OFFS
|
ldy #EM_COPY::OFFS
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr1
|
sta ptr1
|
||||||
ldy #EM_COPY_PAGE
|
ldy #EM_COPY::PAGE
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr1+1 ; From
|
sta ptr1+1 ; From
|
||||||
|
|
||||||
ldy #EM_COPY_BUF
|
ldy #EM_COPY::BUF
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2
|
sta ptr2
|
||||||
iny
|
iny
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2+1 ; To
|
sta ptr2+1 ; To
|
||||||
|
|
||||||
ldy #EM_COPY_COUNT+1
|
ldy #EM_COPY::COUNT+1
|
||||||
lda (ptr3),y ; Get number of pages
|
lda (ptr3),y ; Get number of pages
|
||||||
sta tmp1
|
sta tmp1
|
||||||
rts
|
rts
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
; Driver signature
|
; Driver signature
|
||||||
|
|
||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte $00 ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Jump table.
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@ INSTALL:
|
|||||||
|
|
||||||
lda #<EM_ERR_OK
|
lda #<EM_ERR_OK
|
||||||
ldx #>EM_ERR_OK
|
ldx #>EM_ERR_OK
|
||||||
rts
|
; rts ; Run into UNINSTALL instead
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; UNINSTALL routine. Is called before the driver is removed from memory.
|
; UNINSTALL routine. Is called before the driver is removed from memory.
|
||||||
@@ -263,23 +263,23 @@ COPYTO: jsr setup
|
|||||||
setup: sta ptr3
|
setup: sta ptr3
|
||||||
stx ptr3+1 ; Save the passed em_copy pointer
|
stx ptr3+1 ; Save the passed em_copy pointer
|
||||||
|
|
||||||
ldy #EM_COPY_OFFS
|
ldy #EM_COPY::OFFS
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
add #OFFS
|
add #OFFS
|
||||||
sta ptr1
|
sta ptr1
|
||||||
ldy #EM_COPY_PAGE
|
ldy #EM_COPY::PAGE
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
adc #$00
|
adc #$00
|
||||||
sta ptr1+1
|
sta ptr1+1
|
||||||
|
|
||||||
ldy #EM_COPY_COUNT
|
ldy #EM_COPY::COUNT
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2
|
sta ptr2
|
||||||
iny
|
iny
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2+1 ; Get count into ptr2
|
sta ptr2+1 ; Get count into ptr2
|
||||||
|
|
||||||
ldy #EM_COPY_BUF+1
|
ldy #EM_COPY::BUF+1
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
tax
|
tax
|
||||||
dey
|
dey
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
; Driver signature
|
; Driver signature
|
||||||
|
|
||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte $00 ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Jump table.
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@ INSTALL:
|
|||||||
|
|
||||||
lda #<EM_ERR_OK
|
lda #<EM_ERR_OK
|
||||||
ldx #>EM_ERR_OK
|
ldx #>EM_ERR_OK
|
||||||
rts
|
; rts ; Run into UNINSTALL instead
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; UNINSTALL routine. Is called before the driver is removed from memory.
|
; UNINSTALL routine. Is called before the driver is removed from memory.
|
||||||
@@ -263,23 +263,23 @@ COPYTO: jsr setup
|
|||||||
setup: sta ptr3
|
setup: sta ptr3
|
||||||
stx ptr3+1 ; Save the passed em_copy pointer
|
stx ptr3+1 ; Save the passed em_copy pointer
|
||||||
|
|
||||||
ldy #EM_COPY_OFFS
|
ldy #EM_COPY::OFFS
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
add #OFFS
|
add #OFFS
|
||||||
sta ptr1
|
sta ptr1
|
||||||
ldy #EM_COPY_PAGE
|
ldy #EM_COPY::PAGE
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
adc #$00
|
adc #$00
|
||||||
sta ptr1+1
|
sta ptr1+1
|
||||||
|
|
||||||
ldy #EM_COPY_COUNT
|
ldy #EM_COPY::COUNT
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2
|
sta ptr2
|
||||||
iny
|
iny
|
||||||
lda (ptr3),y
|
lda (ptr3),y
|
||||||
sta ptr2+1 ; Get count into ptr2
|
sta ptr2+1 ; Get count into ptr2
|
||||||
|
|
||||||
ldy #EM_COPY_BUF+1
|
ldy #EM_COPY::BUF+1
|
||||||
lda (ptr1),y
|
lda (ptr1),y
|
||||||
tax
|
tax
|
||||||
dey
|
dey
|
||||||
|
|||||||
@@ -33,8 +33,7 @@ emd_copyto: jmp return0
|
|||||||
|
|
||||||
; Driver header signature
|
; Driver header signature
|
||||||
.rodata
|
.rodata
|
||||||
emd_sig: .byte $65, $6d, $64, $00 ; "emd", version
|
emd_sig: .byte $65, $6d, $64, EMD_API_VERSION ; "emd", version
|
||||||
emd_sig_len = * - emd_sig
|
|
||||||
|
|
||||||
|
|
||||||
;----------------------------------------------------------------------------
|
;----------------------------------------------------------------------------
|
||||||
@@ -50,7 +49,7 @@ _em_install:
|
|||||||
|
|
||||||
; Check the driver signature
|
; Check the driver signature
|
||||||
|
|
||||||
ldy #emd_sig_len-1
|
ldy #.sizeof(emd_sig)-1
|
||||||
@L0: lda (ptr1),y
|
@L0: lda (ptr1),y
|
||||||
cmp emd_sig,y
|
cmp emd_sig,y
|
||||||
bne inv_drv
|
bne inv_drv
|
||||||
@@ -59,12 +58,12 @@ _em_install:
|
|||||||
|
|
||||||
; Copy the jump vectors
|
; Copy the jump vectors
|
||||||
|
|
||||||
ldy #EMD_HDR_JUMPTAB
|
ldy #EMD_HDR::JUMPTAB
|
||||||
ldx #0
|
ldx #0
|
||||||
@L1: inx ; Skip the JMP opcode
|
@L1: inx ; Skip the JMP opcode
|
||||||
jsr copy ; Copy one byte
|
jsr copy ; Copy one byte
|
||||||
jsr copy ; Copy one byte
|
jsr copy ; Copy one byte
|
||||||
cpx #(EMD_HDR_JUMPCOUNT*3)
|
cpy #(EMD_HDR::JUMPTAB + .sizeof(EMD_HDR::JUMPTAB))
|
||||||
bne @L1
|
bne @L1
|
||||||
|
|
||||||
jmp emd_install ; Call driver install routine
|
jmp emd_install ; Call driver install routine
|
||||||
|
|||||||
Reference in New Issue
Block a user