Technical documentation

Firmware, API, networking, and library notes from the MegaFlash repository. Open an article to read it here, or use “View source .md on GitHub” to edit the file upstream.

MegaFlash Firmware – Concise Summary

**MegaFlash** is an internal storage and I/O card for the **Apple IIc / IIc+**. It plugs into the Memory Expansion slot and is built around a **Raspberry Pi Pico (W)** plus **Winbond NOR flash**, with a **GAL** for address decode. The 65C02 only moves data between its RAM and …

MegaFlash ROM Patches – Description

The **firmware** folder contains **Apple IIc / IIc+ system ROM patches**. The IIc has no slot ROM socket; $C100–$CFFF is internal ROM only. MegaFlash therefore **replaces** the built-in “Memory Expansion” (Slinky) firmware in **virtual slot 4** by patching the original ROM and…

Uthernet II Emulation on MegaFlash

This document describes the Uthernet II (W5100) emulation implemented in the MegaFlash firmware. Slot selection uses the **default MegaFlash bus behaviour** (no GPIO slot-select pin); the card responds when the bus is active for its slot.

Uthernet II stack — architecture review, contracts, and open work

This document supplements `docs/Implementation-notes-and-reasoning.md` (§1j–§1ak, §1az) with a consolidated **data-path view**, **diagrams**, **function contracts**, and a **prioritized TODO list** with **validation checklists**. Primary sources: `pico/uthernet2.c`, `pico/uthe…

C0x Register Comparison: Uthernet II vs MegaFlash

Both the **Uthernet II** (AppleWin emulation) and **MegaFlash** (hardware) use the same Apple II slot I/O region and decode the same **low 2 address bits** for their first four registers. So from the 6502’s point of view, the **first four C0x locations have the same address la…

ip65 Stack and MegaFlash Uthernet II Integration

**Goal:** Make the [ip65](https://github.com/cc65/ip65) TCP/IP stack work with MegaFlash’s Uthernet II (W5100) emulation. **No changes to ip65.** The MegaFlash Uthernet II emulation must satisfy ip65’s expectations.

Implementation Notes and Reasoning

This document records the thinking, root-cause analysis, design decisions, and dead ends from work on the MegaFlash Pico firmware (Uthernet II, build, GPIO, C0C4 visibility). It is intended for future maintainers and for debugging similar issues.

MegaFlash cc65 Library

This library gives cc65 programs (Apple IIc / IIc+) a small, C‑friendly wrapper around the **MegaFlash** `$C0C0` command interface: