A simple vi-editor that uses the graphic capabilities to provide a screen of up to 128x30 (V9990), or 85x53 (V9938/V9958 w. 128KB). It can also handle plain 80x24 (SCREEN0).
The editor has been written in Z80-assembly. It uses all available mapper-RAM. Files can be up to ~400 KB on a 512 KB-system.
A:> vi file.txt 85×53 (V9938/V9958 - default)
A:> vi /G file.txt 96×30 (V9990 no interlace)
A:> vi /W file.txt 128×30 (V9990 using small 6-pixel font)
A:> vi /I file.txt 85×53 (V9990 interlace)
A:> vi /V file.txt 85×53 (V9938/V9958)
A:> vi /C file.txt 80×24 (console)
A:> vi /? help
Move: h j k l / cursorkeys, w b, 0 $ ^, G, gg, 5G / :5,
Ctrl-F / Ctrl-B. Edit: i a A I o O, x, r, dd, yy, p P,
counts (3x, 2dd, 10j), Backspace joins lines in insert-mode.
Undo: u (up to 32 actions, also 5u). Search: /text, after that n (wrap).
Ex: :w, :w filename, :q, :q!, :wq, :x, :e[!] filename, :<linenr>.
- Uses C-BIOS-systemfont of Eric Boon (2-clause BSD).
- One 16KB mapper-segment for undo-buffer; a delete bigger than ~16 KB cannot be undone (delete works; undo does not).
- Line-scroll uses hardware-scroll.
I learned a new term "Vibe-coding". This vi editor has been vibe-coded: I asked Claude to make it, so I claim no credit as I only had a dialogue with Claude. The result however is useful.
Use it at your discretion (or not), change it, enhance it, port it, play with it, etc... no reservations, no limitations (no guarantees either :-).
sjasmplus VI.ASM