Hey, I just found this Thread... cool, I got some fans!
Idiot Compiler was just an attempt to make ASM coding faster for me... but it turned into a 'semi' full fledged compiler.
The main goal was to prevent runtime code and have everything inline... this does bloat code a little bit, but when other compilers have a 4kb runtime before your first 'compiled basic line'... small programs start off with a huge advantage. As a side effect.. you need calls and setup JSR's for routines inside the runtime, so its actually eating into those, it would take a LONG time to overtake the amount of out-put code.
Its true, I hate hex... had to build my own ASM assembler and disassembler just to program, everything is done is decimal assembly and that means it is a direct translation to basic in terms of line numbers and how memory works... its true it messes me up sometimes. My mockingboard audio work took off very slowly because something like a C0-xx address translated into 50xxx, which makes it hard and isn't obvious which switches to hit...
Anyway, back to the compiler... a lot of bug fixes in the newest version... there is more work to do.
The great thing is its a 'SMART" compiler... meaning YOU are the smart one. It does variable 8bit, 16bit or (limited 24 bit) math,
blazing thru others in speed. Along with no JSR's for code runtimes...
at the LINE.... type the LINE #
do basic commands... to see list type (?) or (COMMANDS)
at the end of each BASIC LINE, you have to type END to end that particular line.
Its primitive BASIC background code makes it a little less than idea.
To enter a command... like PLOT X,Y you will have to PLOT (ENTER) then it prompts you for...
(VAR or #): at point you can type a name for variable, or a number. If a variable does not exist, it will create one for you.
RESET - to reset compiler
COMPILE - to compile into ASM program
I would reboot the disk if you are starting a new project, if you were already working on one.... most entry points are "helper" prompted.
It normally defaults to 16 bit... but if you know a variable will only be 8 bits (max 255) at any time... you can do LET 8 for math, such as
A=B+C or A=B-C or A=B*C or A=B/C
there are also SPECIAL FUNCTIONS in the options... so if you did
A=A/2 it would equate to a simple LSR statement instead of several command division...
these things make the compiled code equal to its ASM counterparts in many situations....
Anyway, I posted enough... thanks for the mention... I appreciate it a lot!
If you haven't seen DogFighters of Mars2 space shooter demo for the Apple II.... (This is the Special Edition!)
If you need a Double Lores library thing a majig... a hard to get info graphics mode...
If you have a mockingboard... here are 70+ songs plus software to potentially convert MIDI's... version 2.00 is incoming soon...