layout/bfm_sc5_gu96x8.lay: Use loops and save many lines.

Also various cleanup.
This commit is contained in:
Vas Crabb 2024-01-24 05:27:43 +11:00
parent 6f513cfb74
commit 654dbd8285
11 changed files with 258 additions and 1855 deletions

View File

@ -68,37 +68,37 @@ void atapi_cdrom_device::device_start()
memset(m_identify_buffer, 0, sizeof(m_identify_buffer)); memset(m_identify_buffer, 0, sizeof(m_identify_buffer));
m_identify_buffer[ 0 ] = 0x8500; // ATAPI device, cmd set 5 compliant, DRQ within 3 ms of PACKET command m_identify_buffer[0] = 0x8500; // ATAPI device, cmd set 5 compliant, DRQ within 3 ms of PACKET command
m_identify_buffer[ 23 ] = ('1' << 8) | '.'; m_identify_buffer[23] = ('1' << 8) | '.';
m_identify_buffer[ 24 ] = ('0' << 8) | ' '; m_identify_buffer[24] = ('0' << 8) | ' ';
m_identify_buffer[ 25 ] = (' ' << 8) | ' '; m_identify_buffer[25] = (' ' << 8) | ' ';
m_identify_buffer[ 26 ] = (' ' << 8) | ' '; m_identify_buffer[26] = (' ' << 8) | ' ';
m_identify_buffer[ 27 ] = ('M' << 8) | 'A'; m_identify_buffer[27] = ('M' << 8) | 'A';
m_identify_buffer[ 28 ] = ('M' << 8) | 'E'; m_identify_buffer[28] = ('M' << 8) | 'E';
m_identify_buffer[ 29 ] = (' ' << 8) | ' '; m_identify_buffer[29] = (' ' << 8) | ' ';
m_identify_buffer[ 30 ] = (' ' << 8) | ' '; m_identify_buffer[30] = (' ' << 8) | ' ';
m_identify_buffer[ 31 ] = ('V' << 8) | 'i'; m_identify_buffer[31] = ('V' << 8) | 'i';
m_identify_buffer[ 32 ] = ('r' << 8) | 't'; m_identify_buffer[32] = ('r' << 8) | 't';
m_identify_buffer[ 33 ] = ('u' << 8) | 'a'; m_identify_buffer[33] = ('u' << 8) | 'a';
m_identify_buffer[ 34 ] = ('l' << 8) | ' '; m_identify_buffer[34] = ('l' << 8) | ' ';
m_identify_buffer[ 35 ] = ('C' << 8) | 'D'; m_identify_buffer[35] = ('C' << 8) | 'D';
m_identify_buffer[ 36 ] = ('R' << 8) | 'O'; m_identify_buffer[36] = ('R' << 8) | 'O';
m_identify_buffer[ 37 ] = ('M' << 8) | ' '; m_identify_buffer[37] = ('M' << 8) | ' ';
m_identify_buffer[ 38 ] = (' ' << 8) | ' '; m_identify_buffer[38] = (' ' << 8) | ' ';
m_identify_buffer[ 39 ] = (' ' << 8) | ' '; m_identify_buffer[39] = (' ' << 8) | ' ';
m_identify_buffer[ 40 ] = (' ' << 8) | ' '; m_identify_buffer[40] = (' ' << 8) | ' ';
m_identify_buffer[ 41 ] = (' ' << 8) | ' '; m_identify_buffer[41] = (' ' << 8) | ' ';
m_identify_buffer[ 42 ] = (' ' << 8) | ' '; m_identify_buffer[42] = (' ' << 8) | ' ';
m_identify_buffer[ 43 ] = (' ' << 8) | ' '; m_identify_buffer[43] = (' ' << 8) | ' ';
m_identify_buffer[ 44 ] = (' ' << 8) | ' '; m_identify_buffer[44] = (' ' << 8) | ' ';
m_identify_buffer[ 45 ] = (' ' << 8) | ' '; m_identify_buffer[45] = (' ' << 8) | ' ';
m_identify_buffer[ 46 ] = (' ' << 8) | ' '; m_identify_buffer[46] = (' ' << 8) | ' ';
m_identify_buffer[ 49 ] = 0x0600; // Word 49=Capabilities, IORDY may be disabled (bit_10), LBA Supported mandatory (bit_9) m_identify_buffer[49] = 0x0600; // Word 49=Capabilities, IORDY may be disabled (bit_10), LBA Supported mandatory (bit_9)
m_identify_buffer[ 88 ] = m_ultra_dma_mode; m_identify_buffer[88] = m_ultra_dma_mode;
atapi_hle_device::device_start(); atapi_hle_device::device_start();
} }

