openMSX / openMSX

the MSX emulator that aims for perfection
http://openmsx.org
423 stars 94 forks source link

[Feature] Victor (JVC) HC-90/HC-95 emulation [sf#207] #231

Open openMSX-import opened 9 years ago

openMSX-import commented 9 years ago

Reported by sd-snatcher on 2010-06-03 19:53 UTC Much earlier than the Panasonics turbo MSX models (A1-WSX/WX/FX/ST/GT), there were the JVC HC-90. It featured a Hitachi HD64180 CPU at 6.144 MHz, which was able to double the performance speed. It's a pity that no MSX emulator features this wonderful machine yet.

openMSX-import commented 9 years ago

Commented by manuelbi on 2010-06-03 20:23 UTC Yep, but it would definitely help to have good contacts with an owner of such a machine and to have some technical docs about it :)

openMSX-import commented 9 years ago

Commented by sd-snatcher on 2010-06-03 20:46 UTC This guys seems to own both the HC-90 and HC-95: http://www.msxzone.com/?id=msx&menu=msxmachinegallery&sub=jvc

There's a forum on that site, but I don't know how to speak Korean...

openMSX-import commented 9 years ago

Commented by sd-snatcher on 2010-06-03 21:19 UTC Another guy who seems to own the HC-90 and HC-95: http://www.toragiku.com/kopa.htm

openMSX-import commented 9 years ago

Commented by sd-snatcher on 2010-06-03 22:46 UTC Another Victor HC-90 and HC-95 owner:

http://www.geocities.jp/dcc13579/index.htm http://www.geocities.jp/dcc13579/msx1-7.html http://www.geocities.jp/dcc13579/msx1-8.html

openMSX-import commented 9 years ago

Commented by sd-snatcher on 2012-07-02 15:25 UTC This website has some useful information, including the slot layout of this machine:

http://usbsecretbase.michikusa.jp/hc-95/index.html

openMSX-import commented 9 years ago

Updated by sd-snatcher on 2012-07-02 15:25 UTC

openMSX-import commented 9 years ago

Commented by sd-snatcher on 2012-07-02 15:32 UTC According to the "usbsecretbase" site, it seems that there was later HC-95T models that had a V9958 inside.

openMSX-import commented 9 years ago

Updated by sd-snatcher on 2012-07-02 15:32 UTC

openMSX-import commented 9 years ago

Commented by manuelbi on 2012-07-09 19:26 UTC I know the site. I even dumped the ROMs of the machine. I already implemented the disk support of it. So far, it seems to be completely emulated except for the interesting features: the turbo mode and the superimposer.

So, I have a working machine configuration locally, but what's the use of it?

Because this is such a rare machine, I doubt anyone will ever add emulation of this CPU solely for this model... It's a huge amount of work with little gain...

openMSX-import commented 9 years ago

Commented by sd-snatcher on 2012-07-10 16:16 UTC Nice! I didn't know you already had this machine's ROMs and hardware configuration.

I'll try to explain some reasons so you can feel interested on emulating this machine: :) But please don't feel offended in any way.

1) It's a very rare machine. IMHO, it's nice to have this kind of machine emulated for various reasons: 1a) It's more interesting than a lot of nearly identical machines, otherwise users will probably stick with running only the default ones: "msx1", "msx2", "msx2plus" and "turbor", as the other machines will have no interesting features over those. 1b) As it's a rare/expensive machine, most users will not ever be able to experience it without emulation, just like the Pioneer PX_V60+LD700 combo.

2) It's one of the few MSX machines that the engineers took a step further than the average-joe design. The turbo option, back in 1986, means they had the balls for this decision and that alone deserves my respect. I wish the other makers weren't so afraid to try some more enhanced designs back then, even if it was only a turbo Z80 at 5.37MHz/7.14MHz, or better usage of the VDP external interfaces.

3) AFAIK, it's the only machine that supports the VHD games. The laserdisc emulation was implemented to support around the same number of games that the VHD has (and the same type of interactive games). So, why emulating the HC95+VHD would be considered a huge amount of work for little gain, when the laserdisc wasn't?

4) Most of the needed code is already available: 4a) There's a Z180 emulator by Juergen Buchmueller that is GPL-friendly. MAME already uses it: http://mamedev.org/source/src/emu/cpu/z180/z180.c.html 4b) The VHD player works superimposed in a very similar way to a laserdisc. They would probably share a lot of code.

