mirror of
https://github.com/holub/mame
synced 2025-04-22 08:22:15 +03:00
Added more info and enabled RTC, does not compile yet
This commit is contained in:
parent
bde2e8cc51
commit
96cc9cb25b
@ -1,39 +1,60 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Joamim Larsson Edström
|
||||
// copyright-holders:Joakim Larsson Edström
|
||||
/***************************************************************************
|
||||
|
||||
Force SYS68K/CPU-1 VME SBC driver
|
||||
Force SYS68K CPU-1/CPU-6 VME SBC drivers
|
||||
|
||||
13/06/2015
|
||||
|
||||
The info found on the link below is for a later revision of the board I have
|
||||
but I hope it is compatible, My board is has proms from 1983 and no rev markings
|
||||
so probably the original.
|
||||
The info found on the links below is for a later revisions of the board I have
|
||||
but I hope it is somewhat compatible so I can get it up and running at least.
|
||||
My CPU-1 board has proms from 1983 and no rev markings so probably the original.
|
||||
|
||||
http://bitsavers.trailing-edge.com/pdf/forceComputers/1988_Force_VMEbus_Products.pdf
|
||||
http://www.artisantg.com/info/P_wUovN.pdf
|
||||
|
||||
Some info from that document:
|
||||
Some info from those documents:
|
||||
|
||||
Address Range
|
||||
Address Map
|
||||
----------------------------------------------------------
|
||||
Address Range Description
|
||||
----------------------------------------------------------
|
||||
000 000 - 000 007 Initialisation vectors from system EPROM
|
||||
000 008 - 01F FFF Dynamic RAM on CPU-1 B
|
||||
000 008 - 07F FFF Dynamic RAM on CPU-1 D
|
||||
080 008 - 09F FFF SYSTEM EPROM Area
|
||||
OAO 000 - OBF FFF USER EPROMArea
|
||||
OEO 000 - OFF FFF I/O Interfaces
|
||||
0C0 041 - 0C0 043 ACIA (P3) Host
|
||||
0C0 080 - 0C0 082 ACIA (P4) Terminal
|
||||
0C0 101 - 0C0 103 ACIA (P3) Remote
|
||||
0C0 401 - 0C0 42F RTC
|
||||
OEO 001 - 0E0 035 PI/T
|
||||
OEO 200 - 0E0 2FF FPU
|
||||
OEO 300 - 0E0 300 Reset Off
|
||||
OEO 380 - 0E0 380 Reset On
|
||||
100 000 - FEF FFF VMEbus addresses (A24)
|
||||
FFO 000 - FFF FFF VMEbus Short I/O (A16)
|
||||
----------------------------------------------------------
|
||||
|
||||
Description Device Lvl IRQ Vector No.
|
||||
Interrupt sources
|
||||
----------------------------------------------------------
|
||||
Description Device Lvl IRQ VME board
|
||||
/Board Vector Address
|
||||
----------------------------------------------------------
|
||||
On board Sources
|
||||
ABORT Switch 7 31
|
||||
Real Time Clock 58167A 6 30
|
||||
Parallel Interface and Timer 68230 5 29
|
||||
Real Time Clock (RTC) 58167A 6 30
|
||||
Parallel/Timer (PI/T) 68230 5 29
|
||||
Terminal ACIA 6850 4 28
|
||||
Remote ACIA 6850 3 27
|
||||
Host ACIA 6850 2 26
|
||||
ACFAIL, SYSFAIL VME 5 29
|
||||
Off board Sources (other VME boards)
|
||||
6 Port Serial I/O board SIO 4 64-75 0xb00000
|
||||
8 Port Serial I/O board ISIO 4 76-83 0x960000
|
||||
Disk Controller WFC 3 119 0xb01000
|
||||
SCSI Controller ISCSI 4 119 0xa00000
|
||||
Slot 1 Controller Board ASCU 7 31 0xb02000
|
||||
----------------------------------------------------------
|
||||
|
||||
10. The VMEbus
|
||||
@ -63,7 +84,9 @@ Based on the 68ksbc.c
|
||||
- Add 1 x 68230 Motorola, Parallel Interface / Timer
|
||||
- Add 1 x MM58167A RTC
|
||||
- Add 1 x Abort Switch
|
||||
- Add serial connector between ACIA:s and real terminal emulator
|
||||
- Add configurable serial connector between ACIA:s and
|
||||
- Real terminal emulator
|
||||
- Debug console
|
||||
- VME bus driver
|
||||
|
||||
|
||||
@ -71,7 +94,8 @@ Based on the 68ksbc.c
|
||||
|
||||
#include "emu.h"
|
||||
//#include "bus/rs232/rs232.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "cpu/m68000/m68000.h"/
|
||||
#include "machine/mm58167.h"
|
||||
//#include "machine/6850acia.h"
|
||||
//#include "machine/clock.h"
|
||||
|
||||
@ -80,7 +104,8 @@ class force68k_state : public driver_device
|
||||
public:
|
||||
force68k_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu")
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_rtc(*this, "rtc")
|
||||
// m_acia1(*this, "acia1")
|
||||
// m_acia2(*this, "acia2")
|
||||
// m_acia3(*this, "acia3")
|
||||
@ -91,6 +116,7 @@ public:
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<mm58167_device> m_rtc;
|
||||
// required_device<acia6850_device> m_acia1;
|
||||
// required_device<acia6850_device> m_acia2;
|
||||
// required_device<acia6850_device> m_acia3;
|
||||
@ -101,11 +127,11 @@ static ADDRESS_MAP_START(force68k_mem, AS_PROGRAM, 16, force68k_state)
|
||||
AM_RANGE(0x000000, 0x000007) AM_ROM /* Vectors mapped from System EPROM */
|
||||
AM_RANGE(0x000008, 0x01ffff) AM_RAM /* DRAM */
|
||||
AM_RANGE(0x080008, 0x09ffff) AM_ROM /* System EPROM Area */
|
||||
// AM_RANGE(0x0a0000, 0x0bffff) AM_ROM /* User EPROM Area */
|
||||
// AM_RANGE(0x0e0000, 0x0fffff) AM_READWRITE_PORT /* IO interfaces */
|
||||
AM_RANGE(0x0e0401, 0x0e0421) AM_DEVREADWRITE8("rtc", mm58167_device, read, write, 0x00ff)
|
||||
// AM_RANGE(0x0e0000, 0x0e0001) AM_DEVREADWRITE8("acia", acia6850_device, status_r, control_w, 0x00ff)
|
||||
// AM_RANGE(0x0e0002, 0x0e0003) AM_DEVREADWRITE8("acia", acia6850_device, data_r, data_w, 0x00ff)
|
||||
// AM_RANGE(0x0e0004, 0x0e0005) AM_DEVREADWRITE8("acia", acia6850_device, data_r, data_w, 0x00ff)
|
||||
// AM_RANGE(0x0a0000, 0x0bffff) AM_ROM /* User EPROM Area */
|
||||
// AM_RANGE(0x0e0000, 0x0fffff) AM_READWRITE_PORT /* IO interfaces */
|
||||
// AM_RANGE(0x100000, 0xfeffff) /* VMEbus Rev B addresses (24 bits) */
|
||||
// AM_RANGE(0xff0000, 0xffffff) /* VMEbus Rev B addresses (16 bits) */
|
||||
ADDRESS_MAP_END
|
||||
@ -123,7 +149,7 @@ WRITE_LINE_MEMBER(force68k_state::write_acia_clock)
|
||||
}
|
||||
#endif
|
||||
|
||||
static MACHINE_CONFIG_START( force68k, force68k_state )
|
||||
static MACHINE_CONFIG_START( forcecpu1, force68k_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M68000, 8000000)
|
||||
MCFG_CPU_PROGRAM_MAP(force68k_mem)
|
||||
@ -142,13 +168,44 @@ static MACHINE_CONFIG_START( force68k, force68k_state )
|
||||
*/
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( forcecpu6, force68k_state )
|
||||
MCFG_CPU_ADD("maincpu", M68000, 8000000) /* Jumper B10 Mode B */
|
||||
MCFG_CPU_PROGRAM_MAP(force68k_mem)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( forcecpu6a, force68k_state )
|
||||
MCFG_CPU_ADD("maincpu", M68000, 12500000) /* Jumper B10 Mode A */
|
||||
MCFG_CPU_PROGRAM_MAP(force68k_mem)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( forcecpu6v, force68k_state )
|
||||
MCFG_CPU_ADD("maincpu", M68010, 8000000) /* Jumper B10 Mode B */
|
||||
MCFG_CPU_PROGRAM_MAP(force68k_mem)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( forcecpu6va, force68k_state )
|
||||
MCFG_CPU_ADD("maincpu", M68010, 12500000) /* Jumper B10 Mode A */
|
||||
MCFG_CPU_PROGRAM_MAP(force68k_mem)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( forcecpu6vb, force68k_state )
|
||||
MCFG_CPU_ADD("maincpu", M68010, 12500000) /* Jumper B10 Mode A */
|
||||
MCFG_CPU_PROGRAM_MAP(force68k_mem)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/* ROM definition */
|
||||
ROM_START( forcecpu1 )
|
||||
ROM_START( force68k_rom )
|
||||
ROM_REGION(0x1000000, "maincpu", 0)
|
||||
// ROM_LOAD( "forcecpu1.bin", 0x0000, 0x2f78, CRC(20a8d0d0) SHA1(544fd8bd8ed017115388c8b0f7a7a59a32253e43) )
|
||||
// ROM_LOAD( "forcesys68kV1.0L.bin", 0x0000, 0x2f78, CRC(20a8d0d0) SHA1(544fd8bd8ed017115388c8b0f7a7a59a32253e43) )
|
||||
ROM_END
|
||||
|
||||
/* Driver */
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
COMP( 1983, forcecpu1, 0, 0, force68k, force68k, driver_device, 0, "Force Computers", "SYS68K/CPU-1", GAME_NO_SOUND_HW)
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
COMP( 1983, force68k_rom, 0, 0, forcecpu1, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-1", GAME_IS_SKELETON )
|
||||
COMP( 1989, force68k_rom, 0, 0, forcecpu6, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6", GAME_IS_SKELETON )
|
||||
COMP( 1989, force68k_rom, 0, 0, forcecpu6a, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6a", GAME_IS_SKELETON )
|
||||
COMP( 1989, force68k_rom, 0, 0, forcecpu6v, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6v", GAME_IS_SKELETON )
|
||||
COMP( 1989, force68k_rom, 0, 0, forcecpu6va, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6va", GAME_IS_SKELETON )
|
||||
COMP( 1989, force68k_rom, 0, 0, forcecpu6vb, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6vb", GAME_IS_SKELETON )
|
||||
|
Loading…
Reference in New Issue
Block a user