FPGA compatible core of Alpha Denshi M68000 (ALPHA68K96V based) arcade hardware for MiSTerFPGA written by Darren Olafson.
FPGA implementation has been verified against schematics for Sky Adventure. PCB measurements taken from Gang Wars (ALPHA-68K96V) and Sky Soldiers (ALPHA-96KII).
Sky Adventure (bootleg) PCB purchased by Darren Olafson / atrac17. Gang Wars, Sky Soldiers, and The Next Space (authentic) PCBs purchased by atrac17.
The intent is for this core to be a 1:1 playable implementation of Alpha Denshi M68000 arcade hardware. Currently in beta state, this core is in active development with assistance from atrac17.
Title | PCB Number |
Status | Released | ROM Set |
---|---|---|---|---|
Gang Wars | ALPHA-68K96V (GW) | Implemented | Yes | .249 merged set |
Super Champion Baseball | ALPHA-68K96V (GW) | Implemented | Yes | .249 (sbasebalj only) |
Sky Adventure | ALPHA-68K96V (GW) | Implemented | Yes | .249 merged set |
バトル フィールド Time Soldiers |
ALPHA-68K96II (SS) | Implemented | Yes | .249 merged set |
Sky Soldiers | ALPHA-68K96II (SS) | Implemented | Yes | .249 merged set |
Gold Medalist | ALPHA-68K96II (SS) | Implemented | No | .249 (goldmedl only) |
Paddle Mania | ALPHA-68K96I | W.I.P | No | N/A |
The Next Space | A8004-1 | Separate Repository |
No | N/A |
Super Stingray | N/A | W.I.P | No | N/A |
Kyros no Yakata | N/A | W.I.P | No | N/A |
Mahjong Block Jongbou | ALPHA-68K96N | W.I.P | No | N/A |
Name | Purpose | Author |
---|---|---|
fx68k | Motorola 68000 CPU | Jorge Cwik |
t80 | Zilog Z80 CPU | Daniel Wallner |
jt2413 | Yamaha OPL-L | Jose Tejada |
jt03 | Yamaha OPN | Jose Tejada |
yc_out | Y/C Video Module | Mike Simone |
- Dump M68705 (SP85N / ALPHA-8511 ) MCU from Sky Adventure (Bootleg) [Task]
- Dump ROMs from Sky Adventure Bootleg and submit to mamedev [Task]
- Dump ROMs from Gold Medalist and submit to mamedev [Task]
Add P3/P4 inputs for Gold Medalist[Task]Add rotary input for Time Soldiers[Task]GFX decode and palette display for ALPHA-68K96II[Task]Verify clocks on ALPHA-68K96II hardware; MAME is incorrect[Task]Options removed currently until stability is checked, may be tied to RESET line[Issue]- Super Champion Baseball (sbasebal) freezes due to MCU ROM code (no dump) [Issue]
- Awaiting Gold Medalist PCB to verify and release; submit new ROM dump for bad ROMs [Issue]
FPGA implementation has been verified against schematics for Sky Adventure. The schematics are improperly labeled Prehistoric Isle (hand written), this was discovered during development of the Prehistoric Isle FPGA implementation. PCB measurements taken from Gang Wars (ALPHA-68K96V) and Sky Adventure (ALPHA-68K96II).
H-Sync | V-Sync | Source | PCB Number |
---|---|---|---|
15.625kHz | 59.185606Hz | DSLogic+ | ALPHA-68K96V (GW) |
15.625kHz | 59.185606Hz | DSLogic+ | ALPHA-68K96II (SS) |
- MAME documentation for the Alpha96k.cpp states that ALPHA-68K96II hardware runs the M68000 at 8.00 MHZ. The actual frequency for the M68000 is 9.00 MHZ based on board readings from Sky Soldier.
Location | PCB Number |
Freq (MHz) | Use |
---|---|---|---|
X-1 (24 MHZ) | ALPHA-68K96V (GW) | 24.000 | Z80 CLK (6MHZ) YM2203 (CLK 3 MHZ) Sprite CLK (12 MHZ) Pixel CLK (6 MHZ) |
X-2 (20 MHZ) | ALPHA-68K96V (GW) | 20.000 | M68000 CLK (10 MHZ) |
X-3 (3.579545 MHz) | ALPHA-68K96V (GW) | 3.579545 | YM2413 CLK (3.579545 MHz) |
X-1 (3.579545 MHz) | ALPHA-68K96II (SS) | 24.000 | YM2413 CLK (3.579545 MHz) |
X-2 (18 MHZ) | ALPHA-68K96II (SS) | 18.000 | M68000 CLK (9 MHZ) |
X-3 (24 MHZ) | ALPHA-68K96II (SS) | 3.579545 | Z80 CLK (6MHZ) YM2203 (CLK 3 MHZ) Sprite CLK (12 MHZ) Pixel CLK (6 MHZ) |
Pixel clock: 6.00 MHz
Estimated geometry:
383 pixels/line
263 pixels/line
Location | PCB Number |
Chip | Use |
---|---|---|---|
68000D | ALPHA-68K96V (GW) | Motorola 68000 CPU | Main CPU |
Z80B | ALPHA-68K96V (GW) | Zilog Z80 CPU | Sound CPU |
YM2203 | ALPHA-68K96V (GW) | Yamaha YM2203 | OPN |
YM2413 | ALPHA-68K96V (GW) | Yamaha YM2413 | OPL-L |
Location | PCB Number |
Chip | Use |
---|---|---|---|
68000-10 | ALPHA-68K96II (SS) | Motorola 68000 CPU | Main CPU |
Z80B | ALPHA-68K96II (SS) | Zilog Z80 CPU | Sound CPU |
YM2203 | ALPHA-68K96II (SS) | Yamaha YM2203 | OPN |
YM2413 | ALPHA-68K96II (SS) | Yamaha YM2413 | OPL-L |
Location | PCB Number |
Chip | Use |
---|---|---|---|
SP85 ALPHA-8511 ALPHA-8411 |
ALPHA-68K96V (GW) ALPHA-68K96II (SS) ALPHA-68K96V (SA) |
SP85N | Coin Handling Dipswitch Handling Screen Inversion Handling |
SNKCLK | ALPHA-68K96V (GW) | SNK CLK | Counter |
INPUT 84 | ALPHA-68K96II | ALPHA-INPUT 84 | Rotary Handling |
INPUT 87 | ALPHA-68K96V (GW) | ALPHA-INPUT 87 | Input Handling |
ALPHA-8921 | ALPHA-68K96V (GW) | ALPHA-8921 | GFX Muxing |
The SP85N or ALPHA-8511/8411 utilized on Alpha Denshi M68000 hardware for I/O handling appears to be closely related to the Motorola M68705p5. Early Alpha Denshi M68000 hardware utilized the M68705 before SNK / Alpha Denshi moved to a custom component. It's possible this is a rebadged custom.
There is a known dump for the ALPHA-8511 (possibly a M68705 from a bootleg) used on Super Stingray and a dump of the M68705 used on the Kyros no Yakata bootleg. The program code from the Kyros no Yakata bootleg may match the original ALPHA-8511 program code according to mame documentation.
The Sky Adventure bootleg purchased also uses a M68705p5 which is dumpable and will be submitted to mame along with the ROMs. Disassembly of the program code will be done for analysis based on current MCU implementation.
Readings have been pulled from the Gang Wars SP85N revealed that the MCU pushes 15 interrupts per second, mame's driver for Alpha68k has this coded as 100 or 120 interrupts per second.
- Rotary control is supported via gamepad or firmware written by atrac17 / DJ Hard Rich for LS-30 functionality using an RP2040. Latency verification done by misteraddons, for more information click here.
Model | Device | Connection | USB Polling Interval |
Sample Number |
Frame Probability |
Average Latency |
Joystick ID |
---|---|---|---|---|---|---|---|
LS-30 Rotary Encoder | RP2040 | Wired USB | 1ms | 2241 | 95.52% | 0.747 ms | 2e8a:000a |
- Native Y/C ouput is possible with the analog I/O rev 6.1 pcb. Using the following cables, HD-15 to BNC cable will transmit Y/C over the green and red lines. Choose an appropriate adapter to feed Y/C (S-Video) to your display.
- There are two H/V toggles, H/V-sync positioning adjust and H/V-sync width adjust. Positioning will move the display for centering on CRT display. The sync width adjust can be used to for sync issues (rolling) without modifying the video timings.
- Additional toggle to enable the scandoubler without changing ini settings and new scanline option for 100% is available, this draws a black line every other frame. Below is an example.
Scandoubler Fx | Scanlines 25% | Scanlines 50% | Scanlines 75% | Scanlines 100% |
---|---|---|---|---|
-
There is a toggle to swap inputs from Player 1 to Player 2 in Debug Settings. This will enable you to play as Jackie in Gang Wars instead of Mike while only having one controller connected. Additionally, you can play as the additional time soldier in バトル フィールド / Time Soldiers. This only swaps inputs for the joystick and rotary control, it does not effect keyboard inputs.
-
There is a toggle to disable the laughter from enemies in Gang Wars located in Debug Settings. Enabling this will mute the laughter when an enemy knocks Mike or Jackie down.
- Service menu is accessed by holding the F2 key on boot. The core may need to be reset by pressing F3 while holding F2 to access the service menu.
Game | Joystick | Service Menu | Control Type |
---|---|---|---|
Gang Wars | 8-Way | Co-Op | |
Super Champion | 8-Way | Co-Op | |
Sky Adventure | 8-Way | Co-Op | |
Time Soldiers | Rotary | Co-Op | |
Sky Soldiers | 8-Way | Co-Op | |
Gold Medalist | N/A | V.S. |
- Rotary control is supported via gamepad or firmware written by atrac17 / DJ Hard Rich for LS-30 functionality using an RP2040. There are toggles in the OSD under Debug Settings to select the rotary controller type per player.
When using a gamepad, enabling autofire and setting to 160ms for Rotate CW/CCW in the MiSTer framework allows for smooth rotation; adjust the rate to fit your preference. LS-30 firmware requires no mapping and is plug and play; it is player dependent and connected over USB to the DE10-Nano.
- Keyboard inputs mapped to mame defaults for the following functions. Player 3 and Player 4 input keys are not mapped, only Player 3 / Player 4 start buttons.
Services | Coin/Start | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Player 1 | Player 2 | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Player 3 | Player 4 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
- Custom keyboard inputs mapped for LS-30 RP2040 firmware functionality. The mapping is player dependent for the RP2040 firmware.
LS-30 Player 1 | LS-30 Player 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Please consider showing support for this and future projects via Darren's Ko-fi and atrac17's Patreon. While it isn't necessary, it's greatly appreciated.
Contact the author for special licensing needs. Otherwise follow the GPLv2 license attached.