Family Noraebang (패밀리 노래방)

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderators: B00daW, Moderators

tepples
Posts: 21748
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Family Noraebang (패밀리 노래방)

Post by tepples » Sat Oct 28, 2017 9:54 am

Any idea what it does with the expansion cartridge? Do any still exist? Because if the expansion cartridge is for adding new songs, this might be a way to play custom YM2413 music, giving an excuse for implementing full YM2413 in something like FamiTracker.

I've got a few I'd like to see:
  • "Bang Bang" by Jessie J et al., medley with "Le Freak" by Chic
  • "Bang and Blame" by REM
  • "Fireflies" by Owl City, medley with "Feuer frei" by Rammstein

lidnariq
Posts: 8768
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Family Noraebang (패밀리 노래방)

Post by lidnariq » Sat Oct 28, 2017 12:35 pm

The ROM seems to expect this behavior:

Code: Select all

Mask: $E003:
  R/W 6000, 6001: YM2413 clone (thank you NewRisingSun)
  R 6003: [D... ....] - SPI (ADC) data
Mask $E00F:
  W 8000: [RBBB BBBB] - R:0-select external ROM; 1-select internal ROM; B-select bank at $8000-$BFFF
                       $C000-$FFFF is always last bank of internal ROM
Mask not yet known:
  W C002: [S... ....] - SPI (ADC) chip select
  W C003: [K... ....] - SPI clock / ADC conversion clock
The strictest address mask possible is $E00F, per the hardware, but specific functions could be more lenient. I'd really like to find out by how much, but ... we'll see what MLX says.

MLX says that the PRG banking register cares about all seven address lines. How odd.

Interestingly, the game doesn't seem to ever explicitly drive SPI data; something must be pulling the node high in order for the SPI ADC to get its required "start" bit. (And then, since there's no obvious way to get the data line to change, it must be clocking in "1 1" for "single-ended conversion" and "pin 3=Ch1")

The ADC code is:

Code: Select all

  LDA #0
  LDY #$FF
  STA $C002 ; chip select falls
  STA $C003 ; SPI clock falls
  STY $C003 ; rises; clock in start bit here
  STA $C003 ; falls
  STY $C003 ; rises; clock in 1:Single or 0:differential here
  STA $C003 ; falls
  STY $C003 ; rises; clock in (Single:1:Ch1 or 0:Ch0) or (Differential:1:Ch1 minus Ch0 or 0:Ch0 minus Ch1)
  STA $C003; falls
  LDX #8
-
  STY $C003; rises
  STX $C003 ; falls; data now valid
  LDA $6003 ; read data
  ASL A
  ROL $00
  DEX
  BNE -
  LDA #$80
  STA $C002 ; raise chip select
and it only runs at 60Hz.

The other interesting bit is that the cart doesn't mix in the audio from the 2A03. All the sound can only come from the FM synthesizer.



To check for an expansion cart, the game checks for a sixteen-byte header ("OPEN FAMILY SONG") mapped at $8000 in the very first bank, and if present, will JSR to $8010. It's possible in intercept NMI partway through by feeding an invalid value to one of the jump table indexes (after it's already done a bunch of random other things). IRQs will cause a spinlock—the IRQ vector points to an RTI.

NewRisingSun
Posts: 1045
Joined: Thu May 19, 2005 11:30 am

Re: Family Noraebang (패밀리 노래방)

Post by NewRisingSun » Sat Oct 28, 2017 3:28 pm

(issue resolved, see below post.)
Last edited by NewRisingSun on Sun Oct 29, 2017 1:50 am, edited 1 time in total.

zxbdragon
Posts: 474
Joined: Mon Dec 12, 2011 8:15 pm

Re: Family Noraebang (패밀리 노래방)

Post by zxbdragon » Sat Oct 28, 2017 3:41 pm

send me,i try nestopia

NewRisingSun
Posts: 1045
Joined: Thu May 19, 2005 11:30 am

Re: Family Noraebang (패밀리 노래방)

Post by NewRisingSun » Sat Oct 28, 2017 4:29 pm

All right. Here is my Nintendulator source file for this game, including my (awkward) attempt at Microphone level measurement. Since I don't actually have a microphone, I have tried to make the "MIC" display respond to a simple music line-in signal. It always reads the "wave mapper" device. Since Nintendulator by default does not yet support mapper numbers >255, I needed to change the source file responsible for that as well. I also needed to update the VRC7 emulator to allow for both original YM2413 and VRC7 instrument sets, and to get back the rhythm mode emulation code. The expansion cartridge is supported as well; basically, any PRG ROM exceeding 1 MiB is assumed to be expansion cartridge memory and must come at the beginning of the ROM image.

Compiled Mapper DLL here.
Attachments
src-Nintendulator-Noraebang.7z
(17.44 KiB) Downloaded 182 times

zxbdragon
Posts: 474
Joined: Mon Dec 12, 2011 8:15 pm

Re: Family Noraebang (패밀리 노래방)

Post by zxbdragon » Sat Oct 28, 2017 5:19 pm

