Mr Do's Nightmare


Recommended Posts

One of my friends (Crazy Ivan) wrote a game to run on galaxian hardware a while back (I did a galaxian multigame), and he is happy for it to be made available to run on FPGA's

I had to make some minor changes to the controls to make it playable, but here is the bit file to let you play Mr Do's Nightmare on your papilio one with arcade megaboard.

Once I get a chance to make sure i only changed the control mapping, I'll put up the changes so you papilio+ owners can play it as well.

Link to comment
Share on other sites

Hey, this is awesome!

I just played the game for a while, my friend and I had a high score competition for an hour or so. Fun game. :)

Do you think Crazy Ivan would be willing to send an email to so I have a record of the permission to include the game with the Arcade Blaster app and the galaxian source code?

Either way we are going to work on a blog post for the game.

Thanks to both of you for this awesome contribution. :)


Link to comment
Share on other sites

Had a look through the changes I made to see what was actually needed, and it seems to boil down to a couple of changes in the galaxian_top.vhd file only, to add in the extra controls for up and down.

In the entity, the signals associated with two of the ports have changed (*) to pass in UP and DOWN

    mc_inport : entity work.MC_INPORT

    port map (

        I_COIN1    => not C1,  --  ACTIVE HI

        I_COIN2    => not C2,  --  ACTIVE HI

        I_1P_LE    => not L1,  --  ACTIVE HI

        I_1P_RI    => not R1,  --  ACTIVE HI

        I_1P_SH    => not J1,  --  ACTIVE HI

        I_2P_LE    => not U1,  --  ACTIVE HI *

        I_2P_RI    => not D1,  --  ACTIVE HI *

        I_2P_SH    => not J2,  --  ACTIVE HI

        I_1P_START => not S1,  --  ACTIVE HI

        I_2P_START => not S2,  --  ACTIVE HI

        I_SW0_OEn  => W_SW0_OEn,

        I_SW1_OEn  => W_SW1_OEn,

        I_DIP_OEn  => W_DIP_OEn,

        O_D        => W_SW_DO


further down, commented with the BUTTONS as below, these 5 lines have changed to remove the NOT from each line, and then to map the signals for UP and DOWN

--------- BUTTONS      ---------------------

    U1 <= I_SW(0);

    D1 <= I_SW(1);

    L1 <= I_SW(3);

    R1 <= I_SW(2);

    J1 <= I_SW(4);

n.b. not sure why I needed to swop L1 and R1 over - is the UCF correct in the first place (haven't checked yet) - I'd better try galaxian and see

I'll post the roms in a while, just need to chop them into galaxian sized chunks!

Link to comment
Share on other sites


I need about one more week to finish up the big project I'm working on right now, then I intend to spend several weeks updating the Papilio Arcade stuff. I will include all of this with the Arcade Blaster and the source code when I do. :)


Link to comment
Share on other sites

  • 2 years later...

jack can you see if you can recover the original files from this post ? i get incomplete zips.

also, he annotated the changes he made to the galaxian vhdl on here,

so in theory if we can properly fix the galaxian on ppro we can do the changes for mr do's nightmare on ppro / pduo.

Link to comment
Share on other sites

vlait did find what he believes is the cause of the double image on the hardware. 

he was going to test and get back with me.


he also sent me a fixed frogger base hardware for ppro which is in the rar i sent you.


not sure if he sent you a pull request on github yet.

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.