mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-11-18 21:06:31 +00:00
qboot: testing re-entrancy
This commit is contained in:
parent
9ad4a8c17b
commit
8e1eeb0376
@ -24,7 +24,7 @@ static int goto_dos_track_sector(int fd, int track, int sector) {
|
||||
|
||||
result=lseek(fd,(translated_sector*256)+(track*16*256),SEEK_SET);
|
||||
|
||||
printf("going to: T=%d S=%d (%d)\n",track,sector,translated_sector);
|
||||
// printf("going to: T=%d S=%d (%d)\n",track,sector,translated_sector);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
49
qboot/80s.s
49
qboot/80s.s
@ -4,15 +4,60 @@ FULLGR = $C052
|
||||
PAGE0 = $C054
|
||||
HIRES = $C057
|
||||
|
||||
WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us
|
||||
|
||||
KEYPRESS = $C000
|
||||
KEYRESET = $C010
|
||||
|
||||
the_1980s:
|
||||
|
||||
forever:
|
||||
bit SET_GR
|
||||
bit FULLGR
|
||||
bit PAGE0
|
||||
bit HIRES
|
||||
|
||||
jmp forever
|
||||
forever:
|
||||
lda KEYPRESS
|
||||
bpl forever
|
||||
|
||||
bit KEYRESET
|
||||
|
||||
|
||||
;============================
|
||||
; setup load code
|
||||
;============================
|
||||
|
||||
; enable drive motor
|
||||
|
||||
lda $c0e9 ; fixme, patch
|
||||
|
||||
; wait 1s
|
||||
|
||||
ldx #6
|
||||
wait_1s:
|
||||
lda #255
|
||||
jsr WAIT
|
||||
dex
|
||||
bne wait_1s
|
||||
|
||||
|
||||
entry=$1f00
|
||||
phase=$bf2e
|
||||
|
||||
lda #>(entry-1)
|
||||
pha
|
||||
lda #<(entry-1)
|
||||
pha
|
||||
|
||||
lda #<(8*2)
|
||||
sta phase+1
|
||||
ldx #33
|
||||
lda #$1f
|
||||
ldy #0
|
||||
|
||||
jmp $be07
|
||||
|
||||
|
||||
|
||||
.align $100
|
||||
|
||||
|
@ -5,16 +5,18 @@ DOS33_RAW = ../dos33fs-utils/dos33_raw
|
||||
|
||||
all: boot.dsk compare.dsk
|
||||
|
||||
compare.dsk: THE80S
|
||||
compare.dsk: THE80S LS
|
||||
cp empty.dsk compare.dsk
|
||||
$(DOS33) -y compare.dsk BSAVE -a 0x1f00 THE80S
|
||||
$(DOS33) -y compare.dsk BSAVE -a 0x1f00 LS
|
||||
|
||||
boot.dsk: BOOT THE80S
|
||||
boot.dsk: BOOT THE80S LS
|
||||
cp empty.dsk boot.dsk
|
||||
$(DOS33_RAW) boot.dsk 0 0 BOOT 0 1
|
||||
$(DOS33_RAW) boot.dsk 0 2 BOOT 1 1
|
||||
$(DOS33_RAW) boot.dsk 0 4 BOOT 2 1
|
||||
$(DOS33_RAW) boot.dsk 3 0 THE80S 0 33
|
||||
$(DOS33_RAW) boot.dsk 8 0 LS 0 33
|
||||
|
||||
BOOT: boot_sector.o
|
||||
ld65 -o BOOT boot_sector.o -C ../linker_scripts/apple2_800.inc
|
||||
@ -22,6 +24,15 @@ BOOT: boot_sector.o
|
||||
boot_sector.o: boot_sector.s stage2.s
|
||||
ca65 -o boot_sector.o boot_sector.s -l boot_sector.lst
|
||||
|
||||
###
|
||||
|
||||
LS: ls.o
|
||||
ld65 -o LS ls.o -C ../linker_scripts/apple2_1f00.inc
|
||||
|
||||
ls.o: ls.s lsc.hgr
|
||||
ca65 -o ls.o ls.s -l ls.lst
|
||||
|
||||
###
|
||||
|
||||
THE80S: 80s.o
|
||||
ld65 -o THE80S 80s.o -C ../linker_scripts/apple2_1f00.inc
|
||||
|
19
qboot/ls.s
Normal file
19
qboot/ls.s
Normal file
@ -0,0 +1,19 @@
|
||||
|
||||
SET_GR = $C050
|
||||
FULLGR = $C052
|
||||
PAGE0 = $C054
|
||||
HIRES = $C057
|
||||
|
||||
the_1980s:
|
||||
|
||||
forever:
|
||||
bit SET_GR
|
||||
bit FULLGR
|
||||
bit PAGE0
|
||||
bit HIRES
|
||||
|
||||
jmp forever
|
||||
|
||||
.align $100
|
||||
|
||||
.incbin "lsc.hgr"
|
BIN
qboot/lsc.hgr
Normal file
BIN
qboot/lsc.hgr
Normal file
Binary file not shown.
@ -265,3 +265,4 @@ addrtbl: .res 16
|
||||
partial1 = *
|
||||
partial2 = partial1+1
|
||||
code_end=partial2+1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user