NewRisingSun wrote:All right. Here is my Nintendulator source file for this game, including my (awkward) attempt at Microphone level measurement. Since I don't actually have a microphone, I have tried to make the "MIC" display respond to a simple music line-in signal. It always reads the "wave mapper" device. Since Nintendulator by default does not yet support mapper numbers >255, I needed to change the source file responsible for that as well. I also needed to update the VRC7 emulator to allow for both original YM2413 and VRC7 instrument sets, and to get back the rhythm mode emulation code. The expansion cartridge is supported as well; basically, any PRG ROM exceeding 1 MiB is assumed to be expansion cartridge memory and must come at the beginning of the ROM image.

Compiled Mapper DLL here.
thankyou
but MLX not send me rom....

MLX
Posts: 105
Joined: Tue Feb 14, 2017 9:50 am

Re: Family Noraebang (패밀리 노래방)

Post by MLX » Sun Oct 29, 2017 12:53 pm

Thanks to everyone the rom has been released :beer:

zxbdragon
Posts: 474
Joined: Mon Dec 12, 2011 8:15 pm

Re: Family Noraebang (패밀리 노래방)

Post by zxbdragon » Mon Oct 30, 2017 6:20 am

NewRisingSun wrote:All right. Here is my Nintendulator source file for this game, including my (awkward) attempt at Microphone level measurement. Since I don't actually have a microphone, I have tried to make the "MIC" display respond to a simple music line-in signal. It always reads the "wave mapper" device. Since Nintendulator by default does not yet support mapper numbers >255, I needed to change the source file responsible for that as well. I also needed to update the VRC7 emulator to allow for both original YM2413 and VRC7 instrument sets, and to get back the rhythm mode emulation code. The expansion cartridge is supported as well; basically, any PRG ROM exceeding 1 MiB is assumed to be expansion cartridge memory and must come at the beginning of the ROM image.

Compiled Mapper DLL here.
than you !!! Great! but nonwindows os....

User avatar
B00daW
Posts: 584
Joined: Thu Jan 03, 2008 1:48 pm

Re: Family Noraebang (패밀리 노래방)

Post by B00daW » Sat Nov 11, 2017 5:04 pm

Regarding the dumps on the Bootleg Wiki board, do we have all the expansion boards dumped? This is very exciting news!

Wondering the proper method to get an NSF rip of these now too...

lidnariq
Posts: 8768
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Family Noraebang (패밀리 노래방)

Post by lidnariq » Sat Nov 11, 2017 10:43 pm

Record them as VGMs :P

The hardware that they came from doesn't permit combining the YM2413 synthesizer sounds with the 2A03's sounds, so permitting them in an NSF is a little misleading.

On the other hand, maybe explicitly adding a YM2413 option into NSF would stop people from using the YM2413 as through it had the same patch set as the VRC7. Oh, who am I kidding?

User avatar
B00daW
Posts: 584
Joined: Thu Jan 03, 2008 1:48 pm

Re: Family Noraebang (패밀리 노래방)

Post by B00daW » Mon Nov 13, 2017 3:35 pm

Looks like the ICs for K-663A are still being sold; and that they were used in other arcade cabinet games like Mahjong Tenkaigen.

Wonder if the K-663A were decapped that it would present any differences?

lidnariq
Posts: 8768
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Family Noraebang (패밀리 노래방)

Post by lidnariq » Mon Nov 13, 2017 4:09 pm

The last I checked—and this could be stale—we didn't have die-extracted values for the YM2413 built-in patches either, so decapping and staining a K-633A wouldn't be sufficient to determine whether it were identical.

Also, the MAME source implies that the K-633A is a knock-off of the UM3567, which is itself a knockoff of the YM2413. I think it's possible that they could all have subtle differences in the patch set.

Here's a page in Brazilian Portuguese that has recording of both the UM3567 and the YM2413 and I don't hear any difference... but I wouldn't trust my ears to be anything resembling authoritative.

User avatar
ImATrackMan
Posts: 36
Joined: Thu Mar 26, 2015 6:34 pm
Contact:

Re: Family Noraebang (패밀리 노래방)

Post by ImATrackMan » Tue Nov 14, 2017 10:35 pm

tepples wrote:Any idea what it does with the expansion cartridge? Do any still exist? Because if the expansion cartridge is for adding new songs, this might be a way to play custom YM2413 music, giving an excuse for implementing full YM2413 in something like FamiTracker.

I've got a few I'd like to see:
  • "Bang Bang" by Jessie J et al., medley with "Le Freak" by Chic
  • "Bang and Blame" by REM
  • "Fireflies" by Owl City, medley with "Feuer frei" by Rammstein
You can already use the full YM2413 in MML with NSD.lib and play it back on hardware with a TNS-HFX4.

User avatar
B00daW
Posts: 584
Joined: Thu Jan 03, 2008 1:48 pm

Re: Family Noraebang (패밀리 노래방)

Post by B00daW » Wed Nov 15, 2017 6:55 pm

The latest version of the PowerPak VRC7 plugin can swap into YM2413 mode as well.

NewRisingSun
Posts: 1045
Joined: Thu May 19, 2005 11:30 am

Re: Family Noraebang (패밀리 노래방)

Post by NewRisingSun » Thu Nov 23, 2017 11:29 pm

Can you see from the PCB images whether there is a low-pass filter after the FM chip (or its DAC), and if so, what its parameters are?

Post Reply