krüe :: sixtyfive

sixtyfive

overview

sixtyfive is a forth-style cross assembler for 65xx processors. While sixtyfive can be used to create code for any system which uses a 6502, 65c02, or 65c816 processor, it's intended target is the Apple II. To this end, there is support for IIgs resources, OMF files, ToolBox calls, and writing to ProDOS disk images.

requirements

sixtyfive requires an ANS forth on the host system. The author uses gforth.

download

sixtyfive-2026.07.25.tar.gz

New library routines for 40 column text mode.

Miscellaneous new 8 bit definitions: key escape codes and VBL register.

Miscellaneous new IIgs bit definitions: mouse, command, sound, interrupt, and video counter registers.

Miscellaneous new resource type definitions.

New xmove and ymove macros which move bytes without clobbering the accumulator.

New #move2a and #load2a macros for loading addresses as immediate data.

New shift and rotate macros: lshift, rshift, lrotate, rrotate, lxrotate, and rxrotate. The two variations of rotate macros differ in whether they expect the carry bit to already be set up.

New macros for forward branches.

NakedOS support can now delete and initialize.

Define NakedOS well known addresses: slot/drive, last file, catalog, and app load location.

Include binaries for NakedOS 1.2B. This version fixes a bug which caused certain write operations to hang when the disk was nearly full. The fix was obtained via email with Martin Haye in 2014.

ProDOS support for extended files and lowercase filenames.

Include binaries for ProDOS 1.9 and ProDOS 2.0.3.

New assembler directive to align to a power of two.

Refactor ts! to support writing strings without length byte or null terminator.

New assembler directive to write a segment by filename.

Assembler support to generate tables for 8bit relocators.

New assembler directive to export a symbol.

New template for a GS/OS desktop application.

sixtyfive-2014.01.04.tar.gz

Miscellaneous new 8 bit definitions: prntx and text window direct page locations.

Miscellaneous new IIgs bit definitions: ADB modifier and status registers.

New standalone script which converts the sector order of floppy images from the command line. The existing sector conversion support was limited to operating on assembler segments.

New higher level interface for creating ProDOS images. Includes volume and subdirectory creation and allocation of directory entries.

New example OVERLAY40 which overlays one 40 column text screen over another.

New example REVERSEDUET which reverses an Electric Duet file. This program was used to create the back side of Drift.

New example REVERSEHGR which reflects a HIRES image about the origin.

New example SHOWKEYS which displays keypresses.

Refactored the cmp macro to support arbitrary operand widths and to work with both 8 and 16 bit accumulator modes.

Improved NakedOS support to write files from the host filesystem as well as assembler segments.

Fixed an issue when using else, in 6502 mode. else, now generates an absolute jump instead of a branch always in this situation. bra, is only available on the 65c02 and 65c816 processors.

sixtyfive-2012.10.20.tar.gz

New example LOADDUET, which is the loader stub used in my Electric Duet plugin for 1tracker.

New support for creating NakedOS filesystems.

New support for converting between physical, dos33, and prodos sector orders. (Useful for creating images for NakedOS, which uses physical sector order.)

sixtyfive-2012.07.20.tar.gz

New support for creating Electric Duet music. An example song is included.

sixtyfive-2012.05.10.tar.gz

New test project CURIOS demostrating ProDOS image creation.

New example VIEW40 which copies a buffer to $400 while avoiding screen holes.

sixtyfive-2012.05.03.tar.gz

Initial release. All code. No docs. My apologies.