Page 1 of 7

PC98 Core

Posted: Wed May 27, 2020 4:00 am
by suverman
We would love one. :D

Re: PC98 core

Posted: Wed May 27, 2020 5:49 am
by friendly.joe
Yes! That would be lovely :)

Re: PC98 core

Posted: Wed May 27, 2020 12:13 pm
by puu
I have developping version of PC-9801 core, but I don't have BIOS image for 8086/V30 CPUs.
(Developping on DE0-CV)
I tested it with the BIOS image for PC-9821, but it couldn't boot because it uses the extended instruction after 386.
Can someone test if you have a BIOS image for 8086 / V30?

Re: PC98 core

Posted: Wed May 27, 2020 3:00 pm
by suverman
https://drive.google.com/file/d/1iq58d_ ... sp=sharing

puu-san v30 bios I believe, please check.

Re: PC98 core

Posted: Thu May 28, 2020 3:02 am
by puu
@suverman
Do you have ITF rom on same machine?

Re: PC98 core

Posted: Thu May 28, 2020 3:10 am
by suverman

Re: PC98 core

Posted: Thu May 28, 2020 7:19 am
by puu
Since the lidtw instruction added in 386 or later to the 0bbc address of ITF code is used, I think that this ITF code was saved from a model equipped with 386 or later.

Re: PC98 core

Posted: Thu May 28, 2020 7:48 am
by LeftEmpty
puu wrote: Thu May 28, 2020 3:02 am @suverman
Do you have ITF rom on same machine?
Sent you a private message (hoping it reaches you!)

Re: PC98 core

Posted: Thu May 28, 2020 8:25 am
by suverman
LeftEmpty wrote: Thu May 28, 2020 7:48 am
puu wrote: Thu May 28, 2020 3:02 am @suverman
Do you have ITF rom on same machine?
Sent you a private message (hoping it reaches you!)
PVT messages arent leaving the outbox for some reason. I tried sending puu-san a pvt message before posting here.

Re: PC98 core

Posted: Thu May 28, 2020 8:43 am
by LeftEmpty
Here it reached the sent box, so fingers crossed ;D

Re: PC98 core

Posted: Thu May 28, 2020 1:41 pm
by ExCyber
puu wrote: Thu May 28, 2020 7:19 am Since the lidtw instruction added in 386 or later to the 0bbc address of ITF code is used, I think that this ITF code was saved from a model equipped with 386 or later.
LIDT instructions were added in 286 (although most people ignored it because 286 protected mode is bad for DOS programs), and it was said that this code is from a V30 model. I think this could be a 286 ROM from a PC-9801VX model that has both 286 and V30...

Re: PC98 core

Posted: Wed Jun 10, 2020 11:12 pm
by dentnz
@puu have you got a build of PC98 core so far?

Re: PC98 core

Posted: Thu Jun 11, 2020 4:00 am
by puu
I have a developping PC-98 core based Zet. But I don't have BIOS image for 8086/V30 only machine. The machine of 286+V30/386+V30 first boots with 286/386, and after hardware initialization, it switches the CPU to V30 and resets it, so it cannot start unless the instructions after 286 can be interpreted.

Re: PC98 core

Posted: Thu Jun 11, 2020 4:23 am
by LeftEmpty
Dang, I've never come across a V30 only PC98 BIOS — the only V30 BIOS I have are from PC-88VA lines.

Re: PC98 core

Posted: Thu Jun 11, 2020 10:02 am
by puu
So I'm currently thinking of changing the CPU IP from Zet to ao486.(Originally I was developing with DE0-CV, but I was using Zet because ao486 could not fit in DE0-CV.)
Since ao486 has a data bus width of 32 bits, I have just written a bus bridge that converts it to a 16 bit bus for I/O.
(Unlike IBM PC, since PC-98 used 8086 from the beginning, another device of 8bit bus width is connected with upper 8bit and lower 8bit the data bus.)

Re: PC98 core

Posted: Fri Jun 12, 2020 9:43 am
by dentnz
Sounds awesome @puu!!!! Having more space on the de10 and using the ao486 cpu things will be helpful I am sure! Keep us posted! Do you have a Patreon?

Re: PC98 core

Posted: Fri Jun 12, 2020 1:15 pm
by puu
Sorry, what is Patreon?

Re: PC98 core