(I know things aren't that simple as just "plugging" code inside openMSX, but this will certainly reduce the amount of work needed)

If you prefer, I may add a specific feature request for the VHD emulation.

openMSX-import commented 9 years ago

Commented by sd-snatcher on 2012-07-10 16:21 UTC I forgot to add that this machine has a very unusual slot configuration that makes it an ideal testbed for MSX developers to improve their software compatibility.

openMSX-import commented 9 years ago

Commented by manuelbi on 2012-07-10 18:06 UTC Thanks. I thought there was already a VHD feature request, but I can't find it back, so I guess I am wrong. Problem is that VHD's are much rarer than LD's and thus no one I know has VHD's or the means to dump them. All we need is someone easy to reach with a VHD system, technical and programming knowledge and a whole load of VHD's.

Anyway, this will remain very low priority.

Do you think having the HC-95 without turbo mode is of any value?

openMSX-import commented 9 years ago

Updated by manuelbi on 2012-07-10 18:06 UTC

openMSX-import commented 9 years ago

Commented by sd-snatcher on 2012-08-14 00:22 UTC Ravazzi (fractal2000) seems to have such system. But how could the disk contents be dumped? Like a Laserdisc? But then, how were the Laserdiscs dumped? If you have a howto for dumping the Laserdiscs, I could ask Ravazzi to try it on the VHDs.

Well, the HC-9x machines without the turbo mode would be at least a first step, as experimental machines. They would be already useful for game developers because their very unusual slot configuration can cause a lot of trouble on buggy detection routines.

At least the following machines of this family would be interesting to include:

- HC-90(V): V9938, 64KB RAM, 1 floppy

Off course the Z180 and VHD would be the gems here. How can I add support for the turbo mode of this machine on my turbofixes otherwise? Turbo-R, WSX/WX/FX and ExpertTurbo are already supported. ;)

openMSX-import commented 9 years ago

Commented by sd-snatcher on 2012-08-14 00:23 UTC Here's a video of fractal2000 testing his HC-90+VHD:

http://www.youtube.com/watch?v=BZPE0essnO8

openMSX-import commented 9 years ago

Commented by manuelbi on 2012-08-14 18:50 UTC I know the video and the machines. In fact, if you look carefully, you'll find already a bare bones HC-95 config in openMSX 0.9.0, with V9958 and 256kB RAM.

The laserdiscs are simply dumped by digitizing the (analog) video signal that comes from it. See also: http://openmsx.sourceforge.net/manual/setup.html\#laserdisc

This is some older text written by Sean about dumping them: How do to dump a palcom laserdisc

Each frame has some associated information:

  1. Frame number
  2. Chapter number
  3. Stop code

If the stop code is present, then the laserdisc will stop playing at this frame, instead showing a still of this frame. The frame numbers start at 1 and increment at each frame (29.97Hz). The chapter number is important for seeking to a chapter, or to find the next or previous (in which case it is important to know what the current chapter number is).

All this information is important for emulation. The chapter numbers and stop codes can be captured first. Some LDs (like Badlands) have no chapter or stop codes. Your LD player can either display the frame and chapter number on screen, or it has a LCD display which shows this information.

When you've found how to display this, play the laserdisc from begining to end and see if it stops anywhere; write those frame numbers down. Also write down where the chapters begin and end.

Next, if there are no stop codes (easy case), simply capture the video from beginning to end. So far I've noticed that the quality does vary per capture card. The newer the card the better, and the better the comb filter, the better. So far the best results I've seen are with the ATI Theatre 650. For an initial version I don't think this matters so much. Matrox RT2500 is supposed to give very good results too, but I have yet to verify this.

Also avoid anything which does hardware compression or is USB based. (the latter will always do some form of hardware compression since the USB bus is does not have enough bandwidth for uncompressed frames).

The captured video must then be cut to the right size, such that the first frame corresponds to the first frame of the LD.

If there are stop codes, it becomes a lot more difficult. I've found no way of telling the laserdisc to ignore stop codes, so while capturing you'll have to occassionaly press "play" on your LD player and those parts must be removed (while the LD is showing a still of those frames). The only way I know if is using the VBI information, which also encodes the three bits of information above.

sdsnatcher commented 7 years ago

AFAIK, Sander (of SuperSoniqs) has one HC-95 with a VHD player and discs. Maybe he would help you with the reverse engineering?

sdsnatcher commented 7 years ago

The Hitachi HD64180 is the same CPU as the Zilog Z180. MAME already has Z180 emulation, maybe it could be reused?