Added a time module with the following commands, 'TIME$', 'GET("TIME_H")', 'GET("TIME_M")', 'GET("TIME_S")', 'GET("TIMER"), 'SET("TIME_MODE")', 'SET("TIME_EPOCH")', 'SET("TIME_H")', 'SET("TIME_M")', 'SET("TIME_S")', 'SET("TIMER")' and more.
Added the INIT command to the BASIC compiler, this command allows you to easily time slice or VBlank interrupt up to three daisy chained routines TIME, MIDI and USER_PROC; (USER_PROC may be written in BASIC or vASM code, but it is highly suggested to use vASM).
Added the 'TICK' command to the BASIC compiler, this command is a general purpose version of MIDI PLAY, it is used to 'tick' along time sliced modules, (TIME and MIDI), when your loop does not call any runtime routines, (it's only used for ROMv1 to ROMv4).
Added proper VBlank interrupt handling for ROMv5a and higher, (using the INIT command).
Added the 'RET' command to the BASIC compiler, this is used in place of 'RETURN" when the programmer does not desire the embedded 'POP'; e.g. VBlank interrupt, vASM code, etc.
Created a time.gbas sample that shows how to use the new TIME commands for ROMv1 to ROMv4.
Created a vblank.gbas example that shows how to use VBlank interrupts with the TIME, MIDI and USER_PROC modules.
Added two new versions of clock.gbas, clock2 uses the TIME module, clock3 uses the TIME module and VBlank interrupts as well as having bonus sound.
Changed all system variables to now contain underscores, e.g. 'SERIALRAW' is now 'SERIAL_RAW', etc; (this won't happen again)
Fixed some emulator issues with VIDEO_TOP and other system variables not being reset when fast loading.