diff --git a/8ball20.prg b/8ball20.prg index 595185a..719cda9 100644 Binary files a/8ball20.prg and b/8ball20.prg differ diff --git a/8ball64.prg b/8ball64.prg index 99e6cbe..aa16f05 100644 Binary files a/8ball64.prg and b/8ball64.prg differ diff --git a/8ballvm20.prg b/8ballvm20.prg index 2e245d8..ddc45af 100644 Binary files a/8ballvm20.prg and b/8ballvm20.prg differ diff --git a/8ballvm64.prg b/8ballvm64.prg index 7d3c5c8..c176f6f 100644 Binary files a/8ballvm64.prg and b/8ballvm64.prg differ diff --git a/Makefile b/Makefile index 2e9b141..d48f74d 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ APPLECMDR = ~/Desktop/Apple2/AppleCommander-1.3.5.jar all: eightball eightballvm 8ball20.prg 8ballvm20.prg 8ball64.prg 8ballvm64.prg eightball.system ebvm.system test.d64 test.dsk clean: - rm -f eightball eightballvm *.o 8ball20.* 8ball64.* eightball*.s eightball.system test.d64 *.map + rm -f eightball eightballvm *.o 8ball20.* 8ball64.* eightball*.s eightball.system test.d64 *.map *.vice eightball.o: eightball.c eightballutils.h eightballvm.h # 32 bit so sizeof(int*) = sizeof(int) [I am lazy] diff --git a/ebvm.system b/ebvm.system index 120dc2e..f7e3d79 100644 Binary files a/ebvm.system and b/ebvm.system differ diff --git a/eightball b/eightball index ef38265..6d0625e 100644 Binary files a/eightball and b/eightball differ diff --git a/eightball.c b/eightball.c index 7e8b46f..7080a53 100644 --- a/eightball.c +++ b/eightball.c @@ -3637,12 +3637,10 @@ unsigned char docall() /* Caller must drop the arguments * pushed to call stack above */ - emitldi(argbytes); - emit(VM_DISCARD); - //for (j = 0; j < argbytes; ++j) { - // emit(VM_POPBYTE); - // emit(VM_DROP); - //} + if (argbytes) { + emitldi(argbytes); + emit(VM_DISCARD); + } } else { /* Stash pointer to just after the call stmt */ push_return((int) txtPtr); diff --git a/eightball.system b/eightball.system index cd8c231..db056e0 100644 Binary files a/eightball.system and b/eightball.system differ diff --git a/eightballutils.c b/eightballutils.c index 56abd37..d7433f6 100644 --- a/eightballutils.c +++ b/eightballutils.c @@ -136,8 +136,6 @@ void getln(char *str, unsigned char buflen) unsigned char j = 0; #ifdef A2E unsigned char key; - unsigned char xpos; - unsigned char ypos; #endif do { i = read(0, str + j, 1); diff --git a/eightballutils.h b/eightballutils.h index d18066c..c54370e 100644 --- a/eightballutils.h +++ b/eightballutils.h @@ -37,7 +37,7 @@ /* */ /**************************************************************************/ -#define VERSIONSTR "0.68" +#define VERSIONSTR "0.69" void print(char *str); diff --git a/eightballvm b/eightballvm index 4893041..c3b5a07 100644 Binary files a/eightballvm and b/eightballvm differ diff --git a/eightballvm.c b/eightballvm.c index 12fcfc1..77deb57 100644 --- a/eightballvm.c +++ b/eightballvm.c @@ -785,12 +785,17 @@ void load() fp = fopen("bytecode", "r"); while (!feof(fp)) { ch = fgetc(fp); - //printhexbyte(ch); - //printchar('\n'); memory[pc++] = ch; + /* Print dot for each page */ + if (pc%0xff == 0) { + printchar('.'); + } } fclose(fp); pc = RTPCSTART; +#ifdef A2E + printchar(7); +#endif } int main() @@ -799,10 +804,14 @@ int main() #ifdef STACKCHECKS print("[Stack Checks ON]\n"); #endif - print("(c)Bobbi, 2018\n\n"); + print("(c)Bobbi, 2018\n"); + print("Free Software.\n"); + print("Licenced under GPL.\n\n"); print("Loading bytecode: "); load(); - print("Done\n"); +#ifdef __GNUC__ + print(" Done.\n\n"); +#endif #ifdef A2E videomode(VIDEOMODE_80COL); clrscr(); diff --git a/test.d64 b/test.d64 index 0fceb6e..e607c3a 100644 Binary files a/test.d64 and b/test.d64 differ diff --git a/test.dsk b/test.dsk index c49c5fd..6c75c4a 100644 Binary files a/test.dsk and b/test.dsk differ