PC88 Core

User avatar
lomdar67
Posts: 182
Joined: Sun May 24, 2020 8:27 pm
Has thanked: 12 times
Been thanked: 8 times

Re: PC88 Core

Unread post by lomdar67 »

ron wrote: Wed Jul 01, 2020 6:03 pm OK, this seems to work fine. Was a nightmare.
Any chance you can somehow share this rom?
We raise hopes here...until they're old enough to fend for themselves.
--Mike Callahan
breiztiger
Top Contributor
Posts: 427
Joined: Sun May 24, 2020 7:17 pm
Has thanked: 23 times
Been thanked: 93 times

Re: PC88 Core

Unread post by breiztiger »

@ron, can you compare your rom sha with mine please ?
CPC-Power Staff
User avatar
ron
Posts: 159
Joined: Sun May 24, 2020 7:02 pm
Has thanked: 67 times
Been thanked: 58 times

Re: PC88 Core

Unread post by ron »

@LeftEmpty & @lomdar67 & @breiztiger , PM. Good Luck
User avatar
ron
Posts: 159
Joined: Sun May 24, 2020 7:02 pm
Has thanked: 67 times
Been thanked: 58 times

Re: PC88 Core

Unread post by ron »

OK, just in order to help:

cat N88.ROM N80.ROM N88_0.ROM N88_1.ROM N88_2.ROM N88_3.ROM FONT.BIN GRAPH.BIN DISK.ROM N88KNJ1.ROM N88KNJ2.ROM > pc8801mk2sr.rom

4f984e04a99d56c4cfe36115415d6eb8 N88.ROM 32768
2ff07b8769367321128e03924af668a0 N80.ROM 32768
d675a2ca186c6efcd6277b835de4c7e5 N88_0.ROM 8192
e844534dfe5744b381444dbe61ef1b66 N88_1.ROM 8192
6548fa45061274dee1ea8ae1e9e93910 N88_2.ROM 8192
fc4b76a402ba501e6ba6de4b3e8b4273 N88_3.ROM 8192
56262bd422155391e995e2116f72b583 FONT.BIN 4096
83b2d2e6f050cf869efad605c2170632 GRAPH.BIN 4096
f553ae258c4a93de4e64dc35830d9737 DISK.ROM 8192
d81c6d5d7ad1a4bbbd6ae22a01257603 N88KNJ1.ROM 131072
41d2e2c0c0edfccf76fa1c3e38bc1cf2 N88KNJ2.ROM 131072

Disk paddings are not necessary.

pc8801mk2sr.rom filesize is : 376832
LeftEmpty
Posts: 141
Joined: Sun May 24, 2020 6:47 pm
Has thanked: 2 times
Been thanked: 4 times

Re: PC88 Core

Unread post by LeftEmpty »

Thank you very much for the explanation. Can't tell you how relieved that makes me feel!
weirdocollector
Posts: 1
Joined: Wed Jul 15, 2020 7:47 am

Re: PC88 Core

Unread post by weirdocollector »

ron wrote: Wed Jul 01, 2020 6:51 pm @LeftEmpty & @lomdar67 & @breiztiger , PM. Good Luck
Hi ron! Good to find you here :D

Could you also help me with the bios roms for the X68000 and PC88 cores ?

Thanks!
User avatar
ron
Posts: 159
Joined: Sun May 24, 2020 7:02 pm
Has thanked: 67 times
Been thanked: 58 times

Re: PC88 Core

Unread post by ron »

Weirdo, that's right ! nice to see you here old friend.
puu
Core Developer
Posts: 111
Joined: Mon May 25, 2020 9:20 am
Location: Japan
Has thanked: 2 times
Been thanked: 130 times
Contact:

Re: PC88 Core

Unread post by puu »

There is a bug in the disk emulator that seems to destroy the image when written.
I have uploaded a modified version, so please update it.
http://fpga8801.seesaa.net/article/476375569.html
pcfreak324
Posts: 50
Joined: Mon Jun 01, 2020 12:14 pm
Has thanked: 3 times
Been thanked: 12 times

Re: PC88 Core

Unread post by pcfreak324 »

First of all thank you puu for this core. It's really fun to play games on these old Japanese computers and relive the excitement we never had in the west. I hope that someday we will see a core for the Sharp X1 as well.

I tried a few games and while the joystick input worked on most games, there were some games that could only be controlled by keyboard (for example Castle Excellent, Mario Bros. Special, Punch Ball Mario Bros. and The Castle). Is this expected behaviour as these games never had joystick support or am I doing something wrong?
LeftEmpty
Posts: 141
Joined: Sun May 24, 2020 6:47 pm
Has thanked: 2 times
Been thanked: 4 times

Re: PC88 Core

Unread post by LeftEmpty »

I think joystick became an option only with the later SR series, so it makes sense for 8801 games to not support it. I wouldn't think of playing the Castle games with the potential fear of pressing a wrong jump input anyway!

You could remap the keyboard numeric pad and Z, X, C keys to be done by the joystick in the OSD menu though.
toolboc
Posts: 2
Joined: Sat Jan 16, 2021 4:57 pm
Been thanked: 1 time

Re: PC88 Core

Unread post by toolboc »

@ron,

>f553ae258c4a93de4e64dc35830d9737 DISK.ROM 8192
Where / how can this disk.rom be obtained? I've noticed 8KB and 2KB disk.rom images floating around, but neither matches the reported md5sum (either as-is or with padding of either 1's or 0's)

Also, what is the md5sum for the resulting pc8801mk2sr.rom?
breiztiger
Top Contributor
Posts: 427
Joined: Sun May 24, 2020 7:17 pm
Has thanked: 23 times
Been thanked: 93 times

Re: PC88 Core

