srcclean in preparation for release

This commit is contained in:
Vas Crabb 2022-08-28 07:37:43 +10:00
parent f56ace4df8
commit 2905b8c24a
46 changed files with 434 additions and 434 deletions

View File

@ -1344,8 +1344,8 @@ void axc51base_cpu_device::device_reset()
m_spi_dma_addr = 0;
// m_timer0->adjust(attotime::never);
// m_dactimer->adjust(attotime::never);
// m_timer0->adjust(attotime::never);
// m_dactimer->adjust(attotime::never);
m_timer0->adjust(attotime::from_hz(120), 0, attotime::from_hz(120));
@ -1378,7 +1378,7 @@ SFR_SPICON (at 0xd8)
uint8_t axc51base_cpu_device::spicon_r()
{
uint8_t result = m_sfr_regs[SFR_SPICON] | 0x80;
// LOGMASKED(LOG_UNSORTED,"%s: sfr_read SFR_SPICON %02x\n", machine().describe_context(), result);
// LOGMASKED(LOG_UNSORTED,"%s: sfr_read SFR_SPICON %02x\n", machine().describe_context(), result);
return result;
}
@ -1408,7 +1408,7 @@ uint8_t axc51base_cpu_device::uartsta_r()
void axc51base_cpu_device::spicon_w(uint8_t data)
{
// LOGMASKED(LOG_UNSORTED,"%s: sfr_write SFR_SPICON %02x\n", machine().describe_context(), data);
// LOGMASKED(LOG_UNSORTED,"%s: sfr_write SFR_SPICON %02x\n", machine().describe_context(), data);
m_sfr_regs[SFR_SPICON] = data;
m_spi_out_dir_cb((data & 0x20) ? true : false);
}

View File

