Apple ][+#
Open 8bitworkshop IDE
Click here to program the Apple II in the 8bitworkshop IDE now!
Apple ][+ Specifications#
- Lifespan
1979-1983
- Media
Cassette tape, 5.25” floppy disk (Disk II)
- CPU
MOS Technology 6502 @ 1 MHz
- Memory
16K-64K RAM, 12K ROM (expandable)
- Display
40x24 text, 40x48 lo-res graphics (16 colors), 280x192 hi-res graphics (6 colors)
- Sound
1-bit speaker
- Input
Keyboard, paddle controllers, joystick
History#
The Apple ][+ was introduced by Apple Computer, Inc. in June 1979 as an enhancement to the original Apple ][ model, which was released in 1977. The Apple ][ series of computers were designed primarily by Steve Wozniak and marketed by Steve Jobs. The Apple ][+ added the Applesoft BASIC programming language, which was integrated into the ROM and replaced the Integer BASIC of the original Apple ][. The Apple ][+ also featured an improved keyboard, with keys for control characters and lowercase letters.
The Apple ][+ was successful in the early years of personal computing, especially in the education market. It was eventually succeeded by the Apple //e in 1983, which replaced the discrete IC-based circuitry with a single ASIC chip.
Programming#
Applesoft BASIC was developed by Microsoft. It offered improved floating-point arithmetic and graphics commands compared to Integer BASIC. Integer BASIC was available by loading it into the optional Language Card memory.
The 8bitworkshop IDE doesn’t include the original Apple ROMs, so BASIC is not available. Instead, you can program in 6502 assembler or in C with the CC65 compiler tools.
Memory Map#
Address Range |
Description |
---|---|
|
Zero page |
|
Stack |
|
Input buffer, variables |
|
Free space |
|
DOS Vectors |
|
Text/Lores Page 1 |
|
Free space |
|
Hires Page 1 |
|
Hires Page 2 |
|
Free space |
|
I/O switches and softswitches |
|
ROM (Applesoft BASIC, Monitor) |
I/O Switches and Softswitches#
The Apple II uses memory-mapped I/O with “softswitches” - reading or writing specific memory addresses toggles hardware features:
Address |
Function |
---|---|
|
80STORE (80-column card memory mapping) |
|
RAMRD (read from auxiliary memory) |
|
RAMWRT (write to auxiliary memory) |
|
INTCXROM (internal ROM for slot C1-CF) |
|
ALTZP (alternate zero page) |
|
SLOTC3ROM (slot 3 ROM) |
|
80COL (80-column display) |
|
ALTCHARSET (alternate character set) |
|
80COL (80-column display on/off) |
|
ALTCHARSET (alternate character set on/off) |
|
Graphics mode |
|
Text mode |
|
Mixed graphics/text off |
|
Mixed graphics/text on |
|
Text page 1 |
|
Text page 2 |
|
Lo-res graphics |
|
Hi-res graphics |
|
Annunciator 0 off |
|
Annunciator 0 on |
|
Annunciator 1 off |
|
Annunciator 1 on |
|
Annunciator 2 off |
|
Annunciator 2 on |
|
Annunciator 3 off |
|
Annunciator 3 on |
|
Push button 0 (paddle button) |
|
Push button 1 (paddle button) |
|
Push button 2 (paddle button) |
|
Paddle 0 X coordinate |
|
Paddle 0 Y coordinate |
|
Paddle 1 X coordinate |
|
Paddle 1 Y coordinate |
|
Paddle trigger |
Graphics Modes#
Text Mode (40x24)#
Standard text display using the built-in character set. Characters are stored in the text page starting at $0400
.
Lo-Res Graphics (40x48, 16 colors)#
Low-resolution color graphics with 16 available colors. Each byte represents two 4-bit pixels vertically stacked.
Hi-Res Graphics (280x192, 6 colors)#
High-resolution monochrome graphics with color artifacts. Uses two graphics pages at $2000
and $4000
.
Programming Examples#
The 8bitworkshop IDE includes numerous Apple II programming examples:
C Programming#
Sieve of Eratosthenes - Prime number calculation benchmark
Keyboard Test - Demonstrates keyboard input handling
Mandelbrot Set - Mathematical visualization
TGI Graphics Demo - CC65 graphics library demonstration
Eliza - Classic AI chatbot implementation
Siege Game - Strategy game example
Cosmic Impalas - Arcade-style game
Farmhouse Adventure - Text adventure game
Yum Dice Game - Dice rolling game
LZ4 Decompressor - Data compression utility
Assembly Language#
HGR Test - Hi-res graphics demonstration
Conway’s Game of Life - Cellular automaton simulation
LZ4FH Decompressor - Fast decompression routine
Delta Modulation Audio - Sound synthesis example
Development Tools#
CC65 Compiler#
C programs are compiled using the CC65 toolchain, which provides:
Standard C library support
Apple II-specific extensions
TGI (Tiny Graphics Interface) graphics library
Conio (console I/O) library
Assembly Tools#
DASM - Versatile macro assembler
Merlin32 - Apple II-specific assembler
CA65 - CC65’s linker-aware assembler
Memory Configuration#
Programs can be configured for different memory layouts using CC65 config files like apple2-hgr2.cfg
for hi-res graphics programs.
Disk Support#
The platform supports Apple DOS 3.3 disk images (.dsk files) containing multiple programs and data files.