Unread post by breiztiger »

the real name is m2mr_disk.rom

boot.rom
CRC32: 70657ae0
MD5: 9132c648f78e5bdc33b4a28c6877ebad
SHA-1: d8544b462d71f0af13e47ca6f10b8b67b8c81bdf
CPC-Power Staff
toolboc
Posts: 2
Joined: Sat Jan 16, 2021 4:57 pm
Been thanked: 1 time

Re: PC88 Core

Unread post by toolboc »

Interesting,

It looks like m2mr_disk.rom can be found in the pc8801mk2mr set. I was able to find what I need and produce a boot.rom with matching md5sum of 9132c648f78e5bdc33b4a28c6877ebad, this had me feeling confident but there's actually an extra step required to produce a proper image.

Specifically,
Disk paddings are not necessary. -@ron
I was a bit skeptical that disk padding / alignment is not necessary, puu's source indicates offsets expected at the following:

Code: Select all

package addressmap_pkg is
	constant ADDR_N88			:std_logic_Vector(27 downto 0)	:=x"0000000";
	constant ADDR_N80			:std_logic_vector(27 downto 0)	:=x"0008000";
	constant ADDR_N88_4_0	:std_logic_vector(27 downto 0)	:=x"0010000";
	constant ADDR_N88_4_1	:std_logic_vector(27 downto 0)	:=x"0012000";
	constant ADDR_N88_4_2	:std_logic_vector(27 downto 0)	:=x"0014000";
	constant ADDR_N88_4_3	:std_logic_vector(27 downto 0)	:=x"0016000";
	constant ADDR_FONT		:std_logic_vector(27 downto 0)	:=x"0018000";
	constant ADDR_GFONT		:std_logic_vector(27 downto 0)	:=x"0019000";
	constant ADDR_SUBROM		:std_logic_vector(27 downto 0)	:=x"001a000";
	constant ADDR_KANJI1		:std_logic_vector(27 downto 0)	:=x"0020000";
	constant ADDR_KANJI2		:std_logic_vector(27 downto 0)	:=x"0040000";
	constant ADDR_BACKRAM	:std_logic_vector(27 downto 0)	:=x"0400000";
	constant ADDR_MAINRAM	:std_logic_vector(27 downto 0)	:=x"0408000";
	constant ADDR_SUBRAM		:std_logic_vector(27 downto 0)	:=x"0410000";
	constant ADDR_GVRAM		:std_logic_vector(27 downto 0)	:=x"0420000";
	constant ADDR_EXTRAM		:std_logic_vector(27 downto 0)	:=x"0480000";
	constant ADDR_ADPCM		:std_logic_vector(27 downto 0)	:=x"0600000";
	constant ADDR_FDEMU		:std_logic_vector(27 downto 0)	:=x"0800000";
end addressmap_pkg;
A misaligned boot.rom may properly boot disks, but would expect to produce errors when the core attempts to reference anything in the kanji romsets if kanji1 does not start at 0x20000.

In fact, using the boot.rom with md5sum 9132c648f78e5bdc33b4a28c6877ebad results in improper kanji when loading up Snatcher in the PC88 core. You can verify this by pulling down this romset https://www.myabandonware.com/game/snat ... e#download, then set Mode to N88v2, Speed 8MHz, and then mount disk 1 to FDD0 and disk 2 to FDD1, set Disk boot to enable, then reset as shown below:

1UO32Hd.jpg
1UO32Hd.jpg (1.69 MiB) Viewed 25028 times

When using the boot.rom with md5sum 9132c648f78e5bdc33b4a28c6877ebad, the game will load, and you probably won't notice but the blue kanji text will be completely malformed, eventually you will be presented with a screen that contains yellow text but you will see chars that look like a p and q, where it should look like a 0 and 1 respectively (FYI, press "0" , then "1" to start the game).

Using the boot.rom with md5sum 9132c648f78e5bdc33b4a28c6877ebad will produce the following inaccurate characters:

wYs2vZ9.jpg
wYs2vZ9.jpg (1.34 MiB) Viewed 25028 times

In summary, alignment / padding is absolutely necessary. Just because you see text that looks like Japanese characters on the screen does not mean that they are the correct characters.

