magic: prepare for FAT32 use

This commit is contained in:
E. C. Masloch 2024-02-07 00:17:40 +01:00 committed by Kenneth J Davis
parent 5a6d3a449f
commit d9b0615ad5

View File

@ -44,22 +44,33 @@ _appenddigitstrdef %1, (%2 >> (0 * 4)) & 0Fh
%endif %endif
%endmacro %endmacro
%macro magicoffset 3.nolist %macro magicoffset 2-3.nolist
%ifdef ISFAT12 %if ISFAT1216DUAL
%ifdef ISFAT12
%define SYSOFFSET %2 %define SYSOFFSET %2
%elifdef ISFAT16 %elifdef ISFAT16
%define SYSOFFSET %3 %define SYSOFFSET %3
%else %else
%define SYSOFFSET 0 %define SYSOFFSET 0
; Just a placeholder, so the proper error message ; Just a placeholder, so the proper error message
; will be shown when assembling without either ; will be shown when assembling without either
; of the ISFATx defines. ; of the ISFATx defines.
%endif
%else
%define SYSOFFSET %2
%ifnempty %3
%error Not in dual mode
%endif
%endif %endif
%assign NEWOFFSET $ - Entry %assign NEWOFFSET $ - Entry
%if NEWOFFSET != SYSOFFSET %if NEWOFFSET != SYSOFFSET
_autohexitsstrdef NEWOFFSETHEX, NEWOFFSET _autohexitsstrdef NEWOFFSETHEX, NEWOFFSET
%strcat _NEWOFFSETHEX _NEWOFFSETHEX,'h' %strcat _NEWOFFSETHEX _NEWOFFSETHEX,'h'
%deftok NEWOFFSET _NEWOFFSETHEX %deftok NEWOFFSET _NEWOFFSETHEX
%error Magic offset %1 changed for FATFS, old=SYSOFFSET, new=NEWOFFSET %if ISFAT1216DUAL
%error Magic offset %1 changed for FATFS, old=SYSOFFSET, new=NEWOFFSET
%else
%error Magic offset %1 changed, old=SYSOFFSET, new=NEWOFFSET
%endif
%endif %endif
%endmacro %endmacro