; Marco van den Heuvel, 2010-01-21
;
- .include "zeropage.inc"
+ .include "zeropage.inc"
- .include "em-kernel.inc"
+ .include "em-kernel.inc"
.include "em-error.inc"
; Driver signature
.byte $65, $6d, $64 ; "emd"
- .byte EMD_API_VERSION ; EM API version number
+ .byte EMD_API_VERSION ; EM API version number
; Jump table.
.word MAP
.word USE
.word COMMIT
- .word COPYFROM
+ .word COPYFROM
.word COPYTO
; ------------------------------------------------------------------------
;
INSTALL:
- ldx GR_WINDOW
+ ldx GR_WINDOW
cpx GR_WINDOW
bne @notpresent
inc GR_WINDOW
- cpx GR_WINDOW
- beq @notpresent
-
- lda #4
- jsr check
- cpy GR_WINDOW
- beq @has64k
- lda #8
- jsr check
- cpy GR_WINDOW
- beq @has128k
- lda #16
- jsr check
- cpy GR_WINDOW
- beq @has256k
- lda #32
- jsr check
- cpy GR_WINDOW
- beq @has512k
- lda #64
- jsr check
- cpy GR_WINDOW
- beq @has1024k
- lda #128
- jsr check
- cpy GR_WINDOW
- beq @has2048k
- ldx #>16384
+ cpx GR_WINDOW
+ beq @notpresent
+
+ lda #4
+ jsr check
+ cpy GR_WINDOW
+ beq @has64k
+ lda #8
+ jsr check
+ cpy GR_WINDOW
+ beq @has128k
+ lda #16
+ jsr check
+ cpy GR_WINDOW
+ beq @has256k
+ lda #32
+ jsr check
+ cpy GR_WINDOW
+ beq @has512k
+ lda #64
+ jsr check
+ cpy GR_WINDOW
+ beq @has1024k
+ lda #128
+ jsr check
+ cpy GR_WINDOW
+ beq @has2048k
+ ldx #>16384
bne @setok
@has64k:
- ldx #>256
- bne @setok
+ ldx #>256
+ bne @setok
@has128k:
- ldx #>512
- bne @setok
+ ldx #>512
+ bne @setok
@has256k:
- ldx #>1024
- bne @setok
+ ldx #>1024
+ bne @setok
@has512k:
- ldx #>2048
- bne @setok
+ ldx #>2048
+ bne @setok
@has1024k:
- ldx #>4096
- bne @setok
+ ldx #>4096
+ bne @setok
@has2048k:
- ldx #>8192
- bne @setok
+ ldx #>8192
+ bne @setok
@notpresent:
- lda #<EM_ERR_NO_DEVICE
- ldx #>EM_ERR_NO_DEVICE
- rts
+ lda #<EM_ERR_NO_DEVICE
+ ldx #>EM_ERR_NO_DEVICE
+ rts
@setok:
- lda #0
- sta pagecount
- stx pagecount+1
- lda #<EM_ERR_OK
- ldx #>EM_ERR_OK
- rts
+ lda #0
+ sta pagecount
+ stx pagecount+1
+ lda #<EM_ERR_OK
+ ldx #>EM_ERR_OK
+ rts
check:
- ldx #0
- stx GR_PAGE_LO
- stx GR_PAGE_HI
- ldy GR_WINDOW
- iny
- sta GR_PAGE_HI
- sty GR_WINDOW
- ldx #0
- stx GR_PAGE_HI
-; rts ; Run into UNINSTALL instead
+ ldx #0
+ stx GR_PAGE_LO
+ stx GR_PAGE_HI
+ ldy GR_WINDOW
+ iny
+ sta GR_PAGE_HI
+ sty GR_WINDOW
+ ldx #0
+ stx GR_PAGE_HI
+; rts ; Run into UNINSTALL instead
; ------------------------------------------------------------------------
; UNINSTALL routine. Is called before the driver is removed from memory.