Releases: geekpersonman/msbasic
Releases · geekpersonman/msbasic
v1.0. First Release!
Basically the same as upstream but I have added some basic LCD functions for the Ben Eater 6502 Computer and managed to fit wozmon back at FF00, while still producing full CRLF output. A preassembled ROM image is provided below.
Extra functions added in this release:
PRNTCHR:
- Prints a single character to the onboard LCD. Extracted from previously used code for Hello World. (Credit: Ben Eater)
- Wozmon compatible test harness is located at A124. This loads a character from 3800 and returns execution to wozmon when done.
- For stanalone use in other programs JSR to A0C6, this is where the function is actually located.
LCDINSTR:
- Sends an instruction to the onboard LCD. Extracted from previously used code for Hello World. (Credit: Ben Eater)
- Wozmon compatible test harness is located at A12D. This loads an instruction from 3800 and returns execution to wozmon when done.
- For stanalone use in other programs JSR to A0FF, this is where the function is actually located.
LCDWAIT:
- Checks for if the LCD is ready for the next command and if it isn't waits until it is ready. Extracted from previously used code for Hello World. (Credit: Ben Eater)
- No wozmon compatible test harness is provided for this function.
- For stanalone use in other programs JSR to A0DC.
POSCUR:
- Moves Cursor on LCD display. X register determines X position (0-F) and Y register determines selected line (0-1).
- Wozmon compatible test harness is located at A136. This loads X from 3800 and Y from 3801, returns execution to wozmon when done.
- For standalone use in other programs JSR to A115. This is where the function is located.
These addresses are not guaranteed for future releases (especially the test harnesses) but a best effort will be made to keep them the same. it is assumed that the LCD is connected via an 8-bit bus with 3 control lines at 6000 and 6001. VIA lines must be set to output before any of these functions can be used. 6002: FF and 6003:E0 in default config. 4-bit support may be added in the future.