PCjr Hardware/ROM questions
Posted: Sat Jan 08, 2022 4:36 pm
Hey everyone,
I've been trying to better understand how my PCjr works at a hardware level. I'm very familiar with higher level programming languages (C,C++,Pascal,Smalltalk,BASIC,etc.) and even MIPS assembly and had OS courses many years ago, but x86 assembly and how exactly all the hardware works has always been a mystery to me since I've had my PCjr since I was a wee little one. So, I'm hoping someone can shed some light on some high level questions I have.
I've been trying to better understand how my PCjr works at a hardware level. I'm very familiar with higher level programming languages (C,C++,Pascal,Smalltalk,BASIC,etc.) and even MIPS assembly and had OS courses many years ago, but x86 assembly and how exactly all the hardware works has always been a mystery to me since I've had my PCjr since I was a wee little one. So, I'm hoping someone can shed some light on some high level questions I have.
- Is there a good document/book that describes at the hardware level how the PCjr boots up? i.e. power gets turned on and obviously it reads the BIOS and executes/sets up some things, but I'm very fuzzy on the details. Maybe the technical reference is good for this, I haven't had time to look yet.
- related, is how the cartridges interact with this. It is my understanding that cartridges can be run like regular programs, or even replace the BIOS outright.
- I read part of the technical reference section for how the cartridges work, specifically page 2-108/2-110 where it describes the 0x55 0xAA bytes that it expects at the start of a cartridge, then I looked at some PCjr cartridge ROMS and noticed that they don't all start with this sequence. So I'm guessing that BIOS replacements/additions follow a different scheme? Is that documented anywhere? (This is really just curiosity on my part, I have no plans to write a BIOS, lol).
- It is also my understanding that the PCjr has 2 32k BIOS chips, one of which is the main BIOS which I presume it boots off of, and then the other contains BASIC? Is that correct? If so, why is there a BASIC cartridge for the PCjr, what does that actually buy you?
- I only very vaguely understand what IRQs and DMAs do, is there a good place to read up on that?