From 36ff50158192e3dd03f217640fe21cbe9661a643 Mon Sep 17 00:00:00 2001 From: Christopher RYU Date: Thu, 7 Sep 2023 20:11:40 +0900 Subject: [PATCH] Document changes. --- bitsy.boot.s | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/bitsy.boot.s b/bitsy.boot.s index 75a4136..c51ea9a 100644 --- a/bitsy.boot.s +++ b/bitsy.boot.s @@ -2,13 +2,22 @@ ; Created: 2023-09-07 02:57:20 ; ; Stock BITSY.BOOT doesn't reliably work on my Franklin. -; It appears that the check for an open-Apple keypress on a pre-//e isn't -; reliably low/high -- same issue as console5's gamepad adapter. ; -; Defining PLUS_FIX at compile time moves the check for O-A to the end of the -; keypress matching routine. This does the right thing on my Franklin; I don't -; have a //e to test with, but the logic should be sound. And it only costs -; two extra bytes :) +; Because the open-Apple key is wired into the game port, machines without +; that key will falsely report that O-A is pressed when RDBTN0 is read. That +; effectively prevents booting from any slot, as O-A was tested first and +; thus branches to the GS/OS exit logic. +; +; Re-ordering the command key logic so that valid slot boot attempts are +; processed before O-A is tested results in a working BITSY.BOOT. While I +; was there, I eliminated redundancy and use MACHID to skip the O-A check on +; machines that don't have it (][, ][+, and clones thereof) +; +; This doesn't fix all cases -- MACHID doesn't distinguish between a //e with +; clock card and a IIgs, so hitting O-A/Q on that //e will crash the machine. +; So it goes. +; +; -- Chris RYU, 07 September 2023 .macpack apple2 .setcpu "6502"