summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/photon.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/photon.c')
-rw-r--r--src/mame/drivers/photon.c88
1 files changed, 44 insertions, 44 deletions
diff --git a/src/mame/drivers/photon.c b/src/mame/drivers/photon.c
index 091a74266db..2ad494930e3 100644
--- a/src/mame/drivers/photon.c
+++ b/src/mame/drivers/photon.c
@@ -1,27 +1,27 @@
/*
- Photon System
-
- Uses PK8000 emulation by Miodrag Milanovic
- Imported to MAME by Mariusz Wojcieszek
-
- Russian arcade system based on PK8000 home computer, created by unknown manufacturer
- in late 1980s or early 1990s.
-
- Following games were produced for this system:
- - Tetris
- - Python
- - Treasure/Labyrinth
-
- Dump was made using custom adaptor, hence it is marked as bad dump.
- The real machine has following roms:
- 0000...07FFh - ROM1 (D41)
- 0800...0FFFh - ROM2 (D42)
- 1000...17FFh - ROM3 (D43)
- 1800...1FFFh - not chip sealed (D44)
- 2000...27FFh - ROM5 (D45)
- 2800...2FFFh - ROM6 (D46)
- 3000...37FFh - ROM7 (D47)
- 3000...37FFh - ROM8 (D48)
+ Photon System
+
+ Uses PK8000 emulation by Miodrag Milanovic
+ Imported to MAME by Mariusz Wojcieszek
+
+ Russian arcade system based on PK8000 home computer, created by unknown manufacturer
+ in late 1980s or early 1990s.
+
+ Following games were produced for this system:
+ - Tetris
+ - Python
+ - Treasure/Labyrinth
+
+ Dump was made using custom adaptor, hence it is marked as bad dump.
+ The real machine has following roms:
+ 0000...07FFh - ROM1 (D41)
+ 0800...0FFFh - ROM2 (D42)
+ 1000...17FFh - ROM3 (D43)
+ 1800...1FFFh - not chip sealed (D44)
+ 2000...27FFh - ROM5 (D45)
+ 2800...2FFFh - ROM6 (D46)
+ 3000...37FFh - ROM7 (D47)
+ 3000...37FFh - ROM8 (D48)
*/
@@ -31,15 +31,15 @@
#include "machine/i8255a.h"
#include "sound/dac.h"
-static void pk8000_set_bank(running_machine *machine,UINT8 data)
-{
+static void pk8000_set_bank(running_machine *machine,UINT8 data)
+{
UINT8 *rom = memory_region(machine, "maincpu");
UINT8 *ram = memory_region(machine, "maincpu");
UINT8 block1 = data & 3;
UINT8 block2 = (data >> 2) & 3;
UINT8 block3 = (data >> 4) & 3;
UINT8 block4 = (data >> 6) & 3;
-
+
switch(block1) {
case 0:
memory_set_bankptr(machine, 1, rom + 0x10000);
@@ -47,14 +47,14 @@ static void pk8000_set_bank(running_machine *machine,UINT8 data)
break;
case 1: break;
case 2: break;
- case 3:
+ case 3:
memory_set_bankptr(machine, 1, ram);
memory_set_bankptr(machine, 5, ram);
break;
}
-
+
switch(block2) {
- case 0:
+ case 0:
memory_set_bankptr(machine, 2, rom + 0x14000);
memory_set_bankptr(machine, 6, ram + 0x4000);
break;
@@ -88,7 +88,7 @@ static void pk8000_set_bank(running_machine *machine,UINT8 data)
memory_set_bankptr(machine, 4, ram + 0xc000);
memory_set_bankptr(machine, 8, ram + 0xc000);
break;
- }
+ }
}
static WRITE8_DEVICE_HANDLER(pk8000_80_porta_w)
{
@@ -116,17 +116,17 @@ static I8255A_INTERFACE( pk8000_ppi8255_interface_1 )
};
static READ8_DEVICE_HANDLER(pk8000_84_porta_r)
-{
+{
return pk8000_video_mode;
}
static WRITE8_DEVICE_HANDLER(pk8000_84_porta_w)
-{
+{
pk8000_video_mode = data;
}
static WRITE8_DEVICE_HANDLER(pk8000_84_portc_w)
-{
+{
pk8000_video_enable = BIT(data,4);
}
static I8255A_INTERFACE( pk8000_ppi8255_interface_2 )
@@ -151,7 +151,7 @@ static ADDRESS_MAP_START( pk8000_io , ADDRESS_SPACE_IO, 8)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("ppi8255_1", i8255a_r, i8255a_w)
AM_RANGE(0x84, 0x87) AM_DEVREADWRITE("ppi8255_2", i8255a_r, i8255a_w)
- AM_RANGE(0x88, 0x88) AM_READWRITE(pk8000_video_color_r,pk8000_video_color_w)
+ AM_RANGE(0x88, 0x88) AM_READWRITE(pk8000_video_color_r,pk8000_video_color_w)
AM_RANGE(0x8c, 0x8c) AM_READ_PORT("JOY1")
AM_RANGE(0x8d, 0x8d) AM_READ_PORT("JOY2")
AM_RANGE(0x90, 0x90) AM_READWRITE(pk8000_text_start_r,pk8000_text_start_w)
@@ -164,7 +164,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( photon )
PORT_START("JOY1")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP) PORT_PLAYER(1)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN) PORT_PLAYER(1)
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN) PORT_PLAYER(1)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT) PORT_PLAYER(1)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT) PORT_PLAYER(1)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_COIN1)
@@ -174,7 +174,7 @@ static INPUT_PORTS_START( photon )
PORT_START("JOY2")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP) PORT_PLAYER(2)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN) PORT_PLAYER(2)
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN) PORT_PLAYER(2)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT) PORT_PLAYER(2)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT) PORT_PLAYER(2)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_COIN2)
@@ -190,14 +190,14 @@ INTERRUPT_GEN( pk8000_interrupt )
}
static IRQ_CALLBACK(pk8000_irq_callback)
-{
+{
return 0xff;
-}
+}
-static MACHINE_RESET(pk8000)
+static MACHINE_RESET(pk8000)
{
- pk8000_set_bank(machine,0);
+ pk8000_set_bank(machine,0);
cpu_set_irq_callback(cputag_get_cpu(machine, "maincpu"), pk8000_irq_callback);
}
@@ -215,11 +215,11 @@ static MACHINE_DRIVER_START( photon )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",8080, 1780000)
MDRV_CPU_PROGRAM_MAP(pk8000_mem)
- MDRV_CPU_IO_MAP(pk8000_io)
+ MDRV_CPU_IO_MAP(pk8000_io)
MDRV_CPU_VBLANK_INT("screen", pk8000_interrupt)
MDRV_MACHINE_RESET(pk8000)
-
+
/* video hardware */
MDRV_SCREEN_ADD("screen", RASTER)
MDRV_SCREEN_REFRESH_RATE(50)
@@ -232,10 +232,10 @@ static MACHINE_DRIVER_START( photon )
MDRV_VIDEO_START(photon)
MDRV_VIDEO_UPDATE(photon)
-
+
MDRV_I8255A_ADD( "ppi8255_1", pk8000_ppi8255_interface_1 )
MDRV_I8255A_ADD( "ppi8255_2", pk8000_ppi8255_interface_2 )
-
+
/* audio hardware */
MDRV_SPEAKER_STANDARD_MONO("mono")
MDRV_SOUND_ADD("dac", DAC, 0)