A tile-based game engine for the Apple IIgs written in 65816 asssembly language
Go to file
Lucas Scharenbroich bdb4006e22 APU fixed
* Fixed type that caused triangle linear counter to be ignored
 * Changed sweep to shift the current period, not the register value
 * Moved muting logic early to avoid setting DOC registers when not needed
2023-06-17 23:50:38 -05:00
.github/images Start adding some basic documentation on building from source 2022-02-24 21:54:11 -06:00
.vscode Update skeleon to show a pictire on-screen 2020-08-19 00:35:30 -05:00
archive Add an archive of the old GTE sources 2018-07-30 23:23:05 -05:00
demos APU fixed 2023-06-17 23:50:38 -05:00
docs Update sample code to use new STATIC_TILE macro 2023-05-03 07:50:22 -05:00
emu Final reorg; all projects build into a unified disk image for testing 2021-08-26 17:15:44 -05:00
macros Fix rendering bug that cause flicker when two sprites shared a block row 2023-06-07 23:42:48 -05:00
ORCACDefs Add helper macro for creating static tiles 2023-05-03 07:49:46 -05:00
ref Reorg files; focus on S16 artifact 2021-03-21 21:59:54 -05:00
src Move error check outside of loop 2023-06-17 12:33:22 -05:00
tools Checkpoint 2023-03-06 14:57:52 -06:00
_FileInformation.txt checkpoint 2023-01-02 11:04:26 -06:00
.gitignore Checkpoint with TF4 demo framework 2022-08-11 14:14:25 -05:00
build-image.bat Fix path to tool when building at the top-level 2022-07-24 21:20:33 -05:00
package-lock.json Upgrade to lockfile version 2 2023-03-09 09:19:10 -06:00
package.json Add additional npm script targets 2022-07-24 21:20:54 -05:00
README.md Revert 2023-06-17 12:43:19 -05:00


Generic Tile Engine for the Apple IIgs

A high-performance library for writing tile-based games for the Apple IIgs personal computer in 65816 assembly langugage. Unlock the full, 16-bit potential of the last machine of the Apple ][ line.

Introduction

The Generic Tile Engine (GTE) project is a tile engine built to exploit the unique hardware capabilities of the Apple IIgs personal computer. It supports the Apple IIgs super hires graphics mode (320x200, 16/256 colors) and provides two full-screen independent scrolling layers along with software sprites. The API and core functionality of the library is inspired by the graphics hardware of the NES/SMS/SNES/Genesis console era.

An overview of GTE was presented at KansasFest 2022.


Parallax scrolling of two full-screen static layers

Building from Source

The library iscurrently implemented as a set of source files that must be compiled into a GS/OS application. A set of example project can be found under the demos folder. Each demo folder uses a package.json file to define the build targets and a build of each application can be created by executing a npm run build command.

Each demo application has a build script that also builds the toolset and copies it, along with the demo S16 application file, to the target disk image.

Dependencies

  • node
  • merlin32 (1.1.10+)
  • cadius

GTE uses the merlin32 1.1.10 assembler to compile its source into GS/OS OMF files and Cadius to copy those files onto a ProDOS disk image. The paths to these tool can be set in the package.json file.

An empty 2MG disk image is included in emu/Target.2mg and is used as the default location for copying demo applications. This image can be mounted in any IIgs emulator.


Build of demo app in the IIgs Finder

Documentation

Please refer to the GTE Toolbox documentation.

References