Download Latest Version Arcade-_NB_WIP_01.zip (20.9 kB)
Email in envelope

Get an email when there's a new version of DarFPGA

Name Modified Size InfoDownloads / Week
Parent folder
vhdl_test_mb88_52xx_de10_v2.zip 2025-02-22 24.8 kB
vhdl_test_mb88_52xx_de10_v1.zip 2025-02-16 43.0 kB
vhdl_test_mb88_54xx_de10_v4.zip 2025-02-15 19.7 kB
vhdl_test_mb88_52xx_de10.zip 2025-02-15 27.9 kB
vhdl_test_mb88_54xx_de10_v3_stp.zip 2025-02-07 37.9 kB
vhdl_test_mb88_54xx_de10_v2.zip 2025-02-05 23.6 kB
README.TXT 2018-05-06 8.9 kB
vhdl_galaga_rev_0_3_2018_05_06.zip 2018-05-06 292.6 kB
vhdl_galaga_rev_0_2_2017_11_06.zip 2017-11-06 289.5 kB
vhdl_galaga_rev_0_1_2017_11_04.zip 2017-11-04 289.1 kB
vhdl_galaga_29_12_2016.zip 2016-12-29 271.5 kB
Totals: 11 Items   1.3 MB 2
---------------------------------------------------------------------------------
-- Galaga Midway by Dar (darfpga@aol.fr)
-- http://darfpga.blogspot.fr
---------------------------------------------------------------------------------
-- Galaga releases
--
-- Release 0.3 - 06/05/2018 - Dar
--    add cs54XX mb88 explosion sound ship 
--
-- Release 0.2 - 06/11/2017 - Dar
--    fixes twice bullets on single shot => add edge detection en fire
--
-- Release 0.1 - 04 November 2017 - Dar
--	fixes 2 ships bullets bug (swap 2xH/2xV command bits)
--      add top level for DE10_lite
--
-- Release 0.0 - 29 December 2016 - Dar
--	initial release (DE2 only)
--
---------------------------------------------------------------------------------
-- Educational use only
-- Do not redistribute synthetized file with roms
-- Do not redistribute roms whatever the form
-- Use at your own risk
---------------------------------------------------------------------------------
-- gen_ram.vhd & io_ps2_keyboard
-------------------------------- 
-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com)
-- http://www.syntiac.com/fpga64.html
---------------------------------------------------------------------------------
-- T80/T80se - Version : 0247
-----------------------------
-- Z80 compatible microprocessor core
-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org)
---------------------------------------------------------------------------------
-- Educational use only
-- Do not redistribute synthetized file with roms
-- Do not redistribute roms whatever the form
-- Use at your own risk
---------------------------------------------------------------------------------

--  Features :
--   TV 15KHz mode only (atm)
--   Coctail mode ok
--   Sound ok, Ship explode missing (custom chip 0x54XX todo)
--   Starfield from MAME information  

--  Use with MAME roms from galagamw.zip
--
--  Use make_galaga_proms.bat to build vhd file from binaries

--   galaga_cpu1.vhd   : 3200a.bin, 3300b.bin, 3400c.bin,3500d.bin, 
--   galaga_cpu2.vhd   : 3600e.bin
--   galaga_cpu3.vhd   : 3700g.bin
--   bg_graphx.vhd     : 2600j.bin
--   sp_graphx.vhd     : 2800l.bin, 2700k.bin
--   rgb.vhd           : prom-5.5n
--   bg_palette.vhd    : prom-4.2n
--   sp_palette.vhd    : prom-3.1c
--   sound_seq.vhd     : prom-2.5c
--   sound_samples.vhd : prom-1.1d

--  Galaga Hardware caracteristics :
--
--    3xZ80 CPU accessing each own program rom and shared ram/devices
--
--    One char tile map 32x28 (called background/bg although being front of other layers) 
--      3 colors/64sets among 16 colors
--      1Ko ram, 4Ko rom graphics, 4pixels of 2bits/byte 
--      full emulation in vhdl
--
--    64 sprites with priorities, flip H/V, 2x size H/V, 
--      3 colors/64sets among 16 colors (different of char colors).
--      8Ko rom graphics, 4pixels of 2bits/byte
--      full emulation in vhdl (improved capabilities : more sprites/scanline)
--
--    Namco 05XX Starfield 
--      4 sets, 63 stars/set, 2 set displayed at one time for blinking   
--      6bits colors: 2red/2green/2blue
--      full emulation in vhdl (from MAME information)
--
--    Char/sprites color palette 2x16 colors among 256 colors
--      8bits 3red/3green/2blue
--      full emulation in vhdl
--
--    Namco 06XX for 51/54XX control 
--      simplified emulation in vhdl
--
--    Namco 51XX for coin/credit management 
--      simplified emulation in vhdl : 1coin/1credit, 1 or 2 players start
--
--    Namco 54XX for sound effects 
--      mb88 ok
--
--    Namco sound waveform and frequency synthetizer
--      full original emulation in vhdl
--
--    Namco 00XX,04XX,02XX,07XX,08XX address generator, H/V counters and shift registers
--      full emulation in vhdl from what I think they should do.
--
--    Working ram : 3x1Kx8bits shared
--    Sprites ram : 1 scan line delay flip/flop 512x4bits  
--    Sound registers ram : 2x16x4bits
--    Sound sequencer rom : 256x4bits (3 sequential 4 bits adders)
--    Sound wavetable rom : 256x4bits 8 waveform of 32 samples of 4bits/level  
---------------------------------------------------------------------------------

