PDA

View Full Version : PC XT 64-256kb system board jumpers



k2x4b524[
August 19th, 2010, 02:06 PM
Yes JUMPERS, not dip switches

The board was made, in late 84 from the date codes of the chips, but strangly it has 300ns 64kb chips, i will be replacing them with the 150ns in a few days.

BUT

My question is this

There are FOUR unpopulated jumper blocks on this board. E2 E3 E4 E5

I know that E1, when coupled with a logic chip, will let the board see 640kb on board ram, but i would like to know what the unpopulated jumpers are for. Most of the solder pads have traces going to them, so maybe there was some features the board was SUPPOSED to support? Any Ideas?

per
August 19th, 2010, 02:13 PM
I know that E1, when coupled with a logic chip, will let the board see 640kb on board ram, but i would like to know what the unpopulated jumpers are for. Most of the solder pads have traces going to them, so maybe there was some features the board was SUPPOSED to support? Any Ideas?

Some time ago I did quite a lot of research on those jumpers, and I concluded that research by writing a quite in-depth section about this on our wiki at http://wiki.vintage-computer.com/index.php/IBM_PC_XT_(5160)#Jumpers_and_adjustable_components _on_the_system_board

(BTW, E2 is used to set 640KB-on-motherobard addressing, not E1)

k2x4b524[
August 19th, 2010, 07:53 PM
Thank You :)

k2x4b524[
August 19th, 2010, 08:00 PM
If i read the wiki right, those jumpers allow for greater flexibility in the way the memory is setup. But i'm no quite sure i understant it completly, i will read it a couple of times to see if i can get it. I may have more questions about it. also were 300ns dips stock for this board being an earlier make of the 64-256kb board? Would also explain why the jumper pads are there..

per
August 20th, 2010, 02:16 AM
Most of them are for how the RAM is addressed (as you pointed out), but there are two jumpers that are for other stuff.

Please note that ALL JUMPERS WHICH ARE SET BY DEFAULT ARE HARDWIERED INTO THE PCB ITSELF. In other words, you will have to use a razor-blade to cut those if you wish to alter them (be carefull; the XT motherboard PCB is multilayered).

Here is the four memory options availble:

E2 (page 1) is for the regular 64-256KB mode, using 4164 chips.
E2 (page 2)/U84 are for the regular 256-640KB mode, using a mix of 4164 and 41256 chips.
E2 (page 3)/E3/E4 are there for a special 64KB mode where only the first 16KB of each bank is being used. However, I have no idea why they made it like this. I don't even know if 16Kb RAM chips that only take 5V+ and GND even exist, but it sounds quite pointless to just use the first 1/4 of the 64Kb chips.
E2 (page 4)/U84 are for a special 128-512KB mode, using 128Kb RAM chips. I have no idea what chips this mode were intended for, perhaps the 41128 :rolleyes: ?


Other stuff:

E1 is to disable the BIOS, and completely remove it from the memory map (thus freeing up segment F for any expansion cards which may contain replacement system BIOSes).
E5 is to allow software-controll of the keyboard data line. Just be aware that this may trigger the manufacturing burn-in test mode on boot (untested).

Chuck(G)
August 20th, 2010, 07:22 AM
When looking at the jumper setup, I'd wondered if a custom 24S10/82S129 PROM could be burned that would allow 720K or even more RAM to be mapped in by appropriating unused high-memory areas. Another possibility would be to control some of the lines off of an otherwised unused I/O port to allow a sort of bank-switching.

per
August 20th, 2010, 09:45 AM
When looking at the jumper setup, I'd wondered if a custom 24S10/82S129 PROM could be burned that would allow 720K or even more RAM to be mapped in by appropriating unused high-memory areas. Another possibility would be to control some of the lines off of an otherwised unused I/O port to allow a sort of bank-switching.

I don't remember where I found this, but it describes how to add up to 1MB of onboard RAM in the XT.

MikeS
August 20th, 2010, 10:30 AM
When looking at the jumper setup, I'd wondered if a custom 24S10/82S129 PROM could be burned that would allow 720K or even more RAM to be mapped in by appropriating unused high-memory areas. Another possibility would be to control some of the lines off of an otherwised unused I/O port to allow a sort of bank-switching.What would ya do with it?

Chuck(G)
August 20th, 2010, 10:53 AM
What would ya do with it?

Well, I'd first start by reading the document that per so kindly furnished:


With the exception of the area from 640 to 704K (the eleventh 64K segment, and hence segment "A"), and the area from 704K to 736K (the bottom half of segment "B"), HIGH MEMORY can not be directly addressed by DOS. But it can be used by various special programs such as HIRAMDSK which can use any or all of HIGH MEMORY as a vdisk, and can also combine HIGH MEMORY and normal (low) memory to create a ramdisk of up to 500K.

Another type of HIGH MEMORY program is the "lid lifter" such as SET704K and SET736K. These programs change the maximum size of the DOS region from 640K to 704K or 736K, and are useful when working with very large spreadsheets, etc. SET704K and SET736K are non-resident device drivers, which do their job, then remove themselves from storage.

Another use I can think of is as a page buffer for an EMS simulator. Or space for a frame buffer for a video application. Or a "non-boot" BIOS extension. Or how about a RAM disk or space to put a disk cache?

I recall doing some work for the Visual Commuter and discovering that there was well over 640K of high RAM available, much to my delight.

k2x4b524[
August 20th, 2010, 12:05 PM
Ok, very interesting article, but i'm assuming it's rather dated, so i ask how are we to acquire the modified chip? or atleast an image of the rom code to program it?

Chuck(G)
August 20th, 2010, 12:15 PM
82S129s can still be had (I've got a bunch, I think). The toughest part is finding a programmer to blow fuse links in a bipolar PROM. Working out the contents of the PROM should be pretty easy, seeing as how it's only 4 bits wide.

MikeS
August 20th, 2010, 01:03 PM
Well, I'd first start by reading the document that per so kindly furnished:
Another use I can think of is as a page buffer for an EMS simulator. Or space for a frame buffer for a video application. Or a "non-boot" BIOS extension. Or how about a RAM disk or space to put a disk cache?Sure, RAMdisks and print buffers, those were standard uses for high memory and standard equipment on Juko XT boards to just mention one. Extending the upper limit into the A segment without using and conflicting with the video RAM could be useful but, although I gotta hand it to the folks who do, squeezing every last bit of performance out of and running web browsers and FTP servers on a PC or XT doesn't really excite me at this point in their and my life ;-)

I'd rather spend my time on something that can't be done 10 times better and 100 times faster with a different one of the obsolete computers in my pile. But more power to ya, it makes interesting reading.

MikeS
August 20th, 2010, 01:05 PM
82S129s can still be had (I've got a bunch, I think). The toughest part is finding a programmer to blow fuse links in a bipolar PROM. Working out the contents of the PROM should be pretty easy, seeing as how it's only 4 bits wide.Pshaw! REAL men blow fuse PROMs with a battery and clipleads! ;-)

(Or solve the problem with a fast EPROM in an adapter)

Didn't you just beat me to some from Colorado?

Chuck(G)
August 20th, 2010, 01:12 PM
Could be--I'll have to back and check, but I think mine are OC (S471) and not tristate. But that's just my muddled memory...

per
August 20th, 2010, 02:12 PM
One akward, but possible way is to build an 2764->24S10/82S129 adapter. This would also allow for more banks if some extra jumpers were added to the adapter itself. The pinout for the 24S10/82S129 is documented in the shcematics of the IBM PC/XT TechRef.

k2x4b524[
August 20th, 2010, 06:45 PM
true true, but i'd like to see if someone on here has the capability to program such a chip, let alone acquire one ;)

Chuck(G)
August 20th, 2010, 07:21 PM
One reason that a 2764 won't work is because a high-speed device is needed. Address-to-data time on an 82S129 is only 40 nsec.

82S129 and 82S131s used to be used in a lot of gear, from arcade games, scanners and (ancient) cell phones. So there's quite a bit of knowledge out there on programming them. Here's a simple circuit that runs off a parallel port (http://paul-bennett.com/Motorola/prom.htm).

Just remember that bipolar PROMs are OTP--if you screw up the programming, the chip is trash.

MikeS
August 20th, 2010, 08:31 PM
One reason that a 2764 won't work is because a high-speed device is needed. Address-to-data time on an 82S129 is only 40 nsec.Well, when I suggested it I did say "a fast EPROM;" no, a 2764 won't cut it, but some of the newer EPROMs have access times down in the 30's.

But as you say, if you've got the right fuse PROM the programming's not rocket science; they're small enough that you can actually do them by hand. I read an 82S129 (?) Cromemco bank select PROM one bit at a time a few years ago when working on some 256K boards.

Chuck(G)
August 20th, 2010, 08:54 PM
Here's an outfit that offers a CPLD replacement. (http://www.biltronix.com/CCPU_Custom_Chip_Replacements.html#BX287) Should work fine--and is reprogrammable.

mkemp
August 24th, 2010, 03:18 PM
The text document came from the IBMPC discussion forum (kinda like a newsgroup) on the IBM mainframe network; I have a copy that I made when I worked there Once Upon A Time.

I also have one of the replacement PROMs obtained from Mr. Atkinson; I contacted him later for another and he replied that he no longer had access to a PROM programmer.

My replacement PROM is in a currently-nonfunctional system board (repairing the board is in the project queue). I picked up a Willem programmer on eBay but haven't used it as my interests have diverged since that time. If there's sufficient interest I'll attempt to duplicate the PROM. If that works I'd be willing to make copies for the price of the parts plus shipping.

k2x4b524[
August 24th, 2010, 03:24 PM
if yours is the modified PROM that allows the use of the extra ram, i WOULD be interested in it, greatly

MikeS
August 24th, 2010, 03:37 PM
if yours is the modified PROM that allows the use of the extra ram, i WOULD be interested in it, greatlySorry, I havn't quite followed this; what kind of extra RAM do you want this PROM to give you access to, how much have you got and where is it, and what do you expect to do with it?

And what does the particular PROM in the previous post do, specifically?

m

Chuck(G)
August 24th, 2010, 03:50 PM
Simple, Mike. You can populate the 64-256K 5160 board with 41256 DRAMs instead of 4164s, giving you 1M of base memory. Said PROM controls the mapping of the additional memory.

k2x4b524[
August 24th, 2010, 05:05 PM
exactly so the roms keep their code, and you get extra ram for a ram-disk, print buffer, that sort of thing, without eating vital below 640kb real-estate

MikeS
August 24th, 2010, 06:13 PM
exactly so the roms keep their code, and you get extra ram for a ram-disk, print buffer, that sort of thing, without eating vital below 640kb real-estateAh, OK, like the 1024K Juko XT clones; no LOADHI or EMS though or fancy stuff like that...

Was coincidentally just reading about a little program that tells the BIOS to ignore the DIP switches and use 704KB.

per
August 25th, 2010, 02:14 AM
Was coincidentally just reading about a little program that tells the BIOS to ignore the DIP switches and use 704KB.

That's quite easy in fact. One way to do this is to change the word in the BIOS data area defining the amount of availble RAM (Note that this may cause certain incompabilities with BIOS-Extensions that reserves some chunks of RAM at offset 640K).

mkemp
August 25th, 2010, 05:20 AM
I configured the switches to map memory into segments A, D and E, then wrote an XMS driver implementing the UMB functions that allows LOADHI and DEVICEHI directives in CONFIG.SYS. I also wrote a device driver that used up to 64k for a disk cache (write-through for safety, with LRU buffer selection).

I have the source for a generic XT BIOS and one of my projects is to tweak it to scan up to 704k for base memory and to look at F000 through F600 for device BIOS signatures. That'll allow me to relocate device BIOSen and use segment C for high memory.

per
August 25th, 2010, 05:42 AM
I have the source for a generic XT BIOS and one of my projects is to tweak it to scan up to 704k for base memory and to look at F000 through F600 for device BIOS signatures. That'll allow me to relocate device BIOSen and use segment C for high memory.

One problem there is that no card allow you to set BIOS extensions to anything above F000, and F600-F7FF is mirrored over the entire F000-F7FF address range in a normal IBM XT anyways.

However, if you avoid using cards with BIOS Extansions on them, then you are free to use all of segment A, C,D and E for RAM. Segment B can also be used, but parts of it will mirror the contnents of Display/Video-RAM.

mkemp
August 25th, 2010, 06:30 AM
One problem there is that no card allow you to set BIOS extensions to anything above F000, and F600-F7FF is mirrored over the entire F000-F7FF address range in a normal IBM XT anyways.

However, if you avoid using cards with BIOS Extensions on them, then you are free to use all of segment A, C,D and E for RAM. Segment B can also be used, but parts of it will mirror the contents of Display/Video-RAM.

One of the ROM sockets (don't remember the U- numbers offhand) on the XT is mapped to F000-F7FF and the other is mapped to F800-FFFF. ROM BASIC extends from F000 through FE00 - all of the low chip and most of the high one, with the system's ROM BIOS at the high end of the high chip. If you're willing to give up ROM BASIC, that frees the entire 32k of the low chip for relocated adapter ROMs, either by moving one chip or by copying one or more into an EPROM for that socket (and removing or disabling the one in the adapter). Note that this only works for location-independent ROMs (adapters which allow address selection are location-independent).

Max memory can be 704k base (with BIOS mod to scan above 640k) plus segments C, D and E. With a hardware tweak to the display card to move the buffer from segment B to E (and a BIOS mod to use it instead) you could actually have 896k base memory.

MikeS
August 25th, 2010, 06:39 AM
...Max memory can be 704k base (with BIOS mod to scan above 640k) plus segments C, D and E. With a hardware tweak to the display card to move the buffer from segment B to E (and a BIOS mod to use it instead) you could actually have 896k base memory.Now that does sound more useful than the usual ramdisk/print buffer usage; more details would be interesting...

per
August 25th, 2010, 06:53 AM
One of the ROM sockets (don't remember the U- numbers offhand) on the XT is mapped to F000-F7FF and the other is mapped to F800-FFFF. ROM BASIC extends from F000 through FE00 - all of the low chip and most of the high one, with the system's ROM BIOS at the high end of the high chip. If you're willing to give up ROM BASIC, that frees the entire 32k of the low chip for relocated adapter ROMs, either by moving one chip or by copying one or more into an EPROM for that socket (and removing or disabling the one in the adapter). Note that this only works for location-independent ROMs (adapters which allow address selection are location-independent).

Max memory can be 704k base (with BIOS mod to scan above 640k) plus segments C, D and E. With a hardware tweak to the display card to move the buffer from segment B to E (and a BIOS mod to use it instead) you could actually have 896k base memory.

Ok, so that's what you are trying to do... However, then you are sort of forced to only use those certain cards you have copied the Extension ROM from (if you don't like chip-swapping).

mkemp
August 25th, 2010, 09:22 AM
Ok, so that's what you are trying to do... However, then you are sort of forced to only use those certain cards you have copied the Extension ROM from (if you don't like chip-swapping).

That's true. About the only ROMs I'd need to copy are the ones from controllers for 3.5-inch floppies and a hard disk, either a SCSI adapter or an XT-IDE. YMMV depending on the cards you want to use - a VGA won't be possible 'cause it uses both segments A and B for display memory and the low half of C for the ROM.

per
August 25th, 2010, 09:56 AM
That's true. About the only ROMs I'd need to copy are the ones from controllers for 3.5-inch floppies and a hard disk, either a SCSI adapter or an XT-IDE. YMMV depending on the cards you want to use - a VGA won't be possible 'cause it uses both segments A and B for display memory and the low half of C for the ROM.

Ok.

BTW, I am running a 1.44 FDD in my IBM XT without any kind of BIOS extension at all. All I use is a standard AT-style FDD controller, and a special Int-13h replacement which is included in the same package as the 2M FD Format program (http://en.wikipedia.org/wiki/2M_(DOS)).

mkemp
August 27th, 2010, 11:18 AM
Ok.

BTW, I am running a 1.44 FDD in my IBM XT without any kind of BIOS extension at all. All I use is a standard AT-style FDD controller, and a special Int-13h replacement which is included in the same package as the 2M FD Format program (http://en.wikipedia.org/wiki/2M_(DOS)).

That's interesting. I've read that the standard XT FDD adapter isn't fast enough for a 1.44 drive and I wouldn't think that a 16-bit AT adapter would work in an 8-bit XT slot. I have several DTK PII-151B 8-bit adapters that I use, with ROMs and jumpters to specify the drive types.

Chuck(G)
August 27th, 2010, 11:48 AM
That's interesting. I've read that the standard XT FDD adapter isn't fast enough for a 1.44 drive and I wouldn't think that a 16-bit AT adapter would work in an 8-bit XT slot. I have several DTK PII-151B 8-bit adapters that I use, with ROMs and jumpters to specify the drive types.

Not so--the issue is that the 1.44M adapters can also vary the bit clock speed from 250KHz to 500Khz. Many early add-on controllers used the stock uPD765A/8272A FDC and added extra circuitry to switch between 250KHz, 300KHz and 500Khz data rates. If you could content yourself with nothing but 1.44M floppies, you could take an XT controller and change out the oscillator (and hack the BIOS to agree).

In fact, the NEC D765 was originally intended for 8" floppies which (in MFM mode) operate with a 500KHz bit clock). The 5.25' DD application was actually a bit of a hack. The 765 can do a few more tricks when operated with 8"-style drives, or at least 5.25" with 8" interface characteristics. For example, the 765 can use the "Drive ready" line to interrupt when a drive goes ready (no need for the horrible kludge of "hanging" when a drive isn't ready) or perform simultaneous overlapped seeks on as many as 4 drives. On the other hand, while it has a "head load" signal (that goes nowhere on the PC), it doesn't have any drive motor control lines, so they had to be supplied by an external latch. The PC's drive-select logic is external also, even though the 765 has its own drive select lines.

per
August 27th, 2010, 11:57 AM
That's interesting. I've read that the standard XT FDD adapter isn't fast enough for a 1.44 drive and I wouldn't think that a 16-bit AT adapter would work in an 8-bit XT slot. I have several DTK PII-151B 8-bit adapters that I use, with ROMs and jumpters to specify the drive types.

Even though the card is 16-bit; only the IDE-partion of the card uses the 8-bit extension of the AT-bus. In fact, most AT-style floppy controllers/multicards (especially the ones based on a single chip) uses only the lower 8 bit for the floppy-controller part and will therefore work in an XT.

mkemp
August 27th, 2010, 03:54 PM
Even though the card is 16-bit; only the IDE-partion of the card uses the 8-bit extension of the AT-bus. In fact, most AT-style floppy controllers/multicards (especially the ones based on a single chip) uses only the lower 8 bit for the floppy-controller part and will therefore work in an XT.

Well, that grinding noise is my assumption derailleur changing gears. Thanks.

per
September 5th, 2010, 12:47 PM
E2 (page 3)/E3/E4 are there for a special 64KB mode where only the first 16KB of each bank is being used. However, I have no idea why they made it like this. I don't even know if 16Kb RAM chips that only take 5V+ and GND even exist, but it sounds quite pointless to just use the first 1/4 of the 64Kb chips.


I have now actually found out which chip this configuration were designed for. It's nothing less than the Intel 2118 (and equalents). This chip is mostly pin-compatible with the Intel 2116/MK4116 (used in the original PC), with the only difference in that it only runs of 5v and Gnd, just like the MK4164 (used in the XT).

However, this chip seems to have been completely overshadowed by other chips on the market at that time.

ibmapc
November 5th, 2011, 12:13 AM
I configured the switches to map memory into segments A, D and E, then wrote an XMS driver implementing the UMB functions that allows LOADHI and DEVICEHI directives in CONFIG.SYS. I also wrote a device driver that used up to 64k for a disk cache (write-through for safety, with LRU buffer selection).

I have the source for a generic XT BIOS and one of my projects is to tweak it to scan up to 704k for base memory and to look at F000 through F600 for device BIOS signatures. That'll allow me to relocate device BIOSen and use segment C for high memory.

I'm extremely interested in making this work on my IBM 5155 (same motherboard as 5160 XT). However, I don't have a prom programmer and my technical skills are barely above novice level. Therefore I need quite a bit of help. I've already sent a PM to MKEMP but haven't heard back yet. Anyone willing to help?

What I'm trying to accomplish is gaining more space to load drivers and tsr's. My system already has the mod for 640 KB on the mother board (jumper at E2 pins 1 to 2, 256 Kb drams in banks 0 and 1 with 64 Kb chips in banks 2 and 3. and a multiplexer in u84 socket) My understanding is that I'll need a custom "decoder" EPROM in u44(Cy Atkinson called it HIMEMV2 in his blog 7003) and 256 Kb chips in ALL banks(I have some of these frome another MB), and a custom device driver to enabel usage of the high memory. Anyone know where I can get the Eprom and or device driver? Sorry to ramble on, but it's late and I tend to do that when I'm tired.

Any advice is appreciated!

Greg

pearce_jj
November 5th, 2011, 12:43 AM
sorry post in error

ibmapc
November 5th, 2011, 01:16 PM
Anyone? Somebody must have some info.

Chuck(G)
November 5th, 2011, 01:43 PM
Why not buzz them out and see where they go? That would go a long way toward determining their function.

ibmapc
November 5th, 2011, 02:29 PM
Why not buzz them out and see where they go? That would go a long way toward determining their function.
I don't understand what you mean? As I said before, my technical level of expertise is pretty low. I assume your talking about checking circuits with a multimeter or continuity tester. I would not know where to start!!

pearce_jj
November 5th, 2011, 02:45 PM
I'm not sure what you're asking for TBH.

Chuck(G)
November 5th, 2011, 03:08 PM
I don't understand what you mean? As I said before, my technical level of expertise is pretty low. I assume your talking about checking circuits with a multimeter or continuity tester. I would not know where to start!!

A continuity tester is good. You've got one side of each jumper, where does it terminate (IC and pin #). That will allow someone with a schematic to pinpoint the jumper and take a good guess at the function.

ibmapc
November 5th, 2011, 03:12 PM
I'm not sure what you're asking for TBH.
I'm looking for the prom(HIMEMV2) that replaces the one currently in the u44 socket, or someone that can program one for me. Also need help with device drivers to make use of the available memory above 640k. Evidently, others have had succes with this, but I'm not having any luck finding detailed information. This all started for me when I read an old article by an old IBMer Named Cy Atkinson. the following attachment is here7009. Also, MKEMP, wrote earlier in this thread;

"The text document came from the IBMPC discussion forum (kinda like a newsgroup) on the IBM mainframe network; I have a copy that I made when I worked there Once Upon A Time. I also have one of the replacement PROMs obtained from Mr. Atkinson; I contacted him later for another and he replied that he no longer had access to a PROM programmer.
My replacement PROM is in a currently-nonfunctional system board (repairing the board is in the project queue). I picked up a Willem programmer on eBay but haven't used it as my interests have diverged since that time. If there's sufficient interest I'll attempt to duplicate the PROM. If that works I'd be willing to make copies for the price of the parts plus shipping."

I have tried to contact MKEMP as well as Mr. Atkinson, with no response from either. MKEMP also posted the following, which has me very interested;

"I configured the switches to map memory into segments A, D and E, then wrote an XMS driver implementing the UMB functions that allows LOADHI and DEVICEHI directives in CONFIG.SYS. I also wrote a device driver that used up to 64k for a disk cache (write-through for safety, with LRU buffer selection)."

Although I understand the basics, I need a lot of guidence to take on a project like this.

Chuck(G)
November 5th, 2011, 05:01 PM
Personally, I'd forget about the bipolar PROM (hard to find and program for most people) and just work up a 20-to-16 pin adapter and put a GAL in there. The equations are pretty simple.

ibmapc
November 5th, 2011, 05:52 PM
Personally, I'd forget about the bipolar PROM (hard to find and program for most people) and just work up a 20-to-16 pin adapter and put a GAL in there. The equations are pretty simple.
Well there you go talking over my head again. Do you have the equipment to program a GAL? If I were to buy a programmer, I would still need to know or learn (which gets more difficult every day) how it needs to be programmed to handle the high memory.

Regards,

Greg

PS Why do I need a 20 to 16 pin adapter? Aren't 16 pin GALs availlable?

Chuck(G)
November 5th, 2011, 07:01 PM
PS Why do I need a 20 to 16 pin adapter? Aren't 16 pin GALs availlable?

I've never run into one. Just 20 and 24 pin (and larger) ones. That's not saying that they never existed, however in someone's product line at some time.

pearce_jj
November 6th, 2011, 01:50 AM
The ISA varient of the JR/IDE project last time I checked is planned to include a significant RAM; might be an altogether better solution for the 5155?

ibmapc
November 6th, 2011, 07:14 AM
The ISA varient of the JR/IDE project last time I checked is planned to include a significant RAM; might be an altogether better solution for the 5155?

Would that be LIM 4? How about device drivers to enable DEVICE HIGH/LOAD HIGH?

pearce_jj
November 6th, 2011, 08:12 AM
EMS is quite different to the mod you're talking about here.

ibmapc
November 16th, 2011, 09:38 PM
Personally, I'd forget about the bipolar PROM (hard to find and program for most people) and just work up a 20-to-16 pin adapter and put a GAL in there. The equations are pretty simple.
Hey Chuck,
I know you're a busy guy. Could I persuade you to help me to program a GAL for the replacement of the prom in u44? If you don't have the time to do it yourself maybe you could help me with a JEDEC file. I think I could figure out the 20 - 16 pin adapter if you could tell me which pins are needed and where they need to go. Maybe we could work something out if you would need compensation for your time? I'm not very far from you, just a little to the north of Albany, OR. Please PM me if you can help in any way.
I read your Blog "Cloning a PAL/HAL". It just made me realize that I'm in way over my head!!

Thanks in advance,

Greg

Chuck(G)
November 18th, 2011, 08:22 PM
Easy enough--first of all, let's get a dump of the contents that you'd like to work out. (256 4-bit "nibbles"). Then let's see where we go from there.

ibmapc
November 18th, 2011, 09:06 PM
Easy enough--first of all, let's get a dump of the contents that you'd like to work out. (256 4-bit "nibbles"). Then let's see where we go from there.

OK, but I don't have any contents to dump. All I have is the original ROM in socket u44. What I'm looking for is the info to replicate "Himemv2 Custom decoder chip" that Cy Atkinson wrote about in the following document(7120)to "Decode" memory above 640K. There is a section titled "HIMEMV2 u44 DECODER PROM PROGRAM" But I have no clue about how to use that to program a HAL.

Chuck(G)
November 18th, 2011, 09:47 PM
So, if I understand the document correctly, the HIMEMV2 chip would be coded thusly (starting at address 00 and going to address FF:

9999FF999999BB99
9999FF9B9999BBBB
...

And the original U44 would be:

9999FFFF99999999
9999EEEE9999EBBB
...

Can someone verify if this is correct?

I can see mapping DRAM to 00000->AFFFF, but beyond that, I can't see how any other remapping is useful, as B000 and up represents space for video adapters, etc. So you gain a grand total of 64K more of contiguous memory.

ibmapc
November 18th, 2011, 10:01 PM
I can see mapping DRAM to 00000->AFFFF, but beyond that, I can't see how any other remapping is useful, as B000 and up represents space for video adapters, etc. So you gain a grand total of 64K more of contiguous memory.

Does upper memory have to be contiguous to be useful? I was under the impression that drivers and tsr's could be loaded there to free up base memory, with the right software driver of course. I could be all wet, But for some strange reason, this really has me curious.

Chuck(G)
November 18th, 2011, 10:39 PM
Well, if you have code to load a driver in fragmented memory, it will work, but DOS doesn't do this naturally.

When the 8086 came out, I considered that one could expand memory simply by decoding the segment tag on a memory access and using a bit of RAM to map a segment to a given area of memory. Theoretically, you could access 4MB simultaneously on an 8088, but it would break the DOS program model.

All in all, you're probably best off using LIM 4.0 add-in memory.

ibmapc
November 19th, 2011, 11:17 AM
All in all, you're probably best off using LIM 4.0 add-in memory.

OK I guess I'll start looking for an Intel Above Board, unless you can recomend some other memory board? I'm still curious about filling all the banks with 256k chips and making use of the High memory in some meaningfull way.