My screen editors for the Commodore 128 and Plus/4: VDCSE and TEDSE

May 27, 2022

When I was making my Careers boardgame conversion, I was looking for a program that would enable me to edit screens for the Commodore 128 80 column mode, that would also support custom character sets and a bigger canvas size than just a 80x25 single screen.

For the 80 column mode of the C128, surprisingly little text graphics ulities have been written. The very few that I did find did not match what I needed: some did not run at all, most did not support a custom character set, none did support larger screen maps and all were awkward to handle. Also the very good online PETSCII editors like Lvllvl did not bring the specific things the 80 column mode can do like using two character sets at the same time.

For that reason I decided to write my own screen editor from scratch. I used inspiration from a tool made by the great Twilighte for the Oric Atmos, CD. Gathered routines I used for making my Ludo game. And dived into learning some 6502 assembly code, plus digging in the manuals to learn about coding for the C128 VDC chip.

With that, VDC Screen Editor was created. VDC Screen Editor is an editor to create text based screens for the Commodore 128 VDC 80 column mode. It fully supports using user defined character sets and allows the use of two 256 character character sets at the same time.

Main features of the program:

  • Support for screen maps larger than 80x25 characters. Screens can be up to 30 KiB (30.720 bytes), all sizes fitting in that memory with width of 80 at minimum and heigth of 25 at minimum are supported. NB: As both the character data as the attribute data needs to be stored, a screen takes width times height times 2 bytes in storage. So 30k would fit up to 7 standard 80x25 screens to be distributed over width and height, so e.g. 2 screens wide and 3 screens high (160x75 characters).
  • Supports resizing canvas size, clear or fill the canvas
  • Support for loading two user defined charsets (standard charset and alternate charset, should be standard 'C64' charsets of 256 characters of 8 bits width and 8 bits height).
  • Includes a simple character editor to change characters on the fly and directly see the result in your designed screen (for editing a full character set one of the many alternatives for C64 character set editing is suggested).
  • Supports all the attribute values the VDC offers, blink, underline, reverse and alternate character set. For example the reverse attribute removes the need to have a reverse copy of every character set stored in the upper 128 positions of the character set, creating more positions that can be freely used to design own graphics.
  • 64KiB VDC memory only: An undo/redo system is included with up to 40 positions to go back or forward (depending on the size of the change in characters). As this uses a lot of memory, this feature is only available if 64 KiB of VDC memory is available (such as in the C128DCR).
  • Write mode to freely type characters with the keyboard, supporting all printable PETSCII characters and also supporting Commodore or Control + 0-9 keys for selecting colors and RVS On/Off
  • Color write mode to freely type attributes and colors
  • Line and box mode for drawing lines and boxes
  • Select mode to cut, copy, delete or repaint (only color or all attributes) the selection.
  • Move mode to scroll the screen contents (due to memory constraints only for the 80x25 viewport)
  • Palette mode, including visual PETSCII mode, to visually select characters and colors
  • Favorite slots to quickly select 10 favorite characters
  • VDC2PRG utility to convert a 80x25 VDCSE project to a stand-alone executable for the Commodore 128.

I use VDCSE now in my own projects, and created all screens for both VDCSE itself as Careers with it, including the scrolling gameboard of Careers.

To my joy, also others liked the tool, and even a first PETSCII release has been made with it: Peace (by Jab).

After finishing VDCSE, I was also experimenting with my recently acquired Commodore Plus/4 and also liked some coding for that machine. On top of that, I was curious what the 121 color palette of the Plus/4 could bring to PETSCII art. Therefore I decided to port VDCSE to a Plus/4 version, which came to be TED Screen Editor.

Both tools can be downloaded from my Github, including all source code.

Screenshots of VDC Screen Editor:

VDCSE Titlescreen

VDCSE actionscreen

VDCSE2PRG UI

Screenshots of TED Screen Editor:

TEDSE Titlescreen

TEDSE actionscreen

TEDSE2PRG UI

Share: