Page 1 of 1

IBM PCJr Core

Posted: Fri Apr 30, 2021 4:12 pm
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.

Re: IBM PCJr Core

Posted: Fri Apr 30, 2021 4:58 pm
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.

Re: IBM PCJr Core

Posted: Fri Apr 30, 2021 5:48 pm
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.

Re: IBM PCJr Core

Posted: Fri Apr 30, 2021 8:26 pm
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.

Re: IBM PCJr Core

Posted: Sat May 01, 2021 12:48 am
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.

Re: IBM PCJr Core

Posted: Sat May 01, 2021 3:33 pm
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

Re: IBM PCJr Core

Posted: Sat May 01, 2021 5:58 pm
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.

Re: IBM PCJr Core

Posted: Sat May 01, 2021 7:53 pm
by Reed_Solomon
Q*Bert uses an 8088 cpu running at 5Mhz would that implementation be sufficient?

Re: IBM PCJr Core

Posted: Sat May 01, 2021 8:10 pm
by dmckean
Q*Bert uses an 8086 CPU.

Re: IBM PCJr Core

Posted: Tue Aug 24, 2021 3:13 am
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.

Re: IBM PCJr Core

Posted: Sat Sep 25, 2021 7:09 am
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.

Re: IBM PCJr Core

Posted: Sun Sep 26, 2021 12:15 am
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.

Re: IBM PCJr Core

Posted: Tue Sep 28, 2021 5:11 am
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

Re: IBM PCJr Core

Posted: Tue Sep 28, 2021 10:14 am
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.

Re: IBM PCJr Core

Posted: Wed Mar 23, 2022 5:19 am
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.

Re: IBM PCJr Core

Posted: Wed Mar 23, 2022 5:53 am
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.

Re: IBM PCJr Core

Posted: Wed Mar 23, 2022 6:10 am
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.

Re: IBM PCJr Core

Posted: Wed Mar 23, 2022 3:08 pm
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.

Re: IBM PCJr Core

Posted: Wed Mar 23, 2022 10:53 pm
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.

Re: IBM PCJr Core

Posted: Wed Mar 23, 2022 11:23 pm
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.

Re: IBM PCJr Core

Posted: Thu Mar 24, 2022 4:02 am
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... ;-)

Re: IBM PCJr Core

Posted: Thu Mar 24, 2022 5:56 am
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.

Re: IBM PCJr Core

Posted: Thu Mar 24, 2022 11:50 am
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 :-)

Re: IBM PCJr Core

Posted: Mon Apr 11, 2022 2:38 pm
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.

Re: IBM PCJr Core

Posted: Tue Apr 16, 2024 1:15 pm
by jordi

There is some work started from the great co-author of the PCXT Core
https://github.com/kitune-san/KFPCJr


Re: IBM PCJr Core

Posted: Tue Apr 16, 2024 9:01 pm
by EeDee

Nice!!!