![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
PC98 Core
-
- Posts: 20
- Joined: Mon May 25, 2020 5:16 am
- Has thanked: 5 times
-
- Core Developer
- Posts: 112
- Joined: Mon May 25, 2020 9:20 am
- Location: Japan
- Has thanked: 2 times
- Been thanked: 140 times
- Contact:
Re: PC98 core
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?
(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?
-
- Core Developer
- Posts: 112
- Joined: Mon May 25, 2020 9:20 am
- Location: Japan
- Has thanked: 2 times
- Been thanked: 140 times
- Contact:
Re: PC98 core
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
PVT messages arent leaving the outbox for some reason. I tried sending puu-san a pvt message before posting here.
Re: PC98 core
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...
-
- Core Developer
- Posts: 112
- Joined: Mon May 25, 2020 9:20 am
- Location: Japan
- Has thanked: 2 times
- Been thanked: 140 times
- Contact:
Re: PC98 core
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.
-
- Core Developer
- Posts: 112
- Joined: Mon May 25, 2020 9:20 am
- Location: Japan
- Has thanked: 2 times
- Been thanked: 140 times
- Contact:
Re: PC98 core
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.)
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
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
https://www.patreon.com/about
See also this thread here viewtopic.php?t=482Build a membership for your fans and get paid to create on your own terms.
We raise hopes here...until they're old enough to fend for themselves.
--Mike Callahan
--Mike Callahan
- Newsdee
- Top Contributor
- Posts: 830
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 98 times
- Been thanked: 209 times
Re: PC98 core
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.
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
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. ![Smile :)](./images/smilies/icon_e_smile.gif)
viewtopic.php?f=13&t=680
![Smile :)](./images/smilies/icon_e_smile.gif)
viewtopic.php?f=13&t=680
-
- Core Developer
- Posts: 537
- Joined: Sun May 24, 2020 9:30 pm
- Has thanked: 19 times
- Been thanked: 143 times
Re: PC98 core
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.
I would be surprised if anybody tried to extract and use critical parts of it before active development settles down.
-
- Core Developer
- Posts: 112
- Joined: Mon May 25, 2020 9:20 am
- Location: Japan
- Has thanked: 2 times
- Been thanked: 140 times
- Contact:
Re: PC98 core
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.
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.
- Chris23235
- Top Contributor
- Posts: 868
- Joined: Sun May 24, 2020 8:45 pm
- Has thanked: 114 times
- Been thanked: 180 times
Re: PC98 core
Thanks for the explanation, the differences between 8086 and 8088 are always somewhat confusing.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.
-
- Core Developer
- Posts: 112
- Joined: Mon May 25, 2020 9:20 am
- Location: Japan
- Has thanked: 2 times
- Been thanked: 140 times
- Contact:
Re: PC98 core
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.
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
Thank you!
Would this be of help https://retro-type.com/PC98/files/PC98D ... _10Mhz.zip?
Would this be of help https://retro-type.com/PC98/files/PC98D ... _10Mhz.zip?