Skip to content

Releases: geekpersonman/msbasic

v1.0. First Release!

15 Feb 22:28

Choose a tag to compare

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.