home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hall of Fame
/
HallofFameCDROM.cdr
/
pcjr
/
jrcfg211.lzh
/
JRCONFIG.DOC
< prev
next >
Wrap
Text File
|
1987-08-16
|
27KB
|
513 lines
JRCONFIG Version 2.11
This device driver will make the configuration during the boot
process quick and easy for an IBM PCjr. If you find this program
useful, please send a contribution of $10 to
Larry Newcomb
9210 Adelaide Dr.
Bethesda, Md. 20817
This contribution will encourage me to continue to enhance this
program, and to write other programs for the PCjr. I have some
other requests for enhancement that are not yet implemented, so I
expect to have another version out in a few months. If you have any
suggestions for future enhancements or other utility programs, send
me a letter and I will consider them.
New to version 2.11:
1 I have included the patch to INT 9 that is supposed to fix the
incompatibility with MS QuickBasic. I do not have QuickBasic, so
I have not tested its effectiveness.
2 -j will fix the incompatibility problem that some communications
programs have with the jr's internal COM port.
3 -m will turn off the internal speaker.
4 -g will read a battery backed clock and set the time in DOS.
5 Install 2 different Version 1.4 of the jrSynchro cartridge.
6 -p the selective printscreen function has been changed slightly.
It now checks to make sure it is in a compatible mode. The screen
attributes are saved in a buffer in the second text page, and
restored after printing.
New to version 2.10:
1 I have changed the names of the two versions to clear up some of
the confusion over which version does what. Also the defaults for
all options now work the same for both versions.
JRCONFIG.DSK - the .DSK signifies a ramDiSK and replaces the
old .SYS extension
JRCONFIG.NRD - the .NRD signifies No RamDisk and replaces
the old CONFIGJR.SYS
2 There are some programs that needed to have MODE CO80 run before
they would display boarder colors properly. I believe I have
fixed the -t3 option so this will no longer be necessary.
3 -x option to fix the step rate in DOS 3.1; this will make the
diskette drives run quieter.
4 -e option to change the number of entries in the directory of the
ramdisk.
5 -y option to install the jrSynchro cartridge if you have it
plugged in.
6 -p adds a printer online check for shift-print screen, and will
allow selection of lines to print.
7 -h will force the top of DOS user RAM to a given amount.
8 The DEBUG session for RAM.SYS has instructions for changing the
number of entries you can have in the ramdisk directory.
9 The check for the PCjr ROM BIOS has been removed.
You MUST have at least 256K of memory to use this program.
To use this driver put the file JRCONFIG.DSK on a bootable DOS 2.1
disk. On the same disk put the following line as the FIRST line of
your CONFIG.SYS file. Then re-boot.
device=jrconfig.dsk -t2
This will:
Install your expansion memory (256K to 640K).
Install a 91K ramdisk in your internal memory (first 128K). This
ramdisk will take the first available letter after your physical
drives (starting with C:). If you only have one drive, drive B:
will still be a phantom drive. By filling up your first 128K, DOS
will be forced to load your programs into your expansion memory,
which will cause your programs to run faster.
Put your screen in 80 column, low intensity, black & white.
Options: ( -c -d -e -g -h -j -k -l -m -p -s -t -v -w -x -y )
-c will turn on the keyboard click.
-d will cause DOS to recognize extra floppy drives, use -dn
option, where n is 1 to 4.
-e will set the number of directory entries allowed on the
ramdisk. The default is 16 entries. Use -en where:
-e1 will allow 32 entries
-e2 will allow 64 entries
-e3 will allow 128 entries
Each entry uses 32 bytes of the RAM reserved for the
ramdisk.
-g will read the time and date from a battery backed clock and
set the time and date in DOS. This was written for a
JRCAPTAIN with the clock chip at address (37D hex - 893
decimal). If you have changed the jumper to set your clock
chip at (27D hex - 637 decimal) then use -g637.
If you have another type of clock board, this option may or
may not work for you. If your clock is at another address,
use -gnnn where nnn is the decimal address of the clock
chip.
If there is a problem reading the clock chip, JRCONFIG will
beep and give the general error message about "the options
list in CONFIG.SYS". If you are sure that nothing is wrong
with your clock chip, then it is either at another address
or it is incompatible with the code in JRCONFIG.
-h is not designed for the average user. I use it for testing
programs I want to put outside the DOS user area. -hnnn will
put nnn as the top of ram, regardless of how much ram you
actually have; ie, -h512 will set the top of ram to 512K. If
you don't have that much ram, your system will probably
crash. You should NOT use this option and -l at the same
time.
-j will put the address for the COM port on the motherboard
into the BIOS data area for COM2. This will solve the
problem that some communications programs have when using
the COM port on the motherboard and an external modem. When
you specify COM2, the program will now find it; and it will
use the correct hardware interrupt.
-k will set Caps-Lock (Note: If you have a keyboard with an
indicator light for Caps-Lock, the light will not be turned
on.)
-l will look for extra RAM, starting at 640K and will stop at
736K, and give it to DOS. (Note: 640K is where the ROM stops
testing RAM and 736K is where video ram "logically" starts.)
This option will only perform a superficial check for RAM.
You will need to use a ramtest program to check for bad
chips above 640K.
-m will turn off the jr's internal speaker. If you run a
program that turns the speaker back on, it will probably
stay on.
-p will patch the shift-PrtSc interrupt to check and make sure
the printer is ready before it tries to print the screen.
This will stop the system from locking up if the printer is
not ready. If you want to have a form feed (FF)
automatically sent to the printer at the end of the screen
print. Use -pn there n is:
0 - no Form Feed added (default).
1 - the right shift key will add the Form Feed.
2 - the left shift key will add the Form Feed.
3 - either shift key will add the Form Feed.
If you want to be able to select which lines are printed,
use any of the following:
4 or 12 - no FF
5 or 13 - right shift for FF
6 or 14 - left shift for FF
7 or 15 - either shift for FF
With options 4 thru 7 or 12 thru 15:
You can choose which lines on the screen are to be printed.
these lines are put into a buffer until you have added all
the lines you want printed. Then the contents of the buffer
is printed. The RAM for this buffer is the second text page
of video RAM; therefore, if you use the -vn option, you must
not use n less than 8. This also means that you can not use
this function if you are running a program that uses
graphics, this function is for alpha modes only. If the mode
is set to any mode other than 80 column text in the first
text page, the BIOS printscreen function will be executed.
If you are running a program that has put something into
page 1 of the video buffer, it will be overwritten.
When you press shift-PrtSc, the cursor will go the top left
corner of the screen.
Use the following numeric keypad keys:
- Use the up and down arrows to move the cursor from one
line to another.
- Use the Insert key to add a line to the buffer. After
moving the cursor to the line you want to print, press
the Insert key. When a line has been selected, that
line is changed to high intensity white on black. If
you do not want the high intensity, use n = 12 thru 15.
- Use the End key to print the contents of the buffer.
When printing is complete, the original color will be
returned the lines that have been highlighted.
- The Delete key will cancel the shift-PrtSc session, and
return to where you were before pressing shift-PrtSc.
- The Home key will cause the normal shift-PrtSc function
to be executed.
If you press any other key, you will hear a beep. It is
possible to add a line to the buffer more than once. If the
buffer becomes full, you will hear a beep when you press the
Insert key.
If you press shift-PrtSc while you are already in the
selective print screen mode, the second session will not be
activated (you can only have one shift-PrtSc session active
at a time). However, the shift key you used the second time
will overwrite the one used for the original session. You
can use this feature if you change your mind about whether
or not you want a Form Feed added.
-s sets the size of the ramdisk, use -sn where n is the number
of K bytes you want the ramdisk to be. The ramdisk size may
be a little larger than the value you put in, because of
video page boundaries. The default size is 91K for DOS 2.1
and 79K for DOS 3.1. (10K is the smallest ramdisk you can
have, because that is how much room is left on the video
page where IBMDOS.COM is loaded with DOS 2.1, and this space
can not be used for anything else anyway. With DOS 3.1 you
get about 15K, because IBMDOS.COM is larger and video ram
must be moved to a higher video page). There is no upper
limit on the size of the ramdisk (other than the amount of
RAM you have in your computer).
-t will set the video display mode, use -tn where n is:
Alpha Modes
0 for 40 X 25 B/W (Default)
1 for 40 X 25 Color
2 for 80 X 25 B/W
3 for 80 X 25 Color
Graphics Modes You can get some funny looking
4 for 320 X 200 4 Color screens when you boot up in a
5 for 320 X 200 B/W 4 Shades graphics mode because DOS expects
6 for 640 X 200 B/W 2 Shades to be in Alpha mode.
7 is not a valid mode
Extended Graphics Modes
8 for 160 X 200 16 Color
9 for 320 X 200 16 Color
10 for 640 X 200 4 Color
-v will reserve video ram, where n is 4 to 96. Normally 16K is
set aside for video ram, you can either decrease or increase
this amount with this option. Using -v4 will reserve 4K for
video, giving you an extra 12K of user ram, but you must not
use any graphics modes or a program that uses text pages
other than the first test page. If you are concerned about
speed, you may not want to use this option with a value less
than 16. The extra RAM that you get this way will be in the
video page, and that will be in the first 128K. Any other
device drivers and COMMAND.COM will load into this area.
Unless you have some large device drivers, the regular DOS
programs you run will start in this low RAM. Don't be fooled
by the size of the files on the disk. JRCONFIG is over half
initialization code, the resident portion is less than 2K.
Only about 3K of COMMAND.COM will load into low memory, the
rest is the transient portion that is at the top of DOS
memory. High values are used for reserving ram to be used
for high-res graphics (32K) or extra video pages.
-w will put a clockwise spinning character in on the top row of
your screen, use -wnn where nn is the column you want it to
appear in.
-x will set the proper step motor rate in DOS 3.1, this will
make the disk quieter. Note: this will not take effect until
after you see the initialization message.
-y will install the jrSynchro cartridge if you have it in a
slot. If you are not familiar with this cartridge. It
replaces the keyboard and floppy disk interrupts, and allows
the keyboard to be used while the disk drive is being
accessed. It seems to work fine with DOS 2.1, but there are
some problems with DOS 3.1.
It also will give you a 47 character buffer (DOS gives you
15 characters) if you install the buffer in the first 64K of
RAM. Unfortunately, this is very restrictive if you want to
force your programs into expansion RAM. This is the primary
reason I install it in JRCONFIG. I allocate the buffer
inside JRCONFIG, which is always in the first 64K. If you
want the 47 character buffer, you can put JRSYN47 in your
AUTOEXEC.BAT. I have used three versions of the cartridge,
1.2 and two marked 1.4.
Use -yn where n is:
0 for version 1.2
1 or 3 for version 1.4 with parity check
2 or 4 for version 1.4 with no parity check
There are at least 2 versions of 1.4. The version I have
used for n=1&2 came from PC Enterprises. The one for n=2&4
came from Dave Cox and was combined in the same cartridge
with jrVideo.
If you have another version, try using one of the available
options anyway. If you see JRSYNC in the initialization
message that JRCONFIG prints, then JRCONFIG found the
cartridge. If your computer locks up, you have an
incompatible version.
Cartridge Basic compatibility:
Cartridge Basic is written to run in the low RAM of an unexpanded
PCjr. If you have a copy of JBASIC.COM, you can run it to enter
Cartridge Basic when using expansion RAM. It is a short program
that sets up an environment for Cartridge Basic to run in. One of
the things it does, is to get information from the ramdisk device
driver about low memory and the video page. JRCONFIG will give it
the information it needs to set up the proper environment. It
also checks for a hardware register that is on a MS Booster. If
it can not find this register, it will abort. Below is a printout
of a DEBUG session that will remove the check for the MS Booster,
and change the drive that it expects the ramdisk to be. If
JRCONFIG is drive C:, you can ignore the 2 lines that change the
drive from C: to D:. If JRCONFIG is E: then change the 03 to 05.
The forth to last line changes the name that DEBUG uses to
DBASIC.COM, so that DEBUG will write a new file. I chose the name
DBASIC.COM because this new modified program will work when
JRCONFIG is D:. The 6797 at the beginning of most lines will
probably be a different number for your DEBUG session.
A>debug jbasic.com start debug session
-u108b unassemble code
6797:108B BA3F02 MOV DX,023F hardware address on booster
6797:108E B091 MOV AL,91
6797:1090 EE OUT DX,AL
6797:1091 BA3D02 MOV DX,023D hardware address on booster
6797:1094 B05A MOV AL,5A write a byte to the register
6797:1096 EE OUT DX,AL
6797:1097 EC IN AL,DX read a byte from the register
6797:1098 3C5A CMP AL,5A compare read to written byte
6797:109A 750E JNZ 10AA jump if they are different
6797:109C BA070B MOV DX,0B07
6797:109F BB0300 MOV BX,0003 drive C:
6797:10A2 B004 MOV AL,04 read function
6797:10A4 B444 MOV AH,44 I/O control
6797:10A6 CD21 INT 21 get information from ramdisk
6797:10A8 7306 JNB 10B0 jump if read is successful
-e1097
6797:1097 EC.90 replace read instruction with NOP
-e10a0 examine ramdisk drive letter
6797:10A0 03.04 change from C: to D:
-ndbasic.com change name of file
-w write new file
Writing 15AF bytes
-q quit and return to DOS
JRCONFIG.NRD (formerly called CONFIGJR.SYS) is the version
that will not install a ramdisk. This version will not cause
problems with hard disk drivers that insist on being drive
C:. All the defaults are the same as they are in
JRCONFIG.DSK. If you want your hard disk device driver to
load into external memory, do not use the -s option. This
will waste some of your internal RAM, but your hard disk
driver will run faster. If you DO NOT want to waste any of
your RAM, use -s1 to make all RAM usable. If you have one of
the hard disks that have a ROM on the controller, you may
still experience some increase in speed by sacrificing your
internal memory, because all device drivers and COMMAND.COM
will load into external memory. You should experiment to see
if it makes a difference for your configuration. One of the
enhancements that someone has requested is a way to use the
low RAM that is wasted by not using the -s option. I will
probably provide this with the next release.
EXAMPLE:
device=jrconfig.dsk -d2 -t3 -c -p6
will:
Tell DOS you have two floppy disk drives.
Boot up in 80 column color mode.
Turn on the keyboard click.
Cause the shift-PrtSc key combination to first check for the
printer to be ready, then allow selective print screen, and
add a formfeed if the left shift key is used.
FOR BEGINNERS:
Here is a quick and easy way to start using this program. Format a
new disk using the /s parameter. This makes the new disk a bootable
disk. Refer to the DOS manual if you have not used the FORMAT
command. Then copy JRCONFIG.DSK to the new disk. Then type the
following three lines from the DOS prompt:
copy con config.sys
device=jrconfig.dsk -t3 -c
^Z
The first line tells DOS to copy from the keyboard to a file called
CONFIG.SYS. The second line is what is put into the file, you can
add any other options to this line you want. The third line is the
end of file marker, DOS will add this to the file if you press the
F6 function key.
I hope this is as useful to others as it has been to me. If anyone
has any questions about this device driver, or if you think there
is a bug, you can write me at the address at the beginning of this
documentation, or you can leave me a message on Battleship
Pennsylvania 301-428-3145. This bulletin board is associated with
the METRO PCjr USER GROUP.
I have included another program that I find useful. I get very
annoyed at the DOS message to insert a disk with COMMAND.COM and
press a key. I think that putting COMMAND.COM on all my disks a
poor answer. I got this program from a bulletin board, and it has
made my life much easier.
COMSPEC.COM - If you put the following 3 lines in your
AUTOEXEC.BAT, you will always have COMMAND.COM on your ramdisk that
is created with JRCONFIG.DSK.
1. set comspec=c:\command.com - this line uses the DOS 'set'
command to tell DOS where to find
COMMAND.COM; however, there is a
bug in DOS and this doesn't work by
itself.
2. comspec c:\command.com - this line executes the program
COMSPEC.COM, which causes DOS to
recognize the 'set' command
3. copy command.com c: - this line copies COMMAND.COM to
the ramdisk
NOTE: The numbers at the beginning of the 3 lines do not go in
AUTOEXEC.BAT they are only there for easier reading.If you have 3
or 4 floppy drives, then the ramdisk will be D: or E:
I modified RAM.SYS to have a spinning character in the upper right
corner of the screen. It is 2 spaces to the right of the one for
JRCONFIG.DSK and spins counter clockwise. For those of you who
don't already have it, add the following line to your CONFIG.SYS
device=ram.sys
This will install the device driver. You then run the program
SETRAM.EXE.
setram d n
Where d is the drive specifier and n is the number of K bytes to
use for the ramdisk. The ramdisk will take the next available
letter; therefore, if you have three floppy drives (A: B: C:),
JRCONFIG.DSK will be drive D:, and RAM.SYS will be E:. You may want
to add this line to your AUTOEXEC.BAT. You can have RAM.SYS
installed more than once in CONFIG.SYS, each occurance will take
the next drive letter.
You can remove the ramdisk at any time by running
setram d
This will free up the ram used by the ramdisk. NOTE: you will loose
any files that were on it. You can then recreate the ramdisk at any
time, because the device driver is still installed.
If you want to move the spinning character to the left, you can
change the position using DEBUG.COM. You can also change the number
of directory entries. The following is what a DEBUG session will
look like. The hyphens are the DEBUG prompt and are not typed in.
debug ram.sys This starts the program.
-e284 If you want to move the spinning character.
XXXX:0284 9E.nn DEBUG responds with everything on this line
except the nn. This will be the new offset
of the spinning character. Subtract two from
hexidecimal 9E to move one space to the left;
ie, nn can be any even number from 0 to 9E.
-e126 If you want to change the number of directory
entries
XXXX:0126 40.nn Replace 40 (64 decimal) with nn, the number
of entries you want. I suggest you only use
even multiples of 10 (16 decimal). 80 (128
decimal) is probably as high as you will want
to use. Every 10 (16 decimal) entries will
use 512 bytes of memory.
-w This will cause the modified program to be
written to the disk.
Writing 01B9 bytes The message from DEBUG.
-q Ends the debug session.