@ -393,7 +393,7 @@ void axc51base_cpu_device::inc_dptr(uint8_t r)
{
//if (m_sfr_regs[SFR_DPCON] & 0x08) // auto-increment enabled (not used here)
//{
// fatalerror("inc_dptr with auto-inc");
// fatalerror("inc_dptr with auto-inc");
//}
if (m_sfr_regs[SFR_DPCON] & 0x04) // auto-toggle enabled
@ -605,7 +605,7 @@ void axc51base_cpu_device::mov_dptr_byte(uint8_t r)
{
//if (m_sfr_regs[SFR_DPCON] & 0x08) // auto-increment enabled (not used here)
//{
// fatalerror("mov_dptr_byte with auto-inc");
// fatalerror("mov_dptr_byte with auto-inc");
//}
if (m_sfr_regs[SFR_DPCON] & 0x04) // auto-toggle enabled

View File

@ -8,14 +8,14 @@
for many opcodes, as well as:
- Dedicated bank switching instructions
(20-bit external address bus + 3 chip select outputs, can address a total of 4MB)
(20-bit external address bus + 3 chip select outputs, can address a total of 4MB)
- Two timers, three 8-bit ports, two 8-bit ADCs
- Keyboard controller w/ key velocity detection
- MIDI UART
- 24-voice DPCM sound
Variants include the uPD912 and GT915/uPD915.
These were later succeeded by the uPD914.
Variants include the uPD912 and GT915/uPD915.
These were later succeeded by the uPD914.
***************************************************************************/
@ -81,7 +81,7 @@ void gt913_device::map(address_map &map)
/* fff0-fff5: I/O ports */
map(0xfff0, 0xfff0).rw(m_port[0], FUNC(h8_port_device::ddr_r), FUNC(h8_port_device::ddr_w));
// port 2 DDR - ctk601 and gz70sp both seem to use only bit 0 to indicate either all inputs or all outputs
// map(0xfff1, 0xfff1).rw(m_port[1], FUNC(h8_port_device::ddr_r), FUNC(h8_port_device::ddr_w));
// map(0xfff1, 0xfff1).rw(m_port[1], FUNC(h8_port_device::ddr_r), FUNC(h8_port_device::ddr_w));
map(0xfff1, 0xfff1).lw8(NAME([this](uint8_t data) { m_port[1]->ddr_w(BIT(data, 0) ? 0xff : 0x00); }));
map(0xfff2, 0xfff2).rw(m_port[0], FUNC(h8_port_device::port_r), FUNC(h8_port_device::dr_w));
map(0xfff3, 0xfff3).rw(m_port[1], FUNC(h8_port_device::port_r), FUNC(h8_port_device::dr_w));

View File

@ -105,7 +105,7 @@ void ds1207_device::nvram_default()
m_device_state = 0;
int expected_bytes = sizeof(m_unique_pattern) + sizeof(m_identification) + sizeof(m_security_match) + sizeof(m_secure_memory)
+ sizeof(m_days_left) + sizeof(m_start_time) + sizeof(m_device_state);
+ sizeof(m_days_left) + sizeof(m_start_time) + sizeof(m_device_state);
if(!m_region.found())
{
@ -266,7 +266,7 @@ WRITE_LINE_MEMBER(ds1207_device::write_clk)
if(m_bit == 24)
{
LOGDATA("%s: DS1270 -> command %02x %02x %02x (%02x %02x)\n", machine().describe_context(),
m_command[ 0 ], m_command[ 1 ], m_command[ 2 ], m_unique_pattern[ 0 ], m_unique_pattern[ 1 ]);
m_command[ 0 ], m_command[ 1 ], m_command[ 2 ], m_unique_pattern[ 0 ], m_unique_pattern[ 1 ]);
if(m_command[ 2 ] == m_unique_pattern[ 1 ] && (m_command[ 1 ] & ~3) == m_unique_pattern[ 0 ])
{
@ -355,8 +355,8 @@ WRITE_LINE_MEMBER(ds1207_device::write_clk)
if(m_bit == 64)
{
LOGDATA("%s: DS1270 <- identification %02x %02x %02x %02x %02x %02x %02x %02x\n", machine().describe_context(),
m_identification[ 0 ], m_identification[ 1 ], m_identification[ 2 ], m_identification[ 3 ],
m_identification[ 4 ], m_identification[ 5 ], m_identification[ 6 ], m_identification[ 7 ]);
m_identification[ 0 ], m_identification[ 1 ], m_identification[ 2 ], m_identification[ 3 ],
m_identification[ 4 ], m_identification[ 5 ], m_identification[ 6 ], m_identification[ 7 ]);
new_state(STATE_WRITE_COMPARE_REGISTER);
}
@ -368,10 +368,10 @@ WRITE_LINE_MEMBER(ds1207_device::write_clk)
if(m_bit == 64)
{
LOGDATA("%s: DS1207 -> compare register %02x %02x %02x %02x %02x %02x %02x %02x (%02x %02x %02x %02x %02x %02x %02x %02x)\n", machine().describe_context(),
m_compare_register[ 0 ], m_compare_register[ 1 ], m_compare_register[ 2 ], m_compare_register[ 3 ],
m_compare_register[ 4 ], m_compare_register[ 5 ], m_compare_register[ 6 ], m_compare_register[ 7 ],
m_security_match[ 0 ], m_security_match[ 1 ], m_security_match[ 2 ], m_security_match[ 3 ],
m_security_match[ 4 ], m_security_match[ 5 ], m_security_match[ 6 ], m_security_match[ 7 ]);
m_compare_register[ 0 ], m_compare_register[ 1 ], m_compare_register[ 2 ], m_compare_register[ 3 ],
m_compare_register[ 4 ], m_compare_register[ 5 ], m_compare_register[ 6 ], m_compare_register[ 7 ],
m_security_match[ 0 ], m_security_match[ 1 ], m_security_match[ 2 ], m_security_match[ 3 ],
m_security_match[ 4 ], m_security_match[ 5 ], m_security_match[ 6 ], m_security_match[ 7 ]);
if(memcmp(m_compare_register, m_security_match, sizeof(m_compare_register)) == 0)
{
@ -415,8 +415,8 @@ WRITE_LINE_MEMBER(ds1207_device::write_clk)
if(m_bit == 64)
{
LOGDATA("%s: DS1207 -> identification %02x %02x %02x %02x %02x %02x %02x %02x\n", machine().describe_context(),
m_identification[ 0 ], m_identification[ 1 ], m_identification[ 2 ], m_identification[ 3 ],
m_identification[ 4 ], m_identification[ 5 ], m_identification[ 6 ], m_identification[ 7 ]);
m_identification[ 0 ], m_identification[ 1 ], m_identification[ 2 ], m_identification[ 3 ],
m_identification[ 4 ], m_identification[ 5 ], m_identification[ 6 ], m_identification[ 7 ]);
new_state(STATE_WRITE_SECURITY_MATCH);
}
@ -428,8 +428,8 @@ WRITE_LINE_MEMBER(ds1207_device::write_clk)
if(m_bit == 64)
{
LOGDATA("%s: DS1207 >- security match %02x %02x %02x %02x %02x %02x %02x %02x\n", machine().describe_context(),
m_security_match[ 0 ], m_security_match[ 1 ], m_security_match[ 2 ], m_security_match[ 3 ],
m_security_match[ 4 ], m_security_match[ 5 ], m_security_match[ 6 ], m_security_match[ 7 ]);
m_security_match[ 0 ], m_security_match[ 1 ], m_security_match[ 2 ], m_security_match[ 3 ],
m_security_match[ 4 ], m_security_match[ 5 ], m_security_match[ 6 ], m_security_match[ 7 ]);
new_state(STATE_STOP);
}

View File

@ -6,7 +6,7 @@
#pragma once
class generic_spi_flash_device : public device_t,
public device_nvram_interface
public device_nvram_interface
{
public:
generic_spi_flash_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock);

View File

@ -316,7 +316,7 @@ void gt913_sound_device::command_w(u16 data)
}
else if (voicecmd == 0x6007)
{
// logerror("voice %u volume %u rate %u\n", voicenum, (m_data[0] >> 8), m_data[0] & 0xff);
// logerror("voice %u volume %u rate %u\n", voicenum, (m_data[0] >> 8), m_data[0] & 0xff);
voice.m_volume_data = m_data[0];
voice.m_volume_target = (m_data[0] & 0x7f00) << 16;

View File

@ -3,19 +3,19 @@
/***************************************************************************
Philips SCC66470 Video and System controller.
This does not render the image to the display. It is up to the user
to provide their own screen_update function. Pixel (palette offset) data
can be obtained by calling line( line number ) for each line.
Some boards have multiple video sources, the source being displayed being
selected based on pixel value...is there a nice way of doing this other
than leaving it to the board driver ?
This does not render the image to the display. It is up to the user
to provide their own screen_update function. Pixel (palette offset) data
can be obtained by calling line( line number ) for each line.
Some boards have multiple video sources, the source being displayed being
selected based on pixel value...is there a nice way of doing this other
than leaving it to the board driver ?
Todo:
Add support for mosaic and RLE screens.
Add remaining pixac operations. Only BCOLOUR1/BCOLOUR2 are supported.
Add interlaced support.
Add bep ?
Verify number of cycles for each access.
Todo:
Add support for mosaic and RLE screens.
Add remaining pixac operations. Only BCOLOUR1/BCOLOUR2 are supported.
Add interlaced support.
Add bep ?
Verify number of cycles for each access.
***************************************************************************/
#include "emu.h"
@ -98,7 +98,7 @@ struct horizontal_settings
static const horizontal_settings h_table[] =
{
//cf1 cf2 ss st
//cf1 cf2 ss st
{ 512, 64 }, // 0 0 0 0
{ 512, 64 }, // 0 0 0 1
{ 512, 0 }, // 0 0 1 0

View File

@ -57,7 +57,7 @@ enum isr_bits
ISR_LRB = 0x01, // Last Received Bit
ISR_SSR_MASK = (ISR_MST | ISR_TRX | ISR_BB),// Mask for detecting start/stop/restart
ISR_START = (ISR_MST | ISR_TRX | ISR_BB),// Start bit request
ISR_STOP = (ISR_MST | ISR_TRX) // Stop bit request
ISR_STOP = (ISR_MST | ISR_TRX) // Stop bit request
};
enum umr_bits

View File

@ -2,15 +2,15 @@
// copyright-holders:Nathan Woods
/***************************************************************************
fs_fat.cpp
fs_fat.cpp
PC FAT disk images
PC FAT disk images
Current Limitations:
- Read only
- Only supports floppy disks
- No FAT32 support
- No Long Filenames Support
Current Limitations:
- Read only
- Only supports floppy disks
- No FAT32 support
- No Long Filenames Support
*****************************************************************************
@ -18,125 +18,125 @@
Offset Length Description
------ ------ -----------
0 446 Boot machine code
446 16 Partion #1 info
462 16 Partion #2 info
478 16 Partion #3 info
494 16 Partion #4 info
510 2 Magic bytes (0x55 0xAA)
0 446 Boot machine code
446 16 Partion #1 info
462 16 Partion #2 info
478 16 Partion #3 info
494 16 Partion #4 info
510 2 Magic bytes (0x55 0xAA)
Partition info format:
Offset Length Description
------ ------ -----------
0 1 Active byte (0x80=active 0x00=inactive)
1 1 Starting head
2 1 Starting sector (bits 5-0) and high bits of starting track (bits 6-5)
3 1 Low bits of starting track
4 1 Partition type:
0x00 Unused
0x?1 FAT12 (0-15 MB)
0x?2 XENIX
0x?4 FAT16 (16-32 MB)
0x?6 FAT16` (32 MB-2 GB)
0x?7 HPFS or NTFS
0x?A Boot Manager
0x?B FAT32 (512 MB-2 TB)
0x?C FAT32 (512 MB-2 TB LBA)
0x1? OS/2 Boot manager/Win95 hidden
0xC? DR-DOS secured partition
0xD? Multiuser DOS secured partition
0xE? SpeedStor extended partition
5 1 Ending head
6 1 Ending sector (bits 5-0) and high bits of ending track (bits 6-5)
7 1 Low bits of ending track
8 4 Sector index of beginning of partition
12 4 Total sectors in partition
0 1 Active byte (0x80=active 0x00=inactive)
1 1 Starting head
2 1 Starting sector (bits 5-0) and high bits of starting track (bits 6-5)
3 1 Low bits of starting track
4 1 Partition type:
0x00 Unused
0x?1 FAT12 (0-15 MB)
0x?2 XENIX
0x?4 FAT16 (16-32 MB)
0x?6 FAT16` (32 MB-2 GB)
0x?7 HPFS or NTFS
0x?A Boot Manager
0x?B FAT32 (512 MB-2 TB)
0x?C FAT32 (512 MB-2 TB LBA)
0x1? OS/2 Boot manager/Win95 hidden
0xC? DR-DOS secured partition
0xD? Multiuser DOS secured partition
0xE? SpeedStor extended partition
5 1 Ending head
6 1 Ending sector (bits 5-0) and high bits of ending track (bits 6-5)
7 1 Low bits of ending track
8 4 Sector index of beginning of partition
12 4 Total sectors in partition
Boot sector format:
Offset Length Description
------ ------ -----------
0 3 Jump instruction (to skip over header on boot)
3 8 OEM Name
11 2 Bytes per sector
13 1 Sectors per cluster
14 2 Reserved sector count (including boot sector)
16 1 Number of FATs (file allocation tables)
17 2 Number of root directory entries
19 2 Total sectors (bits 0-15)
21 1 Media descriptor
22 2 Sectors per FAT
24 2 Sectors per track
26 2 Number of heads
28 4 Hidden sectors
32 4 Total sectors (bits 16-47)
36 1 Physical drive number
37 1 Current head
38 1 Signature
39 4 ID
43 11 Volume Label
54 8 FAT file system type
62 448 Boot machine code
510 2 Magic bytes (0x55 0xAA)
0 3 Jump instruction (to skip over header on boot)
3 8 OEM Name
11 2 Bytes per sector
13 1 Sectors per cluster
14 2 Reserved sector count (including boot sector)
16 1 Number of FATs (file allocation tables)
17 2 Number of root directory entries
19 2 Total sectors (bits 0-15)
21 1 Media descriptor
22 2 Sectors per FAT
24 2 Sectors per track
26 2 Number of heads
28 4 Hidden sectors
32 4 Total sectors (bits 16-47)
36 1 Physical drive number
37 1 Current head
38 1 Signature
39 4 ID
43 11 Volume Label
54 8 FAT file system type
62 448 Boot machine code
510 2 Magic bytes (0x55 0xAA)
For more information:
http://support.microsoft.com/kb/q140418/
http://support.microsoft.com/kb/q140418/
Directory Entry Format:
Offset Length Description
------ ------ -----------
0 8 DOS File Name (padded with spaces)
8 3 DOS File Extension (padded with spaces)
11 1 File Attributes
12 2 Unknown
14 4 Time of Creation
18 2 Last Access Time
20 2 EA-Index (OS/2 stuff)
22 4 Last Modified Time
26 2 First Cluster
28 4 File Size
0 8 DOS File Name (padded with spaces)
8 3 DOS File Extension (padded with spaces)
11 1 File Attributes
12 2 Unknown
14 4 Time of Creation
18 2 Last Access Time
20 2 EA-Index (OS/2 stuff)
22 4 Last Modified Time
26 2 First Cluster
28 4 File Size
Dates and times are stored in separate words; when together, the time is
first and the date is second.
Time:
bits 15-11 Hour
bits 10- 5 Minute
bits 4- 0 Second / 2
Time:
bits 15-11 Hour
bits 10- 5 Minute
bits 4- 0 Second / 2
Date:
bits 15- 9 Year - 1980
bits 8- 5 Month
bits 4- 0 Day
Date:
bits 15- 9 Year - 1980
bits 8- 5 Month
bits 4- 0 Day
LFN Entry Format:
Offset Length Description
------ ------ -----------
0 1 Sequence Number (bit 6 is set on highest sequence)
1 10 Name characters (five UTF-16LE chars)
11 1 Attributes (always 0x0F)
12 1 Reserved (always 0x00)
13 1 Checksum of short filename entry
14 12 Name characters (six UTF-16LE chars)
26 2 Entry Cluster (always 0x00)
28 4 Name characters (two UTF-16LE chars)
0 1 Sequence Number (bit 6 is set on highest sequence)
1 10 Name characters (five UTF-16LE chars)
11 1 Attributes (always 0x0F)
12 1 Reserved (always 0x00)
13 1 Checksum of short filename entry
14 12 Name characters (six UTF-16LE chars)
26 2 Entry Cluster (always 0x00)
28 4 Name characters (two UTF-16LE chars)
Valid characters in DOS file names:
- Upper case letters A-Z
- Numbers 0-9
- Space (though there is no way to identify a trailing space)
- ! # $ % & ( ) - @ ^ _ ` { } ~
- Characters 128-255 (though the code page is indeterminate)
- Upper case letters A-Z
- Numbers 0-9
- Space (though there is no way to identify a trailing space)
- ! # $ % & ( ) - @ ^ _ ` { } ~
- Characters 128-255 (though the code page is indeterminate)
For more information:
http://en.wikipedia.org/wiki/File_Allocation_Table
http://en.wikipedia.org/wiki/File_Allocation_Table
****************************************************************************/
@ -169,27 +169,27 @@ public:
{
}
std::string_view raw_stem() const { return std::string_view((const char *) &m_block.rodata()[m_offset + 0], 8); }
std::string_view raw_ext() const { return std::string_view((const char *) &m_block.rodata()[m_offset + 8], 3); }
u8 attributes() const { return m_block.r8(m_offset + 11); }
u32 raw_create_datetime() const { return m_block.r32l(m_offset + 14); }
u32 raw_modified_datetime() const { return m_block.r32l(m_offset + 22); }
u32 start_cluster() const { return ((u32)m_block.r16l(m_offset + 20)) << 16 | m_block.r16l(m_offset + 26); }
u32 file_size() const { return m_block.r32l(m_offset + 28); }
std::string_view raw_stem() const { return std::string_view((const char *) &m_block.rodata()[m_offset + 0], 8); }
std::string_view raw_ext() const { return std::string_view((const char *) &m_block.rodata()[m_offset + 8], 3); }
u8 attributes() const { return m_block.r8(m_offset + 11); }
u32 raw_create_datetime() const { return m_block.r32l(m_offset + 14); }
u32 raw_modified_datetime() const { return m_block.r32l(m_offset + 22); }
u32 start_cluster() const { return ((u32)m_block.r16l(m_offset + 20)) << 16 | m_block.r16l(m_offset + 26); }
u32 file_size() const { return m_block.r32l(m_offset + 28); }
bool is_read_only() const { return (attributes() & 0x01) != 0x00; }
bool is_hidden() const { return (attributes() & 0x02) != 0x00; }
bool is_system() const { return (attributes() & 0x04) != 0x00; }
bool is_volume_label() const { return (attributes() & 0x08) != 0x00; }
bool is_subdirectory() const { return (attributes() & 0x10) != 0x00; }
bool is_archive() const { return (attributes() & 0x20) != 0x00; }
bool is_read_only() const { return (attributes() & 0x01) != 0x00; }
bool is_hidden() const { return (attributes() & 0x02) != 0x00; }
bool is_system() const { return (attributes() & 0x04) != 0x00; }
bool is_volume_label() const { return (attributes() & 0x08) != 0x00; }
bool is_subdirectory() const { return (attributes() & 0x10) != 0x00; }
bool is_archive() const { return (attributes() & 0x20) != 0x00; }
std::string name() const;
meta_data metadata() const;
private:
fsblk_t::block_t m_block;
u32 m_offset;
fsblk_t::block_t m_block;
u32 m_offset;
};
@ -231,13 +231,13 @@ public:
std::vector<u32> get_sectors_from_fat(const directory_entry &dirent) const;
private:
fsblk_t::block_t m_boot_sector_block;
std::vector<u8> m_file_allocation_table;
u32 m_starting_sector;
u32 m_sector_count;
u16 m_reserved_sector_count;
u16 m_bytes_per_sector;
u8 m_bits_per_fat_entry;
fsblk_t::block_t m_boot_sector_block;
std::vector<u8> m_file_allocation_table;
u32 m_starting_sector;
u32 m_sector_count;
u16 m_reserved_sector_count;
u16 m_bytes_per_sector;
u8 m_bits_per_fat_entry;
// methods
std::optional<directory_entry> find_entity(const std::vector<std::string> &path) const;
@ -257,9 +257,9 @@ public:
virtual std::vector<u32> get_directory_sectors() const override;
private:
const impl & m_fs;
u32 m_first_sector;
u16 m_directory_entry_count;
const impl & m_fs;
u32 m_first_sector;
u16 m_directory_entry_count;
};
@ -273,8 +273,8 @@ public:
virtual std::vector<u32> get_directory_sectors() const override;
private:
const impl & m_fs;
directory_entry m_dirent;
const impl & m_fs;
directory_entry m_dirent;
};
@ -286,7 +286,7 @@ private:
//**************************************************************************
//-------------------------------------------------
// validate_filename
// validate_filename
//-------------------------------------------------
namespace {
@ -303,7 +303,7 @@ bool validate_filename(std::string_view name)
//-------------------------------------------------
// decode_fat_datetime
// decode_fat_datetime
//-------------------------------------------------
util::arbitrary_datetime decode_fat_datetime(u32 dt)
@ -311,12 +311,12 @@ util::arbitrary_datetime decode_fat_datetime(u32 dt)
util::arbitrary_datetime result;
memset(&result, 0, sizeof(result));
result.year = ((dt >> 25) & 0x7F) + 1980;
result.month = (dt >> 21) & 0x0F;
result.day_of_month = (dt >> 16) & 0x1F;
result.hour = (dt >> 11) & 0x1F;
result.minute = (dt >> 5) & 0x3F;
result.second = ((dt >> 0) & 0x1F) * 2;
result.year = ((dt >> 25) & 0x7F) + 1980;
result.month = (dt >> 21) & 0x0F;
result.day_of_month = (dt >> 16) & 0x1F;
result.hour = (dt >> 11) & 0x1F;
result.minute = (dt >> 5) & 0x3F;
result.second = ((dt >> 0) & 0x1F) * 2;
return result;
}
@ -324,7 +324,7 @@ util::arbitrary_datetime decode_fat_datetime(u32 dt)
}
//-------------------------------------------------
// fat_image::can_format
// fat_image::can_format
//-------------------------------------------------
bool fs::fat_image::can_format() const
@ -334,7 +334,7 @@ bool fs::fat_image::can_format() const
//-------------------------------------------------
// fat_image::can_read
// fat_image::can_read
//-------------------------------------------------
bool fs::fat_image::can_read() const
@ -344,7 +344,7 @@ bool fs::fat_image::can_read() const
//-------------------------------------------------
// fat_image::can_write
// fat_image::can_write
//-------------------------------------------------
bool fs::fat_image::can_write() const
@ -354,7 +354,7 @@ bool fs::fat_image::can_write() const
//-------------------------------------------------
// fat_image::has_rsrc
// fat_image::has_rsrc
//-------------------------------------------------
bool fs::fat_image::has_rsrc() const
@ -364,7 +364,7 @@ bool fs::fat_image::has_rsrc() const
//-------------------------------------------------
// fat_image::directory_separator
// fat_image::directory_separator
//-------------------------------------------------
char fs::fat_image::directory_separator() const
@ -374,20 +374,20 @@ char fs::fat_image::directory_separator() const
//-------------------------------------------------
// fat_image::volume_meta_description
// fat_image::volume_meta_description
//-------------------------------------------------
std::vector<meta_description> fs::fat_image::volume_meta_description() const
{
std::vector<meta_description> results;
results.emplace_back(meta_name::name, "UNTITLED", false, [](const meta_value &m) { return m.as_string().size() <= 11; }, "Volume name, up to 11 characters");
results.emplace_back(meta_name::oem_name, "", false, [](const meta_value &m) { return m.as_string().size() <= 8; }, "OEM name, up to 8 characters");
results.emplace_back(meta_name::name, "UNTITLED", false, [](const meta_value &m) { return m.as_string().size() <= 11; }, "Volume name, up to 11 characters");
results.emplace_back(meta_name::oem_name, "", false, [](const meta_value &m) { return m.as_string().size() <= 8; }, "OEM name, up to 8 characters");
return results;
}
//-------------------------------------------------
// fat_image::file_meta_description
// fat_image::file_meta_description
//-------------------------------------------------
std::vector<meta_description> fs::fat_image::file_meta_description() const
@ -402,7 +402,7 @@ std::vector<meta_description> fs::fat_image::file_meta_description() const
//-------------------------------------------------
// fat_image::directory_meta_description
// fat_image::directory_meta_description
//-------------------------------------------------
std::vector<meta_description> fs::fat_image::directory_meta_description() const
@ -416,7 +416,7 @@ std::vector<meta_description> fs::fat_image::directory_meta_description() const
//-------------------------------------------------
// fat_image::mount_partition
// fat_image::mount_partition
//-------------------------------------------------
std::unique_ptr<filesystem_t> fs::fat_image::mount_partition(fsblk_t &blockdev, u32 starting_sector, u32 sector_count, u8 bits_per_fat_entry)
@ -444,7 +444,7 @@ std::unique_ptr<filesystem_t> fs::fat_image::mount_partition(fsblk_t &blockdev,
//-------------------------------------------------
// directory_entry::name
// directory_entry::name
//-------------------------------------------------
std::string directory_entry::name() const
@ -458,22 +458,22 @@ std::string directory_entry::name() const
//-------------------------------------------------
// directory_entry::metadata
// directory_entry::metadata
//-------------------------------------------------
meta_data directory_entry::metadata() const
{
meta_data result;
result.set(meta_name::name, name());
result.set(meta_name::creation_date, decode_fat_datetime(raw_create_datetime()));
result.set(meta_name::modification_date, decode_fat_datetime(raw_modified_datetime()));
result.set(meta_name::length, file_size());
result.set(meta_name::name, name());
result.set(meta_name::creation_date, decode_fat_datetime(raw_create_datetime()));
result.set(meta_name::modification_date, decode_fat_datetime(raw_modified_datetime()));
result.set(meta_name::length, file_size());
return result;
}
//-------------------------------------------------
// impl ctor
// impl ctor
//-------------------------------------------------
impl::impl(fsblk_t &blockdev, fsblk_t::block_t &&boot_sector_block, std::vector<u8> &&file_allocation_table, u32 starting_sector, u32 sector_count, u16 reserved_sector_count, u8 bits_per_fat_entry)
@ -490,20 +490,20 @@ impl::impl(fsblk_t &blockdev, fsblk_t::block_t &&boot_sector_block, std::vector<
//-------------------------------------------------
// impl::volume_metadata
// impl::volume_metadata
//-------------------------------------------------
meta_data impl::volume_metadata()
{
meta_data results;
results.set(meta_name::name, m_boot_sector_block.rstr(43, 11));
results.set(meta_name::oem_name, m_boot_sector_block.rstr(3, 8));
results.set(meta_name::name, m_boot_sector_block.rstr(43, 11));
results.set(meta_name::oem_name, m_boot_sector_block.rstr(3, 8));
return results;
}
//-------------------------------------------------
// impl::metadata
// impl::metadata
//-------------------------------------------------
std::pair<err_t, meta_data> impl::metadata(const std::vector<std::string> &path)
@ -517,7 +517,7 @@ std::pair<err_t, meta_data> impl::metadata(const std::vector<std::string> &path)
//-------------------------------------------------
// impl::directory_contents
// impl::directory_contents
//-------------------------------------------------
std::pair<err_t, std::vector<dir_entry>> impl::directory_contents(const std::vector<std::string> &path)
@ -539,7 +539,7 @@ std::pair<err_t, std::vector<dir_entry>> impl::directory_contents(const std::vec
//-------------------------------------------------
// impl::file_read
// impl::file_read
//-------------------------------------------------
std::pair<err_t, std::vector<u8>> impl::file_read(const std::vector<std::string> &path)
@ -569,7 +569,7 @@ std::pair<err_t, std::vector<u8>> impl::file_read(const std::vector<std::string>
//-------------------------------------------------
// impl::get_sectors_from_fat
// impl::get_sectors_from_fat
//-------------------------------------------------
std::vector<u32> impl::get_sectors_from_fat(const directory_entry &dirent) const
@ -629,7 +629,7 @@ std::vector<u32> impl::get_sectors_from_fat(const directory_entry &dirent) const
//-------------------------------------------------
// impl::find_entity
// impl::find_entity
//-------------------------------------------------
std::optional<directory_entry> impl::find_entity(const std::vector<std::string> &path) const
@ -649,7 +649,7 @@ std::optional<directory_entry> impl::find_entity(const std::vector<std::string>
//-------------------------------------------------
// impl::find_directory
// impl::find_directory
//-------------------------------------------------
directory_span::ptr impl::find_directory(std::vector<std::string>::const_iterator path_begin, std::vector<std::string>::const_iterator path_end) const
@ -676,7 +676,7 @@ directory_span::ptr impl::find_directory(std::vector<std::string>::const_iterato
//-------------------------------------------------
// impl::find_child
// impl::find_child
//-------------------------------------------------
std::optional<directory_entry> impl::find_child(const directory_span &current_dir, std::string_view target) const
@ -695,7 +695,7 @@ std::optional<directory_entry> impl::find_child(const directory_span &current_di
//-------------------------------------------------
// impl::iterate_directory_entries
// impl::iterate_directory_entries
//-------------------------------------------------
void impl::iterate_directory_entries(const directory_span &dir, const std::function<bool(const directory_entry &dirent)> &callback) const
@ -728,7 +728,7 @@ void impl::iterate_directory_entries(const directory_span &dir, const std::funct
//-------------------------------------------------
// root_directory_span ctor
// root_directory_span ctor
//-------------------------------------------------
root_directory_span::root_directory_span(const impl &fs, u32 first_sector, u16 directory_entry_count)
@ -740,7 +740,7 @@ root_directory_span::root_directory_span(const impl &fs, u32 first_sector, u16 d
//-------------------------------------------------
// root_directory_span::get_directory_sectors
// root_directory_span::get_directory_sectors
//-------------------------------------------------
std::vector<u32> root_directory_span::get_directory_sectors() const
@ -756,7 +756,7 @@ std::vector<u32> root_directory_span::get_directory_sectors() const
//-------------------------------------------------
// subdirectory_span ctor
// subdirectory_span ctor
//-------------------------------------------------
subdirectory_span::subdirectory_span(const impl &fs, directory_entry &&dirent)
@ -767,7 +767,7 @@ subdirectory_span::subdirectory_span(const impl &fs, directory_entry &&dirent)
//-------------------------------------------------
// subdirectory_span::get_directory_sectors
// subdirectory_span::get_directory_sectors
//-------------------------------------------------
std::vector<u32> subdirectory_span::get_directory_sectors() const
@ -781,7 +781,7 @@ std::vector<u32> subdirectory_span::get_directory_sectors() const
//**************************************************************************
//-------------------------------------------------
// pc_fat_image::name
// pc_fat_image::name
//-------------------------------------------------
const char *fs::pc_fat_image::name() const
@ -791,7 +791,7 @@ const char *fs::pc_fat_image::name() const
//-------------------------------------------------
// pc_fat_image::description
// pc_fat_image::description
//-------------------------------------------------
const char *fs::pc_fat_image::description() const
@ -801,7 +801,7 @@ const char *fs::pc_fat_image::description() const
//-------------------------------------------------
// pc_fat_image::enumerate_f
// pc_fat_image::enumerate_f
//-------------------------------------------------
void pc_fat_image::enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const
@ -818,7 +818,7 @@ void pc_fat_image::enumerate_f(floppy_enumerator &fe, u32 form_factor, const std
//-------------------------------------------------
// pc_fat_image::mount
// pc_fat_image::mount
//-------------------------------------------------
std::unique_ptr<filesystem_t> pc_fat_image::mount(fsblk_t &blockdev) const

View File

@ -2,9 +2,9 @@
// copyright-holders:Nathan Woods
/***************************************************************************
fs_fat.h
fs_fat.h
PC FAT disk images
PC FAT disk images
***************************************************************************/

View File

@ -8,7 +8,7 @@
TODO:
- Move RBV machines (IIci/IIsi) to separate driver?
- Move IIfx to separate driver?
- Rewrite this driver in the newer (maclc3/maciivx/maclc) style as macii.cpp?
- Rewrite this driver in the newer (maclc3/maciivx/maclc) style as macii.cpp?
****************************************************************************/

View File

@ -2,19 +2,19 @@
// copyright-holders:SomeRandomGuyIdk
/**********************************************************************
Barcrest MPU1 (1978)
Barcrest MPU1 (1978)
Barcrest's first fruit machine platform to use a conventional CPU,
possibly the first of it's kind. Has electromechanical reels
instead of the usual stepper reels. The hardware features a MC6800
CPU clocked at around 1 MHz, 128 bytes of RAM and two PIAs for I/O.
The PIAs can interface with up to 13 lamps, 4 reels, 8 triacs and 12 inputs
Barcrest's first fruit machine platform to use a conventional CPU,
possibly the first of it's kind. Has electromechanical reels
instead of the usual stepper reels. The hardware features a MC6800
CPU clocked at around 1 MHz, 128 bytes of RAM and two PIAs for I/O.
The PIAs can interface with up to 13 lamps, 4 reels, 8 triacs and 12 inputs
(4 of these being special coin inputs). A 1-bit DAC is used for audio.
Games are stored on cartridges that can hold up to 4K of data.
Most cartridges use a common 2K mask ROM, with the remaining 2K
available for the game program.
Games are stored on cartridges that can hold up to 4K of data.
Most cartridges use a common 2K mask ROM, with the remaining 2K
available for the game program.
TODO:
TODO:
- Layouts (there currently aren't any...)
**********************************************************************/

View File

@ -1,117 +1,117 @@
// license:BSD-3-Clause
// copyright-holders:Devin Acker
/*
Casio GT913-based keyboards and MIDI modules
Casio GT913-based keyboards and MIDI modules
-------------------------------------------------------------------------------
Celviano AP-10 digital piano (1995)
Celviano AP-10 digital piano (1995)
Main board (JCM358-MA1M):
LSI301: CPU (Casio/NEC uPD912GF)
LSI302: DSP (Hitachi HG51B277FB)
LSI303: 8Mbit ROM (Macronix MX23C8100MC-12)
LSI304: 64kbit SRAM for CPU (Sanyo LC3564SM-85), battery backed
LSI305: 256kbit SRAM for DSP (Sanyo LC333832M-70)
LSI306: stereo DAC (NEC uPD6379GR)
X301: 24MHz crystal for CPU
X302: 16MHz ceramic for DSP
Main board (JCM358-MA1M):
LSI301: CPU (Casio/NEC uPD912GF)
LSI302: DSP (Hitachi HG51B277FB)
LSI303: 8Mbit ROM (Macronix MX23C8100MC-12)
LSI304: 64kbit SRAM for CPU (Sanyo LC3564SM-85), battery backed
LSI305: 256kbit SRAM for DSP (Sanyo LC333832M-70)
LSI306: stereo DAC (NEC uPD6379GR)
X301: 24MHz crystal for CPU
X302: 16MHz ceramic for DSP
Service manual with schematics, pinouts, etc.:
https://revenant1.net/casio/manuals/upd91x/ap10.pdf
Service manual with schematics, pinouts, etc.:
https://revenant1.net/casio/manuals/upd91x/ap10.pdf
To access the test mode (not mentioned in the service manual):
Hold both pedals and "Transpose/Tune/MIDI" while turning on the keyboard, then release the button.
Afterwards, press one of these buttons:
- Transpose: LED test
- Effect: switch test (press all front panel buttons left to right)
- Piano: key test (press all keys left to right)
- E.Piano: ROM test
- Organ/Strings/Song: sound volume test
- Record/Start/Stop: stereo test
- Demo: MIDI loopback test
- Harpsichord: exit test mode
To access the test mode (not mentioned in the service manual):
Hold both pedals and "Transpose/Tune/MIDI" while turning on the keyboard, then release the button.
Afterwards, press one of these buttons:
- Transpose: LED test
- Effect: switch test (press all front panel buttons left to right)
- Piano: key test (press all keys left to right)
- E.Piano: ROM test
- Organ/Strings/Song: sound volume test
- Record/Start/Stop: stereo test
- Demo: MIDI loopback test
- Harpsichord: exit test mode
TODO: fix backup RAM getting re-initialized on every boot.
Depends on the power switch being implemented correctly - turning the power off
is supposed to trigger a NMI which updates the RAM checksum, but the NMI handler
always proceeds to fully start up the system as if the power is being turned on
TODO: fix backup RAM getting re-initialized on every boot.
Depends on the power switch being implemented correctly - turning the power off
is supposed to trigger a NMI which updates the RAM checksum, but the NMI handler
always proceeds to fully start up the system as if the power is being turned on
-------------------------------------------------------------------------------
General MIDI modules (1996)
General MIDI modules (1996)
- GZ-30M
Basic model, small desktop module
- GZ-30M
Basic model, small desktop module
No 5-pin MIDI jack, only mini-DIN for RS-232 or RS-422
- GZ-70SP
MIDI module built into a pair of speakers w/ karaoke mic input
Provides both standard MIDI and mini-DIN connectors
- WG-130
WaveBlaster-style PC daughterboard
- GZ-70SP
MIDI module built into a pair of speakers w/ karaoke mic input
Provides both standard MIDI and mini-DIN connectors
- WG-130
WaveBlaster-style PC daughterboard
WG-130 board:
LSI101: stereo DAC (NEC uPD6379GR)
LSI102: CPU (Casio GT913F)
LSI103: 16Mbit ROM (Casio GM16000N-C40)
LSI104: 64kbit SRAM (Sanyo LC3564SM-85)
LSI105: unpopulated, for DSP SRAM
LSI106: unpopulated, for DSP
X101: 30MHz crystal
X102: unpopulated, for DSP
WG-130 board:
LSI101: stereo DAC (NEC uPD6379GR)
LSI102: CPU (Casio GT913F)
LSI103: 16Mbit ROM (Casio GM16000N-C40)
LSI104: 64kbit SRAM (Sanyo LC3564SM-85)
LSI105: unpopulated, for DSP SRAM
LSI106: unpopulated, for DSP
X101: 30MHz crystal
X102: unpopulated, for DSP
All three of these apparently use the same mask ROM.
This ROM was also distributed as part of Casio's SW-10 softsynth for Windows,
which it released in early 1997 as part of the "LANA Lite" karaoke system.
http://web.archive.org/web/20011122112757/www.casio.co.jp/lanalite/LanaSw10.exe
All three of these apparently use the same mask ROM.
This ROM was also distributed as part of Casio's SW-10 softsynth for Windows,
which it released in early 1997 as part of the "LANA Lite" karaoke system.
http://web.archive.org/web/20011122112757/www.casio.co.jp/lanalite/LanaSw10.exe
The WG-130 (and possibly others) have unpopulated footprints for the same DSP
used in some keyboards (e.g. the CTK-601). The ROM does actually support
using the DSP if it's present, and responds to the same sysex message used to
enable reverb on the CTK-601 and similar models (F0 44 0E 09 0x F7).
The WG-130 (and possibly others) have unpopulated footprints for the same DSP
used in some keyboards (e.g. the CTK-601). The ROM does actually support
using the DSP if it's present, and responds to the same sysex message used to
enable reverb on the CTK-601 and similar models (F0 44 0E 09 0x F7).
Pulling CPU pin 53 (KI0/P24) low starts a ROM checksum test.
The result is indicated both by sound as well as output on pin 55 (KI2/P11).
Pulling CPU pin 53 (KI0/P24) low starts a ROM checksum test.
The result is indicated both by sound as well as output on pin 55 (KI2/P11).
More info and photos:
https://piano.tyonmage.com/casio/gz-30m.html
https://piano.tyonmage.com/casio/gz-70sp.html
http://www.yjfy.com/museum/sound/WG-130.htm
More info and photos:
https://piano.tyonmage.com/casio/gz-30m.html
https://piano.tyonmage.com/casio/gz-70sp.html
http://www.yjfy.com/museum/sound/WG-130.htm
-------------------------------------------------------------------------------
CTK-601/611 / Concertmate 990 (1997)
CTK-601/611 / Concertmate 990 (1997)
Main board (JCM462-MA1M):
LSI1: CPU (Casio GT913F)
LSI2: DSP (Casio GD277F / Hitachi HG51B277FB)
LSI3: 16Mbit ROM (Macronix MX23C1610MC-12)
LSI4: 256kbit SRAM for CPU (Toshiba TC55257DFL-70L)
LSI5: 256kbit SRAM for DSP (same as LSI4)
LSI6: stereo DAC (NEC uPD6379GR)
X1: 30MHz crystal for CPU
X2: 20MHz ceramic for DSP
Main board (JCM462-MA1M):
LSI1: CPU (Casio GT913F)
LSI2: DSP (Casio GD277F / Hitachi HG51B277FB)
LSI3: 16Mbit ROM (Macronix MX23C1610MC-12)
LSI4: 256kbit SRAM for CPU (Toshiba TC55257DFL-70L)
LSI5: 256kbit SRAM for DSP (same as LSI4)
LSI6: stereo DAC (NEC uPD6379GR)
X1: 30MHz crystal for CPU
X2: 20MHz ceramic for DSP
Display board (JCM462-LCD1M):
LSI401: LCD controller (Epson SED1278F2A)
Display board (JCM462-LCD1M):
LSI401: LCD controller (Epson SED1278F2A)
Service manuals with schematics, pinouts, etc.:
https://revenant1.net/casio/manuals/upd91x/ctk601.pdf
https://revenant1.net/casio/manuals/upd91x/ctk611.pdf
Service manuals with schematics, pinouts, etc.:
https://revenant1.net/casio/manuals/upd91x/ctk601.pdf
https://revenant1.net/casio/manuals/upd91x/ctk611.pdf
To access the test mode (not mentioned in the service manual):
Hold the keypad 0 button while turning on the keyboard, then release the button.
"TST" will appear on the LCD. Afterwards, press one of these buttons:
- Keypad 0: switch test (press all front panel buttons in a specific order, generally left to right)
- Keypad 1: pedal and key test
- Keypad 2: ROM test
- Keypad 4/5/6: sound volume test
- Keypad 7/8: stereo test
- Keypad 9: MIDI loopback test
- Keypad +: power source test
- Cursor Left: LCD test (all segments at once)
- Cursor Right: LCD test (all segments individually)
- Cursor Down: power off
To access the test mode (not mentioned in the service manual):
Hold the keypad 0 button while turning on the keyboard, then release the button.
"TST" will appear on the LCD. Afterwards, press one of these buttons:
- Keypad 0: switch test (press all front panel buttons in a specific order, generally left to right)
- Keypad 1: pedal and key test
- Keypad 2: ROM test
- Keypad 4/5/6: sound volume test
- Keypad 7/8: stereo test
- Keypad 9: MIDI loopback test
- Keypad +: power source test
- Cursor Left: LCD test (all segments at once)
- Cursor Right: LCD test (all segments individually)
- Cursor Down: power off
-------------------------------------------------------------------------------
@ -125,16 +125,16 @@
Adds pitch wheel and different selection of demo songs
Main board (JCM453-MA1M / JCM456-MA1M):
LSI1: CPU (Casio GT913F)
LSI2: 8Mbit ROM (OKI MSM538002E)
LSI3: LCD controller (HD44780 compatible)
May be either a Samsung KS0066U-10B or Epson SED1278F2A.
IC1: stereo DAC (NEC uPD6379GR)
X1: 30MHz ceramic
LSI1: CPU (Casio GT913F)
LSI2: 8Mbit ROM (OKI MSM538002E)
LSI3: LCD controller (HD44780 compatible)
May be either a Samsung KS0066U-10B or Epson SED1278F2A.
IC1: stereo DAC (NEC uPD6379GR)
X1: 30MHz ceramic
Service manuals with schematics, pinouts, etc.:
https://revenant1.net/casio/manuals/upd91x/ctk531.pdf
https://revenant1.net/casio/manuals/upd91x/ctk541.pdf
https://revenant1.net/casio/manuals/upd91x/ctk541.pdf
To access the test mode (not mentioned in the service manual):
Hold the "Start/Stop" and keypad 0 buttons together when turning on the keyboard.

View File

@ -544,7 +544,7 @@ void jpmsru_state::out_logicext_w(offs_t offset, uint8_t data)
switch(offset)
{
case 0: out_lamp_ext_w(m_logicext_addr, !m_logicext_data); break; /* All dumped games use solely lamps as outputs,
so keep things simple for now */
so keep things simple for now */
case 1: m_logicext_data = data; break;
case 2:
case 3:

View File

@ -32,22 +32,22 @@ memory map:
bit 2 = nmi enable/acknowledge
bit 3 = flip screen (applies to sprites only, not tilemaps)
bit 4 = disable internal sprite processing
used by Devastators, TMNT, Aliens, Chequered Flag, maybe others
used by Devastators, TMNT, Aliens, Chequered Flag, maybe others
aliens sets it just after checking bit 0, and before copying
the sprite data
bit 5 = enable gfx ROM reading
bit 6 = let cpu address bits 2~5 pass through CA0~3 when bit 5 is set
001 W bit 0 = invert shadow for all pens
bit 1 = force shadows for pen 0x0f
bit 2 = disable shadows for pen 0x0f (priority over bit 1)
Devastators sets bit 1.
bit 1 = force shadows for pen 0x0f
bit 2 = disable shadows for pen 0x0f (priority over bit 1)
Devastators sets bit 1.
Ultraman sets the register to 0x0f.
None of the other games I tested seem to set this register to other than 0.
Update: Chequered Flag sets bit 0 when background should be dimmed.
002-003 W selects the portion of the gfx ROMs to be read.
004 W bit 0 = OC6 when gfx ROM reading is enabled
bit 1 = OC7 when gfx ROM reading is enabled
Aliens uses this to select the ROM bank to be read, but Punk Shot
bit 1 = OC7 when gfx ROM reading is enabled
Aliens uses this to select the ROM bank to be read, but Punk Shot
and TMNT don't, they use another bit of the registers above. Many
other games write to this register before testing.
Bits 2-7 of 003 go to OC0-OC5.

View File

@ -84,12 +84,12 @@ private:
devcb_write_line m_firq_handler;
devcb_write_line m_nmi_handler;
uint8_t m_spriterombank[3];
uint8_t m_romoffset;
bool m_spriteflip, m_readroms;
uint8_t m_spriterombank[3];
uint8_t m_romoffset;
bool m_spriteflip, m_readroms;
uint8_t m_shadow_config;
bool m_inv_shadow;
bool m_nmi_enabled;
bool m_inv_shadow;
bool m_nmi_enabled;
int k051960_fetchromdata( int byte );
};

View File

@ -10,7 +10,7 @@
on the parameters.
Thunder Cross II POST checks of this chip.
It literally tests the chip in an unit test fashion:
It literally tests the chip in an unit test fashion:
1. zeroing all ports;
2. test that status returns 0;
3. ping ACX reg 0 with 0xff;

View File

@ -155,7 +155,7 @@ The PS2 is unaffected by the garbage byte.
Endpoint 1 (IN, Bulk): Command handler, receives commands from the PS2
Endpoint 2 (OUT, Bulk): Command responses, sends responses back to the PS2
Endpoint 3 (IN, Interrupt): JAMMA I/O + analog I/O state response
Response:
Response:
0x00 - 0x04 JAMMA I/O (IN)
0x04 - 0x06 Analog I/O (ANALOG1)
0x06 - 0x08 Analog I/O (ANALOG2)

View File

@ -180,8 +180,8 @@ license:CC0
<text string="Grapes"> <bounds x="0" y="320" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
<text string="Orange"> <bounds x="0" y="340" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
<text string="Plum"> <bounds x="0" y="360" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
<text string="Pear"> <bounds x="0" y="380" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
<text string="Triple Bar"> <bounds x="0" y="0" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
<text string="Pear"> <bounds x="0" y="380" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
<text string="Triple Bar"> <bounds x="0" y="0" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
</element>
<element name="Reel 2">
<rect> <bounds x="0" y="0" width="100" height="400"/> <color alpha="0.0"/> </rect>
@ -250,7 +250,7 @@ license:CC0
<text string="Melon*"> <bounds x="0" y="340" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
<text string="Pear"> <bounds x="0" y="360" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
<text string="7"> <bounds x="0" y="380" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
<text string="Triple Bar"> <bounds x="0" y="0" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
<text string="Triple Bar"> <bounds x="0" y="0" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
</element>
<element name="LCD" defstate="0">
<led7seg>

View File

@ -48,7 +48,7 @@ license:CC0
<text string="Pear"> <bounds x="0" y="360" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
<text string="Bar"> <bounds x="0" y="380" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
<text string="Plum"> <bounds x="0" y="0" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
<text string="Louth Coin"> <bounds x="0" y="20" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
<text string="Louth Coin"> <bounds x="0" y="20" width="100" height="20"/> <color red="0.0" green="0.0" blue="0.0"/> </text>
</element>
<element name="Reel 2">
<rect> <bounds x="0" y="0" width="100" height="400"/> <color alpha="0.0"/> </rect>

View File

@ -34,7 +34,7 @@
TODO:
- loadsys1 core dump
- loadsys1 core dump
- short/long reset (RSTBUT)
- CIO
- optimize timers!

View File

@ -1353,7 +1353,7 @@ void playch10_state::gboard_rom_switch_w(offs_t offset, u8 data)
case 0x2001: // enable ram at $6000
// ignored - we always enable it
break;
break;
case 0x4000: // scanline counter
m_IRQ_count_latch = data;

View File

@ -1137,7 +1137,7 @@ void vs_smbbl_state::smbbl_ppu_map(address_map &map)
#define VS_UNI_JOYSTICK(port_tag, player, type1, name1) \
PORT_START(port_tag) \
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(player) PORT_NAME("%p A") \
PORT_BIT( 0X02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(player) PORT_NAME("%p B") \
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(player) PORT_NAME("%p B") \
PORT_BIT( 0x04, IP_ACTIVE_HIGH, type1 ) PORT_NAME(name1) \
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) \
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(player) \
@ -1148,7 +1148,7 @@ void vs_smbbl_state::smbbl_ppu_map(address_map &map)
#define VS_DUAL_JOYSTICK(port_tag, player, type1, type2, name1, name2) \
PORT_START(port_tag) \
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(player) PORT_NAME("%p A") \
PORT_BIT( 0X02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(player) PORT_NAME("%p B") \
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(player) PORT_NAME("%p B") \
PORT_BIT( 0x04, IP_ACTIVE_HIGH, type1 ) PORT_NAME(name1) \
PORT_BIT( 0x08, IP_ACTIVE_HIGH, type2 ) PORT_NAME(name2) \
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(player) \

View File

@ -54,7 +54,7 @@ The Next Tetris (dumped) -----------------------
Crayon Shin-chan 3 (not dumped?) Interactive Sampler (three different versions)
Nuon Games + Demos (collection from Nuon-Dome)
Nuon-Dome PhillyClassic 5 Demo Disc (give-away collection)
Motorola BlackBird Demonstration Pack
Motorola BlackBird Demonstration Pack
There were also a number of homebrew titles made available.
It was noted that only the Samsung and RCA units can run homebrew software and the Samsung DVD-N501 is the most compatible unit

View File

@ -5,15 +5,15 @@
MicroART ATM (clone of Spectrum)
NOTES:
Current implementation based on ATM Turbo 2+. If anybody wants to validate ATM1, existing
code must be moved to atmtb2_state not modified.
Current implementation based on ATM Turbo 2+. If anybody wants to validate ATM1, existing
code must be moved to atmtb2_state not modified.
TODO:
* ports read
* ATM2+ (compare to ATM2) has only 1M RAM vs 512K
* Mem masks are hardcoded to 1M RAM
* better handling of SHADOW ports
* validate screen timings
* ports read
* ATM2+ (compare to ATM2) has only 1M RAM vs 512K
* Mem masks are hardcoded to 1M RAM
* better handling of SHADOW ports
* validate screen timings
*******************************************************************************************/

View File

@ -2,19 +2,19 @@
// copyright-holders:Devin Acker
/*
VTech Phusion (2000)
VTech Phusion (2000)
This handheld organizer/PDA runs on an unknown CR16B SoC.
It's probably similar (but not identical) to the one described in glcx.cpp.
This handheld organizer/PDA runs on an unknown CR16B SoC.
It's probably similar (but not identical) to the one described in glcx.cpp.
Main board:
U1: Analog Integrations AIC1652CS
U2: 8Mbit flash (Toshiba TC58FVT800FT-85)
U3: Hyundai GM76FV18ALLFW70
U10: unknown CR16B-based SoC (epoxy blob)
U11: National Semiconductor DS14C232CM
U12: National Semiconductor LM4882
U14: 16Mbit mask ROM (Sharp LH53V16500)
Main board:
U1: Analog Integrations AIC1652CS
U2: 8Mbit flash (Toshiba TC58FVT800FT-85)
U3: Hyundai GM76FV18ALLFW70
U10: unknown CR16B-based SoC (epoxy blob)
U11: National Semiconductor DS14C232CM
U12: National Semiconductor LM4882
U14: 16Mbit mask ROM (Sharp LH53V16500)
*/