From 596866c6ae94a45b42e4ec3b2778ca9ab251dd5b Mon Sep 17 00:00:00 2001 From: Lord-Nightmare Date: Thu, 13 Sep 2018 18:04:53 -0400 Subject: update and fix various comments (nw) --- src/devices/sound/multipcm.cpp | 8 ++++---- src/devices/sound/okiadpcm.cpp | 15 +++++++++++++-- src/mame/audio/atarijsa.cpp | 2 ++ src/mame/drivers/arkanoid.cpp | 10 +++++----- src/mame/drivers/atarisy2.cpp | 2 +- src/mame/drivers/gamecube.cpp | 2 +- src/mame/drivers/notetaker.cpp | 4 ++-- src/mame/drivers/sun2.cpp | 4 ++-- src/mame/drivers/tandy1t.cpp | 2 +- 9 files changed, 31 insertions(+), 18 deletions(-) diff --git a/src/devices/sound/multipcm.cpp b/src/devices/sound/multipcm.cpp index dab667234ab..e1aa70bddb6 100644 --- a/src/devices/sound/multipcm.cpp +++ b/src/devices/sound/multipcm.cpp @@ -17,13 +17,13 @@ * 6: LFO frequency + Phase LFO depth * 7: Amplitude LFO size * - * The first sample ROM contains a variable length table with 12 - * bytes per instrument/sample. This is very similar to the YMF278B. + * The first sample ROM contains a variable length metadata table with 12 + * bytes per instrument sample. This is very similar to the YMF278B 'OPL4'. * This sample format might be derived from the one used by the older YM7138 'GEW6' chip. * * The first 3 bytes are the offset into the file (big endian). (0, 1, 2) - * The next 2 are the loop start offset into the file (big endian) (3, 4) - * The next 2 are the 2's complement of the total sample size (big endian) (5, 6) + * The next 2 are the loop start point, in samples (big endian) (3, 4) + * The next 2 are the 2's complement negation of of the total number of samples (big endian) (5, 6) * The next byte is LFO freq + depth (copied to reg 6 ?) (7, 8) * The next 3 are envelope params (Attack, Decay1 and 2, sustain level, release, Key Rate Scaling) (9, 10, 11) * The next byte is Amplitude LFO size (copied to reg 7 ?) diff --git a/src/devices/sound/okiadpcm.cpp b/src/devices/sound/okiadpcm.cpp index 8fc33565aaf..160ddc3519b 100644 --- a/src/devices/sound/okiadpcm.cpp +++ b/src/devices/sound/okiadpcm.cpp @@ -4,8 +4,19 @@ okiadpcm.h - OKI ADCPM emulation. - + OKI ADPCM emulation. + + See the following patents/applications: + (Note: if not registered, the application below was not actually granted, and is effectively abandoned) + Application JP,1980-109800 (Unexamined Publication JP,S57-035434,A) (Examined Publication JP,S61-024850,B) (Registration number JP,1356613,B) https://patents.google.com/patent/JPS5735434A/en + Application JP,1981-185490 (Unexamined Publication JP,S58-088926,A) (Not examined or registered) https://patents.google.com/patent/JPS5888926A/en + Application JP,1982-213971 (Unexamined Publication JP,S59-104699,A) (Not examined or registered) https://patents.google.com/patent/JPS59104699A/en <- this one goes into a bit more detail/better arranged diagrams, and shows a Q table with entries 0-63 rather than 0-48 of the real msm5205 + + Application JP,1987-184421 (Unexamined Publication JP,S64-028700,A) (Not examined) (Registration number JP,2581696,B) https://patents.google.com/patent/JPS6428700A/en <- quad band coding system for adpcm? + Application JP,1994-039523 (Unexamined Publication JP,H07-248798,A) (Not examined) (Registration number JP,3398457,B) https://patents.google.com/patent/JP3398457B2/en <- this may cover the 'adpcm2' method + Application JP,1995-104333 (Unexamined Publication JP,H08-307371,A) (Not examined or registered) https://patents.google.com/patent/JPH08307371A/en <- something unrelated to adpcm, wireless transmission error detection related? + Application JP,1995-162009 (Unexamined Publication JP,H09-018425,A) (Not examined or registered) https://patents.google.com/patent/JPH0918425A/en <- looks like ADPCM2 maybe? + Application JP,1988-176215 (Unexamined Publication JP,H02-026426,A) (Not examined or registered) https://patents.google.com/patent/JPH0226426A/en <- Fujitsu variant on (G.726/727?) SB-ADPCM, cited by above ***************************************************************************/ #include "emu.h" diff --git a/src/mame/audio/atarijsa.cpp b/src/mame/audio/atarijsa.cpp index ed353cc4faf..aa93f8ef1ee 100644 --- a/src/mame/audio/atarijsa.cpp +++ b/src/mame/audio/atarijsa.cpp @@ -460,6 +460,8 @@ WRITE8_MEMBER( atari_jsa_oki_base_device::mix_w ) if (m_oki2_banklo != nullptr) m_oki2_banklo->set_entry((data >> 6) & 3); + // TODO: emulate the low pass filter! + // update the (left) OKI bank (JSA III/IIIs only) if (m_oki1_banklo != nullptr) m_oki1_banklo->set_entry((m_oki1_banklo->entry() & 1) | ((data >> 3) & 2)); diff --git a/src/mame/drivers/arkanoid.cpp b/src/mame/drivers/arkanoid.cpp index 873aa65aa15..dd65bb7dc95 100644 --- a/src/mame/drivers/arkanoid.cpp +++ b/src/mame/drivers/arkanoid.cpp @@ -1500,10 +1500,10 @@ MACHINE_CONFIG_END /* ROMs */ /* rom numbering, with guesses for version numbers and missing roms: - A75 01 = Z80 code 1/2 v1.0 Japan (NOT DUMPED, arkatayt and arkangc and - maybe arkanoidjbl may actually be bootlegs of this undumped - version, so it might be possible to 'restore' this version by - 'de-bootlegging' those sets?) + A75 01 = Z80 code 1/2 v1.0 Japan (NOT DUMPED; it has been rumored that arkatayt + and arkangc and maybe arkanoidjbl might actually be bootlegs of this + undumped version, so, if true, it might be possible to 'restore' this + version by 'de-bootlegging' those sets.) A75 01-1 = Z80 code 1/2 v1.1 Japan and USA/Romstar and World A75 02 = Z80 code 2/2 v1.0 Japan (has 'Notice: This game is for use in Japan only' screen) A75 03 = GFX 1/3 @@ -1525,7 +1525,7 @@ MACHINE_CONFIG_END A75 20 = MC68705P5 MCU code, v2.0 USA/Romstar (verified. dumped from MCU) A75 21 = Z80 code v2.0 1/2 Japan w/level select A75 22 = Z80 code v2.0 2/2 Japan w/level select - A75 23 = MC68705P5 MCU code, v2.0 Japan w/level select (NOT DUMPED, PLACEHOLDER HACKED FROM BOOTLEG MCU) + A75 23 = MC68705P5 MCU code, v2.0 Japan w/level select (NOT DUMPED) A75 24 = Z80 code v2.1 1/2 Japan A75 25 = Z80 code v2.1 2/2 Japan A75 26 = MC68705P5 MCU code, v2.1 Japan (verified. dumped from MCU) diff --git a/src/mame/drivers/atarisy2.cpp b/src/mame/drivers/atarisy2.cpp index 64d178ed0f8..5b01de2eaf6 100644 --- a/src/mame/drivers/atarisy2.cpp +++ b/src/mame/drivers/atarisy2.cpp @@ -1300,7 +1300,7 @@ MACHINE_CONFIG_END * *************************************/ -ROM_START( paperboy ) +ROM_START( paperboy ) // ALL of these roms should be 136034-xxx but the correct labels aren't known per game rev! ROM_REGION( 0x90000, "maincpu", 0 ) /* 9*64k for T11 code */ ROM_LOAD16_BYTE( "cpu_l07.rv3", 0x008000, 0x004000, CRC(4024bb9b) SHA1(9030ce5a6a1a3d769c699a92b32a55013f9766aa) ) ROM_LOAD16_BYTE( "cpu_n07.rv3", 0x008001, 0x004000, CRC(0260901a) SHA1(39d786f5c440ca1fd529ee73e2a4d2406cd1db8f) ) diff --git a/src/mame/drivers/gamecube.cpp b/src/mame/drivers/gamecube.cpp index 72bc082176d..cf6884285c9 100644 --- a/src/mame/drivers/gamecube.cpp +++ b/src/mame/drivers/gamecube.cpp @@ -208,7 +208,7 @@ ROM_START( gceu ) // DOL-001(EUR) and DOL-101(EUR); PAL gamecube board, outputs ROM_DEFAULT_BIOS("v12") ROM_SYSTEM_BIOS(0, "v10", "PAL Revision 1.0") // Internal version 47 Sep 27 2001 15:15:22 ROMX_LOAD("ipl_pal_v10.bin", 0x000000, 0x200000, CRC(4f319f43) SHA1(f27c63e5394e2fd1606f70df004c4fc2d6027700), ROM_BIOS(0)) - // there might be an undumped "PAL Revision 1.1" IPL + // "PAL Revision 1.1" IPL probably doesn't exist; the internal version of "PAL Revision 1.0" lines up with "NTSC Revision 1.1" ROM_SYSTEM_BIOS(1, "v12", "PAL Revision 1.2") // Internal version 0x2301 Jun 16 2003 04:27:06 ROMX_LOAD("ipl_pal_v12.bin", 0x000000, 0x200000, CRC(ad1b7f16) SHA1(80b8744ff5e43585392f55546bd03a673d11ef5f), ROM_BIOS(1)) // not verified from console yet but seems good diff --git a/src/mame/drivers/notetaker.cpp b/src/mame/drivers/notetaker.cpp index 896c5ccc3ff..c4e8177361f 100644 --- a/src/mame/drivers/notetaker.cpp +++ b/src/mame/drivers/notetaker.cpp @@ -681,7 +681,7 @@ WRITE16_MEMBER(notetaker_state::EPConReg_w) m_EP_LED3 = (data&0x20)?1:0; m_EP_LED4 = (data&0x10)?1:0; m_EP_LED_SelROM_q = (data&0x08)?1:0; // this doesn't appear to be hooked anywhere, andjust drives an LED - // originally, SelROM_q enabled two 2716 EPROMS, later 82s137 PROMS to map code to the FFC00-FFFFF area but this was dropped in the 1979 design revision + // originally, SelROM_q enabled two 2716 EPROMS, later 82s137 PROMS to map code to the FFC00-FFFFF area but this was dropped in the 1979 design revision in favor of having the IOP write the boot vectors for the EP to the shared ram instead. See below for how the top two address bits are disconnected to allow this to work with the way the shared ram is mapped. m_EP_ProcLock = (data&0x04)?1:0; // bus lock for this processor (hold other processor in wait state) m_EP_SetParity_q = (data&0x02)?1:0; // enable parity checking on local ram if low m_EP_DisLMem_q = (data&0x01)?1:0; // if low, the low 8k of local memory is disabled and accesses the shared memory instead. @@ -690,7 +690,7 @@ WRITE16_MEMBER(notetaker_state::EPConReg_w) /* Emulator cpu mem map: -(The top two address bits are disconnected, to allow the ram board, which maps itself only at 00000-3ffff, to appear at "ffff0" to the processor when /reset is de-asserted by the iop) +(The top two address bits are disconnected, to allow the ram board, which maps itself only at 00000-3ffff, to appear at "ffff0" to the ep processor when /reset is de-asserted by the iop) a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 DisLMem_q x x 0 0 0 0 0 * * * * * * * * * * * * * 0 RW Local (fast) RAM x x 0 0 0 0 0 * * * * * * * * * * * * * 1 RW System/Shared RAM diff --git a/src/mame/drivers/sun2.cpp b/src/mame/drivers/sun2.cpp index f0f0ff53661..2576bd8fbff 100644 --- a/src/mame/drivers/sun2.cpp +++ b/src/mame/drivers/sun2.cpp @@ -733,10 +733,10 @@ ROM_START( sun2_120 ) // ROMs are located on the '501-1007' CPU PCB at locations //ROM_SYSTEM_BIOS( 8, "revq", "Bootrom Rev Q") // ROMX_LOAD( "520-1104-02.b11", 0x0000, 0x4000, NO_DUMP, ROM_SKIP(1) | ROM_BIOS(8)) // ROMX_LOAD( "520-1103-02.b10", 0x0001, 0x4000, NO_DUMP, ROM_SKIP(1) | ROM_BIOS(8)) - ROM_SYSTEM_BIOS(2, "revn", "Bootrom Rev N") // SunOS 2.0 requires this bootrom version at a minimum + ROM_SYSTEM_BIOS( 2, "revn", "Bootrom Rev N") // SunOS 2.0 requires this bootrom version at a minimum; this version supports the sun-2 keyboard ROMX_LOAD("revn.b11", 0x0000, 0x4000, CRC(b1e70965) SHA1(726b3ed9323750a1ae238cf6dccaed6ff5981ad1), ROM_SKIP(1) | ROM_BIOS(2)) // actual rom stickers had fallen off ROMX_LOAD("revn.b10", 0x0001, 0x4000, CRC(95fd9242) SHA1(1eee2d291f4b18f6aafdde1a9521d88e454843b9), ROM_SKIP(1) | ROM_BIOS(2)) // " - ROM_SYSTEM_BIOS(3, "revm", "Bootrom Rev M") // SunOS 1.0 apparently requires this bootrom revision? + ROM_SYSTEM_BIOS( 3, "revm", "Bootrom Rev M") // SunOS 1.0 apparently requires this bootrom revision; this version might only support the sun-1 keyboard? ROMX_LOAD("sun2-revm-8.b11", 0x0000, 0x4000, CRC(98b8ae55) SHA1(55485f4d8fd1ebc218aa8527c8bb62752c34abf7), ROM_SKIP(1) | ROM_BIOS(3)) // handwritten label: "SUN2-RevM-8" ROMX_LOAD("sun2-revm-0.b10", 0x0001, 0x4000, CRC(5117f431) SHA1(fce85c11ada1614152dde35bb329350f6fb2ecd9), ROM_SKIP(1) | ROM_BIOS(3)) // handwritten label: "SUN2-RevM-0" diff --git a/src/mame/drivers/tandy1t.cpp b/src/mame/drivers/tandy1t.cpp index 02ccea5de7b..250991c33c0 100644 --- a/src/mame/drivers/tandy1t.cpp +++ b/src/mame/drivers/tandy1t.cpp @@ -781,7 +781,7 @@ MACHINE_CONFIG_END #ifdef UNUSED_DEFINITION ROM_START( t1000 ) - // Schematics displays 2 32KB ROMs at U9 and U10 + // Schematic shows 2 32KB ROMs at U9 and U10 for Tandy 1000; 1000A is a different mainboard. ROM_REGION(0x20000,"bios", 0) ROM_SYSTEM_BIOS( 0, "v010000", "v010000" ) ROMX_LOAD("v010000.f0", 0x10000, 0x10000, NO_DUMP, ROM_BIOS(0)) -- cgit v1.2.3