Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hkzlab/tranzmon
TranzMON is a resident monitor for the Tranz 330 POS terminals, that turns them into a multipurpose Z80-based computer.
https://github.com/hkzlab/tranzmon
embedded homebrew reverse-engineering z80
Last synced: about 3 hours ago
JSON representation
TranzMON is a resident monitor for the Tranz 330 POS terminals, that turns them into a multipurpose Z80-based computer.
- Host: GitHub
- URL: https://github.com/hkzlab/tranzmon
- Owner: hkzlab
- Created: 2021-06-02T13:53:55.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-06-02T14:03:48.000Z (over 3 years ago)
- Last Synced: 2023-03-11T21:47:39.496Z (almost 2 years ago)
- Topics: embedded, homebrew, reverse-engineering, z80
- Language: C
- Homepage:
- Size: 216 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog.md
Awesome Lists containing this project
README
# TranzMON
TranzMON is a resident monitor for the Tranz 330 POS terminals.
It turns the POS into a multi purpose Z80 based computer that can also be used as an educational tool.It's sufficient to burn the binary into a 27C256 EPROM and put it in place of the original one at U6 on the control board.
![TranzMON running](pics/tranzmon.jpg)
## Supported functions
- Serial console at 19200bps 8-n-1
- External keypad/VFD input- Port IN/OUT (keypad and console)
- Memory READ/WRITE (keypad and console)
- Jump execution to an address (keypad and console)
- Memory upload/download via XMODEM (console)
- RTC (console and keypad)### Console commands
- **O** xx yy -> Output value yy to port xx
- **I** xx -> Input from port xx
- **J** xxxx -> Jump execution @xxxx
- **F** xxxx yy zz -> Fill zz bytes of RAM with yy starting @xxxx
- **W** xxxx yy -> Write zz @xxxx
- **R** xxxx yy -> Print yy 16b blocks of RAM starting @xxxx
- **X** xxxx -> Download data via XMODEM @xxxx
- **U** xxxx yyyy -> Upload yyyy bytes via XMODEM from xxxx
- **T** ddMMyyhhmmssD -> Show or set current date (D is day of week, starts at 0 with Sunday)## Keypad commands
- **1**: Memory inspection/edit mode
- **2**: Port input mode
- **3**: Port output mode
- **4**: Jump mode
- **5**: RTC set mode## Function table
Starting at a fixed address of 0x7F00, the monitor provides an address table of common functions that reside in ROM code, and that can be called from code uploaded in RAM.
**TODO**: Describe the table