diff --git a/electric_duet/Makefile b/electric_duet/Makefile index 49caa993..89326b3c 100644 --- a/electric_duet/Makefile +++ b/electric_duet/Makefile @@ -8,14 +8,14 @@ $(DOS33): cd ../dos33fs-utils && make eduet.dsk: $(DOS33) ED HIGHWIND.ED FIGHTING.ED SA.ED KERBAL.ED - $(DOS33) -y eduet.dsk BSAVE -a 0x900 ED + $(DOS33) -y eduet.dsk BSAVE -a 0x0C00 ED $(DOS33) -y eduet.dsk BSAVE -a 0x2000 HIGHWIND.ED $(DOS33) -y eduet.dsk BSAVE -a 0x2000 FIGHTING.ED $(DOS33) -y eduet.dsk BSAVE -a 0x2000 SA.ED $(DOS33) -y eduet.dsk BSAVE -a 0x2000 KERBAL.ED ED: duet.o - ld65 -o ED duet.o -C ../linker_scripts/apple2_900.inc + ld65 -o ED duet.o -C ../linker_scripts/apple2_c00.inc duet.o: duet.s ca65 -o duet.o duet.s -l duet.lst diff --git a/electric_duet/duet.s b/electric_duet/duet.s index d4dac092..09999a95 100644 --- a/electric_duet/duet.s +++ b/electric_duet/duet.s @@ -33,6 +33,8 @@ MADDRH EQU $1F LOC4E EQU $4E LOC4F EQU $4F +STARTADDR EQU $0900 + play_ed: LDA #$01 ; 900: A9 01 ; 2 *!* STA LOC9 ; 902: 85 09 ; 3 @@ -77,23 +79,23 @@ label4: play_note: STA DURATION ; 937: 85 08 ; 3 JSR sub1 ; 939: 20 2D09 ; 6 - STX $0983 ; 93C: 8E 8309 ; 4 self-modify EOR/CMP + STX STARTADDR+$83 ; 93C: 8E 8309 ; 4 self-modify EOR/CMP STA LOC6 ; 93F: 85 06 ; 3 LDX LOC9 ; 941: A6 09 ; 3 *!* label5: LSR A ; 943: 4A ; 2 DEX ; 944: CA ; 2 BNE label5 ; 945: D0 FC ; 4 *!* - STA $097C ; 947: 8D 7C09 ; 4 ; self-modify + STA STARTADDR+$7C ; 947: 8D 7C09 ; 4 ; self-modify JSR sub1 ; 94A: 20 2D09 ; 6 - STX $09BB ; 94D: 8E BB09 ; 4 ; self-modify + STX STARTADDR+$BB ; 94D: 8E BB09 ; 4 ; self-modify STA LOC7 ; 950: 85 07 ; 3 LDX LOC1D ; 952: A6 1D ; 3 *!* label6: LSR A ; 954: 4A ; 2 DEX ; 955: CA ; 2 BNE label6 ; 956: D0 FC ; 4 *!* - STA $09B4 ; 958: 8D B409 ; 4 ; self-modify + STA STARTADDR+$B4 ; 958: 8D B409 ; 4 ; self-modify PLA ; 95B: 68 ; 4 TAY ; 95C: A8 ; 2 PLA ; 95D: 68 ; 4 @@ -111,7 +113,7 @@ label7: BIT $C030 ; 96C: 2C 30C0 ; 4 SPEAKER label9: STA LOC4E ; 96F: 85 4E ; 3 - BIT $C000 ; 971: 2C 00C0 ; 4 + BIT $C000 ; 971: 2C 00C0 ; 4 KEYBOARD DATA BMI label4 ; 974: 30 C0 ; 4 *!* DEY ; 976: 88 ; 2 BNE label10 ; 977: D0 02 ; 4 *!* diff --git a/electric_duet/eduet.dsk b/electric_duet/eduet.dsk index b6037670..af57daf7 100644 Binary files a/electric_duet/eduet.dsk and b/electric_duet/eduet.dsk differ diff --git a/electric_duet/hello.bas b/electric_duet/hello.bas new file mode 100644 index 00000000..3ff95f60 --- /dev/null +++ b/electric_duet/hello.bas @@ -0,0 +1,23 @@ + 2 HOME + 5 PRINT + 10 PRINT "ELECTRIC DUET DEMOS" + 20 PRINT + 30 PRINT "1. STILL ALIVE" + 35 PRINT "2. FF7 FIGHTING" + 40 PRINT "3. FF7 HIGHWIND" + 45 PRINT "4. KERBAL THEME" + 100 PRINT CHR$ (4)"BLOAD ED" + 120 PRINT "-----> ";: INPUT A + 130 IF A < 0 OR A > 4 THEN GOTO 120 + 140 ON A GOTO 200,210,220,230 + 200 PRINT CHR$ (4)"BLOAD SA.ED,A$2000" + 205 GOTO 1000 + 210 PRINT CHR$ (4)"BLOAD FIGHTING.ED,A$2000" + 215 GOTO 1000 + 220 PRINT CHR$ (4)"BLOAD HIGHWIND.ED,A$2000" + 225 GOTO 1000 + 230 PRINT CHR$ (4)"BLOAD KERBAL.ED,A$2000" + 235 GOTO 1000 +1000 POKE 30,0: POKE 31,32 +1010 CALL 256*12 +1020 GOTO 2