+ m68k-atari: fixed bogus TOS program flags passed to VLink. added -WF argument to allow the user to specify their own flags if needed

This commit is contained in:
Karoly Balogh 2022-01-25 23:14:34 +01:00
parent ca8a94e693
commit b3cbf07f27
4 changed files with 19 additions and 1 deletions

View File

@ -416,6 +416,9 @@ interface
palmos_applicationid : string[4] = 'FPCA';
{$endif defined(m68k) or defined(arm)}
{$if defined(m68k)}
{ Atari Specific }
ataritos_exe_flags: dword = 7;
{ Sinclair QL specific }
sinclairql_metadata_format: string[4] = 'QHDR';
sinclairql_vlink_experimental: boolean = true; { temporary }

View File

@ -4327,6 +4327,7 @@ A*2We_Use external resources (Darwin)
P*2We_Use external resources (Darwin)
p*2We_Use external resources (Darwin)
3*2WF_Specify full-screen type application (EMX, OS/2)
6*2WF<x>_Set TOS program flags to <x> (Atari)
3*2WG_Specify graphic type application (EMX, OS/2, Windows)
4*2WG_Specify graphic type application (Windows)
A*2WG_Specify graphic type application (Windows)

View File

@ -2810,6 +2810,20 @@ begin
end;
'F':
begin
{$if defined(m68k)}
if target_info.system in [system_m68k_atari] then
begin
if (length(More)>j) then
begin
val(Copy(More,j+1,255),ataritos_exe_flags,code);
if code<>0 then
IllegalPara(opt);
end
else
IllegalPara(opt);
break;
end;
{$endif defined(m68k)}
if target_info.system in systems_os2 then
begin
if UnsetBool(More, j, opt, false) then

View File

@ -224,7 +224,7 @@ begin
GCSectionsStr:='';
DynLinkStr:='';
MapStr:='';
FlagsStr:='-tos-flags fastload,fastram';
FlagsStr:='-tos-flags '+tostr(ataritos_exe_flags);
if UseVlink and (cs_link_map in current_settings.globalswitches) then
MapStr:='-M'+maybequoted(ScriptFixFileName(current_module.mapfilename));