IBM PCJr Core

Seaboone
Posts: 2
Joined: Fri Apr 30, 2021 4:11 pm

IBM PCJr Core

Unread post by Seaboone »

Does anyone know if there is any WIP on a IBM PCjr Core for the Mister? I used to own one, and although it was short lived I had a grand old time with it.
flynnsbit
Top Contributor
Posts: 550
Joined: Sun May 24, 2020 8:07 pm
Has thanked: 179 times
Been thanked: 307 times
Contact:

Re: IBM PCJr Core

Unread post by flynnsbit »

Best you could do would be the 486 core with both L1 and L2 cache turned off, and the processor set to 15Mhz. Then set the text mode to a CGA mode in dos and it might actually be pretty close, but not accurate.
User avatar
darksakul
Posts: 352
Joined: Mon May 25, 2020 4:34 pm
Has thanked: 397 times
Been thanked: 73 times

Re: IBM PCJr Core

Unread post by darksakul »

So is there any particular purpose you want a IBM PCjr core?

And for the sakes of argument as it applies to everything lets skip the "because preservation" statement.
As we can only replicate the internals and behaviors and not it's more notable characteristics (like the worst IBM Keyboard made).


Here the stock system specs of the PC Jr

CPU Intel 8088 @ 4.77 MHz
Memory 64 KB base
Graphics Video Gate Array
Sound Texas Instruments SN76489

I believe the PC Jr also uses Carts, I am not sure how easy or hard it would be to just to add to the 486 core.

The OS that comes with the PCjr is Dos 2.0, I do not know if later versions of Dos are compatible at all.
So yeah the 486 core isn't a good match despite the 486 and the 8088 both being descended from the 8086
And most people run a rather modern 3rd party version of DOS on their 486.

From a game playing perspective I only see a small select of games would be useable from this era of IBM computing.

And looking at this era the Tandy/Coco cores are a better fit for gaming in this era.
I could be wrong, but I don't know many must haves that's would be excusive to the PC Jr.
It is my great regret that we live in an age that is proud of machines that think and suspicious of people who try to.
dmckean
Posts: 307
Joined: Sat Jan 16, 2021 7:03 am
Has thanked: 387 times
Been thanked: 95 times

Re: IBM PCJr Core

Unread post by dmckean »

darksakul wrote: Fri Apr 30, 2021 5:48 pm So is there any particular purpose you want a IBM PCjr core?

And for the sakes of argument as it applies to everything lets skip the "because preservation" statement.
As we can only replicate the internals and behaviors and not it's more notable characteristics (like the worst IBM Keyboard made).


Here the stock system specs of the PC Jr

CPU Intel 8088 @ 4.77 MHz
Memory 64 KB base
Graphics Video Gate Array
Sound Texas Instruments SN76489

I believe the PC Jr also uses Carts, I am not sure how easy or hard it would be to just to add to the 486 core.

The OS that comes with the PCjr is Dos 2.0, I do not know if later versions of Dos are compatible at all.
So yeah the 486 core isn't a good match despite the 486 and the 8088 both being descended from the 8086
And most people run a rather modern 3rd party version of DOS on their 486.

From a game playing perspective I only see a small select of games would be useable from this era of IBM computing.

And looking at this era the Tandy/Coco cores are a better fit for gaming in this era.
I could be wrong, but I don't know many must haves that's would be excusive to the PC Jr.
The Tandy 1000 is basically a PC Jr. without the cartridge slot and a very slightly different implementation of the same video hardware. I can't see any reason not to support both if an 8088 core becomes a reality.
thorr
Top Contributor
Posts: 1099
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 535 times
Been thanked: 252 times

Re: IBM PCJr Core

Unread post by thorr »

This should be in the Other Computer Cores, not Other Console Cores forum.
I used a PC Jr in my computer class in school. It was the only one in the room, and the rest were XT's I think. The PC Jr was compatible with the other computers and from what I recall had good color capabilities and possibly better sound. The other computers had hercules monochrome amber graphics which looked pretty good because they were crisp and high resolution compared to CGA. This is all from memory, so take it for what it is worth.
User avatar
mapf
Posts: 153
Joined: Mon Aug 31, 2020 8:05 pm
Has thanked: 58 times
Been thanked: 51 times

