Source listing in bootstrap.s is incorrect.
The OSI C1P alternative boot file format works, but the code in the source listing does not match the ASCII-coded hex translation (which is actually used). This is confusing to anyone trying to maintain the code. Also, the source code did not assemble when ASM is defined. Also removed use of branch macros and an unnecessary "<" operator. With these changes the source file should correctly match what is used at run time.
This commit is contained in:
@@ -34,7 +34,7 @@ ram_top := __MAIN_START__ + __MAIN_SIZE__
|
|||||||
|
|
||||||
.ifdef ASM
|
.ifdef ASM
|
||||||
|
|
||||||
.include "osic1p.inc"
|
.include "screen-c1p-24x24.s"
|
||||||
.macpack generic
|
.macpack generic
|
||||||
|
|
||||||
load := $08 ; private variables
|
load := $08 ; private variables
|
||||||
@@ -45,21 +45,23 @@ GETCHAR := $FFBF ; gets one character from ACIA
|
|||||||
FIRSTVISC = $85 ; Offset of first visible character in video RAM
|
FIRSTVISC = $85 ; Offset of first visible character in video RAM
|
||||||
LINEDIST = $20 ; Offset in video RAM between two lines
|
LINEDIST = $20 ; Offset in video RAM between two lines
|
||||||
|
|
||||||
ldy #<$0000
|
ldy #$00
|
||||||
lda #<load_addr
|
lda #<load_addr
|
||||||
ldx #>load_addr
|
ldx #>load_addr
|
||||||
sta load
|
sta load
|
||||||
stx load+1
|
stx load+1
|
||||||
|
|
||||||
ldx #(<load_size) + 1
|
lda #<load_size
|
||||||
stx count
|
eor #$FF
|
||||||
ldx #(>load_size) + 1
|
sta count
|
||||||
stx count+1 ; save size with each byte incremented separately
|
lda #>load_size
|
||||||
|
eor #$FF
|
||||||
|
sta count+1
|
||||||
|
|
||||||
L1: dec count
|
L1: inc count
|
||||||
bnz L2
|
bne L2
|
||||||
dec count+1
|
inc count+1
|
||||||
bze L3
|
beq L3
|
||||||
L2: jsr GETCHAR ; (doesn't change .Y)
|
L2: jsr GETCHAR ; (doesn't change .Y)
|
||||||
sta (load),y
|
sta (load),y
|
||||||
|
|
||||||
@@ -70,12 +72,12 @@ L2: jsr GETCHAR ; (doesn't change .Y)
|
|||||||
lsr a
|
lsr a
|
||||||
and #8 - 1
|
and #8 - 1
|
||||||
ora #$10 ; eight arrow characters
|
ora #$10 ; eight arrow characters
|
||||||
sta SCRNBASE + FIRSTVISC + 2 * LINEDIST + 11
|
sta C1P_SCR_BASE + FIRSTVISC + 2 * LINEDIST + 11
|
||||||
|
|
||||||
iny
|
iny
|
||||||
bnz L1
|
bne L1
|
||||||
inc load+1
|
inc load+1
|
||||||
bnz L1 ; branch always
|
bne L1 ; branch always
|
||||||
|
|
||||||
L3: jmp load_addr
|
L3: jmp load_addr
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user