PCjr speedup

Hardware questions and modifications

Re: PCjr speedup

Postby James » Thu Nov 17, 2016 8:06 pm

Correct the Tandy mod redirects 32k from B800h to the PCjrs video buffer. Unmodified the PCjr will only redirect 16K.

One of the features of the JrExcellerator was an onboard video buffer, that when turned on, eliminated the need for jrconfig or other video buffer software. While it was compatible with Tandy software it destroys PCjr CGA compatibility, a price too high
-PCjr (1989)-DOS 3.3, Racore Drive II, jrIDE-128 MB DOM, jrExcellerator, Tandy Mod, Serial Card, Combo v2, Config Plus, IBM Parallel Port, Megaboard, Xircom PE3-10BT
-PCjr (2001)-DOS 3.3, jrIDE-128 MB DOM, NEC v20, Parallel Port, Comswap, Xircom PE3-10BT
James
 
Posts: 110
Joined: Sat Dec 22, 2012 10:04 am

Re: PCjr speedup

Postby alanh » Fri Nov 18, 2016 1:35 am

That doesn't match my understanding based on the stock hardware schematic. The tech ref also claims 16KB in the general text but contradicts itself in the memory ranges quoted in several places (32KB). So I'd like to know more about where the 16KB limit is being imposed (in the schematic) and how the Tandy mod changes it. If someone can point me to the instructions, I appreciate it.

ROM ZM56 is what controls the strobe gating to various parts of the system. It only has A15-A19 as inputs, meaning at least the general strobe selects are routed based on 32KB chunks of memory space, not 16KB. 00000 -> 1FFFF (lower 128KB) and B8000 -> BFFFF (traditional 32KB CGA window) are routed to on-board RAM. There is also a mux control output that causes A16, A15, and A14 sent to the rest of the motherboard to either take on the CPU addressing lines or for the entire region of B8000 -> BFFFF assume the value written to the VG Array's page registers at 0x3DF. It appears, at least to me, that there is no 16KB limit in memory routing. The tech ref even states on page 2-79 that for 32KB graphics modes, the lower bit (A14) is a don't care.

I could confirm with a test program, but I'm fairly sure there is a full 32KB window at B8000 -> BFFFF that redirects to a 32KB area in lower RAM. I believe the problem is with the VG Arrays driving of page bit 0 (A14). Unless you are in a 32KB graphic mode, it appears the upper 16KB of the window is aliased to the 16KB page selected for the lower frame in the page register rather than the next 16KB area. I suspect what the Tandy mod does it always pass through A14 from the CPU whenever the upper frame is addressed (A16=1 & MUX control active (B8000->BFFFF)). Maybe that is the real issue, but I'd like to confirm by reviewing the instructions.

It would be a fairly simple mod if so. That's what I would do if I we're making a Tandy mod. I still don't understand how that would break compatibility with anything.
alanh
 
Posts: 250
Joined: Tue May 10, 2011 6:52 pm
Location: Atlanta, GA

Re: PCjr speedup

Postby KenG » Fri Nov 18, 2016 5:30 am

Wow, how I wish I knew enough about logic circuits to understand what he just said. LOL.
Enhanced PCjr with a jr-IDE (1GB DOM) and a parallel port side car with a compact flash reader and backpack 1.44mb floppy attached. Tandy video mod.
KenG
 
Posts: 148
Joined: Sat Jul 16, 2016 5:36 pm

Re: PCjr speedup

Postby James » Fri Nov 18, 2016 10:03 am

alanh wrote:It would be a fairly simple mod if so. That's what I would do if I we're making a Tandy mod. I still don't understand how that would break compatibility with anything.


The Tandy Mod doesn't break compatibility with anything (AFAIK) but using the jrExcelleratror's on board video memory breaks PCjr-CGA Compatibility when its internal video buffer is used. My understanding is the PCjr software writes directly to the PCjrs video buffer and Tandy software writes to B800h. The jrExcellerator, with the video buffer on, takes over the B800h address and ignores the PCjr video writes, which would just be ordinary DOS memory. It also allows you to boot 640K without any video management software, eg jrconfig. My understanding from documentation I read from PC Enterprise, from 25 years ago, so forgive me if my memory is faulty, was that a Tandy program writes to B800h but only 16k is redirected to the PCjrs video buffer, hence the Venetian blind affect when running Tandy software without the Mod. I was never sure why it had a Venetian blind effect vs half the screen being filled.
-PCjr (1989)-DOS 3.3, Racore Drive II, jrIDE-128 MB DOM, jrExcellerator, Tandy Mod, Serial Card, Combo v2, Config Plus, IBM Parallel Port, Megaboard, Xircom PE3-10BT
-PCjr (2001)-DOS 3.3, jrIDE-128 MB DOM, NEC v20, Parallel Port, Comswap, Xircom PE3-10BT
James
 