---------------------------------------------------------------------------------
-- DE2-35 Top level for Galaga Midway by Dar (darfpga@aol.fr)
-- http://darfpga.blogspot.fr
--
-- Main features :
--  PS2 keyboard input
--  Wm8731 sound output
--  NO board SRAM/Flash used
--
-- Uses 1 pll for 18MHz and 11MHz generation from 50MHz
--
-- Board key :
--      0 : reset
--
-- Keyboard inputs :
--   F3 : Add coin
--   F2 : Start 2 players
--   F1 : Start 1 player
--   SPACE       : Fire player 1 & 2
--   RIGHT arrow : Move right player 1 & 2
--   LEFT arrow  : Move left player 1 & 2
--
-- Dip switch and other details : see galaga.vhd

---------------------------------------------------------------------------------
---------------
VHDL File list 
---------------

rtl_dar/galaga_de2.vhd          Top level for de2 board 
rtl_dar/galaga.vhd              Main logic

rtl_dar/pll50_to_11_and_18.vhd  PLL 11MHz and 18 MHz from 50MHz altera mf
rtl_dar/gen_video.vhd           Video genertor H/V counter, blanking and syncs

rtl_dar/stars.vhd               Starfield 4 star set list
rtl_dar/stars_machine.vhd	Starfield machine for one set	
rtl_dar/sound_machine.vhd	Namco sound waveform/frequency synthetizer
rtl_dar/mb88.vhd                mb88 fujitsu 4bits microprocessor

rtl_dar/galaga_cpu1.vhd         CPU1 program    PROM 
rtl_dar/galaga_cpu2.vhd         CPU2 program    PROM
rtl_dar/galaga_cpu3.vhd         CPU3 program    PROM
rtl_dar/sound_samples.vhd       Sound wavetable PROM
rtl_dar/sound_seq.vhd           Sound slice adder sequencer                 PROM
rtl_dar/rgb.vhd                 32 colors 8bits palette (3r/3g/2b)          PROM
rtl_dar/bg_graphx.vhd           Background (char) graphix 2bits/pixel (4Ko) PROM
rtl_dar/bg_palette.vhd          2bits 64sets => 16 colors char LUT          PROM
rtl_dar/sp_graphx.vhd           Sprites graphix 2bits/pixel (8Ko)           PROM
rtl_dar/sp_palette.vhd          2bits 64sets => 16 colors sprites LUT       PROM 
rtl_dar/cs54xx_prog.vhd         Namco custom chip 54xx pgm                  PROM

rtl_dar/gen_ram.vhd             Generic RAM (Peter Wendrich + DAR Modification)

wm_8731_dac.vhd                 DE1/DE2 audio dac

io_ps2_keyboard.vhd             Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com)
kbd_joystick.vhd                Keyboard key to player/coin input

rtl_T80/T80se.vhd               T80 Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org)
rtl_T80/T80_Reg.vhd
rtl_T80/T80_Pack.vhd
rtl_T80/T80_MCode.vhd
rtl_T80/T80_ALU.vhd
rtl_T80/T80.vhd

----------------------
Quartus project files
----------------------
de2/galaga_de2.qsf             de2 settings (files,pins...) 
de2/galaga_de2.qpf             de2 project

-----------------------------
Required ROMs (Not included)
-----------------------------
You need the following 15 ROMs binary files from galagamw.zip 
(MAME Galaga - Midway set 1)

--   galaga_cpu1.vhd   : 3200a.bin, 3300b.bin, 3400c.bin,3500d.bin, 
--   galaga_cpu2.vhd   : 3600e.bin
--   galaga_cpu3.vhd   : 3700g.bin
--   bg_graphx.vhd     : 2600j.bin
--   sp_graphx.vhd     : 2800l.bin, 2700k.bin
--   rgb.vhd           : prom-5.5n
--   bg_palette.vhd    : prom-4.2n
--   sp_palette.vhd    : prom-3.1c
--   sound_seq.vhd     : prom-2.5c
--   sound_samples.vhd : prom-1.1d
--   cs54xx_prog.vhd   : 54xx.bin  
------
Tools 
------
You need to build vhdl files from the binary file :
 - Unzip the roms file in the tools/galaga_unzip directory
 - Double click (execute) the script tools/make_galaga_proms.bat to get the following files

  galaga_cpu1.vhd 
  galaga_cpu2.vhd
  galaga_cpu3.vhd
  bg_graphx.vhd
  sp_graphx.vhd
  rgb.vhd
  bg_palette.vhd
  sp_palette.vhd
  sound_seq.vhd
  sound_samples.vhd
  cs54xx_prog.vhd 

*DO NOT REDISTRIBUTE THESE FILES*

VHDL files are needed to compile and include roms into the project 

The script make_galaga_proms.bat uses make_vhdl_prom executables delivered both in linux and windows version. The script itself is delivered only in windows version (.bat) but should be easily ported to linux.

Source code of make_vhdl_prom.c is also delivered.

---------------------------------
Compiling for de2
---------------------------------
You can build the project with ROM image embeded in the sof file. DO NOT REDISTRIBUTE THESE FILES.
3 steps

 - put the VHDL ROM files (.vhd) into the project directory
 - build galag_de2
 - program galaga_de2.sof

------------------------
------------------------
End of file
------------------------
Source: README.TXT, updated 2018-05-06