https://github.com/lampmerchant/macseadb88
Firmware for PIC16F88/87 as a drop-in replacement for the Macintosh SE's stock ADB controller.
https://github.com/lampmerchant/macseadb88
firmware keyboard macintosh mouse pic-assembler retrocomputing
Last synced: 4 months ago
JSON representation
Firmware for PIC16F88/87 as a drop-in replacement for the Macintosh SE's stock ADB controller.
- Host: GitHub
- URL: https://github.com/lampmerchant/macseadb88
- Owner: lampmerchant
- Created: 2023-01-22T15:07:40.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-16T12:51:39.000Z (about 1 year ago)
- Last Synced: 2025-03-16T13:36:02.033Z (about 1 year ago)
- Topics: firmware, keyboard, macintosh, mouse, pic-assembler, retrocomputing
- Language: Assembly
- Homepage:
- Size: 12.7 KB
- Stars: 22
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# macseadb88
Drop-in replacement for the Macintosh SE's stock ADB controller. Rough adaptation of original PIC1654S code.
## Status
The adapted binary is known to work on the DIP packaged PIC16F87 and PIC16F88 as a drop-in replacement for the Macintosh SE's ADB controller. With an adapter and other packages, it can work on other Macintoshes as well.
My annotation of the disassembled code is only partially complete. Anyone who wants to pick up the effort from here is more than welcome, as I may never get to it. :)
## Caveats
The PIC1654S executed one instruction cycle to eight clock ticks, the PIC16F88/87 execute one instruction cycle to four clock ticks, meaning that the external clock cannot be used without extensive changes to the original code. As such, the adapted code uses the PIC16F88/87's internal oscillator at 2 MHz, which winds up being slightly faster than the PIC1654S driven at ~3.6 MHz. If this seems to be causing trouble in your setup, see [this](https://github.com/lampmerchant/macseadb88/issues/1) issue for a potential solution.
This implementation is known to fail the Apple TechStep ADB test, per [this](https://github.com/lampmerchant/macseadb88/issues/2) issue, probably due to the clock speed difference.
## Download
[Click here.](https://github.com/lampmerchant/macseadb88/releases/download/20230122/macseadb88.HEX)