Posted: Fri Jun 12, 2020 1:49 pm
by lomdar67
puu wrote: Fri Jun 12, 2020 1:15 pm Sorry, what is Patreon?
https://www.patreon.com/about
Build a membership for your fans and get paid to create on your own terms.
See also this thread here viewtopic.php?t=482

Re: PC98 core

Posted: Sun Jun 14, 2020 5:43 am
by Nfel
puu wrote: Fri Jun 12, 2020 1:15 pm Sorry, what is Patreon?
They want to give you money for your work!

Re: PC98 core

Posted: Mon Jun 15, 2020 4:35 am
by Newsdee
Guys, consider that Patreon is not for everybody...

Patreon is like a tipping system, people agree to give some money per month in exchange of something.
If you are interested, maybe worth asking other developers what was their experience with it.

Re: PC98 core

Posted: Mon Jul 20, 2020 3:07 am
by suverman
I am not sure if puusan is following the ao486 developments, but looks like ao486 has reached around 100mhz. PC9821 if ~100mhz can run a lot of softwares. :)

viewtopic.php?f=13&t=680

Re: PC98 core

Posted: Wed Aug 12, 2020 6:48 pm
by siskavard
I am replying here so I can keep track of this - the idea of a PC98 core is very exciting. Has there been any progress?

Cheers

Re: PC98 core

Posted: Wed Aug 12, 2020 9:05 pm
by dshadoff
Since the last "release" version of ao486 was in May, I would suggest that it's not yet deemed stable enough to release as a public core.
I would be surprised if anybody tried to extract and use critical parts of it before active development settles down.

Re: PC98 core

Posted: Thu Aug 13, 2020 10:15 am
by puu
Since the original IBM PC used 8088, legacy IO uses consecutive addresses, but since PC-98 used 8086 from the beginning, 8bit IO was directly connected to the 16bit data bus from the beginning. As a result, there are completely different peripherals connected to even and odd addresses.
For example, an interrupt controller is connected to IO addresses 0 and 2, and a DMAC is connected to addresses 1 and 3. For this reason, it is not possible to map well with the avalon interface like ao486, and we are thinking about how to convert from the 32bit avalon IO bus to the legacy 16bit IO bus.
I was able to write up to that part, but ao486 uses burst transfer for memory access, and the SDRAM controller I wrote for the Zet core only considers single word access, so it is difficult.

Re: PC98 core

Posted: Thu Aug 13, 2020 12:35 pm
by Chris23235
puu wrote: Thu Aug 13, 2020 10:15 am Since the original IBM PC used 8088, legacy IO uses consecutive addresses, but since PC-98 used 8086 from the beginning, 8bit IO was directly connected to the 16bit data bus from the beginning. As a result, there are completely different peripherals connected to even and odd addresses.
For example, an interrupt controller is connected to IO addresses 0 and 2, and a DMAC is connected to addresses 1 and 3. For this reason, it is not possible to map well with the avalon interface like ao486, and we are thinking about how to convert from the 32bit avalon IO bus to the legacy 16bit IO bus.
I was able to write up to that part, but ao486 uses burst transfer for memory access, and the SDRAM controller I wrote for the Zet core only considers single word access, so it is difficult.
Thanks for the explanation, the differences between 8086 and 8088 are always somewhat confusing.

Re: PC98 core

Posted: Thu Aug 13, 2020 10:37 pm
by siskavard
Thanks for the info. I'm still rooting for ya!

Re: PC98 core

Posted: Fri Oct 30, 2020 5:22 am
by Mosojol
Is this still being worked on? It would be amazing to have PC98 simulation!

Re: PC98 core

Posted: Mon Nov 02, 2020 11:53 am
by puu
I'm proceeding very slowly.
Rewriting to ao486 base is very difficult, so I'm thinking of going with Zet base as before, but since the BIOS image for 8086 / V30 machine is very difficult to obtain, I think that there is no choice but to write a compatible BIOS. I have.
In that case, it seems that even DOS applications use the internal code of ROM BASIC, so it seems to be important how compatible the BIOS is created.
I have never written a program that handles segments, so I am doing trial and error, including how to write it in assembler.

Re: PC98 core

Posted: Mon Nov 02, 2020 2:20 pm
by ayanami0
thank you puu.

Re: PC98 core

Posted: Wed Nov 04, 2020 6:23 am
by Mosojol