123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438 |
- /*
- ucon64_defines.h - definitions for uCON64
- Copyright (c) 2002 - 2005 NoisyB
- Copyright (c) 2002 - 2005 dbjh
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
- #ifndef UCON64_DEFINES_H
- #define UCON64_DEFINES_H
- // Please make sure that NO definition except FALSE has 0 as value!
- #if (!defined TRUE || !defined FALSE)
- #define FALSE 0
- #define TRUE (!FALSE)
- #endif
- #if (!defined MIN || !defined MAX)
- #define MIN(a,b) ((a) < (b) ? (a) : (b))
- #define MAX(a,b) ((a) > (b) ? (a) : (b))
- #endif
- #ifndef LIB_VERSION
- #define LIB_VERSION(ver, rel, seq) (((ver) << 16) | ((rel) << 8) | (seq))
- #endif
- #define NULL_TO_EMPTY(str) ((str) ? (str) : (""))
- //#define RANDOM(min, max) ((rand () % (max - min)) + min)
- #define OFFSET(a, offset) ((((unsigned char *) &(a)) + (offset))[0])
- #define UCON64_UNKNOWN (-1)
- #define UCON64_UNKNOWN_S "Unknown"
- #define NULL_TO_UNKNOWN_S(str) ((str) ? (str) : (UCON64_UNKNOWN_S))
- #define UCON64_VERSION_S "2.0.2"
- /* program version counter */
- //#define UCON64_VERSION 202
- /* version of config file layout */
- #define UCON64_CONFIG_VERSION 208
- #define MBIT 131072
- #define TOMBIT(x) ((int)(x) / MBIT)
- #define TOMBIT_F(x) ((float)(x) / MBIT)
- #define MAXROMSIZE (512 * MBIT)
- #ifndef MAXBUFSIZE
- #define MAXBUFSIZE 32768
- #endif // MAXBUFSIZE
- // maximum number of arguments uCON64 takes from the cmdline
- #define UCON64_MAX_ARGS 512
- #define UCON64_OPTION 1000
- #define UCON64_CONSOLE 0
- // options (consoles)
- enum
- {
- UCON64_3DO = UCON64_CONSOLE + 1,
- UCON64_ATA,
- UCON64_CD32,
- UCON64_CDI,
- UCON64_COLECO,
- UCON64_DC,
- UCON64_GB,
- UCON64_GBA,
- UCON64_GC,
- UCON64_GEN,
- UCON64_GP32,
- UCON64_INTELLI,
- UCON64_JAG,
- UCON64_LYNX,
- UCON64_ARCADE,
- UCON64_N64,
- UCON64_NDS,
- UCON64_NES,
- UCON64_NG,
- UCON64_NGP,
- UCON64_PCE,
- UCON64_PS2,
- UCON64_PSX,
- UCON64_S16,
- UCON64_SAT,
- UCON64_SMS,
- // don't mix the following with UCON64_GG (Game Genie), used only for --mgdgg
- UCON64_GAMEGEAR,
- UCON64_SNES,
- UCON64_SWAN,
- UCON64_VBOY,
- UCON64_VEC,
- UCON64_XBOX
- };
- // option strings (consoles)
- #define UCON64_3DO_S "3do"
- #define UCON64_ATA_S "ata"
- #define UCON64_CD32_S "cd32"
- #define UCON64_CDI_S "cdi"
- #define UCON64_COLECO_S "coleco"
- #define UCON64_DC_S "dc"
- #define UCON64_GB_S "gb"
- #define UCON64_GBA_S "gba"
- #define UCON64_GC_S "gc"
- #define UCON64_GEN_S "gen"
- #define UCON64_GP32_S "gp32"
- #define UCON64_INTELLI_S "intelli"
- #define UCON64_JAG_S "jag"
- #define UCON64_LYNX_S "lynx"
- #define UCON64_ARCADE_S "arcade"
- #define UCON64_N64_S "n64"
- #define UCON64_NDS_S "nds"
- #define UCON64_NES_S "nes"
- #define UCON64_NG_S "ng"
- #define UCON64_NGP_S "ngp"
- #define UCON64_PCE_S "pce"
- #define UCON64_PS2_S "ps2"
- #define UCON64_PSX_S "psx"
- #define UCON64_S16_S "s16"
- #define UCON64_SAT_S "sat"
- #define UCON64_SMS_S "sms"
- #define UCON64_GAMEGEAR_S "gg"
- #define UCON64_SNES_S "snes"
- #define UCON64_SWAN_S "swan"
- #define UCON64_VBOY_S "vboy"
- #define UCON64_VEC_S "vec"
- #define UCON64_XBOX_S "xbox"
- // the other options
- enum
- {
- UCON64_1991 = UCON64_OPTION + 1,
- UCON64_A,
- UCON64_B,
- UCON64_B0,
- UCON64_B1,
- UCON64_BAT,
- UCON64_BIN,
- UCON64_BIOS,
- UCON64_BOT,
- UCON64_BS,
- UCON64_C,
- UCON64_CHK,
- UCON64_CODE,
- UCON64_COL,
- UCON64_CRC,
- UCON64_CRCHD,
- UCON64_CRP,
- UCON64_CS,
- UCON64_CTRL,
- UCON64_CTRL2,
- UCON64_CMNT,
- UCON64_DB,
- UCON64_DBS,
- UCON64_DBUH,
- UCON64_DBV,
- UCON64_DFIND,
- UCON64_DFINDR,
- UCON64_DINT,
- UCON64_DMIRR,
- UCON64_DNSRT,
- UCON64_DUAL,
- UCON64_DUMPINFO,
- UCON64_E,
- UCON64_EROM,
- UCON64_F,
- UCON64_FDS,
- UCON64_FDSL,
- UCON64_FFE,
- UCON64_FIG,
- UCON64_FIGS,
- UCON64_FILE,
- UCON64_FIND,
- UCON64_FINDI,
- UCON64_FINDR,
- UCON64_FRONTEND,
- UCON64_GBX,
- UCON64_GD3,
- UCON64_GD3S,
- UCON64_GG,
- UCON64_GGD,
- UCON64_GGE,
- UCON64_HD,
- UCON64_HDN,
- UCON64_HELP,
- UCON64_HEX,
- UCON64_HFIND,
- UCON64_HFINDR,
- UCON64_HI,
- UCON64_I,
- UCON64_ID,
- UCON64_IDNUM,
- UCON64_IDPPF,
- UCON64_INES,
- UCON64_INESHD,
- UCON64_INS,
- UCON64_INSN,
- UCON64_INT,
- UCON64_INT2,
- UCON64_ISPAD,
- UCON64_J,
- UCON64_K,
- UCON64_L,
- UCON64_LNX,
- UCON64_LOGO,
- UCON64_LS,
- UCON64_LSD,
- UCON64_LSRAM,
- UCON64_LSV,
- UCON64_LYX,
- UCON64_MAPR,
- UCON64_MD5,
- UCON64_MGD,
- UCON64_MGDGG,
- UCON64_MGH,
- UCON64_MIRR,
- UCON64_MKA,
- UCON64_MKDAT,
- UCON64_MKI,
- UCON64_MKIP,
- UCON64_MKPPF,
- UCON64_MKSRM,
- UCON64_MSG,
- UCON64_MULTI,
- // UCON64_MVS,
- UCON64_N,
- UCON64_N2,
- UCON64_N2GB,
- UCON64_NA,
- UCON64_NBAK,
- UCON64_NBAT,
- UCON64_NBS,
- UCON64_NCOL,
- UCON64_NHD,
- UCON64_NHI,
- UCON64_NINT,
- UCON64_NPPF,
- UCON64_NROT,
- UCON64_NS,
- UCON64_NSWP,
- UCON64_NTSC,
- UCON64_NVRAM,
- UCON64_O,
- UCON64_P,
- UCON64_PAD,
- UCON64_PADHD,
- UCON64_PADN,
- UCON64_PAL,
- UCON64_PARSE,
- UCON64_PASOFAMI,
- UCON64_PATCH,
- UCON64_PATTERN,
- UCON64_POKE,
- UCON64_PORT,
- UCON64_PPF,
- UCON64_PRINT,
- UCON64_Q,
- UCON64_QQ, // already reserved ;-)
- UCON64_R83,
- UCON64_RDAT,
- UCON64_R,
- UCON64_REGION,
- UCON64_RJOLIET,
- UCON64_RROM,
- UCON64_RL,
- UCON64_ROM,
- UCON64_ROTL,
- UCON64_ROTR,
- UCON64_RU,
- UCON64_S,
- UCON64_SAM,
- UCON64_SC,
- UCON64_SCAN,
- UCON64_SCR,
- UCON64_SGB,
- UCON64_SHA1,
- UCON64_SMC,
- UCON64_SMD,
- UCON64_SMDS,
- UCON64_SRAM,
- UCON64_SSC,
- UCON64_SSIZE,
- UCON64_STP,
- UCON64_STPN,
- UCON64_STRIP,
- UCON64_SWAP,
- UCON64_SWAP2,
- UCON64_SWC,
- UCON64_SWCS,
- UCON64_SWP,
- UCON64_TEST,
- UCON64_UFO,
- UCON64_UFOS,
- UCON64_UNIF,
- UCON64_UNSCR,
- UCON64_USMS,
- UCON64_V,
- UCON64_V64,
- UCON64_VER,
- UCON64_VMS,
- UCON64_VRAM,
- UCON64_XCD64,
- UCON64_XCD64B,
- UCON64_XCD64C,
- UCON64_XCD64E,
- UCON64_XCD64F,
- UCON64_XCD64M,
- UCON64_XCD64P,
- UCON64_XCD64S,
- UCON64_XCMC,
- UCON64_XCMCM,
- UCON64_XCMCT,
- UCON64_XDEX,
- UCON64_XDJR,
- UCON64_XF2A,
- UCON64_XF2AB,
- UCON64_XF2AC,
- UCON64_XF2AMULTI,
- UCON64_XF2AS,
- UCON64_XFAL,
- UCON64_XFALB,
- UCON64_XFALC,
- UCON64_XFALMULTI,
- UCON64_XFALS,
- UCON64_XFALM, // actually only necessary for the Windows
- UCON64_XFIG, // ports, but might be useful for others too
- UCON64_XFIGS,
- UCON64_XFIGC,
- UCON64_XGBX,
- UCON64_XGBXB,
- UCON64_XGBXS,
- UCON64_XGBXM,
- UCON64_XGD3,
- UCON64_XGD3R,
- UCON64_XGD3S,
- UCON64_XGD6,
- UCON64_XGD6R,
- UCON64_XGD6S,
- UCON64_XGG,
- UCON64_XGGB,
- UCON64_XGGS,
- UCON64_XLIT,
- UCON64_XMCCL,
- UCON64_XMCD,
- UCON64_XMD,
- UCON64_XMDB,
- UCON64_XMDS,
- UCON64_XMSG,
- UCON64_XPCE,
- UCON64_XPL,
- UCON64_XPLI,
- UCON64_XPLM,
- UCON64_XQD16,
- UCON64_XRESET,
- UCON64_XSF,
- UCON64_XSFS,
- UCON64_XSMC,
- UCON64_XSMCR,
- UCON64_XSMD,
- UCON64_XSMDS,
- UCON64_XSWC,
- UCON64_XSWC2,
- UCON64_XSWC_IO,
- UCON64_XSWCR,
- UCON64_XSWCS,
- UCON64_XSWCC,
- UCON64_XV64,
- UCON64_Z64,
- // UCON64_FORCE63,
- UCON64_GUI,
- // Keep these (libdiscmage) options separate
- UCON64_DISC = UCON64_OPTION + 250,
- UCON64_MKCUE,
- UCON64_MKSHEET,
- UCON64_MKTOC,
- UCON64_RIP,
- UCON64_BIN2ISO,
- UCON64_ISOFIX,
- UCON64_XCDRW,
- UCON64_CDMAGE
- };
- /*
- uCON64 workflow flags
- WF_PROBE probe for console type
- WF_INIT init ROM info (ucon64_init()) necessary
- w/o this flag WF_NFO will be ignored
- WF_NFO show info output before processing rom
- WF_NO_ROM for this option no ROM is required
- WF_NO_CRC32 no CRC32 calculation necessary for this option; this
- overrides even WF_INIT and WF_NFO
- WF_STOP a "stop" option:
- - -multi (and -xfalmulti) takes more than one file as
- argument, but should be executed only once.
- - stop after sending one ROM to a copier ("multizip")
- - stop after applying a patch so that the patch file won't
- be interpreted as ROM
- WF_PAR this option requires a parallel port
- WF_USB this option requires a USB port
- WF_SERIAL this option requires a serial port
- WF_NO_SPLIT this option does not work with split ROMs
- WF_DEFAULT same as WF_INIT | WF_PROBE | WF_NFO
- */
- #define WF_PROBE (1)
- #define WF_INIT (1 << 1)
- #define WF_NFO (1 << 2)
- #define WF_STOP (1 << 3)
- #define WF_NO_ROM (1 << 5)
- //#define WF_PAR (1 << 6)
- //#define WF_USB (1 << 7)
- //#define WF_SERIAL (1 << 8)
- #define WF_NO_CRC32 (1 << 9)
- #define WF_NO_SPLIT (1 << 10)
- #define WF_SWITCH (1 << 11)
- #define WF_NO_ARCHIVE (1 << 12)
- #define WF_DEFAULT (WF_PROBE | WF_INIT | WF_NFO)
- #endif // UCON64_DEFINES_H
|