Axis & Allies (CD-i)
Axis & Allies |
---|
Also known as: Axis and Allies (box art) This game has hidden development-related text. |
Oh dear, I do believe I have the vapors. This page contains content that is not safe for work or other locations with the potential for personal embarrassment. Such as: A disgruntled developer giving the factions in World War II offensive internal names. |
Axis & Allies is simultaneously the CD-i's best and worst World War II simulator.
(It's also the CD-i's only WWII sim, but you take what you can get.)
Debugging Files
This needs some investigation. Discuss ideas and findings on the talk page. Specifically: Can this debug mode be reactivated in some way? |
Two unused files can be found on the disc, both of which contain code and strings meant for a debugging mode. This mode would've been controlled using a keyboard and a CD-i dev kit.
cdi_ana
The first, larger file is cdi_ana, a debug version of the used file cdi_anand. Its strings can be split into two (somewhat) even halves.
The first half deals with various aspects of the game itself - AI logic, map data, and so on. It also has some oddities such as a list of various WWII-themed board games and some crude internal names for the game's factions (listed with "_AROUND").
MISERY: closeupStage : %d startZone %s endZone %s seld_area %s [ics %d] active_area %s [%d ics] last_button_inx %d Map %d Quad %d start %d : %s [map %d count %d] Startup *** UNABLE TO LOAD SCREENS! AnA_gloryBoy.c No data block B0 No BgMp0 B1 No BgMp1 C0 No closeOver 0 window C1 No closeOver 1 window fCM %s and %s : %d GQFA map %d JUST %s : %d %s is in quad %d map %d fCQ map %d %s and %s : %d Quad : %d[%d] Map : %d[%d] CUR %d direction %d (%d, %d) nextQuad %d nextMap %d [%d] map %d quad %d *** UNABLE TO LOAD QUAD! showQuad : map %d quad Finish Hello, I am your Axis & Allies CD-I Program. Yowbers FUCK! #!?**$#!#* Before Asset Before intoro Tasking : DONE : mm_get done eff_memActive eff_memDm eff_memSm eff_memNumDms eff_memNumSms GERMAN_PLAYER 0 JAPANESE_PLAYER 1 RUSSIAN_PLAYER 2 UK_PLAYER 3 US_PLAYER 4 Player : %d Where : Inf(0) Arm(1) AA(2) IC(3) FT(4) BM(5) BB(6) CV(7) TR(8) SS(9) What : Number : Total %s in %s for %s : %d JET_ENGINES 0 ROCKETS 1 SUPER_SUBS 2 LONG_RANGE_AIR 3 INDUSTRIAL_TECH 4 HEAVY_BOMBER 5 Tech : tech [%d] : %d Money : : KeyPress %s : %d StartZone %s EndZone %s Selected region %s Active region %s PORT check Xports in range of %s (coast %d): %d Victory status : Keyboard hit Area Displayed : [%d] User Abort! dim_counter %d Cursor Wait : last_button_inx %d MSG_set %d UIW_set %d active %d UIW last %d MSG last %d Lock %d icon %d UIW active %d MSG active %d MAP Active %d Version: %d.%02d NewAreaToConsider : threat for %s : %d ? - this message a - show stats on selected & active areas A - Abort Asset Load c - CV_ct_editor C - turn on cursor process debuggin d - CV_dm_spit D - Dump play PCB e - change forces E - change player techs f - free memory & force listing g - GloryBoy dump h - CV_hs_spit H - Unlock Buttons k - controls dump K - mechanics dump m - CV_cmem_diag o - threat of specific area p - View Play Position M - show next map in map window u - show next area in closeup window v - show version V - Victory sequence R - Restore closeup quad S - Save off closeup positional information s - set selected & active regions w - cursor wait x - computer opinions for current computer player z - cursor flasher ^ - dump at address ~ - resync cp ' - dump mailbox $ - give player money Addr:00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 0123456789abcdef ---- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ---------------- %04x: %02x %s Great Patriotic War Manchukuo or Bust Steam Roll Hindenburg Line Drang Nach Osten Desert Fox Das Boat We shall fight them on the beaches Leto Road El Alamein Operation Olympic Pan Japanese Hegemony Yamamato So Much For Treaties Mississippi Banzai Home Front Lend Lease 12 o'clock high Patton Nimitz & Halsey Current Deployments %s Current Goals %s : val %d Current Deliciousness Current Lairs Current Fangs %s : (off %d %d) Current Interests %s : threat %d value %d Taking out %s from %s threat analysis sorting threats analyzing world %s Combat Resolution AI : ORDER OF BATTLE : who %s '%s' combat at %s We need combat at %s context is now %s AI : combat is over or need not begin %.7s has no combats %.7s Combats Done AI : MACHINE RETREATS : %s from %s : threat %d thresh %d (off %d def %d) There is a need to retreat AI : force has been setup in %s : land %d sea %d air %d origin %s AI : %s retreat from %s to %s (%s thru %s) AI : %s unable to move %d %s from %s to %s retreat to %s retreats away subHits[%d %d] subTaken[%d %d] No(%d) (faction %d) SophiesChoice : %s from %s : %d losses (%d) DM : Moving %d %s from %s to %s : dist %d moveCost %d forceMoves %d %s %s %s ** DM : (via %d) Alter Force %d %s %d failed ** DM: moveCost %d > range %d : %d %s from %s to %s moves %d dist %d DoMove : Force has air %d/%d DoMove : AAGuns attacking Force %d/%d %s AA defense downs %2.2d %.8s %2.2d %.7s downs %.2d %.8s DoMove : AAGuns resolved vs Force %d/%d ** DM: Bad ForceMoveCheck %d %s from %s to %s moves %d dist %d genre (%d %d %d) finding deployments sorting deployments %s will attempt to reinforce %s : %d (bad %d ouch %d) %s can reinforce %s with (%d of hm %d) reinforce %s sorting targets sorting holdings Attack path : %s : %d attackers %d (%d %d) dist %d Landings to %s: trs %d : troops %d %s : Defense %d guys %d strength %s : Offense %d guys %d strength reinforcements PROTECTION : %s at %s consider %s Move %d from %s to %s [trs %d defendP %d] FROM %s (%d) (%s.%s.%s.%s) TO %s % could land troops %d at %s [%d %d] Target %s : (us %d tot %d) (them %d tot %d) Worth %d thresh %d %s is attacking %s : (us %d tot %d | them %d tot %d) Chance %d : goal%d attack %d Attack from %s to %s (threat %d HowMale %d) Attacking from %s to %s : temp %d (src threat %d) attack %s Getting Strategem %s %s Movement Combat Non-combat prioritizing *** %s in trouble : threat %d offensives review %s START OF MOBILIZATION : %s : %d Reinforcing with %s in %s : %d (tot %d) Reinforcing with %s in %s END OF NORMAL MOBILIZATION Attempt to place units again ** %s ignoring '%s' At least one site (%s) for '%s' Placing %s at %s (left %d desired %d) OPTS : At least one site (%s) for '%s' OPTIONAL Placing %s at %s (left %d desired %d) NORMAL REALM OF FLOTSAM Flotsam Deployments at %s (%d %s) Home Deployments at %s (%d %s) Mobilization done REDISTR : noNaval %d Attempting to redistribute %d %s at %s Move %s from %s(%d) to %s(%d) Redistribute : %s from %s to %s Move %s from %s to %s **SEELOWE** %s treasury %d troops %d their xports %d Buying inf for the %s [myInf %d] Treasury %d FAILURE Buying inf for the %s [myInf %d] Treasury %d Is Nvr Free %d >= Min size %d OR Is Saved Game Present %d and is Free %d >= name size %d Unable to open name file Unable to read players Unable to read options Unable to open '%s' : 's' on plane B Number of areas to be read : %d FAILURE reading AREA %d ** Unable to read number of retreats ** FAILURE reading retreat area %s ** FAILURE reading retreat list ERROR : only read %d of %d bytes for save item %d Saved Sides Unable to create name file Unable to write players Unable to write options SaveGamePlease : size %d free %d Saved Conflict FAILURE creating nvr_file : size %d free %d FAILURE writing area number FAILURE writing AREA %d Wrote %d bytes : %d areas ** FAILURE to write number of move areas ** FAILURE to write number of retreats ** FAILURE writing retreat area %s ** FAILURE writing retreat list Wrote retreats for %s(%d) '%s' FAILURE writing ITEM %d Copying %d from 0x%x WROTE %d wonderful items! : %d WORKED! xition %d Unable to unlink asset %d rtr %d vchan %d Unable to free assets rtf %d rtr %d vchan %d Continue failed Pause failed Position: %ul StopPlay : CV_rp_stop has failed : errno %d StopWhenReady : ss_abort Unable to create swapper Unable to copy data from %d to %d Unable to unlink asset %d type %d #### Loader Too Long : deathID %d Unable to setup signal handler %d (func 0x%x) ### DEATH CRUSH (v %d a %d d %d) Truncating dmaps : %d to %d Truncating smaps : %d to %d StopSlideshowNow : WALL IS UP StopSlideshowNow: OK TO STOP invalid pool type: 0x%02x AnA_mem.c Plane A Plane B Sysram Fragments %s: %d bytes free [%d min avail] %-17s %8s %-8s Type Size Address %3s %s Tag Id 0x%06x-0x%06x %8d DMAP LINE_ADR SMAP DBLOCK RP_DATA UNKNOWN %-8s %-8s %3d %s 0x%06x-0x%06x %8d FREE Plane A allocation can't alloc %d plane A memory Plane B allocation can't alloc %d plane B memory Sysram allocation can't allos %d sysram memory Drawmap descriptors Drawmap tags can't alloc smap pointers can't alloc smap buffer pointers eff_memInit eff_memInit: sm_creat failed Soundmap pointer table Soundmap buffer table Soundmap tags WARNING: %s: line %d: attempt to free corrupted block at 0x%06x WARNING: %s: line %d: attempt to free unallocated block at 0x%06x WARNING: %s: line %d: out of drawmaps: %s WARNING: %s: line %d: invalid drawmap type: %02x: %s WARNING: %s: line %d: dm create fails: plane %c, size %d: %s WARNING: %s: line %d: drawmap %d nonexistent WARNING: %s: line %d: out of soundmaps: %s WARNING: %s: line %d: smap alloc failed: memory 0x%02x, WARNING: %s: line %d: soundmap %d nonexistent %s Plane A: Plane B: Sysram: LOAD is %d and max carry is %d Current Force %.3s %02d %s '%s'No Sub hits ? %d [hits %d taken %d] ConductCombat : %s (a %s s %s) TOP of Context '%s' for Player %s Still combats at %s BOTTOM of Context '%s' for Player %s Done with game : victory %d Setting context to %s combatDamage : %d realDamage [%d %d] subHits [%d %d] subTaken [%d %d] ERROR disc_error.c FONT8X8 [%03d:%02d:%04d] rp_attachbuf.c rp_attach_buffer: vid %d : x : %d y : %d size : %d Type 0x%x rp_attach_buffer: NO ALLOC vid %d : x : %d y : %d size : %d Type 0x%x rp_attach_buffer: Reusing audio buffer %d for %d rp_attach_buffer : Create audio : size : %d Type 0x%x rp_attach_buffer: audio %d already exists. BufSz = %d sectors rp_attach_buffer: Reusing data buffer %d for %d rp_attach_buffer: Create data : size : %d CV_rp_play: WARNING malloc fails CV_rp_play: malloc fails rp_attach_buffer: data %d already exists. BufSz = %d sectors at 0x%x CV_rp_play: Invalid path %d rp_play.c CV_rp_play: Unable to load map information CV_rp_play: INVALID AUDIO CHANNEL : %d CV_rp_play: Could not allocate play_loc structure CV_rp_play: Invalid channel spec for rtfpath %d CV_rp_play: Start at sector %d CV_rp_play: Could not determine location CV_rp_play: task_id = %d PCB dump status : 0x%08 signal : %d max records : %d channel : 0x%08x audio chan : 0x%08x video : 0x%x audio : 0x%x data : 0x%x CV_rp: map_loc: Invalid rtfpath %d PLAY_LOC: Record : %d Channel : %d First alarm : %d Trigger : %d Alloc Count Resp Video : %d %d %d Audio : %d %d %d Data : %d %d %d FX : %d %d Video : %d %d %d Audio : %d %d %d Data : %d %d %d FX : %d %d CV_rp_play: Could not allocate array of dmap pointers vd_count = vd_alloc = %d CV_rp_play: Could not allocate array of smap pointers CV_rp_play: Could not allocate array of data pointers Restarting clock CV_rp_play: pcb_handler: Funny stat : 0x%x CV_rp_open: Seek to 0 rp_open.c CV_rp_play : Could not open '%s' .map CV_rp_play: Could not open info file %s rp_free.c RUSSKIS_AROUND UKSR_AROUND COLDWARBUDS_AROUND ALLIES_AROUND PANSIES_AROUND JOEBOBS_AROUND ANGLOFUCKS_AROUND HUNS_AROUND AXIS_AROUND JAPS_AROUND BATTLE_AROUND NOONE_AROUND newForce : %.3d currentForce : %s : %.3d(%.3d) Selected Area %s(%d) : deploy %d cargo %d %s : %d %s : %s : %d moved %d [%d] Active Area %s(%d) eco %d deploy %d cargo %d orig_fact %d ownership %d orig_own %d indust %d Bomb %d air %d att %d eco %d Area '%s' deploy %d cargo %d %d(%d:%d) uiw AnA_crtlities.c No UIW window msg No MSG window map0 No MAP 0 window map1 No MAP 1 window Unable to delete %d Program %s : HEADER Dump for %s U Front Rear Count Opcode %c%7d%7d%7d%7x FreeHelpWall : DONE AnA_menus.c FreeHelpWall : DONE GetHelpWall : BEFORE GetHelpWall : AT END StopAnims AnA_anims.c Unable to delete anim buffer %d anim0 ### Starting %s during [%s](a %s s %s) >>>> UpdateActiveForPosition to %s from %s Done with TakeLosses : combatDamage %d sH [%d %d] sT [%d %d] ** DoneAction for %s (a %s s %s) ** Post Cancel Action for %s (a %s s %s) >>>> MapSelection to %s from %s >>>> MapSelection %s to %s from %s ViewCombatHere : %s ##### Within ViewCombatHere >>>> Committing to %s from %s ** Commit for %s (a %s s %s) ** Post DoneAction for %s (a %s s %s) ** About to do screen stuff for %s (a %s s %s) ** Post Screen Stuff for %s (a %s s %s) ** CancelAction for %s (a %s s %s) >>>> Cancel to %s from %s >>>> CancelSelection %s to %s from %s ##### Within TheProcessor (bcView %d)
The second half contains the data for a CD-i graphics editor that CapDisc used for their games. It also contains the text of a memory editor made by "VDS".
Unable to allocate chunk playbumper.c Open bumper map file %s Unable to open map file %s Unable to read bumper map information Unable to allocate pcsl Allocated %d pcls at 0x%x first asset @ %d Loading bumper into plane %d Unable to load bumper %s cdi_bumpdata Unable to link to bumper data module Bumper fork failed!!! PCB error stat = 0x%x Error in PCL %d editmem.c : invalid address : invalid array reference : alignment error usage: r [<addr> [<len>]] read memory w <addr> <byte1> [...] write to memory m CV_cmem_diag() M CV_mem_doc() & print addresses * print values q quite editor <addr> may be one of: [0-9]* decimal quantity 0x[0-9a-fA-F] hexadecimal quantity <name> address of <name> *<name> address <name> points to Memory Editor V1.1 (by VDS) *** %s usage: w addr [b1 [b2 [...]]] %-30s%-50s RECT ERECT POLY CIRC CWDG ELPS EWDG RGN BFIL FFIL CMPLX CV_hs_spit: no current hotspot tree Address: 0x%x func=0x%x, data=0x%x Hotspot Tree: HS_EV_IN HS_EV_OUT HS_EV_MOVE HS_EV_UP0 HS_EV_UP1 HS_EV_DOWN0 HS_EV_DOWN1 HS_EV_DRAG0 HS_EV_DRAG1 HS_EV_UP HS_EV_DOWN HS_EV_DRAG addr:0x%x type:%s bounds:(%d,%d)-(%d,%d) %sACTIVE IN ??? Quit New Control Table Dissassemble Enter Instruction Help Search for Instruction Insert NOPs into the LCT 1.02 CV control table editor V%s Starting line? Number of lines? 8 (normal) 4 (double) 8 (high) Half Full Black Blue Green Cyan Red Magenta Yellow White OFF CLUT8 CLUT7/RL7 CLUT7/RL7 (Dual) DYUV CLUT4/RL3 RGB555 QHY END IFCA IFCB Matte Flag Off Matte Flag On Matte Flag Off + IFCA Matte Flag On + IFCA Matte Flag Off + IFCB Matte Flag On + IFCB 1 2 A over B B over A x2 x4 x8 x16 Normal Runlength Mosaic Bit = 0 Bit = 1 CKey = FALSE CKey = TRUE MFlag 0 off MFlag 0 off & CKey FALSE MFlag 0 on MFlag 0 on & CKey TRUE MFlag 1 off MFlag 1 off & CKey FALSE MFlag 1 on MFlag 1 on & CKey TRUE off on Line? Column? clut number red value green value blue value matte register Enter opcode matte flag icf x position Enter brightness Enter color clut bank Not allowed! Enter mode Enter pixel repeat Enter Bits/pixel icf value Enter plane A ICM Enter plane B ICM Enter # mattes external video enable pixel hold pixel hold factor Enter plane order mixing: 0=OFF, 1=ON Enter plane A TCI Enter plane B TCI y start value u start value v start value Write failed, errno=%d! FCT 0 FCT 1 LCT 0 LCT 1 PAL LCT 0 PAL LCT 1 Decode which control table? 8bpN 8 bits/pixel, Normal resolution 4bpD 4 bits/pixel, Double resolution 8bpH 8 bits/pixel, High resolution Any color can be at 1/2 intensity ?? Illegal -- Off c4 Clut 4 or RunLength 3 c7 Clut 7 or RunLength 7 77 Clut 7/7 or RunLength 7/7 (dual clut) c8 Clut 8 dv r5 qy ??? Illegal value end Ignore all commands in higher registers icfa Change ICF value for plane A icfb Change ICF value for plane B MFoff Turn Matte Flag off MFon Turn Matte Flag on offIa Turn Matte Flag off and change ICF for plane A onIa Turn Matte Flag on and change ICF for plane A offIb Turn Matte Flag off and change ICF for plane B onIb Turn Matte Flag on and change ICF for plane B nml rl RunLength enabled mos Mosaic enabled Illegal mode b0 Transparency bit 0 B1 Transparency bit 1 cF Color Key FALSE cT Color Key TRUE m0F Matte Flag 0 FALSE m0FcF Matte Flag 0 FALSE or Color Key FALSE m0T Matte Flag 0 TRUE m0TcT Matte Flag 0 TRUE or Color Key TRUE m1F Matte Flag 1 FALSE m1FcF Matte Flag 1 FALSE or Color Key FALSE m1T Matte Flag 1 TRUE m1TcT Matte Flag 1 TRUE or Color Key TRUE Never transparent Always transparent CLUT<clut number> <red> <green> <blue> <clut number> 0 - 63 <red>, <green>, <blue> 0 - 255 72 5.5 MR<register> <op> <matte flag> <icf> <x position> <register> 0 - 7 op <matte flag> 0 - 1 <icf> 0 - 63 <x position> 0 - 1023 83 5.10.3 BKCOL <color> color 91 5.13 CLTB <bank> <bank> 0 - 3 DLS <address> 57 4.5.2.2 DPRM <mode> <pixel repeat> <bits/pixel> mode <pixel repeat> 2, 4, 8, or 16 bits/pixel 59 4.6.1 ICF<plane> <value> <plane> A or B <value> 0 - 63 79 5.9 ICM <icm A> <icm B> <# mattes> <external video> <clut bank> icm A icm B <# mattes> 1 - 2 <external video> 0 - 1 <clut bank> 0 - 1 58 LINK LCT <address> 56, Note 1 4.5.1 MCOL<plane> <red> <green> <blue> <plane> A or B <red> 0 - 255 <green> 0 - 255 <blue> 0 - 255 76 5.7.2.2 PHLD<plane> <enable> <value> <plane> A/B <enable> on/off <value> 0 - 255 86 5.11.1.1 NOP 56 PO <value> <value> B over A or A over B 75 5.7.1 SIG video interrpt 74 5.6 TCOL<plane> <red> <green> <blue> TCI <mix> <tci a> <tci b> <mix> on/of(f) tci a>, <tci b 5.7.3 YUV<plane> <y> <u> <v> <y> 0 - 255 <u> 0 - 255 <v> 0 - 255 61 4.6.2 Starting row Starting column Number of rows Number of columns Any Clut Instruction Specific Clut Number Any Matte Instruction Specific Matte Register Look for: CLUT number Matte Register Start line? Step (-1 or +1) ? Instruction not found. At line %d , column %d : %s CLUT MR BKCOL CLTB DLS DPRM ICF ICM LCT MCOL PHLD NOP PO SIG TCOL TCI YUV Choose Instruction Type: Green Book Reference: Vol. I, V.%s, page V-%s <%s> is one of: %-5s %s Allowed on plane A or B (may be set independently on each) (different opcodes on each plane) plane A only CLUT%-2d %3d %3d %3d CLTB set bank %-5d DLS 0x%-13x ICF%c %-14d LINK LCT 0x%-8x MCOL%c %3d %3d %3d PHLD%c %-3s %3d on off %-19s NOP PO %-16s B ovr A A over B SIG video interrupt TCOL%c %3d %3d %3d YUV%c %3d %3d %3d ERROR in the CT?? Black 1/2 Blue 1/2 Green 1/2 Cyan 1/2 Red 1/2 Magenta 1/2 Yellow 1/2 White Blue Green Cyan Red Magenta Yellow White BKCOL %-13s Dumping FCT #%d, starting line=%d numlines=%d %03d %s Dumping LCT #%d, start line=%d numlines=%d %03d %s CV_dm_close: drawmap %d not found on resource list CV_dm_close: dm_close fails (%d) : vpath : %d dnum : %d CV_dm_create: dm_create fails plane %d width %d height $d length %d type : %d tag : %s CV_dm_create: Could not allocate resource node OFF UNKWN CL4 CL7 CL8 RL3 RL7 DYUV RGB QHY DMID Filename Line Tag Size Plane Type X Y %4d %-10.10s %4d %-25.25s %6d %c %-5.5s %4d %4d Used plane A: %6d Used plane B: %6d Used total : %6d device table path table process table event table Address Size Type Tag 0x%08x-%08x %8d %-8.8s %s UNKNOWN Plane A: Plane B: FREE MODULE DMAP DMAPDESC SMAP SMAPDESC DBLOCK LINE ADR PROC MEM DEV MEM PATH BUF MOD MEM RES NODE RES TAG c - Colored memory diagnostic f - Colored memory free list t - Colored memory free total q - Quit ==> Plane A: Plane B: %s (line %d): WARNING: %d: %s (line %d): ERROR: %d: CV_res_open: Invalid resource type %d resource.c Can't allocate resource pool Can't allocate tag pool cdi_res CV_res_init: Could not create data module %s CV_res_find: Invalid resource type %d CV_res_close: Invalid resource type %d CV_res_close: No current resource node for type %d CV_res_close: resource not found: restype : %d node %d CV_sm_close: soundmap %d not found on resource list CV_sm_close: sm_close fails : apath : %d snum : %d CV_sm_create : sm_creat fails type %d n %d ptr 0x%x tag : %s CV_sm_create: Could not allocate resource node A : %d bytes B : %d bytes Total : %d Stack : %d Malloc'd : %u init Can't get init module CV_get_plane.c CV_malloc grabbing %d bytes from %x (%s:%d) CV_free: INVALID POINTER : 0x%x SYNC : 0x%x (%s:%d) CV_free releasing %d bytes at 0x%x (%s:%d) Can't ss_enable controls CV_root.c Load module %s:%d applinit.c CV_appl_init: Unable to load module: %s into plane %d Open file %s CV_appl_init: Unable to open file '%s' CFREE: _srtmem error %d 0x%x cfree.c
cdi_ana_data
The second, much smaller, file is cdi_ana_data, a debug version of the used file cdi_anand_data. The only difference between the two versions is an additional kilobyte of data spread throughout the former.
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Cleanup > To investigate
Games > Games by content > Games with hidden development-related text
Games > Games by content > NSFW articles
Games > Games by developer > Games developed by Capitol Multimedia > Games developed by Capitol Disc Interactive
Games > Games by platform > CD-i games
Games > Games by publisher > Games published by Philips > Games published by Philips Media
Games > Games by release date > Games released in 1994