EN /HU | Login

WARP64U

WARP64U is the Teletype Games store on the Commodore 64, what DOSINST is on a DOS machine: it lists our C64 titles, installs and updates them on a disk drive over the network, and starts them. The current release is 0.1.1.

It reads the C64 shelf of the WarpEngine over plain HTTP, http://archive.teletypegames.org/C64/, so it runs on any C64 with a network, not only on an Ultimate. WARP64U is on the same shelf itself, so it can update itself too.

What it needs

  • A network, one of:
    • an Ultimate (C64 Ultimate, Ultimate 64, 1541 Ultimate-II+) with the Command Interface turned on in its menu. Written from the documentation, not yet tried on hardware.
    • a SwiftLink (or Turbo232) cartridge with a WiFi modem that dials ATDT host:port (Zimodem, WiModem232 and the like), 38400 baud, RTS/CTS.
    • an RR-Net or ETH64 cartridge with DHCP on the network; WARP64U brings its own TCP/IP stack, ip65.
  • A disk drive the KERNAL can write: a 1541/1571/1581, an SD2IEC, a Pi1541, the drives of an Ultimate.

Install and start

Take warp64u-<version>.prg from the releases (or WARP64U.PRG from http://archive.teletypegames.org/C64/), put it on a disk as WARP64U, then:

TXT
LOAD"WARP64U",8,1
RUN

It finds the network (an Ultimate, then a modem, then an RR-Net/ETH64), reads the shelf and shows it beside what is on the disk. A title is installed, an update (the server has another version) or local only.

Key
CRSR up/down choose a title
RETURN install, or update to the server's version
R start the title (LOAD and RUN go through the keyboard buffer)
DEL remove it from the disk (asks first)
F1 read the shelf again
RUN/STOP stop a download; in the list, quit
Q quit

How it installs

  1. GET /C64/INDEX.TXT over HTTP/1.0; each line is file|version|size|crc32|title|author|description.
  2. The title is downloaded to NAME.TMP as it arrives, with its CRC-32 computed on the way.
  3. Only if the size and the CRC-32 match: S0:NAME, then R0:NAME=NAME.TMP. Otherwise the temporary file goes and the installed version stays.
  4. WARP64U.IDX, the list of titles installed on this disk, is written last.

Settings

An optional WARP64U.CFG (SEQ, KEY=value lines) next to the program: HOST, PORT, PATH, NET (uci, modem, ip65 or auto), DRIVE (by default the one WARP64U was loaded from) and DIR (an SD2IEC folder).

Development

C with cc65; make builds the PRG and a D64, make test runs the host tests (the store and HTTP layers against a small test server). scripts/vice-modem.sh starts it in VICE with an emulated SwiftLink, connected to a Hayes modem emulator (host/modem.py) that dials the real archive. A tag vX.Y.Z makes the Gitea release and publishes to the WarpEngine, which puts it on the C64 shelf.

Related: DOSINST, the same idea on DOS; FTP server, which serves the archive; WarpEngine, whose shelves build the INDEX.TXT.