A general purpose ASM libriary for the Apple II. Assembled in Merlin 8 Pro
Go to file
nathanriggs 9849dbb5ea created disks folder
items in disk folder will be updated automatically, whereas items in the source folder will be updated periodically due to having to manually sort through files to copy and paste
2018-11-03 14:59:24 -04:00
bin housekeeping 2018-10-31 21:38:38 -04:00
disks/disk1__stdio_common created disks folder 2018-11-03 14:59:24 -04:00
source added first common.lib 2018-11-01 21:19:10 -04:00
LICENSE
README.md updated readme 2018-11-01 21:37:10 -04:00
README.md~ updated readme 2018-11-01 21:37:10 -04:00

AppleIIAsmLib

A general purpose ASM libriary for the Apple II. Assembled in Merlin 8 Pro

Introduction

This is a general purpose library in 6502 Assembly for the Apple II. I am learning both Git and Assembly for the first time as I create, update and maintain this, so expect some mishaps: wasted CPU cycles, weird documentation, accidental catastrophes, and so on. I am using Merin 8 Pro (DOS 3.3) for this project, but this should be fairly easy to convert to other assemblers as well as other 6502-based systems.

Ultimately, my aim is to create a large enough collection of routines to address any domain of development for the Apple II family in Assembly. I will be heavily relying on texts like Roger Wagner and Chris Torrence's Assembly Lines and Lance Leventhal's 6502 Assembly Language Routines, as well as a plethora of online sources. I'll do my best to acknowledge when a routine is inspired by (or mostly copied from) another source, and will exclude them from the Appache License 2.0 when necessary. If you find your own source here, but would rather it not be here, please reach out to me and I'll remove it immediately.

Planned libraries include, along with associated Macros:

CORE DISK

  • stdio.lib: Standard Input/Output library.
  • common.lib: Common, useful subroutines: memory swaps, etc.

MATH DISK

  • math.lib: Integer Math Library.
  • fpmath.lib: Floating-point Math Library.

IO DISK

  • fileio.lib: File Input/Output Library.
  • 80colstdio.lib: stdio library for 80-column display.

DATA DISK

  • strings.lib: Library for managing strings.
  • arrays.lib: library for managing arrays.

LORES DISK

  • lores.lib: Library for fast(er) graphics in low resolution mode.
  • dublores.lib: Library for double-low-resolution graphics.

HIRES DISK

  • hires.lib: Library for fast(er) graphics in high resolution mode.
  • dubhires.lib: Library for handling graphics in double-high-resolution mode.

HIRES DISK 2

  • hireschar.lib: High Resolution mode text character library.
  • hiresshapes.lib: Routines for creating lines, circles, etc.

MISC DISK

  • sound.lib: Music and sound effects library.
  • applesoft.lib: Library for interfacing ASM programs with Applesoft BASIC.

UTIL DISK

  • various useful utilities

COMPACT DISK 1 (and maybe a second one)

  • every routine, separately packaged, without comments.