Commit graph

262 commits

Author SHA1 Message Date
tildearrow
90a9a86e09 giga-refactor, part 9
new format saving
compatibility flags now part of own struct
2025-11-16 01:41:17 -05:00
tildearrow
29929beeac remove partial pitch linearity
the hacky mode is no more
2025-10-22 14:00:52 -05:00
cam900
1b712e03ee Add notifySampleChanged in dispatch and engine:
This method/variables are for notify sample is changed/altered/added/removed.  can be called together with updateSampleTex for sample update.

multipcm: Fix possible desync with instrument and sample parameter

opl4: Split sample table render and sample data render, Add notifySampleChange for refresh sample parameters
2025-10-01 12:31:39 +02:00
tildearrow
3a06e7b963 remove hasSampleInsHeader()
- it is only used by MultiPCM
- an alternative approach is in place
2025-09-14 14:21:31 -05:00
tildearrow
de1ab67d4a Merge branch 'master' into hasSampleHeader 2025-09-13 04:23:19 -05:00
cam900
957b57f3d9 Add primary MultiPCM support
Partially revert previous commit
Add notifyInsAddition in dispatch for instrument addition
Refresh sample memory when instrument type changed
Fix naming for consistency
Also, this commit fixes a some possible issue in MultiPCM on openMSX core.
Chip ID: Already determined
2025-08-29 16:24:32 +09:00
cam900
bd8d9a56a0 Prepare to add hasSamplePtrHeader and hasSampleInstHeader in dispatch (WIP)
for refresh sample memory when loop/end pointer and instrument parameter changed. Also, this PR has minor code style fixes and add warning in MultiPCM sample map usage.
2025-08-27 22:52:19 +09:00
cam900
e9b6b441e3 Merge branch 'master' of https://github.com/tildearrow/furnace into getSampleMemOffset 2025-08-27 21:18:29 +09:00
tildearrow
38e4245ee0 Virtual Boy: envelope bug status 2025-06-24 02:54:18 -05:00
cam900
a5148a3441 Implement getSampleMemOffset for further optimize VGM logging (specifically OPL4 PCM) 2025-06-04 21:16:27 +09:00
tildearrow
7210187df5 OPN: FMS/AMS effects 2025-05-21 15:10:47 -05:00
Eknous-P
d7c79a85d9 works on jenesis 2025-05-21 01:02:13 -05:00
tildearrow
c4852a7104 YES!!!!!
FIXED!!!!!!!!!!!! no more chewed off triangle!
finally I can move on!
2025-04-28 04:13:26 -05:00
tildearrow
110562c2c4 prepare to implement stuff in cmd stream
vol slide with target, tremolo, panbrello and pan slide
2025-04-05 04:33:46 -05:00
Adrian Siekierka
99c022cd82 swan: Fix new engine command position 2025-03-22 01:38:08 -05:00
Adrian Siekierka
c93dc6f4f3 swan: Add command to change internal speaker loudness 2025-03-22 01:38:08 -05:00
tildearrow
68a550a419 update the acquireDirect API
size_t offset is no more - it is always 0
2025-03-05 18:57:17 -05:00
tildearrow
655b3621f6 Merge branch 'master' into amigaOpt 2025-03-04 13:18:07 -05:00
tildearrow
6e40a6980b PCE: fix chan osc!
ready to merge...
2025-03-04 12:57:59 -05:00
tildearrow
95b1085aed I have no idea what's going on 2025-03-03 17:18:52 -05:00
tildearrow
b3b50bdb66 ESFM: optimize osc buf 2025-03-03 01:45:42 -05:00
tildearrow
cf4807b5d0 optimize putSample a bit
use 16-bit precision even on 64-bit....
this allows some code optimizations
2025-03-03 00:51:47 -05:00
tildearrow
2926fad77e ASHA SDGFHJKLADG F;LHKJ 2025-03-02 23:18:02 -05:00
tildearrow
6f8da93714 size_t 2025-03-02 23:04:48 -05:00
tildearrow
f39039766e possibly fix build. 2025-03-02 20:49:10 -05:00
tildearrow
10e60ec8c1 new chan osc, part 2
why is it jerky?
2025-03-01 17:22:34 -05:00
tildearrow
dd7e1def3d new chan osc work in progress 2025-03-01 05:05:50 -05:00
tildearrow
0eea0ec139 a new method for setting chan osc rate... 2025-03-01 00:33:15 -05:00
tildearrow
c83ecfe993 prepare new chan osc code
chan osc output will be 65536Hz - always
new functions for initializing the osc buffer and all
2025-02-26 20:29:13 -05:00
tildearrow
231819da2e Revert "Revert "prepare acquireDirect API" - stupid crap"
thought of an idea for optimization. let's try again.

This reverts commit 4ca7033dec.
2025-02-25 18:45:28 -05:00
tildearrow
4ca7033dec Revert "prepare acquireDirect API" - stupid crap
the most POINTLESS plan of all time... acquireDirect.
why? because you gotta fill in the oscBufs anyway, which will take
precious CPU time, so you can't just pass the blip_bufs to dispatch
and hope it'll help by not processing when nothing's happening.

"so disable it when the per-chan osc is up!" NO! we need this for
volume calculation....

"how about rewrite per-chan osc logic?" you know what? I don't have
either the time or the will for that.
now back to Something Else......

This reverts commit 08177d839a.
2025-02-21 01:27:04 -05:00
tildearrow
08177d839a prepare acquireDirect API
provide direct access to blip_buf to dispatch code, which may allow for some serious optimizations
2025-02-19 15:46:10 -05:00
tildearrow
00ad4e4a46 update copyright year 2025-01-28 18:49:19 -05:00
tildearrow
dd9d220f33 use state instead of accessing ins for block 2025-01-28 04:24:10 -05:00
tildearrow
24cffc562a Merge branch 'master' into fixedblock2 2025-01-27 16:33:45 -05:00
tildearrow
497ce44cd0 command stream was utterly broken 2025-01-26 04:28:03 -05:00
Natt Akuma
cf3d08ca5a Add fixed octave for block+fnum systems
This isn't implemented in SAA1099, despite also being block+fnum system, as there are no benefits from it
2025-01-09 03:51:14 +07:00
tildearrow
dd9d8dccd1 proof of concept 2024-10-19 17:52:24 -05:00
tildearrow
4281acc9dc VGM export: prepare to implement 30xx
issue #1798
2024-10-19 14:25:12 -05:00
tildearrow
47f36f99d9 Merge branch 'master' into SID3 2024-09-13 23:46:13 -05:00
LTVA1
3bf0c108f8
Merge branch 'master' into SID3 2024-08-25 13:34:19 +03:00
cam900
3e1e2fc2a6 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf278b 2024-08-25 12:50:51 +09:00
tildearrow
bf8d51ca83 implement operator mask effect 2024-08-24 18:42:23 -05:00
LTVA1
12bd2d3829 Merge branch 'master' of https://github.com/tildearrow/furnace into SID3 2024-08-24 19:15:27 +03:00
Adam Lederer
310ad13916 volume portamento (vol porta) on D3xx and D4xx (D4 is fast version, rate * 256) 2024-08-23 10:50:13 -07:00
LTVA1
f4ff45efb7 add cutoff & resonance scaling control effects, work more on Russian locale 2024-08-18 18:55:46 +03:00
LTVA1
7c324ec39d naive channel pair refactor (dumb replace one pair with vector of pairs) 2024-08-14 20:01:16 +03:00
LTVA1
0ea53fdae5 phase reset effects & fix wavetable change 2024-08-13 20:36:45 +03:00
LTVA1
46f1ae33c7 add cutoff and pulse width slides for C64, SID2 and SID3
Also add clipping for ADSR, duty and cutoff when in instrument types you go SID3 -> SID2 or SID2 -> C64 or SID3 -> C64
2024-08-12 16:54:26 +03:00
LTVA1
e0df55749a MOAR EFFECTS!! 2024-08-12 12:59:34 +03:00