A commercial Karaoke machine

https://www.dkkaraoke.co.jp/business/karaoke_service/products/old/premierdam/ http://web.archive.org/web/20080601222833/http://www.dkkaraoke.co.jp/business/karaoke_service/syouhin/PremierDAM/PremierDAM.html

Released at 2600000 Yen on 2007-04-19 it is now EOL and turning up on yahoo auctions now for around 5000 Yen.

https://auctions.yahoo.co.jp/category/list/2084048479/

It seems it was originally made by a Korean Company OSUNG MIDICOM CO., LTD.

Main Board:

Silkscreen: DAM-XG1000 Main Rev 1.5 OSUNGMIDICOM Co.,LTD. CPU: Sigma Designs SMP863X CPU spec: MIPS 34Kf Arch: MIPS32R2

RAM: 4x SAMSUNG K4H511638D-UCCC 512Mb D-die DDR SDRAM Specification

Main Flash: Spansion S29GL064 64 Megabit 3.0-Volt NOR Memory

FPGA: XC3S1000 Xilinx Spartan

FPGA RAM: SAMSUNG K4S643232H 64Mb H-die (x32) SDRAM Specification

SATA: Silicon Image SiI3114CTU PCI to Serial ATA Controller

VIDEO: VWEB VW2010 MPEG-1, -2, -4 Audio/Video CODEC Chip

VIDEO RAM: SAMSUNG K4S643232H-UC60

DSP board:

Silkscreen: X8203 WJ06370

DSP: TMS320D610A003ZDP Audio DSP System for Home Theater Products

DSP RAM: ESMT M

DSP Flash: MX

DSP FPGA: XILINX XC

YAMAHA: 2x YSS910C-V YSS915-M

USB board

Silkscreen: OSUNGMIDICOM Co., LTD. DAM-XG1000 HUB Rev 0.4

USB: GL850 USB 2.0 Low-Power HUB Controller

Receiver board

Silkscreen: WJ06360 X8202 W205H115

Top Side: AUDIO: 2 xYAMAHA XS725A0

RAM: 2x G-LINK GLT44016P-40J4 256K X 16 CMOS DYNAMIC RAM WITH EXTENDED DATA OUTPUT

CPU: 2x RENESAS HD6417014F28V 32-Bit RISC Microcomputer SuperH TM RISC engine family/SH7010 Series

Bottom Side: RAM: 2x ISSI IS42S16190C1-7TL 512K Words x 16 Bits x 2 Banks (16-MBIT) SYNCHRONOUS DYNAMIC RAM RAM: OKI M514260E-60J 262,144-Word x 16-Bit DYNAMIC RAM : FAST PAGE MODE TYPE Flash: 2x SPANSION S29AL008D70TF102 8-Mbit (1M x 8-Bit/512K x 16-Bit), 3 V Boot Sector Flash Flash: 2x MX B073735 YAMAHA (C) 2004 X5725A0 2U606600A1

Mixer board

Silkscreen: WJ06380

Mic board

Silkscreen: OSUNGMIDICOM Co.,LTD. DAM-G100X-MIC Rev 1.0

Plug-in Board

Silkscreen: U.S.PATENTS: 4967635/H2931, 4763553/H2321, 4974485/H2006, 4731835/H2606, 4584921/H2320, 4520708/H2023, 4738179/H2062

XG Plug-in Board PLG-100-XG

Top Side: YAMAHA XU947C0 OKI RAM IDT 71016 Mask ROM YAMAHA XW769

Other:

HDD: ST3750640AS Seagate BarraCuda 7200.10

DVD: CD-R、CD-RW、CD-ROM、DVD±R、DVD±RW、DVD-VIDEO、DVD-ROM 

Power supply

You can connect an ATX power supply through one of the empty SATA power connectors. This will make most of the machine work except for Video out and Music out. For that you will have to connect -12V and power the 7805 regulator from the 12V supply. I’ve desoldered the diodes from the second analog power supply while I was looking for a short.

Remote

Along with the second machine i got a PM200zB remote. It has a Samsung ARM CPU and runs Linux 2.2.14-v5.1_PM200

Software side

The first partition has a loader that is run by /etc/init.d/S50NK1000 The second partition doesn’t have a filesystem and is accessed directly by the program. The third partition has all the data but to obfuscate it they changed the ext3 header, changing that one byte makes it mountable again.

Earliest file date: 2006-12-14 11:45 Latest file date: 2007-04-15 15:48

There are kernel modules with a version string. vermagic=2.6.15-sigma MIPS32_R2 32BIT gcc-3.4

The executables in it, xg1000 and Karaoke depend on

  • GLIBCXX_3.4
  • GCC_3.0
  • CXXABI_1.3
  • uClibc 0.9.27

I was able to run them in qemu-system-mips with vmlinux-2.6.32-5-4kc-malta from https://people.debian.org/~aurel32/qemu/mipsel/ and an image built with buildroot git version 257dcdeabfc7072023050be6c8da46e0b76d478e in a debian etch VM

Making it work again

error screen いつもDAM

warning screen

The machine has telnet open and the “default” user has no password. You can log in and edit the /etc/shadow file with vi to remove the root password. Then reconnect and log in as root without a password.

I’ve automated the logging in part with an expect script

#!/usr/bin/expect

set ip "192.168.xxx.xxx"

spawn "/bin/sh"
send "telnet $ip\r"

expect "uclibc login:"
send "default\r"

expect "\$ "
send "vi /etc/shadow\r";
expect "root:"
for {set i 0} {$i < 38} {incr i} {
    send "\033\[C"
}
send "a"
for {set i 0} {$i < 34} {incr i} {
    send "\010"
}
send "\033:wq\r"

expect "$ "
send "exit\r"

expect "sh-5.2\$ "
send "telnet $ip\r"