To create an accurate boot.rom, I used the bios files contained in a release by the name of pc88srl.zip (which matches all of @ron's supplied md5sums with exception of disk.rom), this will produce a working bootrom with proper kanji sets using the common 2KB disk.rom (untouched md5sum: 793f86784e5608352a5d7f03f03e0858) by padding it with 0x5810 (0x20000 - 0x1a7f0) of zeroes to properly align (padded md5sum: 989d98e8126da4e878a52083b1694750), then run the following to generate the image:

Code: Select all

cat n88.rom n80.rom n88_0.rom n88_1.rom n88_2.rom n88_3.rom font.bin graphfont.bin disk.rom kanji1.rom kanji2.rom > boot.rom
The resulting md5sum for this image is badbe6abe5c3178ce299b68049c48514

Place this boot.rom in /fat/PC8801mk2SR and you're good to go!

Using this image yields the correct characters as show below:

s0slmou.jpeg
s0slmou.jpeg (1.44 MiB) Viewed 25028 times

If you made it this far, you've learned two very cool things, the importance of padding / alignment and how to load Snatcher with this core!

nnx1fwV.jpeg
nnx1fwV.jpeg (1.83 MiB) Viewed 25028 times

BTW, we might as well start posting the core .rbfs in this thread, there is nothing proprietary in the core and it could certainly open up the PC-88 to a larger audience. The X68000 thread is doing it, we should do it too.
breiztiger
Top Contributor
Posts: 427
Joined: Sun May 24, 2020 7:17 pm
Has thanked: 23 times
Been thanked: 93 times

Re: PC88 Core

Unread post by breiztiger »

i think you mean 0x5800 not 0x5810
CPC-Power Staff
User avatar
pgimeno
Top Contributor
Posts: 669
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 246 times
Been thanked: 208 times

Re: PC88 Core

Unread post by pgimeno »

toolboc wrote: Mon Jan 18, 2021 2:50 am To create an accurate boot.rom, I used the bios files contained in a release by the name of pc88srl.zip (which matches all of @ron's supplied md5sums with exception of disk.rom), this will produce a working bootrom with proper kanji sets using the common 2KB disk.rom (untouched md5sum: 793f86784e5608352a5d7f03f03e0858) by padding it with 0x5810 (0x20000 - 0x1a7f0) of zeroes to properly align (padded md5sum: 989d98e8126da4e878a52083b1694750), then run the following to generate the image:
Thanks. That had to be 0x5800 for me, not 0x5810. Rather than padding the file, I just generated a pad.bin file with 0x5800 zeros (attached) and included it in the 'cat' command line. Since my romset is the merged one from MAME, my command line was this:

Code: Select all

cat pc8801mk2sr/mk2sr_n88.rom pc8801mk2fr/m2fr_n80.rom pc8801mk2fr/m2fr_n88_0.rom pc8801mk2sr/n88_1.rom pc8801mk2sr/n88_2.rom pc8801mk2sr/n88_3.rom FONT.BIN GRAPH.BIN disk.rom pad.bin kanji1.rom pc8801mk2sr/kanji2.rom > boot.rom
That should generate the boot.rom with MD5 badbe6abe5c3178ce299b68049c48514.

I'm amused that the MD5 of the ROM that Ron generated ends with "bad" and the one you generated starts with "bad".

I was unable to find FONT.BIN and GRAPH.BIN anywhere. I extracted them from a working boot.rom that someone kindly provided. Any idea where these can be found? Because otherwise the instructions above are useless for users who don't have them. I found a pc88srl.zip from an old MESS version but it didn't have them.
Attachments
pad.zip
(203 Bytes) Downloaded 341 times
breiztiger
Top Contributor
Posts: 427
Joined: Sun May 24, 2020 7:17 pm
Has thanked: 23 times
Been thanked: 93 times

Re: PC88 Core

Unread post by breiztiger »

Can someone provided the last pc88 build please ?
CPC-Power Staff
User avatar
wark91
Core Developer
Posts: 334
Joined: Sun May 24, 2020 8:34 pm
Has thanked: 447 times
Been thanked: 94 times

Re: PC88 Core

Unread post by wark91 »

Last version of PC88 Core
Attachments
PC88_20200717.zip
Last version of the core
(1.14 MiB) Downloaded 416 times
breiztiger
Top Contributor
Posts: 427
Joined: Sun May 24, 2020 7:17 pm
Has thanked: 23 times
Been thanked: 93 times

Re: PC88 Core

Unread post by breiztiger »

thanks
CPC-Power Staff
pcfreak324
Posts: 50
Joined: Mon Jun 01, 2020 12:14 pm
Has thanked: 3 times
Been thanked: 12 times

Re: PC88 Core

Unread post by pcfreak324 »

pgimeno wrote: Mon Jan 18, 2021 6:57 pm I was unable to find FONT.BIN and GRAPH.BIN anywhere. I extracted them from a working boot.rom that someone kindly provided. Any idea where these can be found? Because otherwise the instructions above are useless for users who don't have them. I found a pc88srl.zip from an old MESS version but it didn't have them.
font.bin = hn613128pac8.bin from MAME romset pc9801f.zip
OhPoorPup
Posts: 3
Joined: Tue Aug 11, 2020 12:11 am
Has thanked: 1 time
Been thanked: 1 time

Re: PC88 Core

Unread post by OhPoorPup »

Hi! Using toolboc's instructions I was able to generate a boot.rom that matched the md5sum (badbe6abe5c3178ce299b68049c48514), but unfortunately on boot I'm getting some really intense visual glitching and screen flashing.

Doesn't respond to any settings changes, and if I've booted the Zet98 core beforehand the bottom half of the screen will contain whatever was last displayed there. At the top of the screen you can see the text from the PC88 core, so clearly it's booting.... Does anyone have any idea what could be causing this?

image0.jpg
image0.jpg (2.11 MiB) Viewed 26861 times
OhPoorPup
Posts: 3
Joined: Tue Aug 11, 2020 12:11 am
Has thanked: 1 time
Been thanked: 1 time

Re: PC88 Core

Unread post by OhPoorPup »

[UPDATE] I got it to work! I don't know why, but wark91's upload of the core seemed to be causing the issue? I've recompiled the core and it boots just fine now. I'll attach my compiled core if anyone wants to compare!

PC88_20200717.zip
(1.13 MiB) Downloaded 413 times

Sorry for double-post but: reinstalled MiSTer on a new SD, double checked all files, tried recompiling the BIOS and still no luck. Memtest looks fine. Really confused here.
Nedyahwerd
Posts: 1
Joined: Mon Feb 15, 2021 5:20 pm

Re: PC88 Core

Unread post by Nedyahwerd »

Just learned about this core and wanted to give it a shot. Can't help but feel overwhelmed but finally after reading this thread I have a starting point for this one (Thank you for the zip files btw). I'm definitely not well versed on some of this (Python and QAR files) but banging my head against it has been a fun project. Got the .rbf file now to find the boot rom.

P.S.

Why haven't I found this forum months ago!
rcade
Posts: 100
Joined: Wed May 27, 2020 7:57 pm
Been thanked: 13 times

Re: PC88 Core

Unread post by rcade »

This is absurd. Where can I find the boot.rom this needs to run? I've seen scripts to build it, but I don't find graph.bin and others in any archive or other PC88 emulator.
shira
Posts: 20
Joined: Sat May 30, 2020 10:54 am
Has thanked: 20 times
Been thanked: 11 times

Re: PC88 Core

Unread post by shira »

With the hints provided in this thread, I made a MRA file (download and code below).
  • Put it in '_Computer'.
  • Put the *.rbf in '_Computer/cores'.
  • Put pc8801.zip and pc9801f.zip from the mame set inside '/media/fat/games/mame'.
  • Start core by selecting the MRA file.
  • Set 'Mode' to 'N88V2' in core menu.
  • Reset core.
  • You should now see some text.
Notes:

The graphfont.bin data is taken from 'PC8801/Font/graphfont.bin' inside the *.qar files provided by Puu-san.

Download:
pc8801mk2sr.mra.zip
(1.5 KiB) Downloaded 414 times

Code: Select all

<misterromdescription>
  <name>NEC PC-8801 MK II SR BIOS</name>
  <mratimestamp>202101180000</mratimestamp>
  <mameversion>0224</mameversion>
  <setname>pc8801</setname>
  <year>1985</year>
  <manufacturer>NEC</manufacturer>
  <category>BIOS</category>
  <rbf>PC88</rbf>

  <rom index="0" zip="pc8801.zip|pc9801f.zip" md5="e2a4c20f24eb3897a3d8f93f3204a662" type="merged|nonmerged|split">
    <part crc="a0fc0473" name="pc8801mk2sr/mk2sr_n88.rom"/>
    <part crc="27e1857d" name="pc8801mk2fr/m2fr_n80.rom"/>
    <part crc="710a63ec" name="pc8801mk2fr/m2fr_n88_0.rom"/>
    <part crc="c0bd2aa6" name="pc8801mk2sr/n88_1.rom"/>
    <part crc="af2b6efa" name="pc8801mk2sr/n88_2.rom"/>
    <part crc="7713c519" name="pc8801mk2sr/n88_3.rom"/>
    <part crc="b5a15b5c" name="hn613128pac8.bin"/>
    <!-- graphfont.bin -->
    <part>
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0 f0 f0 f0 00 00 00 00 00 00 00 00 00 00 00 00
      00 00 00 00 f0 f0 f0 f0 00 00 00 00 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 00 00 00 00
      00 00 00 00 00 00 00 00 f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 00 00 00 00
      00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00
      00 00 00 00 00 00 00 00 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 00 00 00 00 f0 f0 f0 f0
      00 00 00 00 f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0
      00 00 00 00 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0
      00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0
      0f 0f 0f 0f 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
      0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 00 00 00 00 ff ff ff ff f0 f0 f0 f0 00 00 00 00 00 00 00 00
      0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 00 00 00 00 ff ff ff ff 00 00 00 00 f0 f0 f0 f0 00 00 00 00
      0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00
      0f 0f 0f 0f 00 00 00 00 00 00 00 00 f0 f0 f0 f0 ff ff ff ff 00 00 00 00 00 00 00 00 f0 f0 f0 f0
      0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0
      0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0
      0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0
      00 00 00 00 0f 0f 0f 0f 00 00 00 00 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00 00 00 00 00
      00 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00 f0 f0 f0 f0 ff ff ff ff 00 00 00 00 00 00 00 00
      00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00
      00 00 00 00 ff ff ff ff f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 00 00 00 00
      00 00 00 00 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0
      00 00 00 00 ff ff ff ff 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff 00 00 00 00 f0 f0 f0 f0
      00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0
      00 00 00 00 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0
      0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00 00 00 00 00 ff ff ff ff 0f 0f 0f 0f 00 00 00 00 00 00 00 00
      0f 0f 0f 0f ff ff ff ff 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00
      0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00
      0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 00 00 00 00 ff ff ff ff ff ff ff ff f0 f0 f0 f0 00 00 00 00
      0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0
      0f 0f 0f 0f ff ff ff ff 00 00 00 00 f0 f0 f0 f0 ff ff ff ff ff ff ff ff 00 00 00 00 f0 f0 f0 f0
      0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0
      0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0
      00 00 00 00 00 00 00 00 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f 00 00 00 00
      00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00
      00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 f0 f0 f0 f0 00 00 00 00 ff ff ff ff 00 00 00 00
      00 00 00 00 f0 f0 f0 f0 ff ff ff ff 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff 00 00 00 00
      00 00 00 00 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0
      00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0
      00 00 00 00 00 00 00 00 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 ff ff ff ff f0 f0 f0 f0
      00 00 00 00 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0
      0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f 00 00 00 00 ff ff ff ff 00 00 00 00 0f 0f 0f 0f 00 00 00 00
      0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00 ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00
      0f 0f 0f 0f 00 00 00 00 ff ff ff ff 00 00 00 00 ff ff ff ff 00 00 00 00 ff ff ff ff 00 00 00 00
      0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff 00 00 00 00 ff ff ff ff f0 f0 f0 f0 ff ff ff ff 00 00 00 00
      0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0
      0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0
      0f 0f 0f 0f 00 00 00 00 ff ff ff ff f0 f0 f0 f0 ff ff ff ff 00 00 00 00 ff ff ff ff f0 f0 f0 f0
      0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0
      00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00
      00 00 00 00 ff ff ff ff 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f 00 00 00 00
      00 00 00 00 0f 0f 0f 0f ff ff ff ff 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff 00 00 00 00
      00 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 f0 f0 f0 f0 ff ff ff ff ff ff ff ff 00 00 00 00
      00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0
      00 00 00 00 ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0
      00 00 00 00 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0
      00 00 00 00 ff ff ff ff ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff ff ff ff ff f0 f0 f0 f0
      0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00 ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00
      0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f 00 00 00 00 ff ff ff ff ff ff ff ff 0f 0f 0f 0f 00 00 00 00
      0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff 00 00 00 00 ff ff ff ff 0f 0f 0f 0f ff ff ff ff 00 00 00 00
      0f 0f 0f 0f ff ff ff ff ff ff ff ff 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00
      0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0
      0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0
      0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0
      0f 0f 0f 0f ff ff ff ff ff ff ff ff f0 f0 f0 f0 ff ff ff ff ff ff ff ff ff ff ff ff f0 f0 f0 f0
      00 00 00 00 00 00 00 00 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 00 00 00 00 0f 0f 0f 0f
      00 00 00 00 f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f
      00 00 00 00 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f
      00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f
      00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff f0 f0 f0 f0 00 00 00 00 00 00 00 00 ff ff ff ff
      00 00 00 00 f0 f0 f0 f0 00 00 00 00 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 ff ff ff ff
      00 00 00 00 00 00 00 00 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 ff ff ff ff
      00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff
      0f 0f 0f 0f 00 00 00 00 00 00 00 00 0f 0f 0f 0f ff ff ff ff 00 00 00 00 00 00 00 00 0f 0f 0f 0f
      0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f
      0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f
      0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f
      0f 0f 0f 0f 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 ff ff ff ff
      0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 ff ff ff ff ff ff ff ff f0 f0 f0 f0 00 00 00 00 ff ff ff ff
      0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 ff ff ff ff ff ff ff ff 00 00 00 00 f0 f0 f0 f0 ff ff ff ff
      0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff
      00 00 00 00 0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f
      00 00 00 00 ff ff ff ff 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff 00 00 00 00 0f 0f 0f 0f
      00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f
      00 00 00 00 ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f
      00 00 00 00 0f 0f 0f 0f 00 00 00 00 ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00 ff ff ff ff
      00 00 00 00 ff ff ff ff 00 00 00 00 ff ff ff ff f0 f0 f0 f0 ff ff ff ff 00 00 00 00 ff ff ff ff
      00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff
      00 00 00 00 ff ff ff ff f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 ff ff ff ff
      0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f
      0f 0f 0f 0f ff ff ff ff 00 00 00 00 0f 0f 0f 0f ff ff ff ff ff ff ff ff 00 00 00 00 0f 0f 0f 0f
      0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f
      0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f
      0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00 ff ff ff ff ff ff ff ff 0f 0f 0f 0f 00 00 00 00 ff ff ff ff
      0f 0f 0f 0f ff ff ff ff 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 ff ff ff ff
      0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff
      0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 ff ff ff ff ff ff ff ff ff ff ff ff f0 f0 f0 f0 ff ff ff ff
      00 00 00 00 00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f
      00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f
      00 00 00 00 00 00 00 00 ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 ff ff ff ff 0f 0f 0f 0f
      00 00 00 00 f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f
      00 00 00 00 00 00 00 00 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f ff ff ff ff
      00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff
      00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff f0 f0 f0 f0 00 00 00 00 ff ff ff ff ff ff ff ff
      00 00 00 00 f0 f0 f0 f0 ff ff ff ff ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff ff ff ff ff
      0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff 00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f
      0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f
      0f 0f 0f 0f 00 00 00 00 ff ff ff ff 0f 0f 0f 0f ff ff ff ff 00 00 00 00 ff ff ff ff 0f 0f 0f 0f
      0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f
      0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f ff ff ff ff ff ff ff ff 00 00 00 00 0f 0f 0f 0f ff ff ff ff
      0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff
      0f 0f 0f 0f 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 ff ff ff ff ff ff ff ff
      0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff ff ff ff ff ff ff ff ff f0 f0 f0 f0 ff ff ff ff ff ff ff ff
      00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f
      00 00 00 00 ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f
      00 00 00 00 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f
      00 00 00 00 ff ff ff ff ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff ff ff ff ff 0f 0f 0f 0f
      00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff
      00 00 00 00 ff ff ff ff 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f ff ff ff ff
      00 00 00 00 0f 0f 0f 0f ff ff ff ff ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff ff ff ff ff
      00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff f0 f0 f0 f0 ff ff ff ff ff ff ff ff ff ff ff ff
      0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f
      0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f
      0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f
      0f 0f 0f 0f ff ff ff ff ff ff ff ff 0f 0f 0f 0f ff ff ff ff ff ff ff ff ff ff ff ff 0f 0f 0f 0f
      0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff
      0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f ff ff ff ff ff ff ff ff ff ff ff ff 0f 0f 0f 0f ff ff ff ff
      0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff ff ff ff ff ff ff ff ff 0f 0f 0f 0f ff ff ff ff ff ff ff ff
      0f 0f 0f 0f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    </part>
    <part crc="2447516b" name="pc8801mk2mr/m2mr_disk.rom"/>
    <!-- padding -->
    <part repeat="16384">00</part>
    <part crc="6178bd43" name="kanji1.rom"/>
    <part crc="154803cc" name="pc8801mk2sr/kanji2.rom"/>
  </rom>
</misterromdescription>
rcade
Posts: 100
Joined: Wed May 27, 2020 7:57 pm
Been thanked: 13 times

Re: PC88 Core

Unread post by rcade »

Thanks- I was able to find the graphfont file, as well as I had a "wrong" regular font file. With that fixed, it boots now.
User avatar
Alkadian
Top Contributor
Posts: 721
Joined: Thu May 28, 2020 9:55 am
Has thanked: 289 times
Been thanked: 116 times

Re: PC88 Core

Unread post by Alkadian »

shira wrote: Sun Feb 21, 2021 2:31 am With the hints provided in this thread, I made a MRA file (download and code below).
  • Put it in '_Computer'.
  • Put the *.rbf in '_Computer/cores'.
  • Put pc8801.zip and pc9801f.zip from the mame set inside '/media/fat/games/mame'.
  • Start core by selecting the MRA file.
  • Set 'Mode' to 'N88V2' in core menu.
  • Reset core.
  • You should now see some text.
Notes:

The graphfont.bin data is taken from 'PC8801/Font/graphfont.bin' inside the *.qar files provided by Puu-san.

Download:

pc8801mk2sr.mra.zip

Code: Select all

<misterromdescription>
  <name>NEC PC-8801 MK II SR BIOS</name>
  <mratimestamp>202101180000</mratimestamp>
  <mameversion>0224</mameversion>
  <setname>pc8801</setname>
  <year>1985</year>
  <manufacturer>NEC</manufacturer>
  <category>BIOS</category>
  <rbf>PC88</rbf>

  <rom index="0" zip="pc8801.zip|pc9801f.zip" md5="e2a4c20f24eb3897a3d8f93f3204a662" type="merged|nonmerged|split">
    <part crc="a0fc0473" name="pc8801mk2sr/mk2sr_n88.rom"/>
    <part crc="27e1857d" name="pc8801mk2fr/m2fr_n80.rom"/>
    <part crc="710a63ec" name="pc8801mk2fr/m2fr_n88_0.rom"/>
    <part crc="c0bd2aa6" name="pc8801mk2sr/n88_1.rom"/>
    <part crc="af2b6efa" name="pc8801mk2sr/n88_2.rom"/>
    <part crc="7713c519" name="pc8801mk2sr/n88_3.rom"/>
    <part crc="b5a15b5c" name="hn613128pac8.bin"/>
    <!-- graphfont.bin -->
    <part>
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0 f0 f0 f0 00 00 00 00 00 00 00 00 00 00 00 00
      00 00 00 00 f0 f0 f0 f0 00 00 00 00 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 00 00 00 00
      00 00 00 00 00 00 00 00 f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 00 00 00 00
      00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00
      00 00 00 00 00 00 00 00 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 00 00 00 00 f0 f0 f0 f0
      00 00 00 00 f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0
      00 00 00 00 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0
      00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0
      0f 0f 0f 0f 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
      0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 00 00 00 00 ff ff ff ff f0 f0 f0 f0 00 00 00 00 00 00 00 00
      0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 00 00 00 00 ff ff ff ff 00 00 00 00 f0 f0 f0 f0 00 00 00 00
      0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00
      0f 0f 0f 0f 00 00 00 00 00 00 00 00 f0 f0 f0 f0 ff ff ff ff 00 00 00 00 00 00 00 00 f0 f0 f0 f0
      0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0
      0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0
      0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0
      00 00 00 00 0f 0f 0f 0f 00 00 00 00 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00 00 00 00 00
      00 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00 f0 f0 f0 f0 ff ff ff ff 00 00 00 00 00 00 00 00
      00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00
      00 00 00 00 ff ff ff ff f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 00 00 00 00
      00 00 00 00 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0
      00 00 00 00 ff ff ff ff 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff 00 00 00 00 f0 f0 f0 f0
      00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0
      00 00 00 00 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0
      0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00 00 00 00 00 ff ff ff ff 0f 0f 0f 0f 00 00 00 00 00 00 00 00
      0f 0f 0f 0f ff ff ff ff 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00
      0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00
      0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 00 00 00 00 ff ff ff ff ff ff ff ff f0 f0 f0 f0 00 00 00 00
      0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0
      0f 0f 0f 0f ff ff ff ff 00 00 00 00 f0 f0 f0 f0 ff ff ff ff ff ff ff ff 00 00 00 00 f0 f0 f0 f0
      0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0
      0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0
      00 00 00 00 00 00 00 00 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f 00 00 00 00
      00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00
      00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 f0 f0 f0 f0 00 00 00 00 ff ff ff ff 00 00 00 00
      00 00 00 00 f0 f0 f0 f0 ff ff ff ff 00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff 00 00 00 00
      00 00 00 00 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0
      00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0
      00 00 00 00 00 00 00 00 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 ff ff ff ff f0 f0 f0 f0
      00 00 00 00 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0
      0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f 00 00 00 00 ff ff ff ff 00 00 00 00 0f 0f 0f 0f 00 00 00 00
      0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00 ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00
      0f 0f 0f 0f 00 00 00 00 ff ff ff ff 00 00 00 00 ff ff ff ff 00 00 00 00 ff ff ff ff 00 00 00 00
      0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff 00 00 00 00 ff ff ff ff f0 f0 f0 f0 ff ff ff ff 00 00 00 00
      0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0
      0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0
      0f 0f 0f 0f 00 00 00 00 ff ff ff ff f0 f0 f0 f0 ff ff ff ff 00 00 00 00 ff ff ff ff f0 f0 f0 f0
      0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0
      00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00
      00 00 00 00 ff ff ff ff 0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f 00 00 00 00
      00 00 00 00 0f 0f 0f 0f ff ff ff ff 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff 00 00 00 00
      00 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 f0 f0 f0 f0 ff ff ff ff ff ff ff ff 00 00 00 00
      00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0
      00 00 00 00 ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0
      00 00 00 00 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0
      00 00 00 00 ff ff ff ff ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff ff ff ff ff f0 f0 f0 f0
      0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00 ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00
      0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f 00 00 00 00 ff ff ff ff ff ff ff ff 0f 0f 0f 0f 00 00 00 00
      0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff 00 00 00 00 ff ff ff ff 0f 0f 0f 0f ff ff ff ff 00 00 00 00
      0f 0f 0f 0f ff ff ff ff ff ff ff ff 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00
      0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0
      0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0
      0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0
      0f 0f 0f 0f ff ff ff ff ff ff ff ff f0 f0 f0 f0 ff ff ff ff ff ff ff ff ff ff ff ff f0 f0 f0 f0
      00 00 00 00 00 00 00 00 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 00 00 00 00 0f 0f 0f 0f
      00 00 00 00 f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f
      00 00 00 00 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f
      00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f
      00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff f0 f0 f0 f0 00 00 00 00 00 00 00 00 ff ff ff ff
      00 00 00 00 f0 f0 f0 f0 00 00 00 00 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 ff ff ff ff
      00 00 00 00 00 00 00 00 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 00 00 00 00 f0 f0 f0 f0 ff ff ff ff
      00 00 00 00 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff
      0f 0f 0f 0f 00 00 00 00 00 00 00 00 0f 0f 0f 0f ff ff ff ff 00 00 00 00 00 00 00 00 0f 0f 0f 0f
      0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f
      0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff 00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f
      0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f
      0f 0f 0f 0f 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 ff ff ff ff
      0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 ff ff ff ff ff ff ff ff f0 f0 f0 f0 00 00 00 00 ff ff ff ff
      0f 0f 0f 0f 00 00 00 00 f0 f0 f0 f0 ff ff ff ff ff ff ff ff 00 00 00 00 f0 f0 f0 f0 ff ff ff ff
      0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff
      00 00 00 00 0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f
      00 00 00 00 ff ff ff ff 00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff 00 00 00 00 0f 0f 0f 0f
      00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f
      00 00 00 00 ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f
      00 00 00 00 0f 0f 0f 0f 00 00 00 00 ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f 00 00 00 00 ff ff ff ff
      00 00 00 00 ff ff ff ff 00 00 00 00 ff ff ff ff f0 f0 f0 f0 ff ff ff ff 00 00 00 00 ff ff ff ff
      00 00 00 00 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff
      00 00 00 00 ff ff ff ff f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 ff ff ff ff f0 f0 f0 f0 ff ff ff ff
      0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f
      0f 0f 0f 0f ff ff ff ff 00 00 00 00 0f 0f 0f 0f ff ff ff ff ff ff ff ff 00 00 00 00 0f 0f 0f 0f
      0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f
      0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f
      0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00 ff ff ff ff ff ff ff ff 0f 0f 0f 0f 00 00 00 00 ff ff ff ff
      0f 0f 0f 0f ff ff ff ff 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 ff ff ff ff
      0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff
      0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 ff ff ff ff ff ff ff ff ff ff ff ff f0 f0 f0 f0 ff ff ff ff
      00 00 00 00 00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f
      00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f
      00 00 00 00 00 00 00 00 ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 00 00 00 00 ff ff ff ff 0f 0f 0f 0f
      00 00 00 00 f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f
      00 00 00 00 00 00 00 00 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 00 00 00 00 0f 0f 0f 0f ff ff ff ff
      00 00 00 00 f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff
      00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff f0 f0 f0 f0 00 00 00 00 ff ff ff ff ff ff ff ff
      00 00 00 00 f0 f0 f0 f0 ff ff ff ff ff ff ff ff f0 f0 f0 f0 f0 f0 f0 f0 ff ff ff ff ff ff ff ff
      0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff 00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f
      0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f
      0f 0f 0f 0f 00 00 00 00 ff ff ff ff 0f 0f 0f 0f ff ff ff ff 00 00 00 00 ff ff ff ff 0f 0f 0f 0f
      0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f
      0f 0f 0f 0f 00 00 00 00 0f 0f 0f 0f ff ff ff ff ff ff ff ff 00 00 00 00 0f 0f 0f 0f ff ff ff ff
      0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff
      0f 0f 0f 0f 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 ff ff ff ff ff ff ff ff
      0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff ff ff ff ff ff ff ff ff f0 f0 f0 f0 ff ff ff ff ff ff ff ff
      00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f
      00 00 00 00 ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f
      00 00 00 00 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f
      00 00 00 00 ff ff ff ff ff ff ff ff 0f 0f 0f 0f f0 f0 f0 f0 ff ff ff ff ff ff ff ff 0f 0f 0f 0f
      00 00 00 00 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff
      00 00 00 00 ff ff ff ff 0f 0f 0f 0f ff ff ff ff f0 f0 f0 f0 ff ff ff ff 0f 0f 0f 0f ff ff ff ff
      00 00 00 00 0f 0f 0f 0f ff ff ff ff ff ff ff ff f0 f0 f0 f0 0f 0f 0f 0f ff ff ff ff ff ff ff ff
      00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff f0 f0 f0 f0 ff ff ff ff ff ff ff ff ff ff ff ff
      0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f
      0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f
      0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f
      0f 0f 0f 0f ff ff ff ff ff ff ff ff 0f 0f 0f 0f ff ff ff ff ff ff ff ff ff ff ff ff 0f 0f 0f 0f
      0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff ff ff ff ff 0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff
      0f 0f 0f 0f ff ff ff ff 0f 0f 0f 0f ff ff ff ff ff ff ff ff ff ff ff ff 0f 0f 0f 0f ff ff ff ff
      0f 0f 0f 0f 0f 0f 0f 0f ff ff ff ff ff ff ff ff ff ff ff ff 0f 0f 0f 0f ff ff ff ff ff ff ff ff
      0f 0f 0f 0f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    </part>
    <part crc="2447516b" name="pc8801mk2mr/m2mr_disk.rom"/>
    <!-- padding -->
    <part repeat="16384">00</part>
    <part crc="6178bd43" name="kanji1.rom"/>
    <part crc="154803cc" name="pc8801mk2sr/kanji2.rom"/>
  </rom>
</misterromdescription>
Thanks for sharing!
User avatar
pgimeno
Top Contributor
Posts: 669
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 246 times
Been thanked: 208 times

Re: PC88 Core

Unread post by pgimeno »

After a close examination of graph.bin, I noticed that it followed a binary count pattern and was able to generate it programmatically, which I guess won't violate any copyright. This bash script should generate a correct boot.rom (it should be able to run on the MiSTer itself but I haven't tried). You need to find the ID of the MAME 0.209 merged ROM set in archive.org and enter it in the second line.

Code: Select all

#!/bin/bash
id="<set this to the ID of the MAME 0.209 merged ROM set from archive.org>"
set -e
mkdir \$tmp\$
cd \$tmp\$

true > graph.bin

declare -a data
data[0]=00
data[1]=f0
data[16]=0f
data[17]=ff
for i in {0..255}
do
  for j in 0 1 2 3
  do
    k=${data[$((i >> j & 0x11))]}
    printf \\x$k\\x$k\\x$k\\x$k >> graph.bin
  done
done

true > pad.bin
for i in {0..1407}
do
  printf "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
 >> pad.bin
done

wget "https://archive.org/download/$id/$id.zip/pc8801.zip"
wget "https://archive.org/download/$id/$id.zip/pc9801f.zip"
unzip pc8801.zip
unzip pc9801f.zip

cat pc8801mk2sr/mk2sr_n88.rom pc8801mk2fr/m2fr_n80.rom\
 pc8801mk2fr/m2fr_n88_0.rom pc8801mk2sr/n88_1.rom pc8801mk2sr/n88_2.rom\
 pc8801mk2sr/n88_3.rom hn613128pac8.bin graph.bin disk.rom pad.bin kanji1.rom\
 pc8801mk2sr/kanji2.rom > ../boot.rom

cd ..
rm -rf \$tmp\$

echo
md5sum boot.rom
It prints the MD5 at the end so you can verify that it is in fact badbe6abe5c3178ce299b68049c48514.
User avatar
Alkadian
Top Contributor
Posts: 721
Joined: Thu May 28, 2020 9:55 am
Has thanked: 289 times
Been thanked: 116 times

Re: PC88 Core

Unread post by Alkadian »

pgimeno wrote: Sun Feb 21, 2021 1:28 pm After a close examination of graph.bin, I noticed that it followed a binary count pattern and was able to generate it programmatically, which I guess won't violate any copyright. This bash script should generate a correct boot.rom (it should be able to run on the MiSTer itself but I haven't tried). You need to find the ID of the MAME 0.209 merged ROM set in archive.org and enter it in the second line.

