diff --git a/games/peasant/Makefile b/games/peasant/Makefile index 71a82234..b94185ac 100644 --- a/games/peasant/Makefile +++ b/games/peasant/Makefile @@ -17,7 +17,7 @@ peasant.dsk: QBOOT QLOAD VID_LOGO TITLE INTRO COPY_CHECK $(DOS33_RAW) peasant.dsk 1 0 QLOAD 0 0 $(DOS33_RAW) peasant.dsk 3 0 VID_LOGO 0 0 $(DOS33_RAW) peasant.dsk 5 0 TITLE 0 0 - $(DOS33_RAW) peasant.dsk 8 0 INTRO 0 0 + $(DOS33_RAW) peasant.dsk 8 0 INTRO 0 0 $(DOS33_RAW) peasant.dsk 12 0 COPY_CHECK 0 0 ### diff --git a/games/peasant/NOTES b/games/peasant/NOTES index b481cdff..b2474564 100644 --- a/games/peasant/NOTES +++ b/games/peasant/NOTES @@ -4,13 +4,12 @@ Memory Map ; notes -- VID_LOGO loads title at $9000 - $AFFF $00 Zero Page -$01 ??? -$02 ??? -$03 ???, IRQ vectors +$01 Stack +$02 Disk Lookup +$03 Disk Lookup, IRQ vectors $04-$07 Text/GR page 1 (not used?) -$08-$0B Text/GR page 2 (not used?) -$0C-$0D ?? -$0E-$1F QLOAD disk routines and Mockingboard sound routines here +$08-$0B Text/GR page 2. $08=boot, $09-$0A = qboot stage2 +$0B-$1F QLOAD disk routines and Mockingboard sound routines here $20-$3F HGR Page 1 $40-$5f HGR Page 2 $60-$?? Programs (roughly 22k available?) diff --git a/games/peasant/qboot.inc b/games/peasant/qboot.inc index 0978f74a..f5d5638b 100644 --- a/games/peasant/qboot.inc +++ b/games/peasant/qboot.inc @@ -1,9 +1,9 @@ ; made by hand? -seek = $d26 -driveon = $d9D -driveoff = $d22 -load_new = $dAB -load_address=$dC4 +seek = $a26 +driveon = $a9D +driveoff = $a22 +load_new = $aAB +load_address=$aC4 load_track=load_address+1 load_sector=load_address+2 load_length=load_address+3 diff --git a/games/peasant/qboot_sector.s b/games/peasant/qboot_sector.s index 3f57c741..0bf23128 100644 --- a/games/peasant/qboot_sector.s +++ b/games/peasant/qboot_sector.s @@ -40,18 +40,18 @@ .byte 1 ; number of sectors for ROM to load boot_entry: - ; this code loads two sectors up to $C0/$D0 + ; this code loads two sectors up to $09/$0A ; assume A=1 coming in here lsr ; check sector number ; A=0, carry=1 tay ; Y=0 - adc #$0B ; A=$C (destintation) + adc #$08 ; A=$9 (destintation) sta $27 ; set or update address as needed - cmp #$0E - ; so if hit $0e00 we are done + cmp #$0B + ; so if hit $0b00 we are done beq done_load_2 ; branch if loaded 2 @@ -234,9 +234,9 @@ end_code: .res $8fe-* ; traditionally, entry point to jump to at end of loading -; $c00 in this case +; $900 in this case ;*=$8fe - .byte $C, $00 + .byte $9, $00 .include "qboot_stage2.s" diff --git a/games/peasant/qboot_stage2.s b/games/peasant/qboot_stage2.s index cfff9487..b46d6754 100644 --- a/games/peasant/qboot_stage2.s +++ b/games/peasant/qboot_stage2.s @@ -13,7 +13,7 @@ WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us -.org $c00 +.org $900 code_begin: diff --git a/linker_scripts/apple2_900.inc b/linker_scripts/apple2_900.inc index 945c1003..9c17ab6b 100644 --- a/linker_scripts/apple2_900.inc +++ b/linker_scripts/apple2_900.inc @@ -4,7 +4,7 @@ MEMORY { } SEGMENTS { -CODE: load = RAM, type = ro; +CODE: load = RAM, type = ro, align = $100; RODATA: load = RAM, type = ro; DATA: load = RAM, type = rw; BSS: load = RAM, type = bss, define = yes;