100 Commits
Author SHA1 Message Date
Ian Scott 74f57e5621 Firmare v4.1.1 2026-05-17 11:20:50 -06:00
Ian Scott 74f22e9107 SB: rearrange ADPCM logic 2026-04-19 21:59:13 -06:00
Ian Scott 977e77e305 Firmware v4.1.1-beta.1 2026-04-19 18:25:17 -06:00
Ian Scott cbdc2d6a37 SB: Fix clicks during single-cycle DMA playback 2026-04-19 18:24:00 -06:00
Ian Scott 4f8a8e70b4 Fix versioning for CMake 2026-04-17 22:29:00 -06:00
Ian Scott 8c79a95dd9 Firmware v4.1.1-beta.0 2026-04-17 22:13:02 -06:00
Ian Scott acc6facc1c Fix printf usage in ne2000 firmware 2026-04-17 21:17:36 -06:00
Ian Scott cbf761f3fb Fix GUS playmidi - it uses both timers 2026-04-17 19:58:04 -06:00
Ian Scott f960d70309 Remove last vestiges of pico-extras audio code 2026-04-16 23:54:12 -06:00
Ian Scott 392f1aa928 Fix printf panic in GUS mode 2026-04-16 23:54:00 -06:00
Ian Scott d5fc6e0559 Check for panic-causing printfs when compiling without PGDEBUG 2026-04-16 23:53:34 -06:00
Ian Scott 9470719b32 Merge pull request #137 from polpo/dev
Firmware v4.1.0
2026-04-13 22:38:40 -06:00
Ian Scott 2be3565e5c Firmware v4.1.0 2026-04-13 22:31:52 -06:00
Ian Scott ded16d7b7a Update changelog for v4.1.0 2026-04-13 22:31:52 -06:00
Ian Scott 69a22d6b7b CDROM: Fix .iso in Win9x w/ MKEPanasonic driver by handling lead-out 2026-04-13 20:14:39 -06:00
Ian Scott 889dfa89c7 Better messaging when BLASTER has problems 2026-04-13 18:20:56 -06:00
Ian Scott 452f863936 MKE: enlarge sector buffer that audio sectors land in during playback 2026-04-13 18:20:56 -06:00
Ian Scott 78a92f1d95 pgusinit: print loaded CD image after /cdload 2026-04-13 18:20:56 -06:00
Ian Scott 7254e90245 MPU: use 256 byte MIDI output buffer like real MPU-401 2026-04-13 18:20:56 -06:00
Ian Scott 6a9915a908 MPU: fix sysex delay - it's in ms, not us 2026-04-13 18:20:56 -06:00
Ian Scott e4fd9037a8 Add PGDEBUG CMake var to save runtime overhead of printf & save code size 2026-04-13 18:20:56 -06:00
Ian Scott 5529f2b598 CDROM: eliminate sscanf usage 2026-04-13 18:20:56 -06:00
Ian Scott e014854bd5 SB: add fake ADC 2026-04-13 18:20:56 -06:00
Ian Scott 6dab135ceb SB: general SBDSP fixes 2026-04-13 18:20:56 -06:00
Ian Scott 4e84c09d49 SB: support SBMIDI 2026-04-13 18:20:56 -06:00
Ian Scott 8c4bdc8e4d SB: support ADPCM and >44.1k sample rates 2026-04-13 18:20:56 -06:00
Ian Scott 54dbdfa9bd pgusinit general fixes 2026-04-13 18:20:56 -06:00
Ian Scott a869fc4558 Merge pull request #136 from polpo/revert-135-error_by_one_protocol
Revert "protocol == 1 it's never reached because b is never == 512"
2026-04-13 18:20:37 -06:00
Ian Scott f325a59c0e Revert "protocol == 1 it's never reached because b is never == 512" 2026-04-13 18:00:27 -06:00
Ian Scott bd1a58f3cb Merge pull request #135 from andreacampanella/error_by_one_protocol
protocol == 1 it's never reached because b is never == 512
2026-04-13 08:37:30 -06:00
Ian Scott 602ab2d51f Merge pull request #134 from andreacampanella/typo_fix
fixed typo that passes irq instead of DMA
2026-04-13 08:37:03 -06:00
Ian Scott c88784c5ed Add OPL types back to README 2026-04-12 22:25:09 -06:00
Ian Scott bb89a2bf6a Add SB16/Pro compatibility 2026-04-12 22:06:16 -06:00
Ian Scott 4860c2685d Firmware v4.0.0 2026-04-06 09:53:20 -06:00
Ian Scott 315a5cac85 Firmware v4.0.0-beta 2026-04-06 09:46:48 -06:00
Ian Scott b38e3207d5 Update changelog for v4.0.0 2026-04-05 22:56:06 -06:00
Ian Scott 7612304262 Fix 28ch-as-27ch and GUS force 44k 2026-04-05 21:25:47 -06:00
Ian Scott 081a6541d9 emu8950 process 2026-04-05 21:25:47 -06:00
Ian Scott 05bcdae735 Build multifw with emu8950 2026-04-05 21:25:47 -06:00
Ian Scott 9675556be7 HW interpolator for SB 2026-04-05 21:25:47 -06:00
Ian Scott 8c56f4d133 More optimizations around clamping for SB and GUS 2026-04-05 21:25:47 -06:00
Ian Scott d0d448e3bf Disable hardware clamp in dbopl - there's races due to it being used in multiple places 2026-04-03 23:09:48 -06:00
Ian Scott 9cd6f55c3c SB: in SB16, speaker is always on 2026-03-31 19:04:52 -06:00
Ian Scott 3be5cd168c SB: add missing DSP_CONTINUE_DMA_16 (0xD6) command and fix names of other DMA pause/continue commands 2026-03-31 18:27:41 -06:00
Ian Scott ac49d6c9b5 Fix Miles AIL detection of SB16 2026-03-30 21:10:45 -06:00
Ian Scott 29da06d8ea Fix multifw build 2026-03-30 08:25:53 -06:00
Ian Scott 7dcf583ff6 Boost OPL volume 1.5X 2026-03-29 20:58:27 -06:00
Ian Scott a3a9a2f41c Passthrough SB line-in volume to wt header volume 2026-03-29 20:57:57 -06:00
Ian Scott ac6f3774db Support variable output sample rate w/ new IRQ-driven output for GUS 2026-03-29 20:51:44 -06:00
Ian Scott d0c699fde5 Lock CheckVoiceIrq for GUS 2026-03-29 16:26:23 -06:00
Ian Scott bcd1c76f12 Overclock at runtime instead of at start to help stability on marginal boards 2026-03-29 16:25:55 -06:00
Ian Scott 553a6a889a SB-like audio IRQ for GUS 2026-03-29 15:56:01 -06:00
Ian Scott 8c5e16eadb Bring in some changes from 86box to support default win9x MKE driver 2026-03-29 15:01:03 -06:00
Ian Scott 89ab467f28 OPL3 fixes for SB16 2026-03-29 12:28:04 -06:00
Ian Scott 35caedfd40 Reduce MIDI buffer sizes in non-MPU modes 2026-03-29 12:28:04 -06:00
Ian Scott 6de116068c Clamp with hardware interpolator 2026-03-29 12:28:04 -06:00
Ian Scott cef8e62e44 Refactor polyphase resampler to allow for stereo resampling 2026-03-29 12:28:04 -06:00
Ian Scott 6afc44b2ad Convert audio FIFOs to stereo sample pairs 2026-03-29 09:21:29 -06:00
Ian Scott db355ec4d6 Merge branch 'wss-sb16' into sb16_merge
Bring in SB16/WSS support (bufferless SB DSP, AD1848, SB mixer, IRQ/DMA configuration) and 0.12 fixed-point volume scaling from wss-sb16, and combine with stereo OPL3 pipeline and lock-free SPSC audio FIFO from sb16_merge.
Conflict resolutions:
- volctrl.h: use 0.12 scale from wss-sb16 (no int64_t)
- sbplay.cpp: keep stereo opl_resample_tick() with clamp16 before resampler buffers; lock-free SPSC FIFO reads with stereo volume; add sbdsp_process() from wss-sb16
- pgusinit.c: use wss-sb16's full BLASTER parser (A/I/D/H/T fields)
2026-03-28 23:50:22 -06:00
Ian Scott cee1081a03 Implement audio_fifo as lock-free SPSC queue to not require disabling interrupts 2026-03-28 22:06:18 -06:00
Ian Scott b7b2add482 Add ISA analyzer firmware + decoder 2026-03-18 08:33:21 -06:00
Ian Scott 6eaef68625 Remove old non-bufferless code 2026-03-16 23:24:57 -06:00
Ian Scott a8147c394e Port over ad1848 from wss branch and get it into shape 2026-03-16 23:16:12 -06:00
Ian Scott a2e72cdc6f "Pull" based DMA for SB - doesn't require DMA interval dithering 2026-03-16 23:14:05 -06:00
Ian Scott fee4b40d76 Rebase/reimplement SB16/WSS support on latest main 2026-03-15 23:51:31 -06:00
Ian Scott d3ac864d9c Firmware version 3.2.1 2025-09-26 07:27:32 -06:00
Ian Scott 66dfb425e8 Give a bit more time for vreg to settle 2025-09-26 07:21:29 -06:00
Ian Scott 4466438c9b pgusinit: fix /wifistatus 2025-08-25 23:38:37 -06:00
Ian Scott e1f5b6b5dc pgusinit: actually get SB/GUS port option 2025-08-25 23:25:42 -06:00
Ian Scott 60742596ab pgusinit: restore /defaults command 2025-08-25 23:25:42 -06:00
Ian Scott a63103f70a pgusinit: fix bug where port is parsed as decimal 2025-08-25 23:08:30 -06:00
Ian Scott b844281485 Merge branch 'sb_bufferless_ng_volume' 2025-08-09 15:47:31 -06:00
Ian Scott 2f686c23d1 Update pgusinit README 2025-08-09 15:47:09 -06:00
Ian Scott 2b2b995e22 v3.2.0 release 2025-08-09 15:46:00 -06:00
Ian Scott 3a5dc9b132 Migrate old settings in flash 2025-08-09 15:46:00 -06:00
Ian Scott 3fcdb17e5c Re-enable MPU in SB mode 2025-08-09 10:29:13 -06:00
Ian Scott 4b15e1c781 Send more midi bytes each loop 2025-08-09 10:28:57 -06:00
Ian Scott 4fc7cdedf2 Fix progress bar and extraneous newlines 2025-08-09 10:28:03 -06:00
Ian Scott bf6c52c607 More pgusinit refactor 2025-08-09 08:34:09 -06:00
Ian Scott c54450481f Refactor parseCommand and various commands
This means not having to pass the index into argv[] around, etc.
2025-08-08 22:08:41 -06:00
Ian Scott ab29256b64 Apply audio taper to volume setting 2025-08-08 19:49:59 -06:00
Ian Scott 07f8756379 Fix DC offset in 8-bit unsigned to 16-bit signed conversion 2025-08-08 19:49:16 -06:00
Ian Scott 3338477382 Clean up unused OPL2 detritus 2025-08-08 00:57:23 -06:00
Ian Scott 32cc5fb43c Remove long-replaced saa1099 2025-08-08 00:25:23 -06:00
Ian Scott e1791cc54e Project directory reorg 2025-08-08 00:21:39 -06:00
Ian Scott 91849ae2f1 Make sbdsp_sample() inline 2025-08-07 23:45:59 -06:00
Ian Scott 0027a65071 Volume scaling for bufferless_ng sbplay 2025-08-07 23:01:55 -06:00
Ian Scott 0b92610043 Merge branch 'House_Keeping' into sb_bufferless_ng_volume 2025-08-07 22:13:24 -06:00
Ian Scott c00b351f8a Fix DS4 joystick support 2025-08-07 21:38:56 -06:00
Ian Scott 94fa236b7f Make scale_sample inline 2025-08-07 19:51:07 -06:00
Ian Scott b2fc8ea00d Rename MODE_ to CMD_ to be less confusing 2025-08-07 19:50:47 -06:00
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
Ian Scott 557e58f5b3 Better YT thumbnails 2025-07-30 12:32:41 -06:00
Ian Scott 81d8260cee Add link to vswitchzero video 2025-07-30 10:10:08 -06:00
Ian Scott a44a3a58e5 Fix CI build 2025-07-29 23:34:57 -06:00
Ian Scott db99167180 OPL command buffer has race condition now, disable 2025-07-29 22:51:09 -06:00
Ian Scott 52bc5ee602 Merge pull request #93 from korneliuszo/sb_bufferless_ng
Use polyphase resampling
2025-07-29 22:47:08 -06:00
Ian Scott 779a81b90e More optimization 2025-07-29 08:09:15 -06:00
Ian Scott b076427863 Mostly working bufferless SB with CD 2025-07-28 21:56:41 -06:00
Ian Scott 140fabb478 Update pgusinit README 2025-06-23 22:41:08 -06:00