mirror of
https://github.com/cc65/cc65.git
synced 2024-12-27 15:29:46 +00:00
Merge pull request #2371 from alexthissen/lynx-upload
Lynx upload fixes for IRQ and configuration
This commit is contained in:
commit
7a7e98d799
@ -5,16 +5,17 @@ SYMBOLS {
|
||||
__BANK1BLOCKSIZE__: type = weak, value = $0000; # bank 1 block size
|
||||
__EXEHDR__: type = import;
|
||||
__BOOTLDR__: type = import;
|
||||
__DEFDIR__: type = import;
|
||||
__UPLOADER__: type = import;
|
||||
__UPLOADERSIZE__: type = export, value = $61;
|
||||
__HEADERSIZE__: type = export, value = 64;
|
||||
}
|
||||
MEMORY {
|
||||
ZP: file = "", define = yes, start = $0000, size = $0100;
|
||||
HEADER: file = %O, start = $0000, size = $0040;
|
||||
HEADER: file = %O, start = $0000, size = __HEADERSIZE__;
|
||||
BOOT: file = %O, start = $0200, size = __STARTOFDIRECTORY__;
|
||||
DIR: file = %O, start = $0000, size = 8;
|
||||
MAIN: file = %O, define = yes, start = $0200, size = $BD38 - __STACKSIZE__;
|
||||
UPLDR: file = %O, define = yes, start = $BFDC, size = $005C;
|
||||
DIR: file = %O, start = $0000, size = 16;
|
||||
MAIN: file = %O, define = yes, start = $0200, size = $C038 - __UPLOADERSIZE__ - $200 - __STACKSIZE__;
|
||||
UPLOAD: file = %O, define = yes, start = $C038 - __UPLOADERSIZE__, size = $0061;
|
||||
}
|
||||
SEGMENTS {
|
||||
ZEROPAGE: load = ZP, type = zp;
|
||||
@ -30,8 +31,8 @@ SEGMENTS {
|
||||
RODATA: load = MAIN, type = ro, define = yes;
|
||||
DATA: load = MAIN, type = rw, define = yes;
|
||||
BSS: load = MAIN, type = bss, define = yes;
|
||||
UPCODE: load = UPLDR, type = ro, define = yes;
|
||||
UPDATA: load = UPLDR, type = rw, define = yes;
|
||||
UPCODE: load = UPLOAD, type = ro, define = yes;
|
||||
UPDATA: load = UPLOAD, type = rw, define = yes;
|
||||
}
|
||||
FEATURES {
|
||||
CONDES: type = constructor,
|
||||
|
@ -18,7 +18,7 @@
|
||||
.import ldeaxysp, decsp2, pushax, incsp8
|
||||
.import tosandeax,decax1,tosdiveax,axlong,ldaxysp
|
||||
.import lynxskip0, lynxblock,tosasreax
|
||||
.import __BLOCKSIZE__
|
||||
.import __BANK0BLOCKSIZE__
|
||||
.importzp _FileCurrBlock
|
||||
|
||||
.segment "CODE"
|
||||
@ -32,15 +32,15 @@
|
||||
jsr ldeaxysp
|
||||
jsr pusheax
|
||||
ldx #$00
|
||||
lda #<(__BLOCKSIZE__/1024 + 9)
|
||||
lda #<(__BANK0BLOCKSIZE__/1024 + 9)
|
||||
jsr tosasreax
|
||||
sta _FileCurrBlock
|
||||
jsr lynxblock
|
||||
ldy #$05
|
||||
jsr ldeaxysp
|
||||
jsr pusheax
|
||||
lda #<(__BLOCKSIZE__-1)
|
||||
ldx #>(__BLOCKSIZE__-1)
|
||||
lda #<(__BANK0BLOCKSIZE__-1)
|
||||
ldx #>(__BANK0BLOCKSIZE__-1)
|
||||
jsr axlong
|
||||
jsr tosandeax
|
||||
eor #$FF
|
||||
|
@ -17,7 +17,7 @@
|
||||
.include "extzp.inc"
|
||||
.export lynxskip0, lynxread0
|
||||
.export lynxblock
|
||||
.import __BLOCKSIZE__
|
||||
.import __BANK0BLOCKSIZE__
|
||||
|
||||
.code
|
||||
|
||||
@ -88,7 +88,7 @@ lynxblock:
|
||||
lda __iodat
|
||||
sta IODAT
|
||||
stz _FileBlockByte
|
||||
lda #<($100-(>__BLOCKSIZE__))
|
||||
lda #<($100-(>__BANK0BLOCKSIZE__))
|
||||
sta _FileBlockByte+1
|
||||
ply
|
||||
plx
|
||||
|
@ -33,7 +33,7 @@ loop1:
|
||||
cont1:
|
||||
jsr read_byte
|
||||
sta (load_ptr2),y
|
||||
sta PALETTE ; feedback ;-)
|
||||
sta PALETTE + 1 ; feedback ;-)
|
||||
iny
|
||||
bne loop1
|
||||
inc load_ptr2+1
|
||||
@ -69,6 +69,8 @@ again:
|
||||
; last action : clear interrupt
|
||||
;
|
||||
exit:
|
||||
lda #$10
|
||||
sta INTRST
|
||||
clc
|
||||
rts
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user