Re: IBM PCJr Core

Unread post by mapf »

There are PC/XT cores for the ZX Uno FPGA - maybe they could be used as a starting point. See https://www.zxuno.com/forum/viewforum.php?f=56
dmckean
Posts: 307
Joined: Sat Jan 16, 2021 7:03 am
Has thanked: 387 times
Been thanked: 95 times

Re: IBM PCJr Core

Unread post by dmckean »

mapf wrote: Sat May 01, 2021 3:33 pm There are PC/XT cores for the ZX Uno FPGA - maybe they could be used as a starting point. See https://www.zxuno.com/forum/viewforum.php?f=56
No, that core uses Next186 CPU core and VGA. It's not going to be any more compatible with 8088 software than what we have with ao486.
User avatar
Reed_Solomon
Posts: 65
Joined: Sun May 24, 2020 7:37 pm
Has thanked: 40 times
Been thanked: 8 times

Re: IBM PCJr Core

Unread post by Reed_Solomon »

Q*Bert uses an 8088 cpu running at 5Mhz would that implementation be sufficient?
dmckean
Posts: 307
Joined: Sat Jan 16, 2021 7:03 am
Has thanked: 387 times
Been thanked: 95 times

Re: IBM PCJr Core

Unread post by dmckean »

Q*Bert uses an 8086 CPU.
Televicious
Posts: 93
Joined: Mon May 25, 2020 8:23 pm
Been thanked: 4 times

Re: IBM PCJr Core

Unread post by Televicious »

dmckean wrote: Sat May 01, 2021 5:58 pm
mapf wrote: Sat May 01, 2021 3:33 pm There are PC/XT cores for the ZX Uno FPGA - maybe they could be used as a starting point. See https://www.zxuno.com/forum/viewforum.php?f=56
No, that core uses Next186 CPU core and VGA. It's not going to be any more compatible with 8088 software than what we have with ao486.
Actually, Next186 running in 1/4 speed is similar to a 12.5mhz 286 which is only a slight step up from the 8088. I tried a few older titles like caverns of kroz and they were very much playable. I'm not sure ao486 could pull that off.
User avatar
Newsdee
Top Contributor
Posts: 830
Joined: Mon May 25, 2020 1:07 am
Has thanked: 98 times
Been thanked: 209 times

Re: IBM PCJr Core

Unread post by Newsdee »

There is room for a "early DOS PC" kind of core with settings for (say) CGA / Hercules, and a lower pixel clock.
The main purpose would be to play all those early games that might go too fast on ao486.

That said, I expect many of those games might already work with one of the DOS slowdown TSR utilities that existed back in the day.
dmckean
Posts: 307
Joined: Sat Jan 16, 2021 7:03 am
Has thanked: 387 times
Been thanked: 95 times

Re: IBM PCJr Core

Unread post by dmckean »

Newsdee wrote: Sat Sep 25, 2021 7:09 am There is room for a "early DOS PC" kind of core with settings for (say) CGA / Hercules, and a lower pixel clock.
The main purpose would be to play all those early games that might go too fast on ao486.

That said, I expect many of those games might already work with one of the DOS slowdown TSR utilities that existed back in the day.
Most games work with slowdown utilities. Most of what doesn't work is early games and utilities that either 1) used undocumented opcodes for the 8088, 2) ran extra compatibility checks on the hardware which fail on later machines or 3) have tight timings and require cycle accuracy to run.
werpu
Posts: 74
Joined: Sun May 24, 2020 7:37 pm
Has thanked: 12 times
Been thanked: 14 times

Re: IBM PCJr Core

Unread post by werpu »

It makes more sense to emulate a Tandy 1000, the pcjr only has a handful of games which can use the better graphics and sound, all of them also exist for the Tandy 1000 and many more which has the same graphics and soundchips but in a newer slightly incompatible version (TGA Graphics and Sound). Not sure where you want to go with a PC Jr when a Tandy is just the same but better with literally all games + hundreds more ported to the system!

https://www.youtube.com/watch?v=mYHtojsaRkY
User avatar
kathleen
Top Contributor
Posts: 409
Joined: Fri Jun 26, 2020 4:23 am
Location: Belgium
Has thanked: 224 times
Been thanked: 131 times

