(MESS) New skeleton drivers:

- Fanuc System P Model G (monochrome) [Guru, R. Belmont]
This commit is contained in:
R. Belmont 2014-05-25 02:08:38 +00:00
parent 971043d6bc
commit 35828208c6

View File

@ -2,7 +2,7 @@
// copyright-holders:R. Belmont
/***************************************************************************
Fanuc System P Model G
Fanuc System P-Model G
Fanuc 1983
2014-03-22 Skeleton driver.
@ -12,7 +12,7 @@ with a lot of ports and a unique keyboard.
Also known as Fanuc P-G System, this is a dedicated 8085+8086+8087-based computer
system running software for CNC Programming.
The system boots up from on-board EPROM and shows a big ASCII-art boot screen
FANUC SYSTEM P MODEL G and the ROM software version in the lower right corner.
FANUC SYSTEM P and the ROM software version in the lower right corner.
To initiate booting from the floppy drive hold down the LOAD key for 3-5 seconds.
The system checks for a long LOAD key press so that it doesn't load software
if the LOAD key is accidentally pressed quickly while using the system, which would
@ -41,13 +41,11 @@ Fanuc PPR Unit (Paper tape Puncher/Reader with built-in printer), Fanuc Program
File (containing a 20MB HDD, two 8" floppy drives and two RS232 ports), Fanuc Cassette
Adapter, XY Plotter (A3 or A1), Fanuc Digitizing Tablet (A3 or A0) and Fanuc I/O Selector Box.
The P-G System has an internal 12" color monitor and dual 5 1/4" floppy drives.
A later model was released in 1986 called the Mark II using dual 3 1/2" floppy
drives. The previous version was SYSTEM P MODEL D. It had a 12" green monochrome
monitor and booted from, and stored to, a cassette tape or floppy disk.
The P-G System has an internal 12" monitor and dual 5 1/4" floppy drives.
The first model had a 12" monochrome green monitor. In 1985 a color version was released.
In 1986 another model was released called the Mark II using dual 3 1/2" floppy drives.
The screen resolution is 512 x 384 pixels.
It can display 64 characters x 24 lines.
The screen resolution is 512 x 384 pixels. It can display 64 characters x 24 lines.
The floppy format is custom. Floppies are double sided double density and
regular PC DSDD 360k floppies can be used after they are formatted using the
@ -57,7 +55,7 @@ and 2 sides for a total storage capacity of 327680 bytes.
The floppy drives are typical PC-type 5 1/4" 360k drives and were manufactured
by Y-E DATA, model YD-580.
The floppy disks can be backed-up and imaged using a DOS program called ImageDisk
The 5 1/4" floppy disks can be backed-up and imaged using a DOS program called ImageDisk
which is available here.....
http://www.classiccmp.org/dunfield/img/index.htm
With a 5 1/4" HD floppy drive, in the GUI in settings change the number of
@ -68,7 +66,7 @@ it to the HDD.
The following is a complete list of software titles available.
The info is taken from a glossy sales brochure printed in July 1985.
Other versions did exist so this list is not final.
Other versions probably exist so this list is not final.
* denotes it is dumped. All other titles are not dumped and are needed.
Language Input -
@ -90,33 +88,34 @@ Graphic Input -
Title Part Number
--------------------------------------
*Symbolic FAPT TURN A08B-0033-J800#E +English
*Symbolic FAPT TURN A08B-0033-J800#E Edition B V02 L03 841116
Symbolic FAPT MILL A08B-0033-J840#E
Symbolic FAPT DRILL A08B-0033-J860#E
Symbolic FAPT CUT A08B-0033-J820#E
FAPT DIGITIZER A08B-0033-J510#E
+ Symbolic FAPT TURN was available in English, German, French, Dutch, Finnish,
and Swedish versions.
and Swedish versions. Currently only the English version is archived.
Support System -
Title Part Number
-------------------------------
*FAPT TRACER A08B-0033-H620#E Edition B 85/1/16
*FAPT TEACHER A08B-0033-J610#E Edition B 85/1/12
*FAPT DOCTOR A08B-0033-J600#E Edition B 84/12/21
*FAPT TRACER A08B-0033-H620#E Edition B V02 L02 841108
*FAPT TEACHER A08B-0033-J610#E Edition B L02 V01 841101
*FAPT DOCTOR A08B-0033-J600#E Edition B V01 L03 841108
The software listed above with (*) have been tested on both mono and color versions and works fine.
Note: To initiate booting from the floppy drive hold down the LOAD key for 3-5 seconds.
The software for the Fanuc System P Model G is extremely rare now and very
difficult to find. If you do have any of these wanted software titles or any manuals
listed below and want to help please contact me (Guru) via http://mamedev.org/contact.html
The software for the Fanuc System P-Model G is extremely rare now and very difficult to find.
If you do have any of these wanted software titles or any manuals listed below and want to help
please contact me (Guru) via http://mamedev.org/contact.html
The following is a complete list of manuals available for the first edition of the
Fanuc System P Model G released in 1983. The info is taken from a glossy sales brochure
Fanuc System P-Model G released in 1983. The info is taken from a glossy sales brochure
printed in July 1985. There were other manuals released later for the Mark II and
updated manuals (each with a different part number).
The manuals were available in Japanese and English. The part numbers listed here
@ -178,6 +177,7 @@ Note the handbooks are pocket-sized 8" long by 3 1/2" wide and approximately 50
The unit has it's own dedicated keyboard with many special keys.
The keyboard clips to the main box and is the top cover when the main box is transported.
The keyboard layout is shown below.
|------------------------------------------------------------------------------|
@ -257,32 +257,39 @@ R3 - Auxiliary Work
Box Layout (top view)
----------
A08B-0033-B001
A08B-0033-B001 (Color Version from 1985)
A08B-0031-B001 (Mono Version from 1983)
A08B-0031-B002 (Mono Version from 1984)
|--------------------------------------------|
| ------------MAIN PCB---------------------- |
| -----------SUB-PCB----------- | |
| | |
| |-----------------------| | |
| | | | |
| | | P |
| | FANUC 12" COLOR | P |
| | CRT UNIT | O |
| | | W |
| | A61L-0001-0078 | W |
| | | E |
| | 12" COLOR | |---------| R |
| | | |FDD UNIT | | |
| | SCREEN | |A87L-0001| P |
| | | |-0026 | C |
| | | | | B |
| | | | | | |
| | | |5 1/4" | | |
| | | |FLOPPY | |
| | | |---------| R |
| | | |FANUC | | |
| | OR | |FDD UNIT | P |
| | | |A87l-0001| C |
| | | |-0026 | B |
| | FANUC 12" MONO | | | | |
| | CRT UNIT | |5 1/4" | | |
| | A61L-0001-0073 | |FLOPPY | |
| | | |DRIVES | |
| | | |x2 | |
| |-----------------------| |---------| |
|--------------------------------------------|
Notes:
The CRT tube in the color version is a Matsushita 320DHB22. Input voltage is 110V AC
The CRT tube in the mono version is a Hitachi 310KEB31. Input voltage is 24V DC and B+ is 11.0V
The mono version does not have a SUB PCB
The power PCB is identical for both color and mono versions
Main PCB Layout
Main PCB Layout (for color version)
---------------
A20B-1000-0710/03B
@ -301,8 +308,8 @@ A20B-1000-0710/03B
| CN7 CN6 CN5 CN4 CN3 |
|-------------------------------------------|
Notes:
D8086 - Intel 8086 CPU. Clock input 5.000MHz [15/3]
D8087 - Intel 8087 x87 Floating-Point Co-Processor. Clock input 5.000MHz [15/3]
D8086 - Intel 8086-2 CPU. Clock input 5.000MHz [15/3]
D8087 - Intel 8087-3 x87 Floating-Point Co-Processor. Clock input 5.000MHz [15/3]
XXXXXXX - Fujitsu MB8265-15 65536 x1-bit DRAM (72 chips total)
MB15541 - Fujitsu MB15541 Custom Chip
D765 - NEC D765 Single/Double Density Floppy-Disk Controller. Clock input 4.000MHz [16/4]
@ -312,7 +319,8 @@ Notes:
D8259 - NEC D8259 Programmable Interrupt Controller
D8284 - Intel D8284 Clock Generator and Driver for 8086/8088 Processors
A40_00* - Fujitsu MBM2764 8k x8-bit EPROM
VR1/VR2 - Potentiometer
VR1 - Potentiometer to adjust pulse width of floppy disk control unit
VR2 - Potentiometer to adjust screen brightness
^ - 3 chips marked Y-E Data Fujitsu
MB4393
MB14324
@ -322,7 +330,7 @@ Notes:
CNB - 50-pin flat cable joining to Sub PCB
CNC - 6-pin power cable joining to Sub PCB
CND - 34-pin flat cable joining to FDD Unit
CNE - Fanuc Honda MR-50 50-pin female connector for expansion (not used)
CNE - Fanuc Honda MR-50 50-pin female connector for factory testing (not used)
CNF - Power input connector
CN1 - 25-pin Female D-type connector. (for RS232 external peripherals \ CNC Machine,
CN2 - 25-pin Female D-type connector. (for RS232 external peripherals | PPR Unit, X-Y Plotter,
@ -330,22 +338,12 @@ Notes:
CN4 - 25-pin Female D-type connector. (for RS232 external peripherals / Cassette Adapter etc (connections in any order)
CN5 - Fanuc Honda MR-50 50-pin female connector (probably for external connection of the Fanuc Program File Unit)
CN6 - Fanuc Honda MR-20 20-pin female connector for the keyboard
CN7 - Fanuc Honda MR-20 20-pin male. Specification says 'not used' but this appears to be a
Facit 4070 Parallel Reader/Puncher connector
Pinout: (pin 1 is top left, location key is on the opposite side)
|---------------------------------------------------|
| |
| 1_PR 2_TE 3_ERR 4_TTY3 5_+6V 6_TTY2 7_TTY1 |
| |
| 8_SG 9_SD 10_0V 11_CH1 12_CH2 13_CH3 O
| |
| 14_CH4 15_CH5 16_CH6 17_CH7 18_CH8 19_CH9 20_PI |
| |
|---------------------------------------------------|
JUMPERS - 15 2-pin jumpers labelled S1 to S15. S2, S3 & S4 are not shorted. All others are shorted.
CN7 - Fanuc Honda MR-20 20-pin male connector. Specification says 'not used'. Video signals are present on
the connector so it is probably used for an external monitor
JUMPERS - 15 2-pin jumpers labelled S1 to S15. S2, S3 & S4 are open and the others are shorted
Sub PCB Layout
Sub PCB Layout (for color version)
--------------
A20B-1000-0720/02B
@ -364,9 +362,9 @@ A20B-1000-0720/02B
| 6264 A41_020A.30B|
|--------------------------------|
Notes:
D8085 - NEC D8085A-2 CPU. Clock input 8.000MHz [16/2].
D8085 - NEC D8085A-2 CPU. Clock input 8.000MHz [16/2]
Note 8085 has internal /2 divider so actual clock speed is 4.000MHz
HD6845S - Hitachi HD6845S / HD46505S CRT Controller. Clock input 2.000MHz [8/2]
HD6845S - Hitachi HD6845S / HD46505S CRT Controller. Clock input 2.000MHz [16/8]
6264 - Hitachi HM6264P-15 8k x 8-bit SRAM
XXXXXXX - Fujitsu MB8265-15 65536 x1-bit DRAM (25 chips total)
MB15542 - Fujitsu MB15542 Custom Chip
@ -376,14 +374,72 @@ Notes:
CNB - 50-pin flat cable joining to Main PCB
CNC - 6-pin power cable joining to Main PCB
CND - 20-pin flat cable joining to CRT Unit (video output)
CNE - Fanuc Honda MR-50 50-pin male connector for expansion (not used)
CNE - Fanuc Honda MR-50 50-pin male connector for factory testing (not used)
HSync - 22.7273kHz
VSync - 54.6330Hz
Main PCB Layout (for mono version)
---------------
A20B-1000-0140/09F
|-------------------------------------------|
| CN10 CN9 VR1 CN8 |
| 6116 S3 ^ |
| A22_020B.5G % D765 XXXXXXXXX|
| 16MHz MB15542 MB15541 D8257 XXXXXXXXX|
| S4 15MHz D8284 XXXXXXXXX|
| 8085-2 HD6845S 8087 D8259 XXXXXXXXX|
| CN12 A21_010F.17D 8086 D8253 A25_001A.33E|
| CN11 S2 A25_002A.35E |
| S1 D8251 D8251 D39 |
| D8251 D8251 S5 S6 S7|
| YYYYYYYYY VR2 D8253 CN2 CN1 |
| CN7 CN6 CN5 CN4 CN3 |
|-------------------------------------------|
Notes:
D8086 - Intel 8086-2 CPU. Clock input 5.000MHz [15/3]
D8087 - Intel 8087-3 x87 Floating-Point Co-Processor. Clock input 5.000MHz [15/3]
D8085 - NEC D8085A-2 CPU. Clock input 8.000MHz [16/2]
Note 8085 has internal /2 divider so actual clock speed is 4.000MHz
HD6845S - Hitachi HD6845S / HD46505S CRT Controller. Clock input 2.000MHz [16/8]
XXXXXXX - Fujitsu MB8265-15 65536 x1-bit DRAM (36 chips total)
YYYYYYY - Fujitsu MB8265-15 65536 x1-bit DRAM (9 chips total)
6116 - Hitachi HM6116P-3 2k x 8-bit SRAM
MB15541 - Fujitsu MB15541 Custom Chip
MB15542 - Fujitsu MB15542 Custom Chip
D765 - NEC D765 Single/Double Density Floppy-Disk Controller. Clock input 4.000MHz [16/4]
D8251 - Intel D8251 Programmable Communications Interface (USART)
D8253 - NEC D8253 Programmable Interval Timer. Clock input 1.25MHz [15/12]
D8257 - NEC D8257 Programmable DMA Controller. Clock input 3.000MHz [15/5]
D8259 - NEC D8259 Programmable Interrupt Controller
D8284 - Intel D8284 Clock Generator and Driver for 8086/8088 Processors
A2* - Hitachi HN482764G 8k x8-bit EPROM
VR1 - Potentiometer to adjust pulse width of floppy disk control unit
VR2 - Potentiometer to adjust screen brightness
^ - 3 chips marked Y-E Data Fujitsu
MB4393
MB14324
MB14323
% - Unknown 20-pin Ceramic DIP chip with heat-sink
CN1 - 25-pin Female D-type connector. (for RS232 external peripherals \ CNC Machine,
CN2 - 25-pin Female D-type connector. (for RS232 external peripherals | PPR Unit, X-Y Plotter,
CN3 - 25-pin Female D-type connector. (for RS232 external peripherals | Tablet,
CN4 - 25-pin Female D-type connector. (for RS232 external peripherals / Cassette Adapter etc (connections in any order)
CN5 - Fanuc Honda MR-50 50-pin female connector (probably for external connection of the Fanuc Program File Unit)
CN6 - Fanuc Honda MR-20 20-pin female connector for the keyboard
CN7 - Fanuc Honda MR-20 20-pin male. Specification says 'not used' and no signals are present on the connector
CN8 - 20-pin flat cable joining to CRT Unit (video output)
CN9 - 34-pin flat cable joining to FDD Unit
CN10 - Power input connector
CN11/12 - Fanuc Honda MR-50 50-pin female connector for factory testing (not used)
Sx - 7 2-pin jumpers (S1 to S7). S2, S3 & S4 are open and the others are shorted
D39 - Bank of 8 2-pin jumpers vertically orientated. 2 and 7 are shorted and the others are open
Block Diagram
-------------
Below is the block diagram shown in the Maintenance Manual.
Below is the block diagram shown in the System P-Model G Maintenance Manual, relating to the mono version.
The arrows denote direction of data flow.
|-------| |--------| |----------------|
@ -400,14 +456,14 @@ The arrows denote direction of data flow.
| /-->| Graphic memory|------| |
| | |---------------| | | |----------------|
| | | |--------| |<--->|RS232C interface|---CN2
| | | | BOOT |<-------->| |----------------|
| | | | BOOT |<-------->| |----------------|
| | | | EPROM | |
| | |----------------| | |--------| | |----------------|
|<-----|-->|Character memory|--| | |<--->|RS232C interface|---CN3
| |-->|----------------| | | |--------| | |----------------|
| | | | |Main RAM|<-------->|
| | | | |--------| | |----------------|
| | | | |<--->|RS232C interface|---CN4
| | | | |<--->|RS232C interface|---CN4
| | | | | |----------------|
|---------| | | \/ \/ |
|Keyboard | \/ \---|---------------------------| | |-----------------| CN9 |--------|
@ -422,36 +478,22 @@ The arrows denote direction of data flow.
|Keyboard| | Screen |
|--------| |---------|
TODO:
- Is the VRAM hookup anything like correct?
- Hookup enough keyboard to get it to boot a floppy, the FAPT DOCTOR
program will be invaluable to answering many questions.
- Shared RAM is 8k, but there are 2 6264s on the sub board. Is shared RAM
banked?
- I/O is at F00xx:
':maincpu' (FC15A): unmapped program memory write to F0012 = 00CE & 00FF
':maincpu' (FC15D): unmapped program memory write to F0016 = 00CE & 00FF
':maincpu' (FC160): unmapped program memory write to F001A = 00CE & 00FF
':maincpu' (FC163): unmapped program memory write to F001E = 00CE & 00FF
':maincpu' (FC16D): unmapped program memory write to F000E = 0034 & 00FF
':maincpu' (FC172): unmapped program memory write to F0008 = 00D4 & 00FF
':maincpu' (FC177): unmapped program memory write to F0008 = 0030 & 00FF
':maincpu' (FC17C): unmapped program memory write to F000E = 0056 & 00FF
':maincpu' (FC181): unmapped program memory write to F000A = 0010 & 00FF
':maincpu' (FC186): unmapped program memory write to F000E = 0096 & 00FF
':maincpu' (FC18B): unmapped program memory write to F000C = 0010 & 00FF
':maincpu' (FC190): unmapped program memory write to F004E = 0034 & 00FF
':maincpu' (FC195): unmapped program memory write to F0048 = 0020 & 00FF
':maincpu' (FC19A): unmapped program memory write to F0048 = 004E & 00FF
':maincpu' (FC19F): unmapped program memory write to F004E = 0056 & 00FF
':maincpu' (FC1A4): unmapped program memory write to F004A = 0010 & 00FF
':maincpu' (FC1A9): unmapped program memory write to F004E = 0096 & 00FF
':maincpu' (FC1AE): unmapped program memory write to F004C = 0010 & 00FF
To boot a floppy put "bp fc5fa,1,{ip=c682;g}" and "bp fc6d7,1,{ip=c755;g}"
into the debugger.
To boot a floppy put "bp fc5fa,1,{ip=c682;g}" and "bp fc6d7,1,{ip=c755;g}"
into the debugger.
At NMI: f8008 must have bit 7 clear and bit 6 set (e008 on 8085)
f8009 must not equal 0x01 (e009 on 8085)
8085 sets f8008 to keyboard row 0 AND 0xf3
" " f8009 to keyboard row 1
****************************************************************************/
#include "emu.h"
@ -543,11 +585,14 @@ public:
DECLARE_READ8_MEMBER(get_slave_ack);
DECLARE_WRITE8_MEMBER(dma_page_w);
DECLARE_READ16_MEMBER(magic_r);
DECLARE_WRITE_LINE_MEMBER(vsync_w);
DECLARE_WRITE_LINE_MEMBER(tc_w);
DECLARE_WRITE_LINE_MEMBER(hrq_w);
MC6845_UPDATE_ROW(crtc_update_row);
MC6845_UPDATE_ROW(crtc_update_row_mono);
DECLARE_DRIVER_INIT(fanucspmg);
@ -624,13 +669,16 @@ WRITE8_MEMBER(fanucspmg_state::dma_page_w)
m_dma_page = (data >> 2) & 0xf;
}
READ16_MEMBER(fanucspmg_state::magic_r)
{
return 0x0041; // 31 = memory error
}
static ADDRESS_MAP_START(maincpu_mem, AS_PROGRAM, 16, fanucspmg_state)
AM_RANGE(0x00000, 0x7ffff) AM_RAM // main RAM
AM_RANGE(0x80000, 0x81fff) AM_RAM
// AM_RANGE(0x80000, 0x83fff) AM_READWRITE8(shared2_r, shared2_w, 0xffff) // Comms with HDD controller ?
// AM_RANGE(0x88000, 0x88001) AM_READ(busy_r)
// AM_RANGE(0x8c000, 0x8c001) AM_WRITE(signal_w)
AM_RANGE(0x80000, 0x81fff) AM_RAM // believed to be shared RAM with a CPU inside the Program File
AM_RANGE(0x88000, 0x88001) AM_NOP // Program File "ready" bit
AM_RANGE(0xf0000, 0xf0003) AM_DEVREADWRITE8(PIC0_TAG, pic8259_device, read, write, 0x00ff)
AM_RANGE(0xf0004, 0xf0007) AM_DEVICE8(FDC_TAG, upd765a_device, map, 0x00ff)
@ -644,6 +692,7 @@ static ADDRESS_MAP_START(maincpu_mem, AS_PROGRAM, 16, fanucspmg_state)
AM_RANGE(0xf001c, 0xf001d) AM_DEVREADWRITE8(USART3_TAG, i8251_device, data_r, data_w, 0x00ff)
AM_RANGE(0xf001e, 0xf001f) AM_DEVREADWRITE8(USART3_TAG, i8251_device, status_r, control_w, 0x00ff)
AM_RANGE(0xf0020, 0xf0029) AM_DEVREADWRITE8(DMAC_TAG, i8257_device, read, write, 0xffff)
AM_RANGE(0xf0042, 0xf0043) AM_READ(magic_r)
AM_RANGE(0xf0046, 0xf0047) AM_WRITE8(dma_page_w, 0x00ff)
AM_RANGE(0xf0048, 0xf004f) AM_DEVREADWRITE8(PIT1_TAG, pit8253_device, read, write, 0x00ff)
AM_RANGE(0xf2000, 0xf2003) AM_DEVREADWRITE8(PIC1_TAG, pic8259_device, read, write, 0x00ff)
@ -700,13 +749,15 @@ READ8_MEMBER(fanucspmg_state::vblank_ack_r)
return 0xff;
}
// bit 1 seems to route to bit 7 of f0004 on the 8086 (signals the "LOAD" key pressed?)
// bit 1 is unknown
// bit 3 appears to enable vblank IRQs
WRITE8_MEMBER(fanucspmg_state::vbl_ctrl_w)
{
m_vbl_ctrl = data;
}
// row 2: raising a bit toggles the corresponding bit at 500a
// row 3: raising a bit toggles the corresponding bit at 500b
WRITE8_MEMBER(fanucspmg_state::keyboard_row_w)
{
m_keyboard_row = data;
@ -734,7 +785,7 @@ static ADDRESS_MAP_START(subcpu_mem, AS_PROGRAM, 8, fanucspmg_state)
AM_RANGE(0x5001, 0x5001) AM_DEVREADWRITE(CRTC_TAG, mc6845_device, register_r, register_w)
AM_RANGE(0x5008, 0x5008) AM_WRITE(keyboard_row_w)
AM_RANGE(0x5009, 0x5009) AM_READ(keyboard_r)
AM_RANGE(0x500a, 0x500b) AM_WRITENOP // probably keyboard related, not sure how though
AM_RANGE(0x500a, 0x500b) AM_WRITENOP // keyboard rows 2 and 3 control what's written here. dip switches?
AM_RANGE(0x500c, 0x500c) AM_WRITE(vbl_ctrl_w)
AM_RANGE(0x500d, 0x500d) AM_WRITE(vram_bank_w)
AM_RANGE(0x500e, 0x500e) AM_READ(vblank_ack_r)
@ -815,6 +866,50 @@ MC6845_UPDATE_ROW( fanucspmg_state::crtc_update_row )
}
}
MC6845_UPDATE_ROW( fanucspmg_state::crtc_update_row_mono )
{
UINT32 *p = &bitmap.pix32(y);
int i;
UINT8 *chargen = m_chargen->base();
for ( i = 0; i < x_count; i++ )
{
UINT16 offset = ( ma + i );
if (m_video_ctrl & 0x02)
{
if (offset <= 0x5ff)
{
UINT8 chr = m_vram[offset + 0x600];
UINT8 attr = m_vram[offset];
UINT8 data = chargen[ chr + (ra * 256) ];
UINT32 fg = 0xff00;
UINT32 bg = 0;
*p++ = ( data & 0x01 ) ? fg : bg;
*p++ = ( data & 0x02 ) ? fg : bg;
*p++ = ( data & 0x04 ) ? fg : bg;
*p++ = ( data & 0x08 ) ? fg : bg;
*p++ = ( data & 0x10 ) ? fg : bg;
*p++ = ( data & 0x20 ) ? fg : bg;
*p++ = ( data & 0x40 ) ? fg : bg;
*p++ = ( data & 0x80 ) ? fg : bg;
}
}
else
{
*p++ = 0;
*p++ = 0;
*p++ = 0;
*p++ = 0;
*p++ = 0;
*p++ = 0;
*p++ = 0;
*p++ = 0;
}
}
}
static SLOT_INTERFACE_START( fanuc_floppies )
SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
SLOT_INTERFACE_END
@ -875,6 +970,16 @@ static MACHINE_CONFIG_START( fanucspmg, fanucspmg_state )
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(fanucspmg_state, vsync_w))
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( fanucspmgm, fanucspmg )
MCFG_DEVICE_REMOVE( CRTC_TAG )
MCFG_MC6845_ADD( CRTC_TAG, HD6845, SCREEN_TAG, XTAL_8MHz/2)
MCFG_MC6845_SHOW_BORDER_AREA(false)
MCFG_MC6845_CHAR_WIDTH(8)
MCFG_MC6845_UPDATE_ROW_CB(fanucspmg_state, crtc_update_row_mono)
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(fanucspmg_state, vsync_w))
MACHINE_CONFIG_END
/* ROM definition */
ROM_START( fanucspg )
ROM_REGION(0x4000, MAINCPU_TAG, 0)
@ -888,6 +993,19 @@ ROM_START( fanucspg )
ROM_LOAD( "a42_020a.30b", 0x000000, 0x008000, CRC(33eb5962) SHA1(1157a72089ff77e8db9a9a8fcd0f6c32a1374f56) )
ROM_END
ROM_START( fanucspgm )
ROM_REGION(0x4000, MAINCPU_TAG, 0)
ROM_LOAD16_BYTE( "a25_001a.33e", 0x000000, 0x002000, CRC(81159267) SHA1(f5d53cc6e929f57e8c3747f80fc74d4b1643222d) )
ROM_LOAD16_BYTE( "a25_002a.35e", 0x000001, 0x002000, CRC(4fb82c4d) SHA1(eb75e9a2d3c8e4ad56a74624ee8c52c785bd0da6) )
ROM_REGION(0x4000, SUBCPU_TAG, 0)
ROM_LOAD( "a21_010f.17d", 0x000000, 0x002000, CRC(ef192717) SHA1(7fb3f7ca290d2437ae5956700f88c801018ce1cc) )
ROM_REGION(0x8000, CHARGEN_TAG, 0)
ROM_LOAD( "a22_020b.5g", 0x000000, 0x002000, CRC(7b5f8e20) SHA1(9de607e541d8aad2d1ea56321270bb8466b16e3d) )
ROM_END
/* Driver */
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
COMP( 1983, fanucspg, 0, 0, fanucspmg, fanucspmg, fanucspmg_state, fanucspmg, "Fanuc", "System P Model G", GAME_NOT_WORKING | GAME_NO_SOUND)
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
COMP( 1983, fanucspg, 0, 0, fanucspmg, fanucspmg, fanucspmg_state, fanucspmg, "Fanuc", "System P Model G", GAME_NOT_WORKING | GAME_NO_SOUND)
COMP( 1983, fanucspgm, fanucspg, 0, fanucspmgm, fanucspmg, fanucspmg_state, fanucspmg, "Fanuc", "System P Model G (monochrome)", GAME_NOT_WORKING | GAME_NO_SOUND)