Main BIOS ========= v.1.25 * Changed: Progress bar now fills up in the conventional manner v.1.24 * Changed: Joystick gestures now auto-repeat (no need to release trigger) v.1.23 * Changed: Code refactoring v.1.22 * Changed: code refactoring * Added: optional splash screen vendor URL (for future use) * Fixed: If "SpartaDOS X" and/or "Graphical OS" slots are retitled, new names appear in contextual help v.1.21 * Added: SIO2BT mode - standard 19k IO with long SIO2BT timeout. Note that since 00 = off, 01 = HSIO, 10 = SIO2BT and 11 = HSIO+SIO2BT, the HSIO+SIO2BT setting from the prior BIOS version now silently becomes SIO2BT only and the user will need to adjust it. * Removed: Redundant code (menu-level help) v.1.20 (Release) v.1.16 * Added: Extra items discarded during parsing if menu capacity exceeded * Added: Range check on list and spinner data to prevent rogue values if different plug-in silently changes NVRAM bit usage v.1.15 * Changed: Maximum number of items per menu reduced to 12 * Changed: IORAM equates v.1.14 * Fixed: Missing Restore Defaults menu item * Fixed: Menu scroll bug v.1.13 * Fixed: False positive XEGS machine test when IDE Plus 2.0 present * Removed: VBXE test and hardware status from Incognito build (isn't needed and takes up too much space) * Changed: Reverted to observing hardware coldstart flag in Incognito BIOS when set (fallback to magic bytes when clear as per U1MB). Problems appear to be machine-dependent and one method probably has as much chance of working as the other. * Fixed: Boot redirection disabled in Colleen mode (since there's no PBI) v.1.12 * Changed: Minor cosmetic menu changes * Changed: ATR Swap Button option removed from Incognito PBI BIOS menu (Incognito ATR button is always functional) * Changed: Disk boot menu only available when HDD is enabled v.1.11 * Removed: XEX Loader menu (loader now appears in 'Save and Exit' menu) * Added: HSIO setup menu * Changed: 'Advanced Settings' menu renamed to 'BIOS Settings' v.1.10 * Added: "Z:" device handler toggle * Added: SDX "CONFIG.SYS" boot drive setting * Changed: Menus which don't completely fit on screen now scroll when selection is two items away from end of visible list v.1.09 * Changed: HSIO driver setup (SIO2BT mode dropped and absorbed by HSIO+SIO2BT mode) * Changed: HSIO now (optionally) applicable to all devices * Changed: PBI boot logo and HDD refresh options grey out when PBI is disabled v.1.08 * Changed: Menu size increased to 8 visible items with a maximum of 14 (with scrolling) * Changed: Menu reorganisation * Changed: BIOS and loader UI fully homogenised * Changed: Boot device shortcut key change to avoid debounce issues * Changed: Memory layout (BIOS menu now uses volatile PBI BIOS area) v.1.07 * Fixed: CPU frequency rounding up of second decimal place (stock NTSC measurement is now 1.79MHz instead of 1.78) * Fixed: Joystick state initialisation * Fixed: Reset and Esc behaviour when setup menu entered prior to first OS cold boot * Fixed: Cosmetic issue in boot menu * Changed: Default settings v.1.06 * Changed: Config save now syncs PBI boot drive to BIOS setting (previously just removed ATR boot drive override) v.1.05 * Fixed: Joystick and trigger jitter (input handler now uses shadows of hardware registers) * Changed: Keyboard debounce and auto-repeat code simplified v.1.04 * Fixed: Unsaved memory config changes propagating even if abandoned and causing OS crash when setup exited without reboot * Changed: SIO driver setup (HSIO and SIO2BT) * Changed: Confirmation dialogue now joystick friendly (OK/Cancel buttons) and defaults to 'Cancel' where loss of settings is possible * Changed: Menu data (further tokenisation) v.1.03 * Added: 'Long timeout' option in PBI BIOS Setup to explicitly configure SIO driver for SIO2BT * Changed: Menu handler now allows a maximum of 13 menu items (previously 12) v.1.02 * Fixed: Click sound when using joystick * Added: Proper joystick debounce and faster repeat rate * Changed: HDD write lock now allows Global or partition table HDD lock v.1.01 * Check for cold boot made when changing profiles (avoids crash when leaving setup via Esc) v.1.00 (Release) * Fixed: printf: %c with no field width ran wild * Changed: ASCII/Internal conversion removed * Changed: Splash screen and PBI BIOS notice now enabled by default * Added: Empty slot descriptions display 'Slot n' * Added: Plugin type and version displayed in System Info v.0.54 * Fixed: Reset forces reboot if required by saved settings (previously only leaving the menu via Esc did this) * Fixed: Garbage on Boot menu * Changed: Reboot forced if PBI BIOS, device ID, BASIC ROM or XEGS ROM changed (as well as SDX, OS, RAM size and GOS) * Changed: Help key no longer generates a key click * Changed: Screen timeout delay options removed (now fixed at 5 minutes) * Fixed: Screen garbage after cancelling forced cold reboot on leaving setup menu * Fixed: Restart no longer forced if OS, RAM, BASIC and SDX state is the same as on setup entry, even if different configurations were saved in the interim * Changed: Menu initialisation now called after config decoded but before copy is saved. Menu code no longer needs to worry about forced setup changes triggering false edits * Changed: Carry set on exit of menu update callback now triggers menu redraw * Changed: Internal config item bitmask dropped. Only the bitmask describing the target position in NVRAM is now required * Changed: copies of config (for config change tests and reboot dependency) no longer generated every reset. Only generated when BIOS setup entered v.0.53 * Fixed: Cosmetic menu glitch (caused by add-in code) * Removed: Shift+Reset option for cold boot (resolves contention over the function of this key) * Added: HDD partition table refresh hotkey option (Shift+Reset or disabled) v.0.52 * Removed: Launching of loader via SIDE button on Reset * Removed: Experimental single frame delay on Pokey switching test (hardware turned out to be broken) * Added: Key click option * Fixed: Typo v.0.51 * Fixed: Inadvertent banking in of SIDE external 16KB ROM on reset (real hardware only) v.0.50 * Added: experimental single frame delay on stereo Pokey switching test PBI BIOS ======== v.1.85 * Added: Mount command: D6 of Flags when set causes ATRs to be rotated (as per ATR button). Used by latest loader. v.1.84 * Added: 19k SIO2BT only mode (standard speed IO with long SIO2BT command timeout). Avoids polling delays when HSIO is not required. v.1.83 * Fixed: RTC bit-masking bug v.1.82 * Changed: DUNIT boot redirection only applied if DDEVIC = $3x * Changed: During boot, if drive swap can't be performed (if boot drive or D1: isn't a HDD partition), normal boot redirection performed * Changed: Drive swap filtering disallows mounted ATRs v.1.81 * Fixed: SIO boot DUNIT redirect bug v.1.80 (Release) v.1.78 * Fixed: IO vectors reset on OS coldstart instead of cold boot v.1.77 * Added: IO vectors - if changed - no longer revert to defaults on every system reset v.1.76 * Changed: SIO device IDs with bit 7 set now unhandled by HSIO (it is assumed 65C816 OS will handle such devices) v.1.75 * Added: ATR IO transfer hook (24-bit) at $D1B6 * Changed: Sector IO transfer hook vector ($D1B9) now 24 bit and executed in 65C816 native mode when MSB > 0 v.1.74 * Changed: HSIO now handles devices $20 and $A0 (APT physical disk device) in "Disks+PCLink" mode, since SIO2BSD responds to CUNIT = $21 v.1.73 * Fixed: Total disk capacity now derived from words 60-61 of Identify Device command rather than deprecated words 57-58 (which are also CHS capped) v.1.72 * Changed: PBI version notice skipped if HDD disabled regardless of SDX state (external cart could trigger it) v.1.71 * Changed: ATR code refactoring v.1.70 * Fixed: Diskinfo bug (ATR cluster number had bit 31 set if DD disk image had padding after boot sectors; thanks to Prowizard) v.1.69 * Fixed: Drive 1 swap bug * Fixed: DD ATR bug v.1.68 * Added: "Z:" device handler (compatible with IDE Plus 2.0 implementation - i.e. everything but TD line) * Added: Separate SDX (CONFIG.SYS) boot drive * Changed: ATR handling completely rewritten * Changed: Inter-bank JSR calls reduced from six to five bytes * Changed: PBI version notice now appears under SDX regardless of which SDX bank is present when OS boots * Fixed: SIO2BT polling now succeeds even if device responds to Get Status with a NAK error * Fixed: Boot drive override now applies even if HDD is disabled (allows selective bypassing of HDD boot when SDX is off) v.1.67 * Fixed: SIO2BT and HSIO bugs v.1.66 * Added: SIO2BT speed poll * Changed: HSIO device filtering v.1.65 * Fixed: Get PERCOM returning a NAK error * Changed: IORAM layout (main BIOS now uses volatile area in $D1xx) v.1.64 * Changed: PCLink (ddevic = $61, dunit = $0F) SIO handling now only enabled when SIO driver applied to "All+PCLink" v.1.63 * Changed: SIO2BT long timeout now applied to all devices aside from 'New Poll' and cassette * Removed: SIO2BT auto-detection (proved unreliable using stock timeout) * Fixed: SIO2BT handling based on setup data * Changed: SIO2BT setting now enables long timeout and reduced retry on every drive, but still polls for high speed * Changed: SIO driver configuration bits * Changed: Boot-time CF detection and ejected card handling * Changed: Code refactoring (footprint reduction) v.1.62 * Added: high-speed SIO: fixed timeout of $10 (for SIO2BT) if device responds with speed code $28 (standard) * Fixed: Subtle bug in FAT16 EOF checking * Changed: Sector Offset variable reduced from 4 bytes to 1 (previously cast as dword for 32-bit math macros) * Changed: Sectors per cluster count reduced from 4 bytes to 1 * Changed: FATOffset variable jettisoned (saving a further 2 bytes of IO RAM) * Added: hook vectors for sector transfer and complete SIO call. This mechanism is similar to that found in the IDE Plus BIOS, and enables replacement of the entire PBI SIO function or just the sector transfer routines by - for example - code loaded into 65C816 fast RAM. v.1.61 * Fixed: Fixed DD boot sector write bug * Changed: code reorganisation v.1.60 * Fixed: Incorrect setting of MEMTOP when disabling BASIC * Changed: DD partitions now only transfer 128 bytes for sectors 1-3 v.1.59 * Fixed: Inadvertent banking in of SIDE external 16KB ROM when ATR swap button pressed v.1.58 * DUNUSE reinstated for compatibility with 24-bit SDX sector addressing when not using XDCB * Dropped CIO call to open screen editor when disabling BASIC on boot * BASIC disable also sets MEMTOP Loader ====== v.1.29 (Release) * Fixed: Uninitialised RAM issue * Changed: Disk-based version always saves config data to SIDE cart NVRAM v.1.28 (Beta) * Added: Disk-based XEX version v.1.26 (Beta) * Fixed: browsing during search (broken in v.1.25) v.1.25 (Beta) * Changed: Search facility now scans folder tree recursively from current logged folder down * Changed: Mounted ATRs in drives menu now show names where possible (names are picked up during searches and directory logging) * Changed: ATRs may be rotated via a new menu option * Changed: Mounted partitions now display their partition ID in the drives menu * Changed: Extensive code reorganisation and shrinkage * Added: [BASIC] Metatag in filename causes BASIC to be silently enabled when loading v.1.21 * Added: Shift+Left Wedge ('<') now opens the parent directory in the FAT file list * Fixed: OS interrupt vectors corrupted after screen-saver cleared v.1.20 (Release) * Fixed: Deleted entries not filtered out of CIO FAT FMS directory listing * Fixed: Dimming of unmount menu items depending on PBI presence and media ejection v.1.14 * Fixed: Minor directory handling bug * Fixed: Broken FAT FMS option v.1.13 * Changed: FAT Volume name and path displayed in title area of file list * Changed: APT displays "APT" in partition list title area when open * Fixed: Rogue write (mangled NMI code when equates happened to change) * Fixed: Much redundant code and equates removed, allowing better use of ZP (thereby making room for latest enhancements) v.1.12 * Fixed: Global shortcut for "Undo mounts" (Ctrl-U) did nothing at all (thanks ProWizard) v.1.11 * Removed: Reverse alpha sort order * Added: Option to suppress grouping of folders at start of list (enables speed-searching of folder names) * Fixed: Joystick control (broken in 1.10 by revised keyboard shortcuts) v.1.10 * Changed: Page up/down moved to Shift-Ctrl-up/down arrows * Changed: Ctrl-up/down arrows now work as up/down * Changed: Select/Option now duplicate page up/down * Changed: Ctrl-H jumps to start of list, Ctrl-E to end of list * Addded: 1200XL function keys (F1-F4 = up/down/left/right, Shift+F1-F4 = page up/page down/home/end, Ctrl+F1-F4 = tag/set drive/next setting/prev setting) v.1.09 * Fixed: SIDE1 bug (spurious write to SIDE2 card removal flag address) * Changed: FAT Cluster chain EOF check (refactoring for code size) v.1.08 * Changed: UI homogenised across main BIOS and loader * Fixed: ZIOCB buffer length bug in FMS v.1.07 * Fixed: Joystick state initialisation * Changed: NVRAM defaults (key click and screen timeout are now enabled by default) v.1.06 * Fixed: Cart init didn't reset loader to lower bank (caused occasional crash on system reset) * Fixed: Bug in screen clear routine * Fixed: SIDE2 CF card hot-swapping now brings display out of idle state * Fixed: Joystick and trigger jitter * Fixed: (FMS) File mask not being applied to directory reads (always assumed "*.*") * Fixed: Anomalous menu behaviour when loader started with CF card ejected or no SIDE cart at all * Changed: Device list now shows "No Media" when card is removed * Changed: Device list now becomes empty when no SIDE cartridge is present * Changed: CF card initialisation and removal detection cleaned up v.1.05 * Fixed: Info menu items un-dimming when exiting screensaver * Changed: Last selected item now persists when moving between menus * Fixed: combat console key jitter on real hardware (since v.1.04) * Fixed: joystick control bugs introduced in v.1.04 v.1.04 * Fixed: Click when using joystick * Fixed: Filename scroll delay reset when using joystick * Fixed: Inconsistent clearing of search string * Added: Esc clears search string * Added: Joystick debounce and faster repeat rate * Added: Console key navigation (Start = list top, Select = page down, Option = page up) * Changed: Slight increase to long filename scrolling rate v.1.03 * Fixed: NVRAM access not working on SIDE stand-alone loader v.1.02 * Added: Drive mount list greys out when card is pulled v.1.01 * Fixed: Issue with FAT lists containing more than 250 entries (thanks to Konrad Mrozek) * Changed: ASCII/Internal conversion LUT removed * Changed: "banner" screensaver implemented (same as main BIOS) v.1.00 (Release) * Fixed: broken BASIC program loading * Added: Loading of COM and EXE files v.0.44 * Changed: ATR entries no longer displayed if PBI BIOS is off * Fixed: Crash when backing out of folder on second page or beyond v.0.43 * Changed: Help key no longer generates a sound when key click is enabled v.0.42 * Added: Confirmation message following "Undo mounts" * Added: Screen timout (optional; blaks display after five minutes) * Changed: Reboot shortcut key. Now "Restart" and on Ctrl+R * Added: BASIC toggle (persistent - Ctrl+B) * Added: New file type "MAP". Plain Windows/DOS text file containing EOL terminated ATR mounts (D1:long filename.atr) * Added: Ctrl+Return on MAP file mounts without reboot. Return on its own mounts then reboots machine. * Fixed: MEMTOP improperly set when disabling BASIC * Added: Key click option v.0.41 * Added: Antic registers cleared prior to XEX load v.0.40 * Fixed: Memory clear erasing part of loader code when FAT CIO file system handler disabled * Added: GTIA registers cleared prior to XEX load (fixes player width issues in games like Shamus which fail to initialise player width) v.0.39 * Fixed: Ctrl-U (Unmount all) keyboard shortcut * Fixed: MEMLO not set correctly when FMS disabled * Fixed: Directory buffer overflow not properly handled * Fixed: "Help" menu title disappearing when long filename scroll countdown timer reached zero * Fixed: FMS: file catalogue corrupt if called on subdirectory * Changed: Directory buffer now starts immediately after data in low RAM instead of at $4000 * Changed: LFN scrolling delay adjusted from 50 jiffies to 40 * Changed: LFN scrolling speed increased (was 10 jiffy delay, now 8) * Changed: Changing directory sort order now results in a re-read of the catalogue the next time the file list is displayed * Changed: Memory move and clear routines rewritten for brevity and speed * Changed: Top of XEX loader reduced to $0A6A * Changed: Top of FAT CIO handler reduced to $104B * Added: Loader support for 8K ROMs * Added: Copyright notice v.0.38 * Fixed: Bits 16-23 of sector number not properly cleared in FAT16