Code: Select all

#!/bin/bash
id="<set this to the ID of the MAME 0.209 merged ROM set from archive.org>"
set -e
mkdir \$tmp\$
cd \$tmp\$

true > graph.bin

declare -a data
data[0]=00
data[1]=f0
data[16]=0f
data[17]=ff
for i in {0..255}
do
  for j in 0 1 2 3
  do
    k=${data[$((i >> j & 0x11))]}
    printf \\x$k\\x$k\\x$k\\x$k >> graph.bin
  done
done

true > pad.bin
for i in {0..1407}
do
  printf "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
 >> pad.bin
done

wget "https://archive.org/download/$id/$id.zip/pc8801.zip"
wget "https://archive.org/download/$id/$id.zip/pc9801f.zip"
unzip pc8801.zip
unzip pc9801f.zip

cat pc8801mk2sr/mk2sr_n88.rom pc8801mk2fr/m2fr_n80.rom\
 pc8801mk2fr/m2fr_n88_0.rom pc8801mk2sr/n88_1.rom pc8801mk2sr/n88_2.rom\
 pc8801mk2sr/n88_3.rom hn613128pac8.bin graph.bin disk.rom pad.bin kanji1.rom\
 pc8801mk2sr/kanji2.rom > ../boot.rom

cd ..
rm -rf \$tmp\$