View File

@ -236,8 +236,8 @@ void atapi_hle_device::process_command()
for( int w = 0; w < 256; w++ ) for( int w = 0; w < 256; w++ )
{ {
m_buffer[w * 2] = m_identify_buffer[ w ] & 0xff; m_buffer[w * 2] = m_identify_buffer[w] & 0xff;
m_buffer[(w * 2) + 1] = m_identify_buffer[ w ] >> 8; m_buffer[(w * 2) + 1] = m_identify_buffer[w] >> 8;
} }
m_buffer_size = 512; m_buffer_size = 512;

View File

@ -16,8 +16,8 @@ static constexpr char download_identity[] = "MATSHITA CD98Q4 DOWNLOADGS0N";
void matsushita_cr589_device::nvram_default() void matsushita_cr589_device::nvram_default()
{ {
memset( buffer, 0, sizeof(buffer)); memset(buffer, 0, sizeof(buffer));
memcpy( &buffer[ identity_offset ], "MATSHITACD-ROM CR-589 GS0N", 28 ); memcpy(&buffer[identity_offset], "MATSHITACD-ROM CR-589 GS0N", 28);
} }
@ -50,27 +50,27 @@ bool matsushita_cr589_device::nvram_write(util::write_stream &file)
void matsushita_cr589_device::ExecCommand() void matsushita_cr589_device::ExecCommand()
{ {
switch( command[ 0 ] ) switch( command[0] )
{ {
case T10SPC_CMD_INQUIRY: case T10SPC_CMD_INQUIRY:
logerror("T10MMC: INQUIRY\n"); logerror("T10MMC: INQUIRY\n");
m_phase = SCSI_PHASE_DATAIN; m_phase = SCSI_PHASE_DATAIN;
m_status_code = SCSI_STATUS_CODE_GOOD; m_status_code = SCSI_STATUS_CODE_GOOD;
m_transfer_length = SCSILengthFromUINT8( &command[ 4 ] ); m_transfer_length = SCSILengthFromUINT8( &command[4] );
break; break;
case 0x3b: // WRITE BUFFER case 0x3b: // WRITE BUFFER
bufferOffset = get_u24be( &command[ 3 ] ); bufferOffset = get_u24be( &command[3] );
m_phase = SCSI_PHASE_DATAOUT; m_phase = SCSI_PHASE_DATAOUT;
m_status_code = SCSI_STATUS_CODE_GOOD; m_status_code = SCSI_STATUS_CODE_GOOD;
m_transfer_length = get_u24be( &command[ 6 ] ); m_transfer_length = get_u24be( &command[6] );
break; break;
case 0x3c: // READ BUFFER case 0x3c: // READ BUFFER
bufferOffset = get_u24be( &command[ 3 ] ); bufferOffset = get_u24be( &command[3] );
m_phase = SCSI_PHASE_DATAIN; m_phase = SCSI_PHASE_DATAIN;
m_status_code = SCSI_STATUS_CODE_GOOD; m_status_code = SCSI_STATUS_CODE_GOOD;
m_transfer_length = get_u24be( &command[ 6 ] ); m_transfer_length = get_u24be( &command[6] );
break; break;
case 0xcc: // FIRMWARE DOWNLOAD ENABLE case 0xcc: // FIRMWARE DOWNLOAD ENABLE
@ -87,7 +87,7 @@ void matsushita_cr589_device::ExecCommand()
void matsushita_cr589_device::ReadData( uint8_t *data, int dataLength ) void matsushita_cr589_device::ReadData( uint8_t *data, int dataLength )
{ {
switch( command[ 0 ] ) switch( command[0] )
{ {
case T10SPC_CMD_INQUIRY: case T10SPC_CMD_INQUIRY:
memset(data, 0, dataLength); memset(data, 0, dataLength);
@ -96,16 +96,16 @@ void matsushita_cr589_device::ReadData( uint8_t *data, int dataLength )
if( download ) if( download )
{ {
memcpy( &data[ 8 ], download_identity, 28 ); memcpy( &data[8], download_identity, 28 );
} }
else else
{ {
memcpy( &data[ 8 ], &buffer[ identity_offset ], 28 ); memcpy( &data[8], &buffer[identity_offset], 28 );
} }
break; break;
case 0x3c: // READ BUFFER case 0x3c: // READ BUFFER
memcpy( data, &buffer[ bufferOffset ], dataLength ); memcpy( data, &buffer[bufferOffset], dataLength );
bufferOffset += dataLength; bufferOffset += dataLength;
break; break;
@ -117,15 +117,15 @@ void matsushita_cr589_device::ReadData( uint8_t *data, int dataLength )
void matsushita_cr589_device::WriteData( uint8_t *data, int dataLength ) void matsushita_cr589_device::WriteData( uint8_t *data, int dataLength )
{ {
switch( command[ 0 ] ) switch( command[0] )
{ {
case 0x3b: // WRITE BUFFER case 0x3b: // WRITE BUFFER
memcpy( &buffer[ bufferOffset ], data + 32, dataLength - 32 ); memcpy( &buffer[bufferOffset], data + 32, dataLength - 32 );
bufferOffset += dataLength; bufferOffset += dataLength;
break; break;
case 0xcc: // FIRMWARE DOWNLOAD ENABLE case 0xcc: // FIRMWARE DOWNLOAD ENABLE
if( memcmp( data, &buffer[ identity_offset ], 28 ) == 0 ) if( memcmp( data, &buffer[identity_offset], 28 ) == 0 )
{ {
download = 1; download = 1;
} }
@ -161,35 +161,35 @@ void matsushita_cr589_device::device_start()
/// TODO: split identify buffer into another method as device_start() should be called after it's filled in, but the atapi_cdrom_device has it's own. /// TODO: split identify buffer into another method as device_start() should be called after it's filled in, but the atapi_cdrom_device has it's own.
memset(m_identify_buffer, 0, sizeof(m_identify_buffer)); memset(m_identify_buffer, 0, sizeof(m_identify_buffer));
m_identify_buffer[ 0 ] = 0x8500; // ATAPI device, cmd set 5 compliant, DRQ within 3 ms of PACKET command m_identify_buffer[0] = 0x8500; // ATAPI device, cmd set 5 compliant, DRQ within 3 ms of PACKET command
m_identify_buffer[ 23 ] = ('1' << 8) | '.'; m_identify_buffer[23] = ('1' << 8) | '.';
m_identify_buffer[ 24 ] = ('0' << 8) | ' '; m_identify_buffer[24] = ('0' << 8) | ' ';
m_identify_buffer[ 25 ] = (' ' << 8) | ' '; m_identify_buffer[25] = (' ' << 8) | ' ';
m_identify_buffer[ 26 ] = (' ' << 8) | ' '; m_identify_buffer[26] = (' ' << 8) | ' ';
m_identify_buffer[ 27 ] = ('M' << 8) | 'A'; m_identify_buffer[27] = ('M' << 8) | 'A';
m_identify_buffer[ 28 ] = ('T' << 8) | 'S'; m_identify_buffer[28] = ('T' << 8) | 'S';
m_identify_buffer[ 29 ] = ('H' << 8) | 'I'; m_identify_buffer[29] = ('H' << 8) | 'I';
m_identify_buffer[ 30 ] = ('T' << 8) | 'A'; m_identify_buffer[30] = ('T' << 8) | 'A';
m_identify_buffer[ 31 ] = (' ' << 8) | 'C'; m_identify_buffer[31] = (' ' << 8) | 'C';
m_identify_buffer[ 32 ] = ('R' << 8) | '-'; m_identify_buffer[32] = ('R' << 8) | '-';
m_identify_buffer[ 33 ] = ('5' << 8) | '8'; m_identify_buffer[33] = ('5' << 8) | '8';
m_identify_buffer[ 34 ] = ('9' << 8) | ' '; m_identify_buffer[34] = ('9' << 8) | ' ';
m_identify_buffer[ 35 ] = (' ' << 8) | ' '; m_identify_buffer[35] = (' ' << 8) | ' ';
m_identify_buffer[ 36 ] = (' ' << 8) | ' '; m_identify_buffer[36] = (' ' << 8) | ' ';
m_identify_buffer[ 37 ] = (' ' << 8) | ' '; m_identify_buffer[37] = (' ' << 8) | ' ';
m_identify_buffer[ 38 ] = (' ' << 8) | ' '; m_identify_buffer[38] = (' ' << 8) | ' ';
m_identify_buffer[ 39 ] = (' ' << 8) | ' '; m_identify_buffer[39] = (' ' << 8) | ' ';
m_identify_buffer[ 40 ] = (' ' << 8) | ' '; m_identify_buffer[40] = (' ' << 8) | ' ';
m_identify_buffer[ 41 ] = (' ' << 8) | ' '; m_identify_buffer[41] = (' ' << 8) | ' ';
m_identify_buffer[ 42 ] = (' ' << 8) | ' '; m_identify_buffer[42] = (' ' << 8) | ' ';
m_identify_buffer[ 43 ] = (' ' << 8) | ' '; m_identify_buffer[43] = (' ' << 8) | ' ';
m_identify_buffer[ 44 ] = (' ' << 8) | ' '; m_identify_buffer[44] = (' ' << 8) | ' ';
m_identify_buffer[ 45 ] = (' ' << 8) | ' '; m_identify_buffer[45] = (' ' << 8) | ' ';
m_identify_buffer[ 46 ] = (' ' << 8) | ' '; m_identify_buffer[46] = (' ' << 8) | ' ';
m_identify_buffer[ 49 ] = 0x0400; // IORDY may be disabled m_identify_buffer[49] = 0x0400; // IORDY may be disabled
} }
void matsushita_cr589_device::device_reset() void matsushita_cr589_device::device_reset()

View File

@ -39,7 +39,7 @@ protected:
private: private:
int download; int download;
uint8_t buffer[ 65536 ]; uint8_t buffer[65536];
int bufferOffset; int bufferOffset;
}; };

View File

@ -191,7 +191,7 @@ void gdrom_device::ExecCommand()
case 0x10: case 0x10:
{ {
transferOffset = command[2]; transferOffset = command[2];
u8 allocation_length = SCSILengthFromUINT8( &command[ 4 ] ); u8 allocation_length = SCSILengthFromUINT8( &command[4] );
// any game that enables [redbook] // any game that enables [redbook]
LOGCMD("REQ_STAT 10h offset %02x length %02x\n", transferOffset, allocation_length); LOGCMD("REQ_STAT 10h offset %02x length %02x\n", transferOffset, allocation_length);
@ -209,9 +209,9 @@ void gdrom_device::ExecCommand()
m_phase = SCSI_PHASE_DATAIN; m_phase = SCSI_PHASE_DATAIN;
m_status_code = SCSI_STATUS_CODE_GOOD; m_status_code = SCSI_STATUS_CODE_GOOD;
// if (SCSILengthFromUINT8( &command[ 4 ] ) < 32) return -1; // if (SCSILengthFromUINT8( &command[4] ) < 32) return -1;
transferOffset = command[2]; transferOffset = command[2];
m_transfer_length = SCSILengthFromUINT8( &command[ 4 ] ); m_transfer_length = SCSILengthFromUINT8( &command[4] );
if (transferOffset & 1) if (transferOffset & 1)
throw emu_fatalerror("GDROM: REQ_MODE with odd offset %02x %02x", transferOffset, m_transfer_length); throw emu_fatalerror("GDROM: REQ_MODE with odd offset %02x %02x", transferOffset, m_transfer_length);
break; break;
@ -222,7 +222,7 @@ void gdrom_device::ExecCommand()
m_phase = SCSI_PHASE_DATAOUT; m_phase = SCSI_PHASE_DATAOUT;
m_status_code = SCSI_STATUS_CODE_GOOD; m_status_code = SCSI_STATUS_CODE_GOOD;
//transferOffset = command[2]; //transferOffset = command[2];
m_transfer_length = SCSILengthFromUINT8( &command[ 4 ] ); m_transfer_length = SCSILengthFromUINT8( &command[4] );
if (command[2]) if (command[2])
throw emu_fatalerror("GDROM: SET_MODE with offset %02x %02x", transferOffset, m_transfer_length); throw emu_fatalerror("GDROM: SET_MODE with offset %02x %02x", transferOffset, m_transfer_length);
@ -246,7 +246,7 @@ void gdrom_device::ExecCommand()
// TODO: it's supposed to write a single and a double density TOC request // TODO: it's supposed to write a single and a double density TOC request
//if (command[1]) //if (command[1])
// throw emu_fatalerror("Double density unsupported"); // throw emu_fatalerror("Double density unsupported");
u16 allocation_length = SCSILengthFromUINT16( &command[ 3 ] ); u16 allocation_length = SCSILengthFromUINT16( &command[3] );
LOGCMD("READ_TOC 14h %02x %02x %d\n", LOGCMD("READ_TOC 14h %02x %02x %d\n",
command[1], command[2], allocation_length command[1], command[2], allocation_length
); );
@ -272,7 +272,7 @@ void gdrom_device::ExecCommand()
{ {
m_phase = SCSI_PHASE_DATAIN; m_phase = SCSI_PHASE_DATAIN;
m_status_code = SCSI_STATUS_CODE_GOOD; m_status_code = SCSI_STATUS_CODE_GOOD;
m_transfer_length = SCSILengthFromUINT8( &command[ 4 ] ); m_transfer_length = SCSILengthFromUINT8( &command[4] );
LOGCMD("REQ_SES 15h %02x %02x\n", command[2], m_transfer_length); LOGCMD("REQ_SES 15h %02x %02x\n", command[2], m_transfer_length);
break; break;
} }
@ -431,7 +431,7 @@ void gdrom_device::ExecCommand()
case 0x40: case 0x40:
{ {
m_transfer_length = SCSILengthFromUINT8( &command[ 4 ] ); m_transfer_length = SCSILengthFromUINT8( &command[4] );
//LOGCMD("CD_SCD 40h %02x %d\n", command[1] & 0xf, m_transfer_length); //LOGCMD("CD_SCD 40h %02x %d\n", command[1] & 0xf, m_transfer_length);
switch(command[1] & 0xf) switch(command[1] & 0xf)
@ -439,7 +439,7 @@ void gdrom_device::ExecCommand()
case 0x00: case 0x00:
m_phase = SCSI_PHASE_DATAIN; m_phase = SCSI_PHASE_DATAIN;
m_status_code = SCSI_STATUS_CODE_GOOD; m_status_code = SCSI_STATUS_CODE_GOOD;
m_transfer_length = SCSILengthFromUINT8( &command[ 4 ] ); m_transfer_length = SCSILengthFromUINT8( &command[4] );
break; break;
case 0x01: case 0x01:
m_phase = SCSI_PHASE_DATAIN; m_phase = SCSI_PHASE_DATAIN;
@ -753,7 +753,7 @@ void gdrom_device::ReadData( uint8_t *data, int dataLength )
void gdrom_device::WriteData( uint8_t *data, int dataLength ) void gdrom_device::WriteData( uint8_t *data, int dataLength )
{ {
switch (command[ 0 ]) switch (command[0])
{ {
case 0x12: // SET_MODE case 0x12: // SET_MODE
memcpy(&GDROM_Cmd11_Reply[transferOffset], data, (dataLength >= 32-transferOffset) ? 32-transferOffset : dataLength); memcpy(&GDROM_Cmd11_Reply[transferOffset], data, (dataLength >= 32-transferOffset) ? 32-transferOffset : dataLength);

View File

@ -82,7 +82,7 @@ void s1c33209_device::device_reset()
template <offs_t RomBytes> template <offs_t RomBytes>
void s1c33209_device::memory_map(address_map &map) void s1c33209_device::memory_map(address_map &map)
{ {
map(0x000'0000, 0x000'1fff).mirror(0x000'2000).ram(); map(0x000'0000, 0x000'1fff).mirror(0x000'2000).ram(); // actually 32 bits wide (single cycle word access)
map(0x003'0000, 0x003'ffff).m(*this, FUNC(s1c33209_device::peripheral_map)); map(0x003'0000, 0x003'ffff).m(*this, FUNC(s1c33209_device::peripheral_map));
map(0x004'0000, 0x004'ffff).mirror(0x001'0000).m(*this, FUNC(s1c33209_device::peripheral_map)); map(0x004'0000, 0x004'ffff).mirror(0x001'0000).m(*this, FUNC(s1c33209_device::peripheral_map));
//map(0x006'0000, 0x007'ffff) area 2 reserved for debug mode //map(0x006'0000, 0x007'ffff) area 2 reserved for debug mode

View File

@ -2,16 +2,16 @@
// copyright-holders:David Haywood // copyright-holders:David Haywood
/* Scorpion 4 + 5 driver related includes */ /* Scorpion 4 + 5 driver related includes */
/* mainly used for stuff which is currently shared between sc4 / 5 sets to avoid duplication */ /* mainly used for stuff which is currently shared between sc4 / 5 sets to avoid duplication */
#ifndef MAME_BFM_BFP_SC4_H #ifndef MAME_BFM_BFM_SC4_H
#define MAME_BFM_BFP_SC4_H #define MAME_BFM_BFM_SC4_H
#pragma once #pragma once
#include "sec.h" #include "sec.h"
#include "machine/steppers.h" // stepper motor #include "machine/steppers.h" // stepper motor
#include "bfm_gu96x8m_k657c2.h"
#include "bfm_bda.h" #include "bfm_bda.h"
#include "bfm_gu96x8m_k657c2.h"
#include "sound/ymz280b.h" #include "sound/ymz280b.h"
#include "machine/mc68681.h" #include "machine/mc68681.h"
@ -3378,4 +3378,4 @@ INPUT_PORTS_EXTERN( sc4_raw );
/* not for either of these games? */ \ /* not for either of these games? */ \
ROM_LOAD( "casroysnd.bin", 0x00000, 0x80000, CRC(cf1d4b59) SHA1(1b2bc74c6fcc43197a6f295bc34554da01f7b517) ) ROM_LOAD( "casroysnd.bin", 0x00000, 0x80000, CRC(cf1d4b59) SHA1(1b2bc74c6fcc43197a6f295bc34554da01f7b517) )
#endif // MAME_BFM_BFP_SC4_H #endif // MAME_BFM_BFM_SC4_H

View File

@ -40,7 +40,6 @@ namespace {
class hh_ht11xx_state : public driver_device class hh_ht11xx_state : public driver_device
{ {
public: public:
virtual DECLARE_INPUT_CHANGED_MEMBER(input_wakeup); virtual DECLARE_INPUT_CHANGED_MEMBER(input_wakeup);
protected: protected:

File diff suppressed because it is too large Load Diff

View File

@ -23,10 +23,11 @@
.XS nnnn-F87F mmmm-C000 <CR> .XS nnnn-F87F mmmm-C000 <CR>
.G <CR> .G <CR>
where nnnn is the previous value of the stack pointer, and mmmm is the previous where nnnn is the previous value of the stack pointer, and mmmm is the
value of the program counter. previous value of the program counter.
Basic will request the amount of RAM memory available, 8192 (bytes) must be entered. BASIC will request the amount of RAM memory available, 8192 (bytes) must
be entered.
****************************************************************************/ ****************************************************************************/
@ -123,7 +124,7 @@ void exp85_state::exp85_mem(address_map &map)
map.unmap_value_high(); map.unmap_value_high();
// Extended RAM or mapped monitor ROM (only during interrupt and reset) // Extended RAM or mapped monitor ROM (only during interrupt and reset)
map(0x0000, 0x1fff).view(m_low_memory_view); map(0x0000, 0x1fff).view(m_low_memory_view);
// Microsoft Basic ROM // Microsoft BASIC ROM
map(0xc000, 0xdfff).rom(); map(0xc000, 0xdfff).rom();
// Monitor ROM in the 8355 chip // Monitor ROM in the 8355 chip
map(0xf000, 0xf7ff).rom().region(m_rom, 0); map(0xf000, 0xf7ff).rom().region(m_rom, 0);
@ -368,7 +369,7 @@ void exp85_state::exp85(machine_config &config)
/* ROMs */ /* ROMs */
ROM_START( exp85 ) ROM_START( exp85 )
ROM_REGION( 0x10000, "u100", 0 ) // Microsoft Basic ROM_REGION( 0x10000, "u100", 0 ) // Microsoft BASIC
ROM_DEFAULT_BIOS("eia") ROM_DEFAULT_BIOS("eia")
ROM_LOAD( "c000.bin", 0xc000, 0x0800, CRC(73ce4aad) SHA1(2c69cd0b6c4bdc92f4640bce18467e4e99255bab) ) ROM_LOAD( "c000.bin", 0xc000, 0x0800, CRC(73ce4aad) SHA1(2c69cd0b6c4bdc92f4640bce18467e4e99255bab) )
ROM_LOAD( "c800.bin", 0xc800, 0x0800, CRC(eb3fdedc) SHA1(af92d07f7cb7533841b16e1176401363176857e1) ) ROM_LOAD( "c800.bin", 0xc800, 0x0800, CRC(eb3fdedc) SHA1(af92d07f7cb7533841b16e1176401363176857e1) )

View File

@ -29,7 +29,7 @@ C6 10738 Bus Interface Circuit } These 2 interface the C5 eprom to the CPU
ToDo: ToDo:
- Everything (the code below is mostly a carry-over from gts1 and is incomplete or guesswork). - Everything (the code below is mostly a carry-over from gts1 and is incomplete or guesswork).
- There's lots of manuals, with lots of info, but not what we need. For example, no proper schematics. - There are lots of manuals, with lots of info, but not what we need. For example, no proper schematics.
- No info on the sound (all it says is 4 TTL chips controlled by 6 bits of the IO expander). - No info on the sound (all it says is 4 TTL chips controlled by 6 bits of the IO expander).
- A plug-in printer is used to view and alter settings. We have no info about it. - A plug-in printer is used to view and alter settings. We have no info about it.
- Default layout. - Default layout.
@ -382,10 +382,10 @@ void recel_state::recel(machine_config & config)
genpin_audio(config); genpin_audio(config);
} }
/* The BIOS is the same for all sets, but is labeled different depending on the ROM type: /* The BIOS is the same for all sets, but is labeled differently depending on the ROM type:
-13: For machines with personality PROM 1702. -13: For machines with personality PROM 1702.
-14: For machines with 2716 EPROM. -14: For machines with 2716 EPROM.
On both cases, the second half of each chip is not used, having their A11 ping grounded In both cases, the second half of each chip is not used, with their A11 pins grounded
(these chips have A1 to A11, there's no A0). (these chips have A1 to A11, there's no A0).
*/ */
#define RECEL_BIOS \ #define RECEL_BIOS \