Posts: 110
Joined: Sat Dec 22, 2012 10:04 am

Re: PCjr speedup

Postby KenG » Fri Nov 18, 2016 12:06 pm

Yeah, I was puzzled about the venetian blind affect too. Must be something about the way the video hardware accesses memory. It seems like two or three lines are in the 1st 16k and the next two or three in the 2nd 16k area. If/when I get time I have to read some of the programming references I have. Somewhere it has to tell you how video memory is mapped to the display.
Enhanced PCjr with a jr-IDE (1GB DOM) and a parallel port side car with a compact flash reader and backpack 1.44mb floppy attached. Tandy video mod.
KenG
 
Posts: 148
Joined: Sat Jul 16, 2016 5:36 pm

Re: PCjr speedup

Postby alanh » Fri Nov 18, 2016 1:51 pm

I was somewhat incorrect last night. After reviewing it more, A14 needs to be added to the page reg to make both 16KB memory page frames accurate. Then I found the mod instructions today and it confirm it. However it only does bit 0. So as long as the cpu page value is even, it works. I could be made more robust with some additional logic. And it shouldn't break compatibility.

Hopefully after I get this Pi board fully working, I'll make a ZM31 replacement (Tandy mod) and a ZM56 replacement (DOS UMB support for JR/IDE).
alanh
 
Posts: 250
Joined: Tue May 10, 2011 6:52 pm
Location: Atlanta, GA

Re: PCjr speedup

Postby KenG » Fri Nov 18, 2016 2:50 pm

Alan...how is the Raspberry PI mod going? From your initial description it sounded very exciting.
Enhanced PCjr with a jr-IDE (1GB DOM) and a parallel port side car with a compact flash reader and backpack 1.44mb floppy attached. Tandy video mod.
KenG
 
Posts: 148
Joined: Sat Jul 16, 2016 5:36 pm

Re: PCjr speedup

Postby alanh » Fri Nov 18, 2016 3:04 pm

Things are slower than I hoped. I've been derailed trying to line up a job. I just accepted an offer today - will start the 28th. The disk emulation is done and working well. I can run most games and apps from the emulated drive images reliably and at high speed. I had started writing a redirector to allow mounting of a directory on the PI as a DOS drive letter. I have the redirector framework done. I can load/unload the TSR portion, map/unmap drive letters, and handle DOS I/O requests. As I was warned by Mike and Chuck, it was a dark road full of undocumented DOS internals. I don't have all the RPC calls implemented yet due to time. For now, get disk space, get volume label, and get directory listings are working. I still need to complete open, close, read, write, mkdir, rmdir, and a few others.

I want to finish up the redirector this coming week. I have a CPLD reflash bug I need to fix before I can send a board to Mike for additional testing/development. Hopefully a few beta testers after that.
alanh
 
Posts: 250
Joined: Tue May 10, 2011 6:52 pm
Location: Atlanta, GA

Re: PCjr speedup

Postby Brutman » Fri Nov 18, 2016 3:38 pm

That's very good progress. I've looked at the redirector a few times and decided it was just not worth the effort. Then again, I've been gainfully employed during those times too. ;-0
Brutman
Site Admin
 
Posts: 910
Joined: Sat Jun 21, 2008 5:03 pm

Re: PCjr speedup

Postby KenG » Fri Nov 18, 2016 5:22 pm

Congrats on the job Alan. I hope you can still find the time to finish Raspberry project though. LOL. When you get to the beta test stage, I am very willing to do that. I guess at that stage I will need to buy a Raspberry, the interface, and a flash memory card? If I can swing the money, I would probably buy another Jr-IDE so I can test on a system other than my main machine.
Enhanced PCjr with a jr-IDE (1GB DOM) and a parallel port side car with a compact flash reader and backpack 1.44mb floppy attached. Tandy video mod.
KenG
 
Posts: 148
Joined: Sat Jul 16, 2016 5:36 pm

PreviousNext

Return to PCjr Hardware

Who is online

Users browsing this forum: No registered users and 3 guests