PCjr's IIRC used regular system memory to double as the display
memory. This idea pops up every so often in PC's and somewhat more often
elsewhere - the Tandy 1000 had it (it was really a PCjr/PC hybrid clone)
and some SIS chipsets use system memmory for VGA (example mobo : Asus SP97
series, used in Socket 7 HP Pavillion 6000 series boxes) The PCjr/Tandy
1000 don't map the video memory out of the regular memory space, unlike
the more modern shared memory implementations which take the 2MB or so out
of the regular memory space along with a large chunk of memory bandwidth
in graphics mode.
The display funniness would be caused by ELKS being ignorant about
clobbering the video memory. The kernel would have to be told not to use
the memory (might be tricky if it's in the area where the kernel is loaded
- quite likely since it's loaded at 64K unless that's changed). I dunno
about the kernel panic, although that stack dump feature looks interesting. :)
- Chad
On Sat, 6 Feb 1999, Michael W. Shaffer wrote:
> I inherited an IBM PCjr some time ago and have recently begun playing with
> trying to boot ELKS on it. This machine has an expansion module manufactured
> by Racore which gives it 640K of RAM and a second 360K floppy drive. My
> understanding was that this makes the machine roughly equivalent to an XT
> (at least when running DOS). So far I have observed the following:
>
> <> I need to get hold of a real 360K floppy drive for my main linux machine
> since the FAQ said the 1.2MB drive I have can't really write properly to the
> 360K disks.
>
> <> I have been able to compile the kernel decided to try using the 1.2MB
> drive to dd it to one of the 360K floppies that came with the PCjr anyway,
> and it seems to read the disk and boot partially.
>
> <> There is a switch on the back of the Racore expansion module to put the
> machine in either 'PC' or 'jr' mode.
>
> <> With this switch in 'PC' mode, ELKS will start to load and after about
> five or six dots past the 'ELKS Boot' prompt, the screen goes crazy with
> different colored weird characters. The kernel appears to continue to load
> and then the screen clears and a narrow flashing underscore cursor appears
> in the upper left corner. After this there is no more activity or response
> from keyboard input, and the cursor just sits there flashing.
>
> <> With the switch in 'jr' mode, ELKS displays some more messages while
> booting (although the screen still goes crazy). It gets all the way to the
> point of saying:
>
> ...
> Calibrating delay loop.. ok 0.16 BogoMips
> PC/XT class machine, 8088 CPU
> 112K base.
> ELKS kernel (57280 text + 10568 data + 50388 bss)
> Kernel text at 1002:0000, data at 1DFE:0000
> 65468K of memory for user processes.
> Killing with sig 13.
> Generating sig 13.
> panic: kernel restarted
>
> apparant call stack:
> (0) ret addr = E62 params = 0 0 0 0 0 0
> (1) ret addr = 0 params = 0 0 0 0 0 0
> (2) ret addr = 0 params = 0 0 0 0 0 0
> (3) ret addr = 0 params = 0 0 0 0 0 0
> (4) ret addr = 0 params = 0 0 0 0 0 0
> (5) ret addr = 0 params = 0 0 0 0 0 0
> (6) ret addr = 0 params = 0 0 0 0 0 0
> (7) ret addr = 0 params = 0 0 0 0 0 0
>
> After this, of course, there is nothing.
>
> I am not much of a kernel hacker, but I do have some spare time (and a kinda
> sick dream to someday run a really tiny linux HTTP server on a PCjr). I am
> wondering if anyone on the list has any experience using ELKS on this
> hardware or has some idea based on my limited results as to what might be
> the best direction to start working in to get ELKS booting on this machine.
> I have managed to get a root/boot disk system put together which boots and
> runs vi, etc. on my other PC (a more recent pentium machine).
>