srcclean in preparation for branching release

This commit is contained in:
Vas Crabb 2021-02-21 16:08:12 +11:00
parent 2441cc0f8d
commit a425bd5d90
32 changed files with 230 additions and 230 deletions

View File

@ -157,11 +157,11 @@ u8 swim1_device::ism_read(offs_t offset)
{
ism_sync();
// static const char *const names[] = {
// "data", "mark", "crc", "param", "phases", "setup", "status", "handshake"
// };
// static const char *const names[] = {
// "data", "mark", "crc", "param", "phases", "setup", "status", "handshake"
// };
// logerror("read ism %s\n", names[offset & 7]);
// logerror("read ism %s\n", names[offset & 7]);
switch(offset & 7) {
case 0x0: { // data
u16 r = ism_fifo_pop();

View File

@ -1979,7 +1979,7 @@ std::vector<uint32_t> a2_nib_format::generate_levels_from_nibbles(const std::vec
const auto trailing_padding_size = count_trailing_padding(nibbles);
const auto trailing_FF_count =
count_leading_FFs(nibbles.rbegin() + trailing_padding_size,
nibbles.rend());
nibbles.rend());
const auto wrapped_FF_count = leading_FF_count + trailing_FF_count;
const bool wrapped_FF_are_syncs = wrapped_FF_count >= min_sync_bytes;
@ -2042,11 +2042,11 @@ bool a2_nib_format::load(io_generic *io, uint32_t form_factor, const std::vector
std::vector<uint8_t> nibbles(nibbles_per_track);
for (unsigned track = 0; track < nr_tracks; ++track) {
io_generic_read(io, &nibbles[0],
track * nibbles_per_track, nibbles_per_track);
track * nibbles_per_track, nibbles_per_track);
auto levels = generate_levels_from_nibbles(nibbles);
generate_track_from_levels(track, 0,
levels,
0, image);
levels,
0, image);
}
image->set_form_variant(floppy_image::FF_525, floppy_image::SSSD);

View File

@ -1010,39 +1010,39 @@ void firebeat_spu_state::rf5c400_map(address_map& map)
IRQ2: Executes one command stored in a different buffer from IRQ1.
The buffer can contain up to 8 commands.
The command index counter increments after each IRQ2 call.
If there is no command in the slot at the current counter then it just increments without executing a command.
The command index counter increments after each IRQ2 call.
If there is no command in the slot at the current counter then it just increments without executing a command.
Timing matters. In particular if the speed of the IRQ 2 calls is too fast then the volume and frequency animations will be wrong.
The most common issue with bad timing is keysounds will be cut off.
pop'n music Animelo 2 also has an issue when playing CHA-LA HEAD CHA-LA where one of the beginning keysounds will stay on a
very high pitched frequency. The lower(?) the IRQ 2 frequency, the longer the keysound stays played it seems.
Timing matters. In particular if the speed of the IRQ 2 calls is too fast then the volume and frequency animations will be wrong.
The most common issue with bad timing is keysounds will be cut off.
pop'n music Animelo 2 also has an issue when playing CHA-LA HEAD CHA-LA where one of the beginning keysounds will stay on a
very high pitched frequency. The lower(?) the IRQ 2 frequency, the longer the keysound stays played it seems.
For beatmania III:
cmd[0] = nop
cmd[1] = 0x91bc -> Send stop command for all rf5c400 channels that are done playing
cmd[2] = 0x310a -> Error checking? Sending some kind of state to main CPU???
cmd[3] = 0x29c6 -> Increment a timer for each running DMA(ATA command?)
Each timer must count up to 0x02e8 (744) before it will move on to the next DMA, which I believe is the time out counter.
For beatmania III:
cmd[0] = nop
cmd[1] = 0x91bc -> Send stop command for all rf5c400 channels that are done playing
cmd[2] = 0x310a -> Error checking? Sending some kind of state to main CPU???
cmd[3] = 0x29c6 -> Increment a timer for each running DMA(ATA command?)
Each timer must count up to 0x02e8 (744) before it will move on to the next DMA, which I believe is the time out counter.
In another part of the program (0x363c for a21jca03.bin) is the following code for determining when to start and stop the DMA:
In another part of the program (0x363c for a21jca03.bin) is the following code for determining when to start and stop the DMA:
start_dma();
while (get_dma_timer() < dma_max_timer) {
if (irq6_called_flag) {
break;
}
}
end_dma();
start_dma();
while (get_dma_timer() < dma_max_timer) {
if (irq6_called_flag) {
break;
}
}
end_dma();
irq6_called_flag is set only when IRQ6 is called.
get_dma_timer is the timer that is incremented by 0x29c6.
cmd[4] = 0x94de -> Animates rf5c400 channel volumes
cmd[5] = 0x7b2c -> Send some kind of buffer status flags to spu_status_led_w. Related to IRQ4 since commands come from PPC to set buffer data
cmd[6] = 0x977e -> Animates rf5c400 channel frequencies
cmd[7] = 0x9204 -> Sends current state of rf5c400 channels as well as a list (bitmask integer) of usable channels up to main CPU memory.
Also sends a flag to to spu_status_led_w that shows if there are available SE slots.
If there are no available SE slots then it will set bit 3 to .
irq6_called_flag is set only when IRQ6 is called.
get_dma_timer is the timer that is incremented by 0x29c6.
cmd[4] = 0x94de -> Animates rf5c400 channel volumes
cmd[5] = 0x7b2c -> Send some kind of buffer status flags to spu_status_led_w. Related to IRQ4 since commands come from PPC to set buffer data
cmd[6] = 0x977e -> Animates rf5c400 channel frequencies
cmd[7] = 0x9204 -> Sends current state of rf5c400 channels as well as a list (bitmask integer) of usable channels up to main CPU memory.
Also sends a flag to to spu_status_led_w that shows if there are available SE slots.
If there are no available SE slots then it will set bit 3 to .
IRQ4: Dual-port RAM mailbox (when PPC writes to 0x3FE)
Handles commands from PPC (bytes 0x00 and 0x01)

View File

@ -4,12 +4,12 @@
Insight Enterprises Z80 Single Board Computer
Possibly a prototype or part of a larger system. A video with more
info is available at https://www.youtube.com/watch?v=_z1kBb-Zwpg.
Possibly a prototype or part of a larger system. A video with more
info is available at https://www.youtube.com/watch?v=_z1kBb-Zwpg.
TODO:
- Verify device hookup
- Figure out what's at 0x20, 0x21, 0x3c, 0x3d
- Figure out what's at 0x20, 0x21, 0x3c, 0x3d
- Hook up FDC
- Hook up CRT8002 (video attributes)
- Much more
@ -81,15 +81,15 @@ void iez80_state::mem_map(address_map &map)
void iez80_state::io_map(address_map &map)
{
map.global_mask(0xff);
// map(0x20, 0x20).lr8([this]() { return machine().rand(); }, "unk20");
// map(0x21, 0x21).lr8([this]() { return machine().rand(); }, "unk21");
// map(0x20, 0x20).lr8([this]() { return machine().rand(); }, "unk20");
// map(0x21, 0x21).lr8([this]() { return machine().rand(); }, "unk21");
map(0x24, 0x27).rw("pio", FUNC(z80pio_device::read), FUNC(z80pio_device::write));
map(0x28, 0x2b).rw("ctc", FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
map(0x2c, 0x2f).rw("dart1", FUNC(z80sio_device::ba_cd_r), FUNC(z80sio_device::ba_cd_w));
map(0x32, 0x32).rw("dma", FUNC(z80dma_device::read), FUNC(z80dma_device::write));
map(0x38, 0x3b).rw("dart2", FUNC(z80sio_device::ba_cd_r), FUNC(z80sio_device::ba_cd_w));
// map(0x3c, 0x3c).lr8([this]() { return machine().rand(); }, "unk3c");
// map(0x3d, 0x3d).lr8([this]() { return machine().rand(); }, "unk3d");
// map(0x3c, 0x3c).lr8([this]() { return machine().rand(); }, "unk3c");
// map(0x3d, 0x3d).lr8([this]() { return machine().rand(); }, "unk3d");
map(0x40, 0x4f).rw("crtc", FUNC(crt5037_device::read), FUNC(crt5037_device::write));
}

View File

@ -1045,9 +1045,9 @@ void shoottv_state::shoottv_map(address_map &map)
void itech32_state::pubball_map(address_map &map)
{
itech020_map(map);
map(0x300000, 0x300003).w(FUNC(itech32_state::color_w<0>)).umask32(0x00ff00ff);
map(0x380000, 0x380003).w(FUNC(itech32_state::color_w<1>)).umask32(0x00ff00ff);
itech020_map(map);
map(0x300000, 0x300003).w(FUNC(itech32_state::color_w<0>)).umask32(0x00ff00ff);
map(0x380000, 0x380003).w(FUNC(itech32_state::color_w<1>)).umask32(0x00ff00ff);
}
@ -4645,13 +4645,13 @@ ROM_START( gtclasscs ) /* Version 1.00S for the 3 tier type PCB with short ROM
ROM_END
/***************************************************************************
The ROM images for both sets below were found by analyzing the contents
of archived source-code CDs acquired at auction. This is why the ROM
definitions in question are not sized to a power of two, as most ROM
dumps typically are.
However, the provided dump of Power Up Baseball has been proven to
work as-is on a properly-configured itech32 board, and passes all
relevant ROM tests, and so can be considered authoritative.
The ROM images for both sets below were found by analyzing the contents
of archived source-code CDs acquired at auction. This is why the ROM
definitions in question are not sized to a power of two, as most ROM
dumps typically are.
However, the provided dump of Power Up Baseball has been proven to
work as-is on a properly-configured itech32 board, and passes all
relevant ROM tests, and so can be considered authoritative.
****************************************************************************/
ROM_START( shoottv )

View File

@ -2,28 +2,28 @@
// copyright-holders:Angelo Salese
/******************************************************************************
Jungle (c) 2001 Yonshi
Jungle (c) 2001 Yonshi
TODO:
- with a clean NVRAM MAME needs to be soft reset after init or the game
will trip a '1111 exception' (caused by invalid opcode executed at
0x102, incomplete decryption most likely);
- Likewise anything in the 0x100-0x1f7 range doesn't seem valid at all;
- game sometimes expects 1+ coins even if player has available points
(and freezing with "COIN" text blinking), very unlikely to be intended
behaviour?
- system setting screen shows the following settings that don't seem to be
affected by dips:
* Min. Bet (always 1),
* Credit X Ticket Mode (always Cencel (sic)),
* Max. 10 Mode (always Max. 10);
- sound doesn't seem to work 100% correctly (i.e. coin sound only seems
to work from 3rd coin on, lots of invalid sample msgs in error.log).
fwiw there's no extra OKI bank in the ROM, must be either invalid
decryption or fancy OKI status readback instead.
TODO:
- with a clean NVRAM MAME needs to be soft reset after init or the game
will trip a '1111 exception' (caused by invalid opcode executed at
0x102, incomplete decryption most likely);
- Likewise anything in the 0x100-0x1f7 range doesn't seem valid at all;
- game sometimes expects 1+ coins even if player has available points
(and freezing with "COIN" text blinking), very unlikely to be intended
behaviour?
- system setting screen shows the following settings that don't seem to be
affected by dips:
* Min. Bet (always 1),
* Credit X Ticket Mode (always Cencel (sic)),
* Max. 10 Mode (always Max. 10);
- sound doesn't seem to work 100% correctly (i.e. coin sound only seems
to work from 3rd coin on, lots of invalid sample msgs in error.log).
fwiw there's no extra OKI bank in the ROM, must be either invalid
decryption or fancy OKI status readback instead.
Latter may be confirmed by video display stalling at the end of a
normal round, OSD coin counter gets updated after the BGM completes
playback.
normal round, OSD coin counter gets updated after the BGM completes
playback.
- outputs (lamps & ticket dispenser at very least);
===============================================================================

View File

@ -775,7 +775,7 @@ ROM_START( loopingv )
ROM_LOAD( "i-o.11a", 0x2800, 0x1000, CRC(61c74c79) SHA1(9f34d18a919446dd76857b851cea23fc1526f3c2) ) // speech
ROM_REGION( 0x0400, "mcu", 0 ) // COP420 microcontroller code
ROM_LOAD( "cop.bin", 0x0000, 0x0400, CRC(d47fecec) SHA1(7eeedcb40f4cd50e1e259c6b01744a3fc97b60aa) )
ROM_LOAD( "cop.bin", 0x0000, 0x0400, CRC(d47fecec) SHA1(7eeedcb40f4cd50e1e259c6b01744a3fc97b60aa) )
ROM_REGION( 0x1000, "gfx1", 0 )
ROM_LOAD( "log2.8a", 0x0000, 0x800, CRC(ef3284ac) SHA1(8719c9df8c972a56c306b3c707aaa53092ffa2d6) )
@ -799,7 +799,7 @@ ROM_START( loopingva )
ROM_LOAD( "i-o.11a", 0x2800, 0x1000, CRC(61c74c79) SHA1(9f34d18a919446dd76857b851cea23fc1526f3c2) )
ROM_REGION( 0x0400, "mcu", 0 ) // COP420 microcontroller code
ROM_LOAD( "cop.bin", 0x0000, 0x0400, CRC(d47fecec) SHA1(7eeedcb40f4cd50e1e259c6b01744a3fc97b60aa) )
ROM_LOAD( "cop.bin", 0x0000, 0x0400, CRC(d47fecec) SHA1(7eeedcb40f4cd50e1e259c6b01744a3fc97b60aa) )
ROM_REGION( 0x1000, "gfx1", 0 )
ROM_LOAD( "log2.8a", 0x0000, 0x800, CRC(ef3284ac) SHA1(8719c9df8c972a56c306b3c707aaa53092ffa2d6) )
@ -825,7 +825,7 @@ ROM_START( looping )
ROM_LOAD( "loopa11.bin", 0x2800, 0x1000, CRC(61c74c79) SHA1(9f34d18a919446dd76857b851cea23fc1526f3c2) ) // speech
ROM_REGION( 0x0400, "mcu", 0 ) // COP420 microcontroller code
ROM_LOAD( "cop.bin", 0x0000, 0x0400, CRC(d47fecec) SHA1(7eeedcb40f4cd50e1e259c6b01744a3fc97b60aa) ) // taken from the other sets
ROM_LOAD( "cop.bin", 0x0000, 0x0400, CRC(d47fecec) SHA1(7eeedcb40f4cd50e1e259c6b01744a3fc97b60aa) ) // taken from the other sets
ROM_REGION( 0x1000, "gfx1", 0 )
ROM_LOAD( "loopaa8.bin", 0x0000, 0x800, CRC(ef3284ac) SHA1(8719c9df8c972a56c306b3c707aaa53092ffa2d6) )
@ -848,7 +848,7 @@ ROM_START( skybump )
ROM_LOAD( "snd.11a", 0x2800, 0x1000, CRC(61c74c79) SHA1(9f34d18a919446dd76857b851cea23fc1526f3c2) )
ROM_REGION( 0x0400, "mcu", 0 ) // COP420 microcontroller code
ROM_LOAD( "cop.bin", 0x0000, 0x0400, CRC(d47fecec) SHA1(7eeedcb40f4cd50e1e259c6b01744a3fc97b60aa) )
ROM_LOAD( "cop.bin", 0x0000, 0x0400, CRC(d47fecec) SHA1(7eeedcb40f4cd50e1e259c6b01744a3fc97b60aa) )
ROM_REGION( 0x1000, "gfx1", 0 )
ROM_LOAD( "vid.8a", 0x0000, 0x800, CRC(459ccc55) SHA1(747f6789605b48be9e22f779f9e3f6c98ad4e594) )

View File

@ -5,37 +5,37 @@
LSI M-THREE
Models:
- M-THREE/100 (SA400, 5.25" single sided)
- M-THREE/110 (SA410, 5.25" single sided)
- M-THREE/150 (SA450, 5.25" double sided)
- M-THREE/160 (SA460, 5.25" double sided)
- M-THREE/200 (SA800, 8" single sided)
- M-THREE/250 (SA850, 8" double sided) [emulated by default]
- M-THREE/320 (SA800, 8" single sided, Winchester 5 MB)
- M-THREE/325 (SA850, 8" double sided, Winchester 5 MB)
- M-THREE/340 (SA800, 8" single sided, Winchester 10 MB)
- M-THREE/345 (SA850, 8" double sided, Winchester 10 MB)
- M-THREE/100 (SA400, 5.25" single sided)
- M-THREE/110 (SA410, 5.25" single sided)
- M-THREE/150 (SA450, 5.25" double sided)
- M-THREE/160 (SA460, 5.25" double sided)
- M-THREE/200 (SA800, 8" single sided)
- M-THREE/250 (SA850, 8" double sided) [emulated by default]
- M-THREE/320 (SA800, 8" single sided, Winchester 5 MB)
- M-THREE/325 (SA850, 8" double sided, Winchester 5 MB)
- M-THREE/340 (SA800, 8" single sided, Winchester 10 MB)
- M-THREE/345 (SA850, 8" double sided, Winchester 10 MB)
Hardware:
- Z80
- 64 KB RAM
- Z80 CTC
- 2x D8255AC PPI
- D8251A
- MC6845P CRTC
- FD1793 FDC
- 64 KB RAM
- Z80 CTC
- 2x D8255AC PPI
- D8251A
- MC6845P CRTC
- FD1793 FDC
TODO:
- Initial PC is currently hacked to f000
- Verify/fix floppy hookup (CPU needs to be overclocked?)
- Printer interface
- Buzzer
- Map the rest of the keys, verify existing keys
- Verify/fix floppy hookup (CPU needs to be overclocked?)
- Printer interface
- Buzzer
- Map the rest of the keys, verify existing keys
Notes:
- No offical software available, but a custom version of CP/M
- Y to boot from floppy, ESC to enter monitor, any other key to
boot from IDE
- Y to boot from floppy, ESC to enter monitor, any other key to
boot from IDE
***************************************************************************/

View File

@ -11,7 +11,7 @@
There are 4 sound options,
1: AY3-8930 on the mainboard.
2: "Digital Sound Board" sound ROM + NEC D7759 on the romcard.
3: "FM & Digital Sound Board" sound ROM + NEC D7759 & YM2413 (3.579Mhz) on the romcard.
3: "FM & Digital Sound Board" sound ROM + NEC D7759 & YM2413 (3.579Mhz) on the romcard.
4: "E.S.P. Board" sound ROMS + OKI M6376, + NEC C1892
** later ESP boards also have a sub-board marked "RAM Protection Board"

View File

@ -7,7 +7,7 @@
TODO: Implement flashing (our only datasheet has that section
completely illegible)
This is a simulation of code running on an NEC D78042GF-090
This is a simulation of code running on an NEC D78042GF-090
**********************************************************************/
#include "emu.h"

View File

@ -1155,10 +1155,10 @@ WRITE_LINE_MEMBER(macadb_device::adb_linechange_w)
if (m_adb_datasize > 0)
{
LOGMASKED(LOG_LINESTATE, "Device has %d bytes of data:\n", m_adb_datasize);
for (int i = 0; i < m_adb_datasize; i++)
{
LOGMASKED(LOG_LINESTATE, " %02x\n", m_adb_buffer[i]);
}
for (int i = 0; i < m_adb_datasize; i++)
{
LOGMASKED(LOG_LINESTATE, " %02x\n", m_adb_buffer[i]);
}
m_adb_linestate = LST_TSTOPSTART; // T1t
m_adb_timer->adjust(attotime::from_ticks(324/4, adb_timebase));
m_adb_stream_ptr = 0;

View File

@ -214,7 +214,7 @@ WRITE_LINE_MEMBER(mspactwin_state::flipscreen_w)
{
m_flipscreen = state;
m_bg_tilemap->set_flip(m_flipscreen * ( TILEMAP_FLIPX + TILEMAP_FLIPY ) );
// logerror("Flip: %02x\n", state);
// logerror("Flip: %02x\n", state);
}

View File

@ -341,7 +341,7 @@ static const std::map<std::string, const gdb_register_map &> gdb_register_maps =
{ "r4600", gdb_register_map_r4600 },
{ "ppc601", gdb_register_map_ppc601 },
{ "m68020pmmu", gdb_register_map_m68020pmmu },
{ "m68000", gdb_register_map_m68000 },
{ "m68000", gdb_register_map_m68000 },
{ "z80", gdb_register_map_z80 },
{ "m6502", gdb_register_map_m6502 },
{ "n2a03", gdb_register_map_m6502 },