expect "uclibc login:"
send "root\r"

expect "# "
send "whoami\r"

expect "# "
send "mount /dev/sdc1 /mnt\r"

interact

As root you can run /NK1000/Data/MODUL/SetTime 2020-06-06 to reset the date and make the machine work again if it has expired.

Hidden menus

Service menu

When the machine is off but has power (the power button will have a red LED and the screen is off) hold the Tempo- and Tempo+ buttons and then press the power button. Instead of the loading screen it will be black for a few seconds and then show the service menu. You can also hold the Tempo up key from the normal mode.

You can do a bunch of setups here and run basic tests.

Developer menu

lock screen says 強制ロックがかかりました お取り扱い店にご連絡下さい To get in the developer menu, press the Tempo reset keys a few times from the top service menu. It will then ask for a password, on older updates this is 8650 on newer ones it is 865024. Here you can change the serial, set the IP address and reset the machine to factory settings which will clear the lock.

99 Menus

When the machine is on and running in normal mode, press 99 and then the DAM key to open a quick settings menu. Here you can adjust echo, volume and the type of background. Navigate with Tempo and Key keys and close with the DAM key.

98 Menu

The same thing but it’s a bar at the top of the screen instead of a big overlay

97 Menu

The same thing but it’s a window in the top left of the screen.

96 Menu

This is something about video

Owner mode

Play track number 0000-01 Here you can update the remote and permanently set some of the settings from the 99 menu.

Remote settings

To get into the settings of the デンモク remote you press the “Remote” button in the bottom right. Enter 983, then press メモリーセット. it will show a message, then enter the 9193 password and press メモリーセット again

Intro vid

7777-77 will play an Intro video that presents 4 feature:

  1. Burn your terrible singing to disc Yo check out my mixtape

  2. SD card Look at photos of your trip to the Korea DMZ while you sing. ((You need the Media dock for this))

  3. iPod Play music from your iPod ((You need the Media dock for this))

  4. Game There are at least 2 Games: One that just measures how loud you’ve been and calculates burnt calories from that. The calorie counter can be enabled/disabled in the owner menu. You can check the calories for the last tracks using 8000-30. A game like singstar where you actually have to kinda hit the tone to get a score. To start this game enter song 8000-01 for ranked and 8000-02 for casual games. You can look at past scores using 8000-99

Easter egg

5793-01 is the company track of DKK

Font file format

4bit grayscale

Folder contents

Folder Content Format
5 empty  
11 empty  
30 weird history trivie Shift-JIS txt
40 wavetables??? YHMK (probably stands for Yamaha)
44 empty  
56 6 demo videos Windows Media Video 9
58 DAMstation ad and binaries Quicktime MP4
59 1 binary YKCD????
115 UI elements, fonts, the keypress beep audio, audio from the test menu BMP, OSM_FONT2 (Osung Midicom?), WAV, MP3
300 music instrumentals, numbered after the clubdam ID MP3
301 high entropy binaries, corresponging filenames to 300 ???
302 9 subfolders images of track names and words 291-314 bytes + PNG
303 videos of nature and ambiance music WMV, MP3
304 ambiance music MP3
305 next track tables, stock photos, list of new tracks, error screens MPEG2 stills
306 9 subfolders with binaries, libGooSystem refers to them as medley, they have clubdam IDs ???
307 29 binaries and a script rename.sh that renamed each file from 22.* to 307.* txt
308 binaries with names corresponding to clubdam IDs MIDI???
310 on screen menu images BMP
311 online ranking game, gundam visual novel, golf animations, some pokemon graphics MPEG2 stills, JPEG, BMP
312 vocals mp3
313 single 528b mp3 file YOKA MP3 (can’t play)
314 binaries YARC ???
315 empty  
316 album/artist images JPEG
317 binaries YARC header and DBGV chunks
318 empty  
319 music video WMV 9
320 videos??? WMB1P WMV3 (can’t play)
321 movie trailers (tetsuo shinohara’s gakko no kaidan) WMV 9
323 DAM channel videos WMV 9
324 NHK historic video with a note they can be played using 7500-xx (playing them gives a message they’re expired) WMV 9
340 an image of a pretty japanese woman and a note about data being received JPEG, Shift-JIS TXT
341 the album cover to aerosmith’s “just push play”, the track “beyond beautiful”, an xml file describing it as T0001S01.wma and being on the album “Climbing!” by Mountain and a note about something being downloaded JPEG, WMA2, Euc-JP XML, Shift-JIS TXT
342 OTHER PEOPLES SINGING ????????? WAV
343 a file containing about 8 unrelated track names no idea
344 a silent 4s mp3 MP3
360 empty  
362 empty  
400 empty  
401 empty  
402 empty  
403 empty  
404 empty  
405 empty  
406 empty  
441 empty  
1017 empty  
1033 empty  
1528 data song index??

Folder 321 (which is all ads) uses up most of the space (388,1GB)

Special files: | Filename | Content | Note | |———-|———|——–| 1.133 | CommMode flag | 1.309 | CAutoBackup::CompareEntryNum | ??? 115.3 | front panel firmware | 115.17 | Rireki? 1byte 115.303 | OpenMusicType / GetNumberOfMusic | 115.306 | CheckPlayLock | 115.312 | error messages 115.911 | GetIrregularTerminal | looks like L0000001 is their dev serial 115.482 | GetMIDISongNumber | 115.905 | HSTP Haishin Stop 115.1012 | BGVpermission | doesn’t exist 115.1031 | NCB Content?? Contains Bingo and Sweet Angel | ??.426 | Playcount | 115.303 | some kind of track index | 44.1 | temp file for updating the remote | doesn’t exist 426.1 | doesn’t exist, putPlayCount references it | might exist on a running system or the A drive