summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/chanbara.c6
-rw-r--r--src/mame/drivers/firefox.c4
-rw-r--r--src/mame/drivers/gamecstl.c28
-rw-r--r--src/mame/drivers/leland.c2
-rw-r--r--src/mame/drivers/namcona1.c2
-rw-r--r--src/mame/drivers/namconb1.c10
-rw-r--r--src/mame/drivers/namcos23.c58
-rw-r--r--src/mame/drivers/neodrvr.c4
-rw-r--r--src/mame/drivers/system1.c2
9 files changed, 58 insertions, 58 deletions
diff --git a/src/mame/drivers/chanbara.c b/src/mame/drivers/chanbara.c
index 7a9bc17225e..9533fd27238 100644
--- a/src/mame/drivers/chanbara.c
+++ b/src/mame/drivers/chanbara.c
@@ -297,17 +297,17 @@ GFXDECODE_END
static WRITE8_HANDLER(chanbara_ay_out_0_w)
{
-// printf("chanbara_ay_out_0_w %02x\n",data);
+// printf("chanbara_ay_out_0_w %02x\n",data);
scroll=data;
}
static WRITE8_HANDLER(chanbara_ay_out_1_w)
{
-// printf("chanbara_ay_out_1_w %02x\n",data);
+// printf("chanbara_ay_out_1_w %02x\n",data);
memory_set_bankptr(1, memory_region(machine, "user1") + ((data&4)?0x4000:0x0000) );
scrollhi = data & 0x03;
- //if (data&0xf8) printf("chanbara_ay_out_1_w unused bits set %02x\n",data&0xf8);
+ //if (data&0xf8) printf("chanbara_ay_out_1_w unused bits set %02x\n",data&0xf8);
}
static void sound_irq(running_machine *machine, int linestate)
diff --git a/src/mame/drivers/firefox.c b/src/mame/drivers/firefox.c
index ee9f56f0070..d1e3090feca 100644
--- a/src/mame/drivers/firefox.c
+++ b/src/mame/drivers/firefox.c
@@ -73,13 +73,13 @@ static int m_n_disc_read_data;
static READ8_HANDLER( firefox_disc_status_r )
{
UINT8 result = 0xff;
-
+
result ^= 0x20;
if (!laserdisc_line_r(laserdisc, LASERDISC_LINE_READY))
result ^= 0x40;
if (laserdisc_line_r(laserdisc, LASERDISC_LINE_DATA_AVAIL))
result ^= 0x80;
-
+
return result;
}
diff --git a/src/mame/drivers/gamecstl.c b/src/mame/drivers/gamecstl.c
index 5c4f959a532..c5a6db6e451 100644
--- a/src/mame/drivers/gamecstl.c
+++ b/src/mame/drivers/gamecstl.c
@@ -39,23 +39,23 @@
CPUID info:
Original set:
- CPUID Level: EAX: EBX: ECX: EDX:
- 00000000 00000003 756E6547 6C65746E 49656E69
- 00000001 0000068A 00000002 00000000 0387F9FF
- 00000002 03020101 00000000 00000000 0C040882
- 00000003 00000000 00000000 CA976D2E 000082F6
- 80000000 00000000 00000000 CA976D2E 000082F6
- C0000000 00000000 00000000 CA976D2E 000082F6
+ CPUID Level: EAX: EBX: ECX: EDX:
+ 00000000 00000003 756E6547 6C65746E 49656E69
+ 00000001 0000068A 00000002 00000000 0387F9FF
+ 00000002 03020101 00000000 00000000 0C040882
+ 00000003 00000000 00000000 CA976D2E 000082F6
+ 80000000 00000000 00000000 CA976D2E 000082F6
+ C0000000 00000000 00000000 CA976D2E 000082F6
Version 2:
- CPUID Level: EAX: EBX: ECX: EDX:
- 00000000 00000003 756E6547 6C65746E 49656E69
- 00000001 0000068A 00000002 00000000 0387F9FF
- 00000002 03020101 00000000 00000000 0C040882
- 00000003 00000000 00000000 B8BA1941 00038881
- 80000000 00000000 00000000 B8BA1941 00038881
- C0000000 00000000 00000000 B8BA1941 00038881
+ CPUID Level: EAX: EBX: ECX: EDX:
+ 00000000 00000003 756E6547 6C65746E 49656E69
+ 00000001 0000068A 00000002 00000000 0387F9FF
+ 00000002 03020101 00000000 00000000 0C040882
+ 00000003 00000000 00000000 B8BA1941 00038881
+ 80000000 00000000 00000000 B8BA1941 00038881
+ C0000000 00000000 00000000 B8BA1941 00038881
*/
diff --git a/src/mame/drivers/leland.c b/src/mame/drivers/leland.c
index d7711952ed5..3e40fc2b557 100644
--- a/src/mame/drivers/leland.c
+++ b/src/mame/drivers/leland.c
@@ -680,7 +680,7 @@ INPUT_PORTS_END
Port A of both chips is connected to a banking control
register.
-
+
All 6 (3*2) AY-3-8910/12 outputs are tied together
and put with 1000 Ohm to gnd.
The following is a approximation, since
diff --git a/src/mame/drivers/namcona1.c b/src/mame/drivers/namcona1.c
index 4eb0377b403..d664e58fedc 100644
--- a/src/mame/drivers/namcona1.c
+++ b/src/mame/drivers/namcona1.c
@@ -465,7 +465,7 @@ static READ16_HANDLER( custom_key_r )
res = BITSWAP16(keyval, 22,26,31,23,18,20,16,30,24,21,25,19,17,29,28,27);
keyval >>= 1;
-// printf("popcount(%08X) = %d\n", keyval & 0x58000c00, popcount(keyval & 0x58000c00));
+// printf("popcount(%08X) = %d\n", keyval & 0x58000c00, popcount(keyval & 0x58000c00));
if((!keyval) || (popcount(keyval & 0x58000c00) & 1))
keyval ^= 0x80000000;
diff --git a/src/mame/drivers/namconb1.c b/src/mame/drivers/namconb1.c
index 33dcb170c4f..55ef1ec8f72 100644
--- a/src/mame/drivers/namconb1.c
+++ b/src/mame/drivers/namconb1.c
@@ -1802,7 +1802,7 @@ ROM_END
static INPUT_PORTS_START( gunbulet )
PORT_START("MISC")
PORT_DIPUNUSED_DIPLOC(0x01, 0x01, "SW1: 2")
- PORT_SERVICE_DIPLOC(0x02, 0x02, "SW1: 1")
+ PORT_SERVICE_DIPLOC(0x02, 0x02, "SW1: 1")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -1856,7 +1856,7 @@ static INPUT_PORTS_START( outfxies )
PORT_DIPNAME( 0x01, 0x01, "Freeze Screen" ) PORT_DIPLOCATION("SW1: 2")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC(0x02, 0x02, "SW1: 1")
+ PORT_SERVICE_DIPLOC(0x02, 0x02, "SW1: 1")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -1887,10 +1887,10 @@ static INPUT_PORTS_START( nbsports )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
PORT_START("MISC")
- PORT_DIPNAME( 0x01, 0x01, "Freeze Screen" ) PORT_DIPLOCATION("SW1: 2")
+ PORT_DIPNAME( 0x01, 0x01, "Freeze Screen" ) PORT_DIPLOCATION("SW1: 2")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC(0x02, 0x02, "SW1: 1")
+ PORT_SERVICE_DIPLOC(0x02, 0x02, "SW1: 1")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
@@ -1944,7 +1944,7 @@ static INPUT_PORTS_START( namconb1 )
PORT_DIPNAME( 0x01, 0x01, "Freeze Screen" ) PORT_DIPLOCATION("SW1: 2")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC(0x02, 0x02, "SW1: 1")
+ PORT_SERVICE_DIPLOC(0x02, 0x02, "SW1: 1")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 )
diff --git a/src/mame/drivers/namcos23.c b/src/mame/drivers/namcos23.c
index 3ff375efd33..c7f0f44d138 100644
--- a/src/mame/drivers/namcos23.c
+++ b/src/mame/drivers/namcos23.c
@@ -502,17 +502,17 @@ This game runs on hardware called "GORGON". It appears to be similar to
System 23 but the PCBs are slightly larger.
The system comprises Main PCB, ROM PCB and I/O PCB all located inside
-a metal box with 3 separate power supplies for 5V, 12V and 3.3V. Main
+a metal box with 3 separate power supplies for 5V, 12V and 3.3V. Main
input power is 115V.
The game is controlled by rotating a paddle (for thrust) and turning it
sideways (moves left/right).
-The rotation action is done with a 5K potentiometer whereby the thrust
+The rotation action is done with a 5K potentiometer whereby the thrust
is achieved by moving the pot from full left to full right continuously.
The left/right turning movement is just another 5K potentiometer connected
to the column of the paddle center shaft.
There are also some buttons just for test mode, including SELECT, UP & DOWN
-The player's seat has movement controlled by a compressor and several
-potentiometers. On bootup, the system tests the seat movement and displays
+The player's seat has movement controlled by a compressor and several
+potentiometers. On bootup, the system tests the seat movement and displays
a warning if it's not working. Pressing START allows the game to continue
and function normally without the seat movement.
@@ -583,7 +583,7 @@ Notes:
J4/J5/J6 \
J8/J9 / Custom NAMCO connectors for connection of MEM(M1) PCB
J10 - Custom NAMCO connector for MSPM(FR) PCB
-
+
Namco Custom ICs
----------------
@@ -687,7 +687,7 @@ Notes:
JP5 | Jumpers to set ROM sizes (32M/64M)
JP6/JP7 |
JP8/JP9 /
-
+
ROMs
----
PT* - Point ROMs, sizes configurable to either 16M or 32M (SOP44)
@@ -696,11 +696,11 @@ Notes:
CCR* - Texture Tilemap ROMs, sizes fixed at 16M (SOP44)
SPR* - Sprite ROMs, sizes configurable to either 32M or 64M (SOP44)
WAVE*- Wave ROMs, sizes configurable to either 32M or 64M (SOP44)
-
+
I/O PCB
-------
-V187 ASCA-2A PCB
+V187 ASCA-2A PCB
2477960102 (2477970102)
|--------------------------------------------------------|
| J105 |
@@ -873,7 +873,7 @@ static VIDEO_UPDATE( ss23 )
tilemap_mark_all_tiles_dirty(bgtilemap);
tilemap_draw( bitmap, cliprect, bgtilemap, 0/*flags*/, 0/*priority*/ ); /* opaque */
-
+
#if 0
static int bNew = 1;
static int code = 0x80;
@@ -1379,27 +1379,27 @@ MACHINE_DRIVER_END
ROM_START( rapidrvr )
ROM_REGION32_BE( 0x400000, "user1", 0 ) /* 4 megs for main R4650 code */
- ROM_LOAD16_BYTE( "rd3verc.ic2", 0x000000, 0x200000, CRC(c15c0f30) SHA1(9f529232818f3e184f81f62408a5cad615b05613) )
- ROM_LOAD16_BYTE( "rd3verc.ic1", 0x000001, 0x200000, CRC(9d7f4411) SHA1(d049efaa539d36ed0f73ca3f50a8f7112e67f865) )
+ ROM_LOAD16_BYTE( "rd3verc.ic2", 0x000000, 0x200000, CRC(c15c0f30) SHA1(9f529232818f3e184f81f62408a5cad615b05613) )
+ ROM_LOAD16_BYTE( "rd3verc.ic1", 0x000001, 0x200000, CRC(9d7f4411) SHA1(d049efaa539d36ed0f73ca3f50a8f7112e67f865) )
ROM_REGION( 0x80000, "audio", 0 ) /* Hitachi H8/3002 MCU code */
- ROM_LOAD16_WORD_SWAP( "rd3verc.ic3", 0x000000, 0x080000, CRC(6e26fbaf) SHA1(4ab6637d22f0d26f7e1d10e9c80059c56f64303d) )
+ ROM_LOAD16_WORD_SWAP( "rd3verc.ic3", 0x000000, 0x080000, CRC(6e26fbaf) SHA1(4ab6637d22f0d26f7e1d10e9c80059c56f64303d) )
ROM_REGION( 0x800000, "sprite", 0 ) /* sprite? tilemap? tiles */
- ROM_LOAD16_BYTE( "rd1mtal.1j", 0x000000, 0x400000, CRC(8f0efa86) SHA1(9953461c258f2a96be275a7b18d6518ddfac3860) )
- ROM_LOAD16_BYTE( "rd1mtah.3j", 0x000001, 0x400000, CRC(d8fa0f3d) SHA1(0d5bdb3a2e7be1dffe11b74baa2c10bfe011ae92) )
+ ROM_LOAD16_BYTE( "rd1mtal.1j", 0x000000, 0x400000, CRC(8f0efa86) SHA1(9953461c258f2a96be275a7b18d6518ddfac3860) )
+ ROM_LOAD16_BYTE( "rd1mtah.3j", 0x000001, 0x400000, CRC(d8fa0f3d) SHA1(0d5bdb3a2e7be1dffe11b74baa2c10bfe011ae92) )
ROM_REGION( 0x2000000, "textile", 0 ) /* texture tiles */
- ROM_LOAD( "rd1cguu.5b", 0x0000000, 0x800000, CRC(611bab41) SHA1(84cddb2b63bf8336e92aecb06eddf1b34af73540) )
+ ROM_LOAD( "rd1cguu.5b", 0x0000000, 0x800000, CRC(611bab41) SHA1(84cddb2b63bf8336e92aecb06eddf1b34af73540) )
ROM_LOAD( "rd1cgum.6b", 0x0800000, 0x800000, CRC(c50de2ef) SHA1(24758a72b3569ce6a643a5786fce7c34b8aa692d) )
ROM_LOAD( "rd1cgll.8b", 0x1000000, 0x800000, CRC(b58b92ac) SHA1(70ee6e0e5347e05817aa30d53d766b8ce0fc44e4) )
- ROM_LOAD( "rd1cglm.7b", 0x1800000, 0x800000, CRC(447067fa) SHA1(e2052373773594feb303e1924a4a820cf34ab55b) )
+ ROM_LOAD( "rd1cglm.7b", 0x1800000, 0x800000, CRC(447067fa) SHA1(e2052373773594feb303e1924a4a820cf34ab55b) )
ROM_REGION( 0x2000000, "textile2", 0 ) /* texture tiles bank 2? */
ROM_LOAD( "rd1spruu.9p", 0x0000000, 0x400000, CRC(f20a9673) SHA1(e5f1d552b0c42e102593ab578ff0b9ff814f8650) )
- ROM_LOAD( "rd1sprum.10p", 0x0800000, 0x400000, CRC(8e08b2c6) SHA1(a17331a4e41f677f604d1b74e7694cf920b03b66) )
+ ROM_LOAD( "rd1sprum.10p", 0x0800000, 0x400000, CRC(8e08b2c6) SHA1(a17331a4e41f677f604d1b74e7694cf920b03b66) )
ROM_LOAD( "rd1sprll.12t", 0x1000000, 0x400000, CRC(8d450259) SHA1(27cccd1e7dad8880147bb85185982d8d27076e69) )
- ROM_LOAD( "rd1sprlm.11p", 0x1800000, 0x400000, CRC(6c8db3a5) SHA1(24d81fa11e9c835cddadec4cbd530738e258346c) )
+ ROM_LOAD( "rd1sprlm.11p", 0x1800000, 0x400000, CRC(6c8db3a5) SHA1(24d81fa11e9c835cddadec4cbd530738e258346c) )
ROM_REGION( 0x2000000, "textiledup", 0 ) /* duplicate bank of texture tiles */
ROM_LOAD( "rd1cguu.5f", 0x0800000, 0x800000, CRC(611bab41) SHA1(84cddb2b63bf8336e92aecb06eddf1b34af73540) )
@@ -1409,9 +1409,9 @@ ROM_START( rapidrvr )
ROM_REGION( 0x2000000, "textile2d", 0 ) /* duplicate of texture tiles bank 2? */
ROM_LOAD( "rd1spruu.9t", 0x0000000, 0x400000, CRC(f20a9673) SHA1(e5f1d552b0c42e102593ab578ff0b9ff814f8650) )
- ROM_LOAD( "rd1sprum.10t", 0x0800000, 0x400000, CRC(8e08b2c6) SHA1(a17331a4e41f677f604d1b74e7694cf920b03b66) )
+ ROM_LOAD( "rd1sprum.10t", 0x0800000, 0x400000, CRC(8e08b2c6) SHA1(a17331a4e41f677f604d1b74e7694cf920b03b66) )
ROM_LOAD( "rd1sprll.12p", 0x1000000, 0x400000, CRC(8d450259) SHA1(27cccd1e7dad8880147bb85185982d8d27076e69) )
- ROM_LOAD( "rd1sprlm.11t", 0x1800000, 0x400000, CRC(6c8db3a5) SHA1(24d81fa11e9c835cddadec4cbd530738e258346c) )
+ ROM_LOAD( "rd1sprlm.11t", 0x1800000, 0x400000, CRC(6c8db3a5) SHA1(24d81fa11e9c835cddadec4cbd530738e258346c) )
ROM_REGION( 0x400000, "textilemap", 0 ) /* texture tilemap */
ROM_LOAD( "rd1ccrl.11a", 0x000000, 0x200000, CRC(b0ea2b32) SHA1(0dc45846725b0de619bc6bae69e3eb166ed21bf0) )
@@ -1422,15 +1422,15 @@ ROM_START( rapidrvr )
ROM_LOAD( "rd1ccrh.11f", 0x200000, 0x200000, CRC(fafffb86) SHA1(15b0ba0252b99d0cac29fcb374fb895643f528fe) )
ROM_REGION32_LE( 0x2000000, "pointrom", 0 ) /* 3D model data */
- ROM_LOAD32_WORD( "rd1pt0l.9j", 0x0000000, 0x400000, CRC(47b1c5a5) SHA1(021d4ca7b8674d8ed5daa701bf41b4a7164d992a) )
- ROM_LOAD32_WORD( "rd1pt0h.9l", 0x0000002, 0x400000, CRC(6f280eff) SHA1(9dd8c8903581d7a412146e50f4009e1d2b743f06) )
- ROM_LOAD32_WORD( "rd1pt1l.10j", 0x0800000, 0x400000, CRC(91131cb3) SHA1(e42c5e190c719f1cf2d6e91444062ab901be0e73) )
- ROM_LOAD32_WORD( "rd1pt1h.10l", 0x0800002, 0x400000, CRC(37bd9bdf) SHA1(b26c284024ea4ad4c67b2eefbfdd5ebb35a0118e) )
- ROM_LOAD32_WORD( "rd1pt2l.11j", 0x1000000, 0x400000, CRC(3423ff9f) SHA1(73823c179c866cbb601a23417acbbf5b3dc97213) )
- ROM_LOAD32_WORD( "rd1pt2h.11l", 0x1000002, 0x400000, CRC(fa601e83) SHA1(45c420538910f566e75d668306735f54c901669f) )
- ROM_LOAD32_WORD( "rd1pt3l.12j", 0x1800000, 0x400000, CRC(7216d63e) SHA1(77088ff05c2630996f4bdc87fe466f9b97611467) )
- ROM_LOAD32_WORD( "rd1pt3h.12l", 0x1800002, 0x400000, CRC(e82ff66a) SHA1(9e2c951136b26d969d2c9d030b7e0bad8bbbe3fb) )
-
+ ROM_LOAD32_WORD( "rd1pt0l.9j", 0x0000000, 0x400000, CRC(47b1c5a5) SHA1(021d4ca7b8674d8ed5daa701bf41b4a7164d992a) )
+ ROM_LOAD32_WORD( "rd1pt0h.9l", 0x0000002, 0x400000, CRC(6f280eff) SHA1(9dd8c8903581d7a412146e50f4009e1d2b743f06) )
+ ROM_LOAD32_WORD( "rd1pt1l.10j", 0x0800000, 0x400000, CRC(91131cb3) SHA1(e42c5e190c719f1cf2d6e91444062ab901be0e73) )
+ ROM_LOAD32_WORD( "rd1pt1h.10l", 0x0800002, 0x400000, CRC(37bd9bdf) SHA1(b26c284024ea4ad4c67b2eefbfdd5ebb35a0118e) )
+ ROM_LOAD32_WORD( "rd1pt2l.11j", 0x1000000, 0x400000, CRC(3423ff9f) SHA1(73823c179c866cbb601a23417acbbf5b3dc97213) )
+ ROM_LOAD32_WORD( "rd1pt2h.11l", 0x1000002, 0x400000, CRC(fa601e83) SHA1(45c420538910f566e75d668306735f54c901669f) )
+ ROM_LOAD32_WORD( "rd1pt3l.12j", 0x1800000, 0x400000, CRC(7216d63e) SHA1(77088ff05c2630996f4bdc87fe466f9b97611467) )
+ ROM_LOAD32_WORD( "rd1pt3h.12l", 0x1800002, 0x400000, CRC(e82ff66a) SHA1(9e2c951136b26d969d2c9d030b7e0bad8bbbe3fb) )
+
ROM_REGION( 0x1000000, "c352", 0 ) /* C352 PCM samples */
ROM_LOAD( "rd1wavel.2s", 0x000000, 0x800000, CRC(bf52c08c) SHA1(6745062e078e520484390fad1f723124aa4076d0) )
ROM_LOAD( "rd1waveh.3s", 0x800000, 0x800000, CRC(ef0136b5) SHA1(a6d923ededca168fe555e0b86a72f53bec5424cc) )
diff --git a/src/mame/drivers/neodrvr.c b/src/mame/drivers/neodrvr.c
index d7df55ede47..9413247eb2b 100644
--- a/src/mame/drivers/neodrvr.c
+++ b/src/mame/drivers/neodrvr.c
@@ -7163,8 +7163,8 @@ static DRIVER_INIT( kf2k3pcb )
neogeo_cmc50_m1_decrypt(machine);
/* extra little swap on the m1 - this must be performed AFTER the m1 decrypt
- or the m1 checksum (used to generate the key) for decrypting the m1 is
- incorrect */
+ or the m1 checksum (used to generate the key) for decrypting the m1 is
+ incorrect */
{
int i;
UINT8* rom = memory_region(machine, "audio");
diff --git a/src/mame/drivers/system1.c b/src/mame/drivers/system1.c
index d226e27b5b2..908104eeea5 100644
--- a/src/mame/drivers/system1.c
+++ b/src/mame/drivers/system1.c
@@ -478,7 +478,7 @@ static INPUT_PORTS_START( system1_generic )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
+ PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
/* PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) Not allowed by mame coinage sorting, but valid */
INPUT_PORTS_END