PC98 Core

suverman
Posts: 84
Joined: Mon May 25, 2020 1:17 am
Has thanked: 42 times
Been thanked: 6 times

PC98 Core

Unread post by suverman »

We would love one. :D
friendly.joe
Posts: 20
Joined: Mon May 25, 2020 5:16 am
Has thanked: 5 times

Re: PC98 core

Unread post by friendly.joe »

Yes! That would be lovely :)
puu
Core Developer
Posts: 113
Joined: Mon May 25, 2020 9:20 am
Location: Japan
Has thanked: 2 times
Been thanked: 151 times
Contact:

Re: PC98 core

Unread post 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?
suverman
Posts: 84
Joined: Mon May 25, 2020 1:17 am
Has thanked: 42 times
Been thanked: 6 times

Re: PC98 core

Unread post by suverman »

https://drive.google.com/file/d/1iq58d_ ... sp=sharing

puu-san v30 bios I believe, please check.
puu
Core Developer
Posts: 113
Joined: Mon May 25, 2020 9:20 am
Location: Japan
Has thanked: 2 times
Been thanked: 151 times
Contact:

Re: PC98 core

Unread post by puu »

@suverman
Do you have ITF rom on same machine?
suverman
Posts: 84
Joined: Mon May 25, 2020 1:17 am
Has thanked: 42 times
Been thanked: 6 times

Re: PC98 core

Unread post by suverman »

puu
Core Developer
Posts: 113
Joined: Mon May 25, 2020 9:20 am
Location: Japan
Has thanked: 2 times
Been thanked: 151 times
Contact:

Re: PC98 core

Unread post 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.
LeftEmpty
Posts: 148
Joined: Sun May 24, 2020 6:47 pm
Has thanked: 4 times
Been thanked: 4 times

Re: PC98 core

Unread post 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!)
suverman
Posts: 84
Joined: Mon May 25, 2020 1:17 am
Has thanked: 42 times
Been thanked: 6 times

Re: PC98 core

Unread post 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.
LeftEmpty
Posts: 148
Joined: Sun May 24, 2020 6:47 pm
Has thanked: 4 times
Been thanked: 4 times

Re: PC98 core

Unread post by LeftEmpty »

Here it reached the sent box, so fingers crossed ;D
ExCyber
Posts: 232
Joined: Sun May 24, 2020 3:33 pm
Has thanked: 12 times
Been thanked: 77 times

Re: PC98 core

Unread post 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...
dentnz
Core Developer
Posts: 54
Joined: Sun May 24, 2020 10:28 pm
Been thanked: 12 times

Re: PC98 core

Unread post by dentnz »

@puu have you got a build of PC98 core so far?
puu
Core Developer
Posts: 113
Joined: Mon May 25, 2020 9:20 am
Location: Japan
Has thanked: 2 times
Been thanked: 151 times
Contact:

Re: PC98 core

Unread post 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.
LeftEmpty
Posts: 148
Joined: Sun May 24, 2020 6:47 pm
Has thanked: 4 times
Been thanked: 4 times

Re: PC98 core

Unread post by LeftEmpty »

Dang, I've never come across a V30 only PC98 BIOS — the only V30 BIOS I have are from PC-88VA lines.
puu
Core Developer
Posts: 113
Joined: Mon May 25, 2020 9:20 am
Location: Japan
Has thanked: 2 times
Been thanked: 151 times
Contact:

Re: PC98 core

Unread post 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.)
dentnz
Core Developer
Posts: 54
Joined: Sun May 24, 2020 10:28 pm
Been thanked: 12 times

Re: PC98 core

Unread post 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?
puu
Core Developer
Posts: 113
Joined: Mon May 25, 2020 9:20 am
Location: Japan
Has thanked: 2 times
Been thanked: 151 times
Contact:

Re: PC98 core

Unread post by puu »

Sorry, what is Patreon?
User avatar
lomdar67
Posts: 184
Joined: Sun May 24, 2020 8:27 pm
Has thanked: 14 times
Been thanked: 9 times

Re: PC98 core

Unread post 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
We raise hopes here...until they're old enough to fend for themselves.
--Mike Callahan
Nfel
Posts: 2
Joined: Mon May 25, 2020 5:02 am
Has thanked: 1 time

Re: PC98 core

Unread post by Nfel »

puu wrote: Fri Jun 12, 2020 1:15 pm Sorry, what is Patreon?
They want to give you money for your work!
User avatar
Newsdee
Top Contributor
Posts: 873
Joined: Mon May 25, 2020 1:07 am
Has thanked: 104 times
Been thanked: 239 times

Re: PC98 core

Unread post 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.
suverman
Posts: 84
Joined: Mon May 25, 2020 1:17 am
Has thanked: 42 times
Been thanked: 6 times

Re: PC98 core

Unread post 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
User avatar
siskavard
Posts: 63
Joined: Sun May 24, 2020 11:47 pm
Has thanked: 29 times
Been thanked: 6 times

Re: PC98 core

Unread post 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
dshadoff
Core Developer
Posts: 547
Joined: Sun May 24, 2020 9:30 pm
Has thanked: 20 times
Been thanked: 145 times

Re: PC98 core

Unread post 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.
puu
Core Developer
Posts: 113
Joined: Mon May 25, 2020 9:20 am
Location: Japan
Has thanked: 2 times
Been thanked: 151 times
Contact:

Re: PC98 core

Unread post 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.
User avatar
Chris23235
Top Contributor
Posts: 983
Joined: Sun May 24, 2020 8:45 pm
Has thanked: 127 times
Been thanked: 197 times

Re: PC98 core

Unread post 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.
User avatar
siskavard
Posts: 63
Joined: Sun May 24, 2020 11:47 pm
Has thanked: 29 times
Been thanked: 6 times

Re: PC98 core

Unread post by siskavard »

Thanks for the info. I'm still rooting for ya!
Mosojol
Posts: 3
Joined: Fri Oct 30, 2020 5:20 am
Has thanked: 1 time

Re: PC98 core

Unread post by Mosojol »

Is this still being worked on? It would be amazing to have PC98 simulation!
puu
Core Developer
Posts: 113
Joined: Mon May 25, 2020 9:20 am
Location: Japan
Has thanked: 2 times
Been thanked: 151 times
Contact:

Re: PC98 core

Unread post 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.
ayanami0
Posts: 10
Joined: Mon Aug 24, 2020 2:07 pm
Been thanked: 1 time

Re: PC98 core

Unread post by ayanami0 »

thank you puu.
Mosojol
Posts: 3
Joined: Fri Oct 30, 2020 5:20 am
Has thanked: 1 time

Re: PC98 core

Unread post by Mosojol »

Post Reply