Re: IBM PCJr Core

Unread post by kathleen »

I fully agree with you @werpu.in addition to this, we've the chance to already have the cores Tandy Coco2, Coco3, MC-10, it would be fantastic to complete this family with the Tandy 1000SL / TL.

かすりん

t9999clint
Posts: 11
Joined: Tue Sep 22, 2020 7:09 am
Has thanked: 2 times
Been thanked: 2 times

Re: IBM PCJr Core

Unread post by t9999clint »

I would be pretty interested in a PCjr Core.
Also I have one so I could awnser a lot of questions about what it can/can't do. Plus I am willing to test stuff and compare the core to the original.

I would love a PCjr core as it's such a weird little PC (not actually IBM PC compatible despite being a IBM PC)
But honestly I'd rather have a Tandy 1000SL core instead. (More games/software for that platform, and I don't have a 1000SL yet)

I'd say that the PCjr and Tandy 1000SL are so close to the same that they should probably be the same core with some different configuration options to switch between the two.
The Tandy 1000SL was a clone of the PCjr, but wound up being better and more successful than the PCjr ever was.
User avatar
kathleen
Top Contributor
Posts: 409
Joined: Fri Jun 26, 2020 4:23 am
Location: Belgium
Has thanked: 224 times
Been thanked: 131 times

Re: IBM PCJr Core

Unread post by kathleen »

Agree @t9999clint, PCjr & Tandy 1000 are quite close.
I do have a Tandy 1000HX (with the 640kb ram ext.) I'm also willing to give my support if some tests are needed to be done on real hardware. If this can help I'd be glad to participate as well. Unfortunately, so far, there is not such a core in the pipe. Let's cross our fingers that this happens a day.

かすりん

t9999clint
Posts: 11
Joined: Tue Sep 22, 2020 7:09 am
Has thanked: 2 times
Been thanked: 2 times

Re: IBM PCJr Core

Unread post by t9999clint »

also, I'm not so sure about the Tandy, but the PCjr has a TON of documentaion availible for it on Archive.org.
This include full circuit diagrams and hi res photos of the original boards.

I also know some people who make hardware mods for the PCjr that can awnser questions if politely asked.

I'm not saying this would be an easy core to make, but most of the hard stuff in terms of research and such is basically done already.
The only non standard chips would be the ones responsible for the Tandy/PCjr sound and graphics. I know there's been projects to reverse engineer those, but I don't know how far along they are. I'm pretty sure tandy sound is done as you can buy a modern tandy soundcard, but I'm not sure if that guy has opensourced his work.

Accurate emulators don't really exist for these machines yet. Closest thing you can get is DOSBOX, and that's about as accurate as a child's drawing of a picasso when compared to the real thing. Both are barely recognisable as peices of art, but they're not even close to the same.
dmckean
Posts: 307
Joined: Sat Jan 16, 2021 7:03 am
Has thanked: 387 times
Been thanked: 95 times

Re: IBM PCJr Core

Unread post by dmckean »

t9999clint wrote: Wed Mar 23, 2022 6:10 am I'm not saying this would be an easy core to make, but most of the hard stuff in terms of research and such is basically done already.
The only non standard chips would be the ones responsible for the Tandy/PCjr sound and graphics.
The only thing custom is IBM's video gate array. The MC6845 is implemented in FPGA already in the BBC Micro and Amstrad CPC cores and the SN76489 sound chip is implemented in the Sega Master System core.
thorr
Top Contributor
Posts: 1099
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 535 times
Been thanked: 252 times

Re: IBM PCJr Core

Unread post by thorr »

The Tandy had speech capabilities as well. Anyone know if this was a separate sound chip and is it already implemented in another core? There is an open source Tandy sound card available and DOS utilities to make it work with most games. I am hoping this can at least be added to ao486. I also would like to see the PCem approach on the MiSTer someday and fully emulate all the parts of the PC including the bios screens and all the hardware, and have different PC's accurately emulated (Tandy, XT, 286, 386, etc.) that can be overclocked if you want to.
dmckean
Posts: 307
Joined: Sat Jan 16, 2021 7:03 am
Has thanked: 387 times
Been thanked: 95 times

