Not long ago MCFS 2.0.1 was released and it's time for an upgrade. This is version 2.0.2 with fixes for the built-in "cd" command and separation of the source code into multiple files for easier read and conversion to other hardware.
Change Directory command
This command now behaves more like it's UNIX equivalent. It's now possible to enter paths with multiple directories like "cd games/adventure". Paths starting with "/" refers to an absolute path beginning from the root. It's also now possible to go up one directory by "cd .." as commonly available on other systems.
Source code for MCFS 2.0.2
The source is now a little more structured than the previous version and has been divided into four files.
mcfs2.asm - main code
mcfs2_rtc.asm - driver for the real-time clock
mcfs2_storage.asm - driver for flash card storage
mcfs2_ram.asm - variables in RAM
format.asm - flash card format routine (use with caution)
Compiling
The source files need to be combined in order to compile MCFS2. Either the assembler have the ability to read all files sequentially or they can simply be concatenated before compiling.
Example 1 - all files at once
# as1h mcfs2.asm mcfs2_rtc.asm mcfs2_storage.asm mcfs2_ram.asm
# as1h format.asm mcfs2_storage.asm
Example 2 - concatenation
# cat mcfs2.asm mcfs2_rtc.asm mcfs2_storage.asm mcfs2_ram.asm > combined_mcfs2.asm
# as1h combined_mcfs2.asm
# cat format.asm mcfs2_storage.asm > combined_format.asm
# as1h combined_format.asm
Care must be taken to read the files in the right order. As a reference I have included my resulting S19-files.
mcfs2.s19 format.s19