Flowcode Project File Parser
Ben Rowland 2019 (C) Matrix TSL
Target Device
PIC.16F.16F1946
Constants
BOOL false
BOOL true
Globals
BYTE uw2
UNSIGNED INT xr_len
UNSIGNED INT yy1_len
BYTE bb2
SIGNED LONG pp_addr
SIGNED LONG uh_addr
UNSIGNED INT ih_len
UNSIGNED INT tt1_len
UNSIGNED INT ey_len
BYTE uw1
UNSIGNED INT ae_len
BYTE bb1
BYTE zz
UNSIGNED INT nn2_len
UNSIGNED INT er2_len
SIGNED LONG aw_addr
SIGNED LONG er1_addr
UNSIGNED INT ax_len
UNSIGNED INT th_len
UNSIGNED INT ww_len
SIGNED LONG ih_addr
SIGNED LONG rr1_addr
BYTE kk3
UNSIGNED INT pp_len
UNSIGNED INT uw1_len
UNSIGNED INT ao_len
UNSIGNED INT yy2_len
BYTE wh
BYTE yr
UNSIGNED LONG DataSize
SIGNED LONG eh_addr
UNSIGNED INT tt2_len
BYTE kk2
BYTE er2
UNSIGNED LONG Address
SIGNED LONG zz_addr
BYTE kk1
BYTE er1
SIGNED LONG gg3_addr
UNSIGNED INT ay_len
UNSIGNED INT eh_len
BYTE soundplaying
SIGNED LONG ll_addr
BYTE ih
BYTE ey
BYTE ae
UNSIGNED INT uw2_len
UNSIGNED INT ng_len
SIGNED LONG uw1_addr
SIGNED LONG gg1_addr
SIGNED LONG dh2_addr
SIGNED LONG or_addr
SIGNED LONG bb2_addr
BYTE tt2
BYTE gg3
UNSIGNED INT kk1_len
UNSIGNED INT ch_len
BYTE ss
SIGNED LONG kk3_addr
SIGNED LONG dd2_addr
BYTE tt1
UNSIGNED INT bb1_len
BYTE gg2
SIGNED LONG ng_addr
BYTE aa
BYTE gg1
SIGNED LONG th_addr
SIGNED LONG vv_addr
UNSIGNED INT Size
BYTE jh
BYTE rr2
SIGNED LONG mm_addr
SIGNED LONG ao_addr
SIGNED LONG kk1_addr
BYTE rr1
UNSIGNED INT kk2_len
SIGNED LONG tt1_addr
SIGNED LONG hh2_addr
UNSIGNED INT mm_len
BYTE ch
UNSIGNED INT ow_len
UNSIGNED INT bb2_len
UNSIGNED INT ff_len
UNSIGNED INT ar_len
SIGNED LONG yy2_addr
SIGNED LONG nn2_addr
UNSIGNED INT gg1_len
UNSIGNED INT wh_len
BYTE dh2
UNSIGNED INT yr_len
BYTE OutputEnabled
SIGNED LONG oy_addr
UNSIGNED INT kk3_len
HANDLE SoundHandle
UNSIGNED INT jh_len
BYTE dh1
SIGNED LONG ax_addr
SIGNED LONG ww_addr
SIGNED LONG er2_addr
UNSIGNED INT vv_len
BYTE zh
BYTE ll
BYTE nn2
BYTE orr
BYTE nn1
UNSIGNED INT uh_len
SIGNED LONG rr2_addr
SIGNED LONG ow_addr
BYTE oy
BYTE yy2
BYTE sh
UNSIGNED INT gg2_len
BYTE el
SIGNED LONG yr_addr
UNSIGNED INT aa_len
BYTE vv
BYTE yy1
SIGNED LONG wh_addr
UNSIGNED INT oy_len
BYTE mm
UNSIGNED INT hh1_len
UNSIGNED INT sh_len
BYTE ow
UNSIGNED INT el_len
SIGNED LONG sh_addr
UNSIGNED INT dh1_len
SIGNED INT SpeechLength
BYTE ay
BYTE eh
UNSIGNED INT gg3_len
SIGNED LONG zh_addr
SIGNED LONG ss_addr
BYTE ax
BYTE th
BYTE ww
SIGNED LONG uw2_addr
SIGNED LONG gg2_addr
UNSIGNED INT rr1_len
BYTE aw
UNSIGNED INT hh2_len
SIGNED LONG ch_addr
SIGNED LONG ar_addr
BYTE iy
UNSIGNED INT dh2_len
BYTE hh2
SIGNED LONG SpeechAddress
SIGNED LONG ae_addr
BYTE hh1
UNSIGNED INT zz_len
SIGNED LONG jh_addr
SIGNED LONG dh1_addr
SIGNED LONG bb1_addr
UNSIGNED INT dd1_len
UNSIGNED INT ss_len
SIGNED LONG dd1_addr
SIGNED LONG kk2_addr
BYTE uh
UNSIGNED INT zh_len
UNSIGNED INT rr2_len
UNSIGNED INT ll_len
SIGNED LONG tt2_addr
UNSIGNED INT iy_len
BYTE ff
UNSIGNED INT or_len
BYTE ar
SIGNED LONG xr_addr
SIGNED LONG iy_addr
SIGNED LONG ff_addr
UNSIGNED INT nn1_len
BYTE dd2
UNSIGNED INT dd2_len
BYTE ng
UNSIGNED INT er1_len
SIGNED LONG ey_addr
SIGNED LONG aa_addr
SIGNED LONG hh1_addr
BYTE pp
BYTE dd1
BYTE ao
SIGNED LONG ay_addr
SIGNED LONG el_addr
UNSIGNED INT aw_len
BYTE xr
SIGNED LONG nn1_addr
SIGNED LONG yy1_addr
Prv_Ph_Select
Return: VOID
Ev_Stop
Return: UNSIGNED LONG
Vars: BYTE test
ReadPhonemeLength
Return: UNSIGNED INT
Params: STRING Phoneme
Convert_Data_To_Define
Return: STRING
Params: STRING Name
STRING Data
UNSIGNED LONG length
UNSIGNED LONG address
Vars: UNSIGNED INT Idx
BYTE Inner_Idx
Ev_Initialise
Return: UNSIGNED LONG
Vars: STRING MemSize
UNSIGNED LONG ROM_Size
BYTE test
BYTE index
UNSIGNED LONG VoicePtr
BYTE count
STRING tempstr
Ev_Compile_Start
Return: UNSIGNED LONG
Ev_ChipChange
Return: UNSIGNED LONG
Params: STRING Target
Vars: STRING MemSize
UNSIGNED LONG ROM_Size
EnableOutput
Return: VOID
Prv_Parse_Wav_Files
Return: VOID
Ev_Property
Return: UNSIGNED LONG
Vars: SIGNED LONG ROM_size
STRING temp_str
UNSIGNED LONG pitchcalc
Ev_AddVarSize
Return: UNSIGNED LONG
Params: STRING VarName
STRING ExpandName
STRING Expansion
Vars: BYTE Compare
LookupPhoneme
Return: VOID
Params: STRING Phoneme
Vars: BYTE Compare
STRING Temp_Str
Ev_Renamed
Return: UNSIGNED LONG
Vars: STRING Name
CopyMemFromPointer
Return: BYTE
Params: UNSIGNED LONG VoicePtr
Prv_Parse_Named_Wav_File
Return: STRING
Params: STRING Filename
BYTE Enabled
Vars: STRING FilePath
HANDLE FileHandle
BYTE Data
BYTE done
BYTE state
UNSIGNED LONG Idx
UNSIGNED LONG Wav_Length
UNSIGNED INT data_offset
UNSIGNED LONG FileLength
Ev_AddVar
Return: UNSIGNED LONG
Params: STRING VarName
STRING ExpandName
STRING Expansion
Vars: BYTE Compare
STRING TestStr2
STRING TestStr3
DisableOutput
Return: VOID
Vars: BYTE dummy
ReadByteFromPhoneme
Return: BYTE
Params: STRING Phoneme
UNSIGNED INT Idx
Vars: UNSIGNED LONG Address
OutputPhoneme
Return: VOID
Params: STRING DataString
Vars: UNSIGNED INT Idx
BYTE StrLen
STRING teststr
BYTE stridx
UNSIGNED LONG Pending
UNSIGNED LONG Address
BYTE Data
BYTE DatIdx
Add_Word_To_Library
Return: UNSIGNED INT
Params: STRING Word
Vars: UNSIGNED INT Idx
STRING CompStr
BYTE LenStr
BYTE found
Ev_Start
Return: UNSIGNED LONG
Vars: BYTE test
Main
Return: VOID
Vars: STRING test
Verison History
Version 0.6
12/09/19 BR - Created initial recursive parser
14/09/19 BR - Added support for disabled icons
18/09/19 BR - Fixed decision icon parsing
19/09/19 BR - Added switch icon support
23/09/19 BR - Fixed recursive loop spacing
27/09/19 BR - Further tweaked spacing and added Macro menu
30/09/19 BR - Improved all string spacing
01/10/19 BR - Improved While icon support