summaryrefslogtreecommitdiff
path: root/games-arcade/opentyrian/files/2.1.20130907-gcc10.patch
diff options
context:
space:
mode:
Diffstat (limited to 'games-arcade/opentyrian/files/2.1.20130907-gcc10.patch')
-rw-r--r--games-arcade/opentyrian/files/2.1.20130907-gcc10.patch362
1 files changed, 0 insertions, 362 deletions
diff --git a/games-arcade/opentyrian/files/2.1.20130907-gcc10.patch b/games-arcade/opentyrian/files/2.1.20130907-gcc10.patch
deleted file mode 100644
index 5b0c911a2ac2..000000000000
--- a/games-arcade/opentyrian/files/2.1.20130907-gcc10.patch
+++ /dev/null
@@ -1,362 +0,0 @@
-From 962ee8fc46ca51691bde1c8c1022dacbe8a037ed Mon Sep 17 00:00:00 2001
-From: Carl Reinke <carlreinke@users.noreply.github.com>
-Date: Sun, 14 Jun 2020 14:11:00 -0600
-Subject: [PATCH] Move definitions that don't need to be exposed from opl.h to
- opl.c
-
----
- src/opl.c | 153 +++++++++++++++++++++++++++++++++++++++++++++++++++-
- src/opl.h | 157 ++----------------------------------------------------
- 2 files changed, 154 insertions(+), 156 deletions(-)
-
-diff --git a/src/opl.c b/src/opl.c
-index a4071c5..f15474c 100644
---- a/src/opl.c
-+++ b/src/opl.c
-@@ -23,12 +23,161 @@
- * Copyright (C) 1998-2001 Ken Silverman
- * Ken Silverman's official web site: "http://www.advsys.net/ken"
- */
--
-+#include "opl.h"
-
- #include <math.h>
-+#include <stdbool.h>
- #include <stdlib.h> // rand()
- #include <string.h> // memset()
--#include "opl.h"
-+
-+#define fltype double
-+
-+ /*
-+ define attribution that inlines/forces inlining of a function (optional)
-+ */
-+#define OPL_INLINE inline
-+
-+
-+#undef NUM_CHANNELS
-+#if defined(OPLTYPE_IS_OPL3)
-+#define NUM_CHANNELS 18
-+#else
-+#define NUM_CHANNELS 9
-+#endif
-+
-+#define MAXOPERATORS (NUM_CHANNELS*2)
-+
-+
-+#define FL05 ((fltype)0.5)
-+#define FL2 ((fltype)2.0)
-+#define PI ((fltype)3.1415926535897932384626433832795)
-+
-+
-+#define FIXEDPT 0x10000 // fixed-point calculations using 16+16
-+#define FIXEDPT_LFO 0x1000000 // fixed-point calculations using 8+24
-+
-+#define WAVEPREC 1024 // waveform precision (10 bits)
-+
-+#define INTFREQU ((fltype)(14318180.0 / 288.0)) // clocking of the chip
-+
-+
-+#define OF_TYPE_ATT 0
-+#define OF_TYPE_DEC 1
-+#define OF_TYPE_REL 2
-+#define OF_TYPE_SUS 3
-+#define OF_TYPE_SUS_NOKEEP 4
-+#define OF_TYPE_OFF 5
-+
-+#define ARC_CONTROL 0x00
-+#define ARC_TVS_KSR_MUL 0x20
-+#define ARC_KSL_OUTLEV 0x40
-+#define ARC_ATTR_DECR 0x60
-+#define ARC_SUSL_RELR 0x80
-+#define ARC_FREQ_NUM 0xa0
-+#define ARC_KON_BNUM 0xb0
-+#define ARC_PERC_MODE 0xbd
-+#define ARC_FEEDBACK 0xc0
-+#define ARC_WAVE_SEL 0xe0
-+
-+#define ARC_SECONDSET 0x100 // second operator set for OPL3
-+
-+
-+#define OP_ACT_OFF 0x00
-+#define OP_ACT_NORMAL 0x01 // regular channel activated (bitmasked)
-+#define OP_ACT_PERC 0x02 // percussion channel activated (bitmasked)
-+
-+#define BLOCKBUF_SIZE 512
-+
-+
-+ // vibrato constants
-+#define VIBTAB_SIZE 8
-+#define VIBFAC 70/50000 // no braces, integer mul/div
-+
-+ // tremolo constants and table
-+#define TREMTAB_SIZE 53
-+#define TREM_FREQ ((fltype)(3.7)) // tremolo at 3.7hz
-+
-+
-+ /* operator struct definition
-+ For OPL2 all 9 channels consist of two operators each, carrier and modulator.
-+ Channel x has operators x as modulator and operators (9+x) as carrier.
-+ For OPL3 all 18 channels consist either of two operators (2op mode) or four
-+ operators (4op mode) which is determined through register4 of the second
-+ adlib register set.
-+ Only the channels 0,1,2 (first set) and 9,10,11 (second set) can act as
-+ 4op channels. The two additional operators for a channel y come from the
-+ 2op channel y+3 so the operatorss y, (9+y), y+3, (9+y)+3 make up a 4op
-+ channel.
-+ */
-+typedef struct operator_struct {
-+ Bit32s cval, lastcval; // current output/last output (used for feedback)
-+ Bit32u tcount, wfpos, tinc; // time (position in waveform) and time increment
-+ fltype amp, step_amp; // and amplification (envelope)
-+ fltype vol; // volume
-+ fltype sustain_level; // sustain level
-+ Bit32s mfbi; // feedback amount
-+ fltype a0, a1, a2, a3; // attack rate function coefficients
-+ fltype decaymul, releasemul; // decay/release rate functions
-+ Bit32u op_state; // current state of operator (attack/decay/sustain/release/off)
-+ Bit32u toff;
-+ Bit32s freq_high; // highest three bits of the frequency, used for vibrato calculations
-+ Bit16s* cur_wform; // start of selected waveform
-+ Bit32u cur_wmask; // mask for selected waveform
-+ Bit32u act_state; // activity state (regular, percussion)
-+ bool sus_keep; // keep sustain level when decay finished
-+ bool vibrato,tremolo; // vibrato/tremolo enable bits
-+
-+ // variables used to provide non-continuous envelopes
-+ Bit32u generator_pos; // for non-standard sample rates we need to determine how many samples have passed
-+ Bits cur_env_step; // current (standardized) sample position
-+ Bits env_step_a,env_step_d,env_step_r; // number of std samples of one step (for attack/decay/release mode)
-+ Bit8u step_skip_pos_a; // position of 8-cyclic step skipping (always 2^x to check against mask)
-+ Bits env_step_skip_a; // bitmask that determines if a step is skipped (respective bit is zero then)
-+
-+#if defined(OPLTYPE_IS_OPL3)
-+ bool is_4op,is_4op_attached; // base of a 4op channel/part of a 4op channel
-+ Bit32s left_pan,right_pan; // opl3 stereo panning amount
-+#endif
-+} op_type;
-+
-+// per-chip variables
-+static op_type op[MAXOPERATORS];
-+
-+static Bits int_samplerate;
-+
-+static Bit8u status;
-+static Bit32u opl_index;
-+#if defined(OPLTYPE_IS_OPL3)
-+static Bit8u adlibreg[512]; // adlib register set (including second set)
-+static Bit8u wave_sel[44]; // waveform selection
-+#else
-+static Bit8u adlibreg[256]; // adlib register set
-+static Bit8u wave_sel[22]; // waveform selection
-+#endif
-+
-+
-+ // vibrato/tremolo increment/counter
-+static Bit32u vibtab_pos;
-+static Bit32u vibtab_add;
-+static Bit32u tremtab_pos;
-+static Bit32u tremtab_add;
-+
-+
-+// enable an operator
-+void enable_operator(Bitu regbase, op_type* op_pt, Bit32u act_type);
-+
-+// functions to change parameters of an operator
-+void change_frequency(Bitu chanbase, Bitu regbase, op_type* op_pt);
-+
-+void change_attackrate(Bitu regbase, op_type* op_pt);
-+void change_decayrate(Bitu regbase, op_type* op_pt);
-+void change_releaserate(Bitu regbase, op_type* op_pt);
-+void change_sustainlevel(Bitu regbase, op_type* op_pt);
-+void change_waveform(Bitu regbase, op_type* op_pt);
-+void change_keepsustain(Bitu regbase, op_type* op_pt);
-+void change_vibrato(Bitu regbase, op_type* op_pt);
-+void change_feedback(Bitu chanbase, op_type* op_pt);
-+
-
- static Bit32u generator_add; // should be a chip parameter
-
-diff --git a/src/opl.h b/src/opl.h
-index c8e643b..cbb56ad 100644
---- a/src/opl.h
-+++ b/src/opl.h
-@@ -25,11 +25,8 @@
- * Ken Silverman's official web site: "http://www.advsys.net/ken"
- */
-
--
--#define fltype double
--
--#include <stdbool.h>
- #include <stdint.h>
-+
- typedef uintptr_t Bitu;
- typedef intptr_t Bits;
- typedef uint32_t Bit32u;
-@@ -39,154 +36,6 @@ typedef int16_t Bit16s;
- typedef uint8_t Bit8u;
- typedef int8_t Bit8s;
-
--
--/*
-- define attribution that inlines/forces inlining of a function (optional)
--*/
--#define OPL_INLINE inline
--
--
--#undef NUM_CHANNELS
--#if defined(OPLTYPE_IS_OPL3)
--#define NUM_CHANNELS 18
--#else
--#define NUM_CHANNELS 9
--#endif
--
--#define MAXOPERATORS (NUM_CHANNELS*2)
--
--
--#define FL05 ((fltype)0.5)
--#define FL2 ((fltype)2.0)
--#define PI ((fltype)3.1415926535897932384626433832795)
--
--
--#define FIXEDPT 0x10000 // fixed-point calculations using 16+16
--#define FIXEDPT_LFO 0x1000000 // fixed-point calculations using 8+24
--
--#define WAVEPREC 1024 // waveform precision (10 bits)
--
--#define INTFREQU ((fltype)(14318180.0 / 288.0)) // clocking of the chip
--
--
--#define OF_TYPE_ATT 0
--#define OF_TYPE_DEC 1
--#define OF_TYPE_REL 2
--#define OF_TYPE_SUS 3
--#define OF_TYPE_SUS_NOKEEP 4
--#define OF_TYPE_OFF 5
--
--#define ARC_CONTROL 0x00
--#define ARC_TVS_KSR_MUL 0x20
--#define ARC_KSL_OUTLEV 0x40
--#define ARC_ATTR_DECR 0x60
--#define ARC_SUSL_RELR 0x80
--#define ARC_FREQ_NUM 0xa0
--#define ARC_KON_BNUM 0xb0
--#define ARC_PERC_MODE 0xbd
--#define ARC_FEEDBACK 0xc0
--#define ARC_WAVE_SEL 0xe0
--
--#define ARC_SECONDSET 0x100 // second operator set for OPL3
--
--
--#define OP_ACT_OFF 0x00
--#define OP_ACT_NORMAL 0x01 // regular channel activated (bitmasked)
--#define OP_ACT_PERC 0x02 // percussion channel activated (bitmasked)
--
--#define BLOCKBUF_SIZE 512
--
--
--// vibrato constants
--#define VIBTAB_SIZE 8
--#define VIBFAC 70/50000 // no braces, integer mul/div
--
--// tremolo constants and table
--#define TREMTAB_SIZE 53
--#define TREM_FREQ ((fltype)(3.7)) // tremolo at 3.7hz
--
--
--/* operator struct definition
-- For OPL2 all 9 channels consist of two operators each, carrier and modulator.
-- Channel x has operators x as modulator and operators (9+x) as carrier.
-- For OPL3 all 18 channels consist either of two operators (2op mode) or four
-- operators (4op mode) which is determined through register4 of the second
-- adlib register set.
-- Only the channels 0,1,2 (first set) and 9,10,11 (second set) can act as
-- 4op channels. The two additional operators for a channel y come from the
-- 2op channel y+3 so the operatorss y, (9+y), y+3, (9+y)+3 make up a 4op
-- channel.
--*/
--typedef struct operator_struct {
-- Bit32s cval, lastcval; // current output/last output (used for feedback)
-- Bit32u tcount, wfpos, tinc; // time (position in waveform) and time increment
-- fltype amp, step_amp; // and amplification (envelope)
-- fltype vol; // volume
-- fltype sustain_level; // sustain level
-- Bit32s mfbi; // feedback amount
-- fltype a0, a1, a2, a3; // attack rate function coefficients
-- fltype decaymul, releasemul; // decay/release rate functions
-- Bit32u op_state; // current state of operator (attack/decay/sustain/release/off)
-- Bit32u toff;
-- Bit32s freq_high; // highest three bits of the frequency, used for vibrato calculations
-- Bit16s* cur_wform; // start of selected waveform
-- Bit32u cur_wmask; // mask for selected waveform
-- Bit32u act_state; // activity state (regular, percussion)
-- bool sus_keep; // keep sustain level when decay finished
-- bool vibrato,tremolo; // vibrato/tremolo enable bits
--
-- // variables used to provide non-continuous envelopes
-- Bit32u generator_pos; // for non-standard sample rates we need to determine how many samples have passed
-- Bits cur_env_step; // current (standardized) sample position
-- Bits env_step_a,env_step_d,env_step_r; // number of std samples of one step (for attack/decay/release mode)
-- Bit8u step_skip_pos_a; // position of 8-cyclic step skipping (always 2^x to check against mask)
-- Bits env_step_skip_a; // bitmask that determines if a step is skipped (respective bit is zero then)
--
--#if defined(OPLTYPE_IS_OPL3)
-- bool is_4op,is_4op_attached; // base of a 4op channel/part of a 4op channel
-- Bit32s left_pan,right_pan; // opl3 stereo panning amount
--#endif
--} op_type;
--
--// per-chip variables
--Bitu chip_num;
--op_type op[MAXOPERATORS];
--
--Bits int_samplerate;
--
--Bit8u status;
--Bit32u opl_index;
--#if defined(OPLTYPE_IS_OPL3)
--Bit8u adlibreg[512]; // adlib register set (including second set)
--Bit8u wave_sel[44]; // waveform selection
--#else
--Bit8u adlibreg[256]; // adlib register set
--Bit8u wave_sel[22]; // waveform selection
--#endif
--
--
--// vibrato/tremolo increment/counter
--Bit32u vibtab_pos;
--Bit32u vibtab_add;
--Bit32u tremtab_pos;
--Bit32u tremtab_add;
--
--
--// enable an operator
--void enable_operator(Bitu regbase, op_type* op_pt, Bit32u act_type);
--
--// functions to change parameters of an operator
--void change_frequency(Bitu chanbase, Bitu regbase, op_type* op_pt);
--
--void change_attackrate(Bitu regbase, op_type* op_pt);
--void change_decayrate(Bitu regbase, op_type* op_pt);
--void change_releaserate(Bitu regbase, op_type* op_pt);
--void change_sustainlevel(Bitu regbase, op_type* op_pt);
--void change_waveform(Bitu regbase, op_type* op_pt);
--void change_keepsustain(Bitu regbase, op_type* op_pt);
--void change_vibrato(Bitu regbase, op_type* op_pt);
--void change_feedback(Bitu chanbase, op_type* op_pt);
--
- // general functions
- void adlib_init(Bit32u samplerate);
- void adlib_write(Bitu idx, Bit8u val);
-@@ -195,8 +44,8 @@ void adlib_getsample(Bit16s* sndptr, Bits numsamples);
- Bitu adlib_reg_read(Bitu port);
- void adlib_write_index(Bitu port, Bit8u val);
-
--#endif /* OPL_H */
--
- #define opl_init() adlib_init(OUTPUT_QUALITY * 11025)
- #define opl_write(reg, val) adlib_write(reg, val)
- #define opl_update(buf, num) adlib_getsample(buf, num)
-+
-+#endif /* OPL_H */