Commit Graph

27 Commits

Author SHA1 Message Date
Quinn Dunki
666083762f HIMEM now set properly to protect weegui code 2015-02-13 08:10:54 -08:00
Quinn Dunki
36e4157db7 Added support for raw characters to WGPrint
- Updated Applesoft sample code
2015-02-03 16:16:05 -08:00
Quinn Dunki
7feec071c1 Mouse driver improvements
-Removed use of PARAMn from interrupt handler
- Events now processed with location, not view ID
2015-02-03 11:01:09 -08:00
Quinn Dunki
766072a3c2 Converted &GET to integer 2015-02-01 18:22:05 -08:00
Quinn Dunki
0fe5765c45 Support for removing views
- Added WGDeleteView and &KILL
- Added WGEraseView and &WIPE
- Fixed focus iteration code to handle unallocated views in the middle of the list
2015-01-24 17:17:38 -08:00
Quinn Dunki
639ba927fc Bug fixes
- Added Exit routine for cleaning up text state and memory allocation
- Quitting no longer leaves BASIC in inverse sometimes
- Quitting now cleans up ProDOS memory properly
- Added Applesoft API for Exit
2015-01-16 08:18:19 -08:00
Quinn Dunki
fa6276dbc3 - Fixed mashing mouse buttin causing Applesoft GOSUBs to fail intermittently 2015-01-14 13:29:12 -08:00
Quinn Dunki
421835ce66 Polish & Docs
- Removed &NRML and &IVER (not needed)
- WeeGUI's memory pages are now reserved in ProDOS's page allocation scheme, to protect us from file operations and such
- Renamed various files to be more friendly
- Cleaned up the disk image
- First draft of documentation
2015-01-02 16:01:38 -08:00
Quinn Dunki
6d6c8bc95e - More code compression 2014-10-14 13:06:38 -07:00
Quinn Dunki
5d00c3286c - More code size optimization
- Reimplemented Print unit test
- Made it easier to exclude AppleSoft API if desired
2014-10-13 19:12:14 -07:00
Quinn Dunki
38da3a2c8e - Converted WGSetCursor to use zero-page parameter passing
- Eliminated WGInverse and WGNormal API calls
- Added the basic dispatcher for ML API
- Trimmed some unneeded code
- Prototyped assembly language API file
- Another pass on reducing code size
- X register now reserved for dispatcher
- API calls using X register as a parameter converted to Y register
- Added WGSetGlobalCursor
- Some code cleanup
2014-10-03 12:22:19 -07:00
Quinn Dunki
6c36f5e627 - Added a non-blocking version of GET to AppleSoft
- Procedural GOSUBs no longer rely on V flag in Applesoft (wasn't reliable with interrupts)
- Added &MOUSE
- Added &PDACT
- Added &GET
- Button clicking with mouse now flashes state
- Mouse clicking on controls now works from AppleSoft
2014-10-01 15:53:20 -07:00
Quinn Dunki
ddf94c9ab1 - Rectangles now automatically handle double horizontal edges close together 2014-09-26 18:05:01 -07:00
Quinn Dunki
cd35b7d1b3 - Added &PLOT 2014-09-25 17:41:41 -07:00
Quinn Dunki
6872fa5af0 - Added &INVR and &NRML
- Added &FILL and &DRAW
- Some code cleanup
- Added &PNT, &UNPNT, and &PNTA
2014-09-24 17:03:37 -07:00
Quinn Dunki
ac965177c8 - Compressed AppleSoft command table into half as many bytes
- Improved some AppleSoft error messages
- Integer arguments in AppleSoft now handle signed values as well as unsigned
- Fixed a bug in string arguments
- Added a temp string argument type, whereby the string is pointed to within the AppleSoft source
- Added &CURSR
- Added &PRINT
- Added &SCR
- Added &SCRBY
- Added &ERASE
- Fixed WGPrint not clipping top properly if last line is short and above the plane
- Fixed decorated window titles not rendering properly
2014-09-23 15:33:51 -07:00
Quinn Dunki
d7f775609d - Fixed a bug whereby string arguments couldn't be first in AppleSoft API calls
- Added &TITLE and &SETACT to AppleSoft API
2014-09-21 14:16:12 -07:00
Quinn Dunki
28adec64ca - Added support for titles on checkboxes
- Corrected byte ordering of callback and title pointers in views
2014-09-21 13:46:41 -07:00
Quinn Dunki
58deae7241 - Fixed callbacks on machine language buttons
- Fixed AppleSoft flag not getting set properly on buttons and checkboxes
- Added macros for 16 and 32 bit function calls
- Some code cleanup
2014-09-21 13:08:41 -07:00
Quinn Dunki
477fb59c75 - Some code cleanup
- Support for procedural AppleSoft GOSUB
- Support for more varied parameter types in AppleSoft API calls
- Support for 16-bit integers in AppleSoft API calls
- Added line number GOSUB feature to buttons built from AppleSoft
- Buttons now take callback pointer in init struct
- Added flag bits to upper nibble of style byte on views
- ViewAction now has option for AppleSoft GOSUBs
2014-09-20 18:20:44 -07:00
Quinn Dunki
0995f6675d - Library is now designed to be BRUNed from AppleSoft, instead of trying to make an init call
- Fixed a bug in the AppleSoft command matcher with prefixes
- Removed useless &weegui command
- Added &select, &focus, &act,  &focusn, and &focusp commands for AppleSoft
2014-09-19 16:04:36 -07:00
Quinn Dunki
72bab2ba8f - Initialization now clears string allocator
- Changed some AppleSoft APIs to be more keyword-friendly
- Fixed button string pointers being wrong endian in AppleSoft API
- Fixed incorrect endian in return value of string allocator
2014-09-18 16:24:17 -07:00
Quinn Dunki
1c9d9a7bdd - Added support for string arguments within struct parameter lists
- Added string block allocator and copier
- Added AppleSoft API for creating checkboxes and buttons
- Fixed bug with view constructors not correctly selecting the view after creation
2014-09-16 18:01:08 -07:00
Quinn Dunki
7207675b35 - Fixed parameter-less AppleSoft commands
- Added support for struct parameters in AppleSoft
- Added &HOME
- Renamed &VIEW to &WINDOW
- Separated style and ID bytes in view creation
- View state, callbacks, and title pointers are now initialized
- NULL pointers are handled in window titles
- Added function to restore a valid cursor state for AppleSoft upon API exit
2014-09-16 14:04:05 -07:00
Quinn Dunki
5da9ea899b - Converted view constructors to more sensible struct-passing instead of config strings
- Fixed fancy window title rendering
- Focus forward/back now skips non-controls
2014-09-16 08:41:48 -07:00
Quinn Dunki
f5c4af0201 - Parameter parsing and command table working for AppleSoft API
- String and integer vector parameters supported
2014-09-11 14:04:30 -07:00
Quinn Dunki
663f7278f9 - Started Applesoft API
- Basic command name parsing and matching
- Error handling for undefined calls and syntax errors
2014-09-09 20:34:14 -07:00