Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
PoroCYon
4klang-linux
Commits
86e6cfbd
Commit
86e6cfbd
authored
May 11, 2019
by
PoroCYon
Browse files
[clinkster] .. and translate the sections
parent
8c10c079
Changes
1
Hide whitespace changes
Inline
Side-by-side
clinkster/Clinkster/player/clinkster.asm
View file @
86e6cfbd
...
...
@@ -44,35 +44,35 @@ extern __imp__waveOutGetPosition@12
;; ********** Public variables **********
section
MusBuf
bss
al
ign
=
4
SECT_BSS
(
MusBuf
)
al
ign
=
4
PUBLIC_DATA
(
Cl
inkster_MusicBuffer
):
.align24
resw
(
TOTAL_SAMPLES
*
2
)
resw
2
; padding to catch extra write in conversion
section
tps
rdata
al
ign
=
4
SECT_RDATA
(
tps
)
al
ign
=
4
PUBLIC_DATA
(
Cl
inkster_TicksPerSecond
):
dd
TICKS_PER_SECOND
section
muslen
rdata
al
ign
=
4
SECT_RDATA
(
muslen
)
al
ign
=
4
PUBLIC_DATA
(
Cl
inkster_MusicLength
):
dd
MUSIC_LENGTH
section
numtr
rdata
al
ign
=
4
SECT_RDATA
(
numtr
)
al
ign
=
4
PUBLIC_DATA
(
Cl
inkster_NumTracks
):
dd
NUMTRACKS
%if CLINKSTER_GENERATE_TIMING_DATA
section
musdat
bss
al
ign
=
4
SECT_BSS
(
musdat
)
al
ign
=
4
PUBLIC_DATA
(
Cl
inkster_NoteTiming
):
.align16
resd
2
*
(
NUMTRACKS
<<
LOGNUMTICKS
)
section
timing
data
al
ign
=
4
ECT_DATA
(
timing
)
al
ign
=
4
timing_ptr:
dd
Cl
inkster_NoteTiming
%endif
section
WavFile
rdata
al
ign
=
4
SECT_RDATA
(
WavFile
)
al
ign
=
4
PUBLIC_DATA
(
Cl
inkster_WavFileHeader
):
db
"RIFF"
dd
36
+
TOTAL_SAMPLES
*
4
...
...
@@ -89,59 +89,59 @@ PUBLIC_DATA(Clinkster_WavFileHeader):
;; ********** System structures **********
section
WaveForm
rdata
al
ign
=
1
SECT_RDATA
(
WaveForm
)
al
ign
=
1
PUBLIC_DATA
(
WaveFormat
):
dw
1
,
2
dd
SAMPLE_RATE
dd
SAMPLE_RATE
*
4
dw
4
,
16
,
0
section
WaveHdr
data
al
ign
=
4
SECT_DATA
(
WaveHdr
)
al
ign
=
4
PUBLIC_DATA
(
WaveHdr
):
dd
PUBLIC_DATA
(
Cl
inkster_MusicBuffer
)
dd
(
TOTAL_SAMPLES
*
4
)
dd
0
,
0
,
0
,
0
,
0
,
0
section
wavehand
bss
al
ign
=
4
SECT_BSS
(
wavehand
)
al
ign
=
4
PUBLIC_DATA
(
WaveOutHandle
):
.align16
resd
1
section
WaveTime
data
al
ign
=
4
SECT_DATA
(
WaveTime
)
al
ign
=
4
PUBLIC_DATA
(
WaveTime
):
dd
4
,
0
,
0
,
0
,
0
,
0
,
0
,
0
;; ********** Internal buffers **********
section
MixBuf
bss
al
ign
=
4
SECT_BSS
(
MixBuf
)
al
ign
=
4
resd
MAX_DELAY_LENGTH
PUBLIC_DATA
(
MixingBuffer
):
.align24
resd
TOTAL_SAMPLES
section
InstrBuf
bss
al
ign
=
4
SECT_BSS
(
InstrBuf
)
al
ign
=
4
PUBLIC_DATA
(
InstrumentBuffer
):
.align16
resd
MAX_INSTRUMENT_SUBSAMPLES
section
InstrRen
bss
al
ign
=
4
SECT_BSS
(
InstrRen
)
al
ign
=
4
resd
256
PUBLIC_DATA
(
InstrumentRender
):
.align16
resd
MAX_INSTRUMENT_SUBSAMPLES
section
InstrSto
bss
al
ign
=
4
SECT_BSS
(
InstrSto
)
al
ign
=
4
PUBLIC_DATA
(
InstrumentStore
):
.align16
resd
MAX_TOTAL_INSTRUMENT_SAMPLES
section
InstrPoi
bss
al
ign
=
4
SECT_BSS
(
InstrPoi
)
al
ign
=
4
PUBLIC_DATA
(
InstrumentPointers
):
.align16
resd
MAX_TRACK_INSTRUMENT_RENDERS
+
1
section
wforms
bss
al
ign
=
4
SECT_BSS
(
wforms
)
al
ign
=
4
waveforms:
.align16
resd
6
*
WAVE_SIZE
...
...
@@ -149,7 +149,7 @@ waveforms:
;; ********** Instrument parameter access **********
section
paramw
rdata
al
ign
=
4
SECT_RDATA
(
paramw
)
al
ign
=
4
param_weights:
dd
0.125
; Release
dd
0.125
; Decay
...
...
@@ -212,36 +212,36 @@ endstruc
;; ********** Internal constants and tables **********
section
resamp
rdata
al
ign
=
4
SECT_RDATA
(
resamp
)
al
ign
=
4
resamplefilter:
db
-
1
,
-
2
,
-
4
,
-
4
,
-
2
,
3
,
14
,
30
,
51
,
98
,
116
,
126
db
126
,
116
,
98
,
51
,
30
,
14
,
3
,
-
2
,
-
4
,
-
4
,
-
2
,
-
1
resamplefilter_end:
FILTER_SIZE
equ
(
resamplefilter_end
-
resamplefilter
)
section
wavestep
rdata
al
ign
=
4
SECT_RDATA
(
wavestep
)
al
ign
=
4
c_wavestep:
dd
0.000030517578125
section
basefreq
rdata
al
ign
=
4
SECT_RDATA
(
basefreq
)
al
ign
=
4
c_basefreq:
dd
2.86698696365342
section
halfnote
rdata
al
ign
=
4
SECT_RDATA
(
halfnote
)
al
ign
=
4
c_halfnote:
dd
1.05946309435929
section
finalamp
rdata
al
ign
=
4
SECT_RDATA
(
finalamp
)
al
ign
=
4
c_finalamp:
dd
32767
section
velfac
rdata
al
ign
=
4
SECT_RDATA
(
velfac
)
al
ign
=
4
c_velocityfac:
dd
0.007874015748031496
section
delaystr
rdata
al
ign
=
4
SECT_RDATA
(
delaystr
)
al
ign
=
4
c_delaystr:
dd
DELAY_STRENGTH
section
offset
rdata
al
ign
=
4
SECT_RDATA
(
offset
)
al
ign
=
4
c_timeoffset:
dd
CL
INKSTER_TIMER_OFFSET
*
4
section
tempo
rdata
al
ign
=
4
SECT_RDATA
(
tempo
)
al
ign
=
4
c_ticklength:
dd
SUBSAMPLES_PER_TICK
/
4
*
4
section
half
rdata
al
ign
=
4
SECT_RDATA
(
half
)
al
ign
=
4
c_onehalf:
dd
0.5
;; ********** Internal global variables **********
section
vars
bss
al
ign
=
8
SECT_BSS
(
vars
)
al
ign
=
8
vars_align16
layer_random:
resd
1
...
...
@@ -274,7 +274,7 @@ layer_phasetmp: resd 1
;; ********** Generate the sound for one layer **********
section
mklayer
text
al
ign
=
1
SECT_TEXT
(
mklayer
)
al
ign
=
1
makelayer:
mov
edx
,
layer_params
...
...
@@ -437,7 +437,7 @@ makelayer:
;; ********** Interpolate one section of amplitude envelope **********
section
adsr
text
al
ign
=
1
SECT_TEXT
(
adsr
)
al
ign
=
1
apply_adsr:
; On condition g:
; st0 = amplitude target
...
...
@@ -494,7 +494,7 @@ apply_adsr:
;; ********** Main music generation **********
section
genMus
text
al
ign
=
1
SECT_TEXT
(
genMus
)
al
ign
=
1
PUBLIC_FN
(
Cl
inkster_GenerateMusic
,
0
):
pusha
fninit
...
...
@@ -878,7 +878,7 @@ PUBLIC_FN(Clinkster_GenerateMusic,0):
;; ********** Start music **********
%ifdef WIN32
section
startmus
text
al
ign
=
1
SECT_TEXT
(
startmus
)
al
ign
=
1
PUBLIC_FN
(
Cl
inkster_StartMusic
,
0
):
; Start music
push
byte
0
...
...
@@ -903,7 +903,7 @@ PUBLIC_FN(Clinkster_StartMusic,0):
;; ********** Get current play position **********
section
getpos
text
al
ign
=
1
SECT_TEXT
(
getpos
)
al
ign
=
1
PUBLIC_FN
(
Cl
inkster_GetPosition
,
0
):
push
byte
32
; sizeof(MMTIME)
push
_WaveTime
...
...
@@ -921,7 +921,7 @@ PUBLIC_FN(Clinkster_GetPosition,0):
;; ********** Get time since instrument trigger **********
%if CLINKSTER_GENERATE_TIMING_DATA
section
insttrig
text
al
ign
=
1
SECT_TEXT
(
insttrig
)
al
ign
=
1
PUBLIC_FN
(
Cl
inkster_GetInstrumentTrigger
,
8
):
cvttss2si
eax
,
[
esp
+
8
]
mov
ecx
,
[
esp
+
4
]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment