Flowcode Project File Parser

Ben Rowland 2019 (C) Matrix TSL


Target Device

ARD.ATMEGA.Arduino Uno R3 PDIP

Constants

SIGNED INT ERROR_SECT_BYTES     SIGNED INT ERROR_FILE_NOT_FOUND     SIGNED INT ACK_FILE_EMPTY     SIGNED INT ACK_END_OF_FILE     SIGNED INT ERROR_NO_CARD     SIGNED INT ERROR_ROOT_FULL     SIGNED INT CMD_APP     SIGNED INT ERROR_BAD_CLUSTER     SIGNED INT ACK_FILE_TYPE     SIGNED INT ERROR_TIMEOUT     BOOL false     SIGNED INT ERROR_INVALID_MBR     SIGNED INT ERROR_NO_ACK     SIGNED INT CMD_GO_IDLE_STATE     SIGNED INT ERROR_READING_MBR     SIGNED INT ERROR_READING_MBR2     SIGNED INT ERROR_FREE_SECTOR     SIGNED INT CMD_SEND_IF_COND     SIGNED INT ERROR_RESERVED     SIGNED INT ACK_OK     SIGNED INT CMD_READ_SINGLE_BLOCK     SIGNED INT CMD_SEND_OP_COND     SIGNED INT CMD_WRITE_SINGLE_BLOCK     SIGNED INT ERROR_NO_RESPONSE     SIGNED INT CMD_READ_OCR     BOOL true    

Globals

BYTE sector_address_length     UNSIGNED LONG folder_size     HANDLE file_handle     UNSIGNED INT fat_size     BYTE sim_card_connected     HANDLE ConsoleBufferHandle     UNSIGNED LONG file_pointer     UNSIGNED LONG root_start     BYTE fat_system     HANDLE ConsoleHandle     STRING sim_folder_path_4     UNSIGNED LONG file_size     STRING sim_folder_path_3     BYTE Pvt_Prescale     UNSIGNED LONG not_address_marker     STRING sim_folder_path_2     STRING sim_folder_path_1     UNSIGNED INT fats_per_sector     STRING sim_folder_path_0     BYTE init     UNSIGNED INT CREATE_TIME     BYTE file_idx     BYTE card_buffer_l     BYTE Pvt_Channel     UNSIGNED INT root_sectors     UNSIGNED LONG eof_marker     STRING GCommand     UNSIGNED LONG file_sector     UNSIGNED LONG cluster     HANDLE card_position_h     BYTE card_type     BYTE card_buffer_h     BYTE SimInitPrinted     BYTE sdhc_flag     UNSIGNED INT CREATE_DATE     UNSIGNED LONG data_start     UNSIGNED INT read_address     BYTE name_ext     BYTE sects_per_clust     UNSIGNED LONG file_address     UNSIGNED LONG fat_start     BYTE file_entry     UNSIGNED LONG folder_start    

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

MoveToNextFileSector

Return:     BYTE
Params:     BYTE Force_Next_Sector    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

WriteByteToBuffer

Return:     VOID
Params:     UNSIGNED INT Address     BYTE Data    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

AppendByteToFile

Return:     BYTE
Params:     BYTE Data    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

sim_delete_file

Return:     BYTE
Params:     STRING Filename    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

CloseFile

Return:     VOID

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

ReadByteFromFile

Return:     UNSIGNED INT
Vars:     UNSIGNED INT Idx     BYTE Data_Byte     UNSIGNED INT Sector_Size    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

ReadByteFromIndex

Return:     BYTE
Params:     UNSIGNED LONG Address    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

DeleteFile

Return:     BYTE
Params:     STRING Filename    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

CreateFile

Return:     BYTE
Params:     STRING Filename    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

sim_open_file

Return:     BYTE
Params:     STRING Filename    
Vars:     BYTE i     STRING name_comp     UNSIGNED INT idx_fat     UNSIGNED INT idx     UNSIGNED LONG fat_pointer     UNSIGNED LONG fat_address     BYTE j     UNSIGNED INT temp    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

sim_append_byte_to_file

Return:     BYTE
Params:     BYTE data    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

sim_move_to_next_file_sector

Return:     BYTE
Params:     BYTE force_next_sector    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

sim_open_folder

Return:     BYTE
Params:     STRING Folder_Name    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

OpenFolder

Return:     BYTE
Params:     STRING Folder_Name    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

ReadFileLength

Return:     SIGNED INT
Vars:     SIGNED LONG temp    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

OpenFile

Return:     BYTE
Params:     STRING Filename    
Vars:     BYTE i     STRING name_comp     UNSIGNED INT idx_fat     UNSIGNED INT idx     UNSIGNED LONG fat_pointer     UNSIGNED LONG fat_address     BYTE j     UNSIGNED INT temp    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

WriteFileSector

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

sim_append_string_to_file

Return:     BYTE
Params:     STRING Str    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

sim_write_file_sector

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

sim_create_file

Return:     BYTE
Params:     STRING Filename    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

AppendStringToFile

Return:     BYTE
Params:     STRING Data_String    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

sim_read_byte_from_file

Return:     UNSIGNED INT
Vars:     UNSIGNED INT Idx     BYTE Data_Byte     UNSIGNED INT Sector_Size    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

sim_read_byte_from_index

Return:     BYTE
Params:     UNSIGNED LONG Address    

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

ReadFileSize

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

MoveToNextFileSector    /    WriteByteToBuffer    /    AppendByteToFile    /    sim_delete_file    /    CloseFile    /    ReadByteFromFile    /    ReadByteFromIndex    /    DeleteFile    /    CreateFile    /    sim_open_file    /    sim_append_byte_to_file    /    sim_move_to_next_file_sector    /    sim_open_folder    /    OpenFolder    /    ReadFileLength    /    OpenFile    /    WriteFileSector    /    sim_append_string_to_file    /    sim_write_file_sector    /    sim_create_file    /    AppendStringToFile    /    sim_read_byte_from_file    /    sim_read_byte_from_index    /    ReadFileSize    /    Main

Main

Return:     VOID

Your browser does not support the HTML5 canvas tag.

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