echo
md5sum boot.rom
It prints the MD5 at the end so you can verify that it is in fact badbe6abe5c3178ce299b68049c48514.
Thanks, this method worked like a charm. I have managed to get a working boot.rom with the same MD5. Just tested Snatcher :mrgreen:
User avatar
mapf
Posts: 153
Joined: Mon Aug 31, 2020 8:05 pm
Has thanked: 58 times
Been thanked: 51 times

Re: PC88 Core

Unread post by mapf »

shira wrote: Sun Feb 21, 2021 2:31 am Put pc8801.zip and pc9801f.zip from the mame set inside '/media/fat/games/mame'.
There are multiple files with these names for Mame or Mess floating around. I found the right ones on archive.org in the mame208romsonlymerged collection. They are 1.797.289 Bytes (pc8801.zip) and 143.234 Bytes (pc9801f.zip)
teller
Posts: 39
Joined: Thu Jul 23, 2020 9:29 pm
Has thanked: 14 times
Been thanked: 3 times

Re: PC88 Core

Unread post by teller »

I haven't used the PC88 core for a long time and recently I wanted to test the first "Dragon Slayer" game which was only released on the PC88. I use the core PC8801_20200717.rbf.
Somehow on my HDMI screen it's not showing the full part of the display, it's like the screen isn't aligned properly and the part of the bottom is cut off. I made some photos.
I checked my MiSTer ini settings and that shouldn't be the problem.
Attachments
IMG_20210513_145453.jpg
IMG_20210513_145453.jpg (2.36 MiB) Viewed 24317 times
IMG_20210513_145426.jpg
IMG_20210513_145426.jpg (2.11 MiB) Viewed 24317 times
Post Reply