From f489231464a05645e9b04250bedb780f6d3046fb Mon Sep 17 00:00:00 2001 From: mgcaret Date: Sat, 8 Apr 2017 14:31:52 -0700 Subject: [PATCH] experimental accelerator reverse for accel5x --- rom5x/B1_FD00_accel5x.s | 5 +++++ rom5x/README.md | 22 ++++++++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/rom5x/B1_FD00_accel5x.s b/rom5x/B1_FD00_accel5x.s index 0790cc6..a03c5ad 100644 --- a/rom5x/B1_FD00_accel5x.s +++ b/rom5x/B1_FD00_accel5x.s @@ -24,6 +24,7 @@ TESTBLD = 0 ; set to 1 to enable test code that runs in random XTRACMD = 0 ; set to 1 to enable extra accelerator speed commands ACCMENU = 1 ; set to 1 to enable accelerator menu ADEBUG = 0 ; turn on debugging (copies registers to $300 whenever they are set) +AOFFDFL = 0 ; accelerator off by default .psc02 .if TESTBLD @@ -404,9 +405,13 @@ cmdtable: .endproc ; AWSPD .endif IACWL: .byte %01100111 ; initial ACWL - same as $C05C +.if ::AOFFDFL +IACWH: .byte %01011000 ; initial ACWH - accelerator OFF. See below for bits +.else IACWH: .byte %01010000 ; initial ACWH - b6 = 1=paddle slow, b4 = reg 1=lock/0=unlock ; b3 = 1=accel disable, rest reserved by apple ; rom5x: b7 = state of DHiRes when accelerator was unlocked +.endif IREGV: .byte %01100111 ; Initial $C05C - slots & speaker: b7-b1 = slot speed. b0 = speaker delay .byte %00000000 ; Initial $C05D - $00 = 4MHz .byte %01000000 ; Initial $C05E - b7=0 enable I/O sync, b6=undoc diff --git a/rom5x/README.md b/rom5x/README.md index 6a0182c..7487967 100644 --- a/rom5x/README.md +++ b/rom5x/README.md @@ -1,13 +1,21 @@ # ROM 5X by MG -## PRELIMINARY, NEEDS MORE TESTING +## Consider it a step beyond beta :-) -*ll of the functionality, including the RAM Disk recovery and other functions, +*All of the functionality, including the RAM Disk recovery and other functions, appear to work correctly, but I would appreciate any feedback if something isn't workign for you.* This is ROM 5X, providing the ROM 4X functionality to the Apple IIc Plus ROM -version 5. +version 5, plus some basic control functions for the Apple IIc Plus accelerator. + +There are some build options in accel5x.s - some functional, others needing more +work, the most popular of which will no doubt be the option to reset the system +with the accelerator in the disabled state. The "extra commands" option will +currently fail to build because the code gets too large, and is really only for +experimental purposes. + +### Nitty Gritty There are almost no free bytes in the main bank of the IIc Plus firmware, so I had to get creative to get into the alternate bank, where I then had to split @@ -36,10 +44,12 @@ that change the default behavior of the Apple IIc Plus. Enable options by copying the files to the main directory. Disable the by removing the copied files. -### Accelerator Reverse +### (Obsolete) Accelerator Reverse -The accelerator reverse patch is a 1-byte patch that causes the IIc Plus to boot up -at the normal speed. +This option was obsoleted by the inclusion of Accel5X in the project. + +The accelerator reverse patch is a 1-byte patch that causes a IIc Plus with the +original Apple accelerator code to start at the "normal" 1 MHz speed. Pressing ESC at reset time will make the machine run at 4 MHz.