# HG changeset patch # User Matti Hamalainen # Date 1578949941 -7200 # Node ID 829e3080e0adbc43b808ddef89e01153dd050386 # Parent bc05bcfc4598cb4e597feb64328d8a0771ba4736 Cosmetic cleanups. diff -r bc05bcfc4598 -r 829e3080e0ad tools/objlink.c --- a/tools/objlink.c Mon Jan 13 22:26:24 2020 +0200 +++ b/tools/objlink.c Mon Jan 13 23:12:21 2020 +0200 @@ -1,7 +1,7 @@ /* * objlink - Link files (RAW and PRG) into one PRG object * Programmed and designed by Matti 'ccr' Hamalainen - * (C) Copyright 2002-2018 Tecnic Software productions (TNSP) + * (C) Copyright 2002-2020 Tecnic Software productions (TNSP) * * Please read file 'COPYING' for information on license and distribution. */ @@ -10,6 +10,7 @@ #include "dmargs.h" #include "dmfile.h" + #define SET_MAX_FILENAMES (128) #define SET_MAX_MEMBLOCKS (128) @@ -24,6 +25,7 @@ int placement; } DMMemBlock; + typedef struct { char *name; // Description of memory model @@ -33,6 +35,7 @@ DMMemBlock memBlocks[SET_MAX_MEMBLOCKS]; } DMMemModel; + typedef struct { char *filename; @@ -41,6 +44,7 @@ int addr; } DMSourceFile; + // Source file type enum { @@ -79,39 +83,55 @@ LA_AUTO = -1 }; + /* Memory models */ -const DMMemModel memoryModels[] = { - { "C64 unrestricted", "$01 = $34", (64*1024), 0, { - { 0, 0, 0, NULL, 0 } - }}, +const DMMemModel memoryModels[] = +{ + { "C64 unrestricted", "$01 = $34", + 64 * 1024, + 0, + { + { 0x0000, 0x0000, 0 , NULL , 0 } + } + }, - { "C64 normal (IO+Basic+Kernal)", "$01 = $37", (64*1024), 3, { - { 0xA000, 0xBFFF, MTYPE_ROM_WT, "Basic ROM", PLACE_STATIC }, - { 0xD000, 0xDFFF, MTYPE_IO, "I/O", PLACE_STATIC }, - { 0xE000, 0xFFFF, MTYPE_ROM_WT, "Kernal ROM", PLACE_STATIC }, - }}, - - { "C64 modified (IO+Kernal)", "$01 = $36", (64*1024), 2, { - { 0xD000, 0xDFFF, MTYPE_IO, "I/O", PLACE_STATIC }, - { 0xE000, 0xFFFF, MTYPE_ROM_WT, "Kernal ROM", PLACE_STATIC }, - }}, + { "C64 normal (IO+Basic+Kernal)", "$01 = $37", + 64 * 1024, + 3, + { + { 0xA000, 0xBFFF, MTYPE_ROM_WT , "Basic ROM" , PLACE_STATIC }, + { 0xD000, 0xDFFF, MTYPE_IO , "I/O" , PLACE_STATIC }, + { 0xE000, 0xFFFF, MTYPE_ROM_WT , "Kernal ROM" , PLACE_STATIC }, + } + }, - { "C64 modified (IO only)", "$01 = $35", (64*1024), 1, { - { 0xD000, 0xDFFF, MTYPE_IO, "I/O", PLACE_STATIC }, - }}, + { "C64 modified (IO+Kernal)", "$01 = $36", + 64 * 1024, + 2, + { + { 0xD000, 0xDFFF, MTYPE_IO , "I/O" , PLACE_STATIC }, + { 0xE000, 0xFFFF, MTYPE_ROM_WT , "Kernal ROM" , PLACE_STATIC }, + } + }, - { "C64 modified (Char+Kernal+Basic)", "$01 = $33", (64*1024), 3, { - { 0xA000, 0xBFFF, MTYPE_ROM_WT, "Basic ROM", PLACE_STATIC }, - { 0xD000, 0xDFFF, MTYPE_ROM, "Char ROM", PLACE_STATIC }, - { 0xE000, 0xFFFF, MTYPE_ROM_WT, "Kernal ROM", PLACE_STATIC }, - }}, + { "C64 modified (IO only)", "$01 = $35", + 64 * 1024, + 1, + { + { 0xD000, 0xDFFF, MTYPE_IO , "I/O" , PLACE_STATIC }, + } + }, -/* - { "C64 normal", "$01 = $37", (64*1024), 0, { - { 0x0000, 0x0000, MTYPE_RAM, "" }, - }}, -*/ + { "C64 modified (Char+Kernal+Basic)", "$01 = $33", + 64 * 1024, + 3, + { + { 0xA000, 0xBFFF, MTYPE_ROM_WT , "Basic ROM" , PLACE_STATIC }, + { 0xD000, 0xDFFF, MTYPE_ROM , "Char ROM" , PLACE_STATIC }, + { 0xE000, 0xFFFF, MTYPE_ROM_WT , "Kernal ROM" , PLACE_STATIC }, + } + }, }; static const int nmemoryModels = sizeof(memoryModels) / sizeof(memoryModels[0]); @@ -125,25 +145,20 @@ int nmemBlocks = 0; DMMemBlock memBlocks[SET_MAX_FILENAMES]; +char *optDestName = NULL; char *optLinkFileName = NULL; int optLinkFileFormat = FMT_GENERIC; - BOOL optDescribe = FALSE, - optAllowOverlap = FALSE; - -Uint32 optInitValue = 0; + optAllowOverlap = FALSE, + optCropOutput = FALSE; +unsigned int optCropStart, optCropEnd; +unsigned int optInitValue = 0; int optInitValueType = 1; -unsigned int optCropStart, optCropEnd; -BOOL optCropOutput = FALSE; - -int optLoadAddress = LA_AUTO; - +int optLoadAddress = LA_AUTO; int optMemModel = 0; const DMMemModel *memModel = NULL; Uint8 *memory = NULL; -char *optDestName = NULL; - /* Arguments */