Commit Graph
432 Commits
Author SHA1 Message Date
Ian Scott fb8638eca1 pgusinit quality of life improvements:
Restoration of prior pgusinit functionality:

- Case insensitive command line switches
- Bail out if there are errors detecting the card
- Bail out on firmware mismatch, but allow flashing new firmware

More QoL improvements:

- Generic paging interface that detects rows on screen
- /? and /?? are paged
- /cdlist uses new paging interface
2025-08-07 17:28:35 -06:00
Daniel Arnold 50d0da2aa3 Initialize with set_volume()
Restores volume settings with mode changes and resets.
2025-07-14 06:55:37 -06:00
Daniel Arnold 1c939997e9 Fix printUSBMode() typo 2025-07-08 06:57:32 -06:00
Daniel Arnold 93dc398b22 Consolidate all volume printf to printVolume() 2025-07-07 08:07:34 -06:00
Daniel Arnold a9892121f0 /cdlist paging 2025-07-06 19:48:30 -06:00
Daniel Arnold 262986d75e Fix /cdvol 2025-07-06 08:34:30 -06:00
Daniel Arnold 77f9a05681 Add /save into command parser 2025-07-06 08:31:24 -06:00
Daniel Arnold 123247d958 Remove no commands check 2025-07-06 07:20:26 -06:00
Daniel Arnold 5f2976550e Finish main() cleanup 2025-07-05 14:52:31 -06:00
Daniel Arnold c9868f0d25 Remove unused variables 2025-07-04 11:55:59 -06:00
Daniel Arnold 95419bbfbc Use gMode for main card mode
This name might be temporary, but separating the main card mode from register modes to help remove overlap.
2025-07-04 11:53:25 -06:00
Daniel Arnold 286b7f1481 Print status functions
More clean up to main(). I am finding there is some overlap with the term "mode" which indicates the global card mode (ex. SB_MODE, GUS_MODE, etc) as well as register modes communicating with PicoGUS. The next commit I will probably spend some time distinguishing these two types for clarity.
2025-07-04 11:20:13 -06:00
Daniel Arnold 80c90a532e Add exit codes to CD load functions, fix /cdloadname, clean out void returns 2025-07-04 08:11:17 -06:00
Daniel Arnold 077fd8504c ctrlGet commands, cleanup printf feedback 2025-07-03 19:53:03 -06:00
Daniel Arnold e2fa0f75b7 Iterative command parser
Refactored the inline argument commands into functions that iterate through a command table. This should help make input commands more robust and easier to expand.

It also allows for default values when setting options. For example if the user wants a default value for the OPL port, they can use "/oplport default".

Since /sbport and /gusport always check the environment for SET BLASTER and SET ULTRASND, I added the function for pgusinit to retrieve these values from the environment directly. This could open up environment parsing for other variables in the autoexec.bat.

The commands should behave exactly as I did when they were inline to start, but can now easily be expanding.
2025-07-03 19:53:03 -06:00
Daniel Arnold 66b61eb0b2 Progress bar when flashing 2025-07-03 19:53:03 -06:00
Daniel Arnold 4dd60f8c4e Volume control tighten up 2025-07-01 10:57:53 -06:00
Daniel Arnold c84773c562 Volume control 2025-06-30 07:56:53 -06:00
Ian Scott a2904c9929 Add /loadname to pgusinit usage, update pgusinit README v3.1.0 2025-06-22 11:40:16 -06:00
Ian Scott c5f478d618 Update CHANGELOG for v3.1.0 2025-06-22 11:26:23 -06:00
Ian Scott 04bc287241 Save memory by sorting drive images in place in linked list 2025-06-22 11:07:00 -06:00
Ian Scott 02ba99b6aa Many fixes/improvements to CD image handling:
- Fix memory leak when changing images (file handle not freed)
- Longer max file length limit (127 chars)
- Better errors when USB not present
- Fix polling of CD status register when listing images
- Add ability to load image by name
- Many weird edge cases with image loading state fixed
2025-06-21 23:46:50 -06:00
Ian Scott d9d0007d25 Version 3.0.1 v3.0.1 2025-06-19 10:25:25 -06:00
Ian Scott 10745eda21 Fix MIDI output in SB and USB modes 2025-06-19 10:00:17 -06:00
Ian Scott d128a4fa2d Re-enable MPU in SB and USB modes v3.0.0 2025-06-19 09:04:47 -06:00
Ian Scott 01a0097d9b Fix wiki link in CHANGELOG 2025-06-19 08:43:52 -06:00
Ian Scott be1e90c7c0 Version 3.0.0 2025-06-19 08:11:29 -06:00
Ian Scott 8a987afcf4 Bump pgusinit and protocol version 2025-06-19 08:11:07 -06:00
Ian Scott 72811bf2c4 Add CD-ROM to README 2025-06-19 08:06:35 -06:00
Ian Scott 191ab382a2 Fix selecting wrong mode in pgusinit 2025-06-19 08:01:15 -06:00
Ian Scott 189b186165 Save space for Mindscape board config 2025-06-18 21:56:48 -06:00
Ian Scott 180e1db710 Consolidate Tandy and CMS into PSG mode 2025-06-18 18:30:01 -06:00
Ian Scott 8c2eff61fa Include image name in error strings 2025-06-18 00:14:14 -06:00
Ian Scott 23f80828b9 Better handling of CD image load errors 2025-06-17 23:55:49 -06:00
Ian Scott a352a783e2 Move cdrom default base port to 250 2025-06-17 17:35:23 -06:00
Ian Scott eefd0ef2b6 Simplify audio_fifo for sbdsp 2025-06-17 13:10:22 -06:00
Ian Scott 88f52d6d96 Fix slow/missing note OPL2 playback on complex songs 2025-06-15 22:26:45 -06:00
Ian Scott 771f8f8948 Simplify: single cdrom and fatfs instance, better support single USB drive 2025-06-15 11:40:21 -06:00
Ian Scott 20a0ecfb1a Use fast seek for CD image files 2025-06-14 18:26:33 -06:00
Ian Scott c968918bc3 Optionally auto-advance image on USB reinsert 2025-06-14 18:25:31 -06:00
Ian Scott 163c5119ba use simple callback with sb 2025-06-12 23:10:52 -06:00
Ian Scott 2076774a58 Fix FatFS lib location 2025-06-12 23:10:52 -06:00
Ian Scott e611f2672f Let pgusinit get name of loaded CD image 2025-06-12 23:10:52 -06:00
Ian Scott d10c931b02 Working CD audio in USB mode 2025-06-12 23:10:52 -06:00
Ian Scott e7d3ae27d6 Fix adlib build 2025-06-12 23:10:52 -06:00
Ian Scott f81a612985 Pull wbcbz7's tinyusb branch in as submodule, vendor fatfs 2025-06-12 23:10:52 -06:00
Ian Scott 09d7e81732 CDROM in USB mode 2025-06-12 23:10:52 -06:00
Ian Scott d0df0cdd42 CDROM checkpoint, hacky AdLib 2025-06-12 23:10:52 -06:00
Ian Scott f6cf314a63 Read directly from usb into cdrom data_fifo 2025-06-12 23:10:52 -06:00
Ian Scott a7484c5b04 CD image handling 2025-06-12 23:10:52 -06:00