To build this patch you need sjasmplus.
I'm using GNU Make for build tasks, but patched rom can be built just with sjasmplus called on patch.asm.
If you're using CLI tools for TL866 programmer - you may flash your 28c128 with this firmware using "flash" target.
Development server placed in 'devserver' directory.
It requires Python 3 and PySerial, before usage please correct your UART in port
variable.
Current supported operations:
- uinit - init UART
- uwrite - write byte to UART
- uread - non-blocking UART reading (if there no byte in buffer will be returned -1)
- ureads - blocking UART reading.
- ubget - download plain binary from dev. server. Syntax is:
ADDRESS ubget FILENAME
, for example16384 ubget game.bin
will downloadsgame.bin
from dev.server to memory, starting from 16384 address. - ubput - upload plain binary to dev.server. Syntax is:
ADDRESS SIZE ubput FILENAME
, for example0 16384 ubput dump.bin
will upload 16384 bytes starting from 0 address - ls - get current directory files listing
- tapin - select tape image to load from
- tapout - select tape image for storing. If file exists - new files will be appended.
- load/bload works like with tape but with image. Optionally you can skip file name, for example:
tapin tetris.tap load
andtapin tetris.tap load tetris
makes same result. - save/bsave works in pure way as on original ROM but saves to TAP-file
- xbput ( addr size -- flag ) - upload block of memory using XMODEM protocol. Syntax is
ADDRESS SIZE xbput
. On exit, TOS contains 0, if transfer succeeded and -1 otherwise. - xbget ( addr -- flag )- download block of memory using XMODEM protocol. Syntax is
ADDRESS xbget
. On exit, TOS contains 0, if transfer succeeded and -1 otherwise. tee ( -- )
- echo screen output to serial interface. Useful for capturing FORTH word listings or the transcript of an adventure game, for example.untee ( -- )
- disable echoing of screen output to the serial interface.tty ( -- )
- source keyboard input from serial card and echo screen output to serial card (the latter as with TEE). This allows you to program th Minstrel 4th from a PC, either by typing or pasting commands into a terminal program connected to the Minstrel 4th. Minstrel 4th control codes are implemented as follows: ^H or Backspace = Backspace; ^M or Return = Enter; ^X = Caps-1 (clear current line); ^Z = Caps-9 (Graphics mode); ^Q = Toggle True/ Inverse video; ^F, ^G, ^T, ^V = cursor keys (Wordstar-like).hex ( -- )
- change BASE to hexidecimal (analogue of DECIMAL).code ( -- )
- create simple machine code routine. See Jupiter Ace user manual, Chapter 25, for details.
Real tape support is available using variants of the original Jupiter Ace/ Minstrel words, named SAVT (e.g., for SAVE), BSAVT, LOAT, and BLOAT.