Re: IBM PCJr Core

Unread post by dmckean »

The Tandy didn't have any speech. I think the ao486 core is probably too full to add this sort of stuff. I think it makes sense to put the Tandy 1000/PC jr and PC/XT in their own core as they share a lot of components and things like cycle accuracy could be possible. We're never going to have that in the ao486 core, at least not on the DE-10 Nano.

It would take a lot more effort to emulate 286 and 386. Not only did the CPUs themselves get more complex but everything on the main board did also. Plus, from a gaming perspective that era isn't the most interesting for the PC because because it lacked capability when compared the Atari ST and Amiga. It would be nice to eventually see it though.
thorr
Top Contributor
Posts: 1099
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 535 times
Been thanked: 252 times

Re: IBM PCJr Core

Unread post by thorr »

dmckean wrote: Wed Mar 23, 2022 11:23 pm The Tandy didn't have any speech. I think the ao486 core is probably too full to add this sort of stuff. I think it makes sense to put the Tandy 1000/PC jr and PC/XT in their own core as they share a lot of components and things like cycle accuracy could be possible.
https://youtu.be/kbp094HDZ20?t=220 for what I was mainly referring to for Tandy speech
https://www.youtube.com/watch?v=WAIVQkPEraI a second Tandy speech option
https://youtu.be/DVyzU4fhm-I?t=118 a third Tandy speech option only available in a specific Tandy model (J. series)

I agree it makes sense to at least have a cycle accurate Tandy core for the early games. And a PC/XT with CGA and Hercules graphics options. But after that, why not keep going and do the rest. We have infinite time after all... ;-)
t9999clint
Posts: 11
Joined: Tue Sep 22, 2020 7:09 am
Has thanked: 2 times
Been thanked: 2 times

Re: IBM PCJr Core

Unread post by t9999clint »

AO486 is way to fast/complex for PCJr/Tandy 1000 stuff.
Also most games made for the original 4.77mhz Intel 8088 were quite speed sensitive and don't take too well to different timings.
In terms of features, I think a less is more aproach would probably be best at first. Work on getting compatibility with PCJr stuff done, then move on to Tandy, then maybe branch out to PC XT/AT stuff.

The main tricky bit would be to get a cycle accurate 8088 implemented on the DE10. I think others have done that already for other FPGAs but not sure if their code would be helpfull here.
User avatar
kathleen
Top Contributor
Posts: 409
Joined: Fri Jun 26, 2020 4:23 am
Location: Belgium
Has thanked: 224 times
Been thanked: 131 times

Re: IBM PCJr Core

Unread post by kathleen »

t9999clint wrote: Thu Mar 24, 2022 5:56 am AO486 is way to fast/complex for PCJr/Tandy 1000 stuff.
Also most games made for the original 4.77mhz Intel 8088 were quite speed sensitive and don't take too well to different timings.
In terms of features, I think a less is more aproach would probably be best at first. Work on getting compatibility with PCJr stuff done, then move on to Tandy, then maybe branch out to PC XT/AT stuff.

The main tricky bit would be to get a cycle accurate 8088 implemented on the DE10. I think others have done that already for other FPGAs but not sure if their code would be helpfull here.
This has already been discussed in another thread by the (Mist + ZXuno) Next186 core could be a good starting point.
The AO486 is an amazing core but it is difficult to me to place it in a "too much" or "not enough" case.
I'd love to see a 8088 to 80386 with the graphic standards of back in the days, real CGA, TGA, Hecule, EGA. And this not especially for the games but for the apps a well. I remember having used Autocad on a 80286-16, I'd like to revive those moment with the Mister, with the constrains that we had at that time. I'm (maybe) crazy or too nostalgic, I let you decide :-)

かすりん

JasonA
Core Developer
Posts: 40
Joined: Fri Mar 11, 2022 9:46 am
Has thanked: 14 times
Been thanked: 103 times

Re: IBM PCJr Core

Unread post by JasonA »

I started porting the MiST Next186 core over to MiSTer.

I have alot of other core work to keep me busy but will keep coming back to the Next186 core.
Buy me a coffee https://Ko-fi.com/jasona
Post Reply