electric_duet: update peasant quest

This commit is contained in:
Vince Weaver 2021-10-07 23:00:14 -04:00
parent 3207ccd526
commit 1c9413b897
4 changed files with 695 additions and 976 deletions

View File

@ -1,19 +1,34 @@
include ../../Makefile.inc include ../../Makefile.inc
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
DOS33 = ../../utils/dos33fs-utils/dos33 DOS33 = ../../utils/dos33fs-utils/dos33
TEXT_TO_ED = ./text_to_ed
EMPTY_DISK = ../../empty_disk/empty.dsk
all: eduet.dsk all: eduet.dsk
$(DOS33): $(DOS33):
cd ../../utils/dos33fs-utils && make cd ../../utils/dos33fs-utils && make
eduet.dsk: $(DOS33) ED HIGHWIND.ED FIGHTING.ED SA.ED KERBAL.ED KORO.ED eduet.dsk: $(DOS33) HELLO ED HIGHWIND.ED FIGHTING.ED SA.ED \
KERBAL.ED KORO.ED PEASANT.ED
cp $(EMPTY_DISK) eduet.dsk
$(DOS33) -y eduet.dsk SAVE A HELLO
$(DOS33) -y eduet.dsk BSAVE -a 0x0C00 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 HIGHWIND.ED
$(DOS33) -y eduet.dsk BSAVE -a 0x2000 FIGHTING.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 SA.ED
$(DOS33) -y eduet.dsk BSAVE -a 0x2000 KERBAL.ED $(DOS33) -y eduet.dsk BSAVE -a 0x2000 KERBAL.ED
$(DOS33) -y eduet.dsk BSAVE -a 0x2000 KORO.ED $(DOS33) -y eduet.dsk BSAVE -a 0x2000 KORO.ED
$(DOS33) -y eduet.dsk BSAVE -a 0x2000 PEASANT.ED
###
HELLO: hello.bas
$(TOKENIZE) < hello.bas > HELLO
###
ED: duet.o ED: duet.o
ld65 -o ED duet.o -C ../../linker_scripts/apple2_c00.inc ld65 -o ED duet.o -C ../../linker_scripts/apple2_c00.inc
@ -21,6 +36,42 @@ ED: duet.o
duet.o: duet.s duet.o: duet.s
ca65 -o duet.o duet.s -l duet.lst ca65 -o duet.o duet.s -l duet.lst
clean:
rm -f *~ *.o *.lst ED ###
PEASANT.ED: peasant.ed
cp peasant.ed PEASANT.ED
###
peasant.ed: $(TEXT_TO_ED) peasant.txt
$(TEXT_TO_ED) peasant.txt peasant
###
HIGHWIND.ED: highwind.ed
cp highwind.ed HIGHWIND.ED
###
highwind.ed: $(TEXT_TO_ED) highwind.txt
$(TEXT_TO_ED) -o -2 highwind.txt highwind
###
text_to_ed: text_to_ed.o notes.o
$(CC) -o text_to_ed text_to_ed.o notes.o $(LFLAGS) -lm
text_to_ed.o: text_to_ed.c notes.h
$(CC) $(CFLAGS) -c text_to_ed.c
notes.o: notes.c notes.h
$(CC) $(CFLAGS) -c notes.c
###
clean:
rm -f *~ *.o *.lst ED text_to_ed

View File

@ -6,10 +6,12 @@
35 PRINT "2. FF7 FIGHTING" 35 PRINT "2. FF7 FIGHTING"
40 PRINT "3. FF7 HIGHWIND" 40 PRINT "3. FF7 HIGHWIND"
45 PRINT "4. KERBAL THEME" 45 PRINT "4. KERBAL THEME"
50 PRINT "5. KOROBEINIKI (TETRIS THEME)"
55 PRINT "6. PEASANT'S QUEST"
100 PRINT CHR$ (4)"BLOAD ED" 100 PRINT CHR$ (4)"BLOAD ED"
120 PRINT "-----> ";: INPUT A 120 PRINT "-----> ";: INPUT A
130 IF A < 0 OR A > 4 THEN GOTO 120 130 IF A < 0 OR A > 6 THEN GOTO 120
140 ON A GOTO 200,210,220,230 140 ON A GOTO 200,210,220,230,240,250
200 PRINT CHR$ (4)"BLOAD SA.ED,A$2000" 200 PRINT CHR$ (4)"BLOAD SA.ED,A$2000"
205 GOTO 1000 205 GOTO 1000
210 PRINT CHR$ (4)"BLOAD FIGHTING.ED,A$2000" 210 PRINT CHR$ (4)"BLOAD FIGHTING.ED,A$2000"
@ -18,6 +20,10 @@
225 GOTO 1000 225 GOTO 1000
230 PRINT CHR$ (4)"BLOAD KERBAL.ED,A$2000" 230 PRINT CHR$ (4)"BLOAD KERBAL.ED,A$2000"
235 GOTO 1000 235 GOTO 1000
240 PRINT CHR$ (4)"BLOAD KORO.ED,A$2000"
245 GOTO 1000
250 PRINT CHR$ (4)"BLOAD PEASANT.ED,A$2000"
255 GOTO 1000
1000 POKE 30,0: POKE 31,32 1000 POKE 30,0: POKE 31,32
1010 CALL 256*12 1010 CALL 256*12
1020 GOTO 2 1020 GOTO 2

File diff suppressed because it is too large Load Diff

View File

@ -42,6 +42,7 @@
#include "notes.h" #include "notes.h"
static int debug=0; static int debug=0;
static int offset=0;
static int bpm=120; static int bpm=120;
static int baselen=80; static int baselen=80;
@ -358,10 +359,18 @@ int main(int argc, char **argv) {
baselen=70; baselen=70;
} }
else if (bpm==160) {// 2.66Hz, 375ms, should be 60 else if (bpm==160) {// 2.66Hz, 375ms, should be 60
baselen=60; // baselen=60;
baselen=64; // multiple of 16?
} }
else if (bpm==250) { else if (bpm==250) {
baselen=50; // eyeballed baselen=48; // eyeballed
}
else if (bpm==300) { //40 is too fast
baselen=42;
}
else if (bpm==320) {// 2.66Hz, 375ms, should be 60
// baselen=60;
baselen=32; // multiple of 16?
} }
else { else {
fprintf(stderr,"Warning! Unusual BPM of %d\n",bpm); fprintf(stderr,"Warning! Unusual BPM of %d\n",bpm);
@ -379,6 +388,7 @@ int main(int argc, char **argv) {
int lyric_line=1; int lyric_line=1;
fprintf(ed_file,"%c%c%c",1,voice1,voice2); fprintf(ed_file,"%c%c%c",1,voice1,voice2);
offset+=3;
while(1) { while(1) {
result=fgets(string,BUFSIZ,in_file); result=fgets(string,BUFSIZ,in_file);
@ -523,8 +533,9 @@ int main(int argc, char **argv) {
lyric_line++; lyric_line++;
fprintf(ed_file,"%c%c%c",same_count,a_last,b_last); fprintf(ed_file,"%c%c%c",same_count,a_last,b_last);
offset+=3;
if (debug) { if (debug) {
printf("*** %x %x %x\n",same_count,a_last,b_last); printf("%04X: %x %x %x\n",offset,same_count,a_last,b_last);
} }
same_count=0; same_count=0;