prodos-drivers/selectors
Joshua Bell 9590bc4b9e BuhBye: Cycle through volumes after the boot volume more intuitively
Previously, the boot volume was shown first, but then tab would cycle
from the highest priority volume to the lowest. This would be awkward
if the boot volume was not the highest priority volume. For example,
with these devices (listed lowest to highest priority, like DEVLST),
/HD1 is the boot volume but the RAM disks are highest priority:

(low) /FLOPPY2 /FLOPPY1 /HD4 /HD3 /HD2 /HD1 /RAMWORKS /RAM (high)

Prior to this fix, it would cycle:

/HD1 /RAM /RAMWORKS /HD1 /HD2 /HD3 /HD4 /FLOPPY1 /FLOPPY2 /RAM ...

After this fix, it will cycle:

/HD1 /HD2 /HD3 /HD4 /FLOPPY1 /FLOPPY2 /RAM /RAMWORKS /HD1 ...

To fit, a little bit of code golfing was necessary.
2022-09-01 20:38:07 -07:00
..
bbb.system.s
buhbye.system.s BuhBye: Cycle through volumes after the boot volume more intuitively 2022-09-01 20:38:07 -07:00
bye.system.s
Makefile
README.md
selector.system.s

ProDOS Program Selectors ("BYE" commands)

The ProDOS operating system for the Apple II personal computer line supported a quit routine (invoked from BASIC with the BYE command) allowing the user to launch a new system file once previous system file had exited.

This selector code evolved over time, and the memory location that the routine was stored at was documented, allowing users to install customized versions coded to fit within a mere 768 bytes.

ProDOS 1.0 through 1.8 - Selector

The earliest versions of ProDOS supported a simple 40-column-friendly selector prompting:

  • ENTER PREFIX (PRESS "RETURN" TO ACCEPT)"
  • ENTER PATHNAME OF NEXT APPLICATION

This was not particularly user friendly.

If you want to use this selector with any version of ProDOS, add the SELECTOR.SYSTEM file to your boot sequence. You can follow it with QUIT.SYSTEM in your driver sequence to show the selector on startup.

Bird's Better Bye

Alan Bird wrote a replacement called Bird's Better Bye that would patch itself into ProDOS. Directories and system files could be selected with arrows keys and the Return key, Escape would back up a directory level, Tab would change drives. This also functioned in 40 column mode.

If you want to use this selector with any version of ProDOS, add the BBB.SYSTEM file to your boot sequence. You can follow it with QUIT.SYSTEM in your driver sequence to show the selector on startup.

ProDOS 1.9 and 2.0.x - 80-column Selector

ProDOS 1.9 introduced a much improved menu-driven selector showing a list of files and allowing navigation of the file system with the keyboard. Directories and system files could be selected with arrows keys and the Return key, Escape would back up a directory level, Tab would change drives. This required 80 columns and a 65C02 processor, and took advantage of the MouseText characters to show folder glyphs for directories.

If these versions of ProDOS were started on systems without 40 column support, the previous version of the selector would be loaded instead (both were present in the PRODOS system file.)

If you want to use this selector with any version of ProDOS, add the BYE.SYSTEM file to your boot sequence. You can follow it with QUIT.SYSTEM in your driver sequence to show the selector on startup.

This was inspired by the work of Dave Cotter who created a similarly named file to patch the selector back in. It can be found at: http://www.lazilong.com/apple_ii/bye.sys/bye.html

ProDOS 2.4 - Bitsy Bye

The new (unofficial) releases of ProDOS 2.4 by John Brooks include a replacement quit routine called Bitsy Bye, a collaboration with Peter Ferrie. This new quit routine is far more powerful, allowing access to BASIC and binary files (and more), drive selection, type-down, more entries, and so on. It uses only 40 columns, and does not require a 65C02 processor.

If you want to use this selector, use a version of ProDOS 2.4 from https://prodos8.com/

Buh-Bye - Enhanced 80-column selector

Since I prefered the look of the ProDOS 80-column selector to Bitsy Bye, but missed the type-down ability, I modified the 80-column selector to tighten up the code added seeking if an alphabetical key is typed. Hit 'C' and the list will scroll to the next file starting with 'C'.

I erroneously thought that the ProDOS 80-column selector was Bird's Better Bye and named this "Bell's Better Bird's Better Bye" or "Buh-Bye".

If you want to use this selector with any version of ProDOS, add the BUHBYE.SYSTEM file to your boot sequence. You can follow it with QUIT.SYSTEM in your driver sequence to show the selector on startup.