45 lines
2.3 KiB
Markdown
45 lines
2.3 KiB
Markdown
# NetTerm
|
|
This gigatron program is an attempt to create a terminal that talks over SPI1 to the outside world.
|
|
Every keypress on the gigatron will be transfered over SPI, and every byte (apart from ANSI escapecodes) goes from SPI to the screen.
|
|
For the first run, execute `make lcc` in the *gigatron-rom* root folder.
|
|
run `make Contrib/xopr/NetTerm/NetTerm.gt1` in the root folder to build a new version.
|
|
|
|
If you want to test the NetTerm without expander hardware (i.e., emulator), you can comment out the following define:
|
|
```
|
|
//#define IOPORT SS1
|
|
```
|
|
**Note:**
|
|
This application is still experimental and written to work best with a [Gigatron expander card](https://forum.gigatron.io/viewtopic.php?f=4&t=64) combined with a patched *dev.rom* that enables drawing of the 3x5 'tinyfont'.
|
|
To apply the patch, run `git apply Contrib/xopr/NetTerm/SYS_VDrawWord.patch` followed by `make dev.rom` and `make burn` to compile and burn the DEVROM to EPRPOM.
|
|
|
|
The patch itself was created using:
|
|
```
|
|
git add Core/dev.py
|
|
git commit -m "Added SYS_VDrawWord function"
|
|
git format-patch -1 master --stdout > Contrib/xopr/NetTerm/SYS_VDrawWord.patch
|
|
git reset HEAD^
|
|
git checkout -- Core/dev.py
|
|
```
|
|
|
|
# SPI_slave
|
|
This Arduino program acts like a SPI slave that transfers bytes from and to the (USB) serial connection.
|
|
It can be used to hook the gigatron up to the PC as a terminal client, or powered without USB, used as TTL serial (pins 0 and 1).
|
|
|
|
**Note:**
|
|
Make sure you disable the Arduino reset when using it as a USB serial terminal.
|
|
For programming, either re-enable Arduino reset or reset it manually directly after clicking upload.
|
|
Newer Arduinos have a scratch/solder pad for that (which one can scratch through and solder a jumper on): it should be in the middle of an Arduino uno with a label "Reset on".
|
|
|
|
## Run a terminal server
|
|
To run a terminal server for the (Arduino) Serial port, verify which port it uses (in my case, it was /dev/**ttyACM0**.
|
|
|
|
On a systemd linux machine:
|
|
|
|
* run: `systemctl enable serial-getty@ttyACM0.service` (or the appropriate Arduino serial device)
|
|
* edit: `/etc/systemd/system/getty.target.wants/serial-getty@ttyACM0.service`
|
|
* and change `ExecStart=...... $TERM` into `ExecStart=...... vt100`
|
|
* then run: `systemctl daemon-reload`
|
|
* and: `systemctl restart serial-getty@ttyACM0.service`
|
|
|
|
|