Commodore Color Graphics Manipulation System Terminal
by Craig Smith (1985-1988), alwyz (2017-2020), Michael Steil (2022)
- based on 5.5 source by Craig Smith 01/1988.
- 2017/2018/2019/2020/2021 mods by alwyz
- cleaned up and converted to ca65 by Michael Steil, 2022 (refer to branch ccgmsterm2021 for the last alwyz version)
- further improvements by Michael Steil
-
40 column color PETSCII and ASCII/ANSI terminal modes
-
Serial drivers
- user port (300-2400 baud)
- UP9600 (300-9600 baud)
- SwiftLink $DE00/$DF00/$D700/NMI (300-38400 baud)
-
File transfer protocols:
- Punter
- Multi-Punter
- XMODEM
- XMODEM-CRC
- XMODEM-1K 🔴
-
Correct timing for NTSC and PAL 🔴
-
Phone book
- stores BBS addresses, user names, and passwords
- autodialer
-
Configuration and phone book load/save
- disk
- EasyFlash Cartridge
-
DOS command and directory function (drives #8-30)
-
Macros
-
Screenshots
-
Themes
-
REU buffer (64 KB)
- RR-Net support
- WiC64 support
- 80 column support
- YMODEM/ZMODEM/HMODEM protocols
- IDE64 compatibility
- Additional cartridges (e.g. Lt. Kernal)
- 100% support for hardware acceleration devices (SuperCPU etc). Certain conditions may affect file transfer handshake timing.
- Fixed User Port timing for PAL
- Fixed UP9600 timing for PAL
- Implemented XMODEM-1K
- protocol XMODEM-1K forces 1K on upload
- any XMODEM protocol will accept 1K blocks on download
- XMODEM-CRC autodetect on upload
- protocols XMODEM-CRC/-1K will force CRC on download
- any XMODEM protocol will accept CRC on upload
Build with make & ca65.
Regular build:
make
EasyFlash build:
EASYFLASH=1 make
The EasyFlash version gives you the option of loading/saving the phonebook to cart and removes Swiftlink.
In either case, the resulting file will be build/ccgmsterm.prg
.
by Craig Smith
- version 3.0 -- aug 1985
- version 4.0 -- date unknown (mods by greg pfoutz,w/permission)
- version 4.1 -- oct 1986
- version 4.5 -- may 1987
- version 5.0 -- jan 1988
- version 5.5 -- jan 1988
- 2017 by alwyz
- 2019 by alwyz
- 2019 by alwyz
- first public beta. rewrite of pretty much everything....
- file transfers finally incorporate flow control. they never did before.
- resetvectors removed.
- re-wrote and optimized all modem drivers.
- removed a bunch of spaghetti code of my own making...
- f3 disablexfer improvements
- multi-receive disablexfer imrovements / trying to prevent crashing on multidownloads (noted on up9600)
- added punter handshake delays from ultimate version back in. baudrates faster than 2400 are definitely having problems with handshakes so its back!
- added jsr call to rsopen to baudrate changer. see if that fixes some weirdness
- found a bug on the original punter sourcecode that incorrectly references var "delay" as delay 1 on 0 off, but in truth it is 1 off 0 on, so ive set both to delay on now update... ahh fuck it, no matter what, add delays every chance we can.... i disabled every opportunity to bypass delay around pnt106.
- fixing some possible issues with multi-upload. crashes between files. enablexfer not getting turned back on at the right time?
- re-did cf1 multi-upload enable/disablexfer calls... seems good now
- merged easyflash version into this one. only added 2 blocks. easier for maintaining
- still have some room from $5000-$5100 for more code/routines if need be. And can always add more code at $5c00 before the end
- did some tweaks to autodialer. try counter now works to 99, and dial unlisted had some weird issues with that so that has been sorted as well.
- found one bug in the bottom screen display routine which has probably been there since ccgms 2017, but its good now.
- easyflash false positive with reu detect. since ef and reu cant work together, added provisions at startup to prevent easyflash mode from even looking for an reu
- doing some bugfixing. dial unlisted doesnt restore bottom of screen after dial. now it does. cosmetic fix.
- abort punter crashes stack pointer because i bypassed jump table and apparently that is neccessary so its back in the calls from dowmen and f3 routines.
bo zimmermans firmware (and maybe others) take issue with atdt, and prefer using atd instead for bbsing (uploads/downloads issue). hopefully this is the only issue with firmware compatibility. willing to solve this issue on the software side, though i'd prefer firmware uses a better standard. but fuck it, it's 2020 and who gives a shit anymore about standards on an 8 bit computer from the 1980s? so i added an atd/atdt menu option
- Punter stack and Unlisted dialer bugs have been eliminated
- Support in autodialer for Zimodem and related WiFi device firmware that prefer an ATD prefix to ATDT.