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
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
DOS33 = ../../utils/dos33fs-utils/dos33
TEXT_TO_ED = ./text_to_ed
EMPTY_DISK = ../../empty_disk/empty.dsk
all: eduet.dsk
$(DOS33):
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 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
$(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
ld65 -o ED duet.o -C ../../linker_scripts/apple2_c00.inc
@ -21,6 +36,42 @@ ED: duet.o
duet.o: duet.s
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"
40 PRINT "3. FF7 HIGHWIND"
45 PRINT "4. KERBAL THEME"
50 PRINT "5. KOROBEINIKI (TETRIS THEME)"
55 PRINT "6. PEASANT'S QUEST"
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
130 IF A < 0 OR A > 6 THEN GOTO 120
140 ON A GOTO 200,210,220,230,240,250
200 PRINT CHR$ (4)"BLOAD SA.ED,A$2000"
205 GOTO 1000
210 PRINT CHR$ (4)"BLOAD FIGHTING.ED,A$2000"
@ -18,6 +20,10 @@
225 GOTO 1000
230 PRINT CHR$ (4)"BLOAD KERBAL.ED,A$2000"
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
1010 CALL 256*12
1020 GOTO 2

File diff suppressed because it is too large Load Diff

View File

@ -42,6 +42,7 @@
#include "notes.h"
static int debug=0;
static int offset=0;
static int bpm=120;
static int baselen=80;
@ -358,10 +359,18 @@ int main(int argc, char **argv) {
baselen=70;
}
else if (bpm==160) {// 2.66Hz, 375ms, should be 60
baselen=60;
// baselen=60;
baselen=64; // multiple of 16?
}
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 {
fprintf(stderr,"Warning! Unusual BPM of %d\n",bpm);
@ -379,6 +388,7 @@ int main(int argc, char **argv) {
int lyric_line=1;
fprintf(ed_file,"%c%c%c",1,voice1,voice2);
offset+=3;
while(1) {
result=fgets(string,BUFSIZ,in_file);
@ -523,8 +533,9 @@ int main(int argc, char **argv) {
lyric_line++;
fprintf(ed_file,"%c%c%c",same_count,a_last,b_last);
offset+=3;
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;