/PrehistoricIsle

SNK Prehistoric Isle (MiSTerFPGA)

Primary LanguageVerilogGNU General Public License v2.0GPL-2.0

SNK M68000 (Prehistoric Isle) FPGA Implementation

FPGA compatible core of SNK M68000 (Prehistoric Isle in 1930 based) arcade hardware for MiSTerFPGA written by Darren Olafson with assistance from atrac17.

The intent is for this core to be a 1:1 playable implementation of Prehistoric Isle in 1930 arcade hardware. Pending PCB verification, on loan from XtraSmiley.

External Modules

Module Function Author
fx68k Motorola 68000 CPU Jorge Cwik
t80 Zilog Z80 CPU Daniel Wallner
jtopl2 Yamaha OPL 2 Jose Tejada
jt7759 NEC µPD7759 Jose Tejada
yc_out Y/C Video Module Mike Simone
mem SDRAM Controller / Rom Downloader Josh Bassett, modified by Darren Olafson
core_template MiSTer Framework Template sorgelig, modified by Darren Olafson / atrac17

Known Issues / Tasks

  • OPL2 Audio [Issue]
  • Timing issues with jtframe_mixer module; false paths added to sdc (may need refactor?) [Task]

PCB Check List

FPGA implementation loosely based on mame source and will be verified against an authentic SNK Prehistoric Isle in 1930 PCB.

Clock Information

H-Sync V-Sync Source
15.625kHz 54.065743Hz OSSC
OSSC

Crystal Oscillators

Freq (MHz) Use
4.000 Z80 (4 MHz)
YM3812CLK (4 MHz)
µPD7759 (640 KHz)
18.000 M68000 (9 MHz)
12.000 Pixel CLK (6 MHz)

Pixel clock: 6.00 MHz

Estimated geometry:

384 pixels/line

289 pixels/line

Main Components

Chip Use
Motorola 68000 CPU Main CPU
Zilog Z80 CPU Sound CPU
Yamaha YM3812 OPL2
NEC µPD7759 ADPCM Decoder

Core Features

Video Timings

  • Video timings can be modified if you experience sync issues with CRT or modern displays; this will alter gameplay from it's original state.
Refresh Rate Timing Parameter HTOTAL VTOTAL
15.63kHz / 54.1Hz PCB 384 289
15.63kHz / 59.2Hz NTSC (Closest Spec) / MAME 384 264

P1/P2 Input Swap Option

  • There is a toggle to swap inputs from Player 1 to Player 2. This only swaps inputs for the joystick, it does not effect keyboard inputs.

Audio Options

  • There is a toggle to disable playback of OPL2 / µPD7759 audio. There are toggles to adjust the volume of OPL2 and the µPD7759 audio.

Overclock Options

  • There is a toggle to increase the M68000 frequency from 9MHz to 12MHz; this will alter gameplay from it's original state.

Native Y/C Output

H/V Adjustments

  • 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, flagging etc) without modifying the video timings.

Scandoubler Options

  • 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 FxScanlines 25%Scanlines 50%Scanlines 75%Scanlines 100%





PCB Information / Control Layout

Title Joystick Service Menu Dip Switches Shared Controls Dip Default PCB Information
Prehistoric Isle in 1930

Genshitou 1930s
8-Way Service Menu Dip Sheet Co-Op Upright There is a level select dipswitch not documented in the manual, when toggled you can select to start at any stage or view the end credits.

There are two hidden cheat functions when setting dipswitches in certain positions. These enable a "pause" function which halts the CPU and infinite lives.

These are labeled clearly in the dip switch menu for convenience.

Keyboard Handler

  • Keyboard inputs mapped to mame defaults for all functions.

Services Coin/Start
FunctionsKeymap
TestF2
ResetF3
Service9
PauseP
FunctionsKeymap
P1 Start1
P2 Start2
P1 Coin5
P2 Coin6
Player 1 Player 2
FunctionsKeymap
P1 UpUp
P1 DownDown
P1 LeftLeft
P1 RightRight
P1 Bttn 1L-Ctrl
P1 Bttn 2L-Alt
P1 Bttn 3Space
FunctionsKeymap
P2 UpR
P2 DownF
P2 LeftD
P2 RightG
P2 Bttn 1A
P2 Bttn 2S
P2 Bttn 3Q

Support

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.

Licensing

Contact the author for special licensing needs. Otherwise follow the GPLv2 license attached.