Here are a few things i've gotten done with v0.15 so far:
- Some GUI optimizations here and there
- Fixed a bug when the last open document was closed, some buttons would dissapear, and some buttons would crash the program
- Splash screen (actually the about screen) added, and is shown when a new compiler version is executed for the first time
- When multiple documents are in the command line, the IDE will open them all in multiple windows
- The External TH Interrupter on the joypad port is now supported
- The command LoadTiles is now 3 times faster! Note: Speed is measured only when the screen is disabled. With the old routine, it would take 1.08 minutes to load 1024 sets of 1024 tiles (Equals 32mb). With the new routine, it took 0.37 minutes.
- The functions HFlipTile, VFlipTile, RotateTile, Priority, and Pallette have been added to customize drawing tiles
- Some Editing Enhancements: Find, Find Next, Search and Replace, Insert Date+Time, and Go To Line
- Fixed a bug with the Dim command that allocated 2 bytes to long variables
- Fixed a bug with ReadLong that allocated 2 bytes to long variables that haven't been created
- Added the commands FastTileCopy and MemCopy to do some low-level, high-speed memory copying
- <, >, <=, >=, and <> string comparisons works now. When a string is compared to another string, the destination value will be an integer.
- The function UnitType added to determine whether the machine is a domestic, or overseas unit
- The function TVType added to determine whether the machine is NTSC, or PAL
- The function VDPRAMRead() and the command VDPRAMWrite were added to read/write directly to the VDP RAM
- The functions Read$, Read, ReadINT(), and ReadLONG&() were created, so execution time is faster if data doesn't need to be read into a variable, but passed into an expression
- ReOrgCode option added to change the code address for Sega CD Porgrams
- ReOrgVars option added to change the next variables address to tack on more RAM storage for Sega CD games
- StartCode& function added to give the first byte of compiled code
- EndCode& function added to give the last byte of compiled code
- External RAM Support for variables
- .BEX file associations can now be done within the IDE
- The expression system now handles parenthesis, eg: a=4+((((7*2)*(1+2))*(2*2))+5) works
- Assembly code is automatically optimized
- The command FAKE has been added to virtually make variables into fake data labels for use with RELOAD, READ, WRITE, and tile/pallette loading commands
- Genesis roms can now be compiled for PAL machines with the command TVSET
- Regmove.x can now use immediate values for sourcing arguments
- Fixed a bug with LOADTILES. Now it clears register d1 before use.
- Fixed a bug in the INPUT command when the screen scrolls down
- Added font and tab options to the IDE
right now, i'm planning to make an expression optimizer. if i get one up, basic code could almost run just as fast as if it were to be coded in c