-
Notifications
You must be signed in to change notification settings - Fork 6
Home
nanochess edited this page Aug 31, 2015
·
2 revisions
The rules for adding anything to the IntyBASIC compiler are:
- It should be useful, no esoteric features.
- It should be easy to understand.
- It should be expandable.
The IntyBASIC compiler is structured in four classes:
- compiler, for main syntax process
- node, for expression trees
- code, for peephole optimization
- microcode, for keeping sequences of instructions.
The current TODO list: (it could happen or not)
- Automatic distribution of program over segments. (suggested by DZ-Jay)
- Page-flipped memory using LTO Flash (suggested by intvnut)
- Short-circuit evaluation of AND/OR (suggested by freewheel)
- PLAY VOLUME for changing music volume (suggested by First Spear)
- Optimize programs that use only CONT so KEY process everything in one loop and one variable.
- BCD addition and visualization (suggested by GroovyBee)
- IntyColor: avoid to use GROM $5F in Color Stack mode.
- Local variables in procedures.
- Procedures as functions.
- Add a jump at start of program to fall in first executable instruction.
- New statement INCBIN
- Support for strings in CONST.
- Compilation option for unrolling loops. (possible only when statements are saved in memory)
- 16-bits PRNG for RAND (suggested by DZ-Jay), there is a problem here that lots of programs depend on RAND 8 bits and the modulus operator is slow on big numbers.
- Boolean access to variables (one bit for reading/assignment)