Initially, I thought I wouldn't be too interested in this topic. Boy was I wrong, there was a wealth of information in these XTIDE series. From what option ROMs are, on what addresses they can be accessed and ROM shadowing. As someone who is interested in kernel (Linux) programming AND retro hardware, this is some excellent info. The problem is, when you go check out documentations of old hardware, these terms are often used as if they are self explanatory (because they were - to the programmers who grew up in the 80's). But today a lot of these things (ie. memory layouts) are obsolete or just never properly explained as legacy remnants ("x86 has always been weird like that lol idk"). Thank you very much for all videos, I really enjoy all your content!
@necro_ware3 жыл бұрын
Thank you for watching! Glad I could help.
@JorgeCarvalho_web_dev4 жыл бұрын
You rock my friend!! I always asked myself about those shadowing addresses in the BIOS, now I know! You are unstoppable now :) keep pumping out this kind of videos!!!!
@necro_ware4 жыл бұрын
You are funny :) Thank you!
@foobar-9k2 жыл бұрын
This XTIDE video series was really informative and entertaining! Excellent work. I'm glad I've found your channel! (subscribed, and already watched a ton of its content! :-D) Greetings from Argentina!
@mastrtonberry2 Жыл бұрын
Your video series gave me the exact information I needed and I'm learning all this from scratch. Thank you!
@brunocracco29492 жыл бұрын
Thank you very much for your videos ! It is a pleasure to watch and a lot of precious information.
@alaborbe1233 жыл бұрын
kudos for showing bios shadowing in practice.. i have seen that option many times but never seems to do much if toggled. thanks for showing the difference in practice and explaining rom memory space application in real life. keep up the good work
@necro_ware3 жыл бұрын
You are welcome and thank you too.
@aleksandrbmelnikov Жыл бұрын
These videos were cool. Only once, did i pull a 3-Com card that had a chip in option socket. I dumped the EPROM, and there was nothing on it. Seems someone stuffed it in there for: 1. They didn't know what they were doing, or 2. They just wanted to fill the hole. Think of how much money 3-Com could have saved by not adding the socket. I'm glad you found a use for it, even after all these years later. Thank you for these videos.
@Beus389 ай бұрын
Funny story :) However, omitting the socket was not an option back in the day, because, even I still remember the times when network boot was really common in places where many computers were networked (especially schools, etc). The sysadmins wanted to avoid the hassle of setting up and subsequently fixing each computer's OS environment after a stupid user screwed something up. So they let the computers boot up from the network from a pre-made boot image, and the local HDD (if any was even present) didn't contain anything valuable. That's what these sockets served originally - the option bios was needed to connect to the BOOTP server, mimic a bootable C: drive, and download parts of the boot image from the server upon request, while acting towards the OS as if they were present on a local disk (which did not exist). They basically hooked the INT 13h in a way similar to how XT-IDE bios does it. Only the code executed when called was different.
@dLLund4 жыл бұрын
thank you for posting this excellent, informative, & instructive series of 5 videos. i learned a lot, always welcome at my age [70yo]. please take care & stay safe.
@necro_ware4 жыл бұрын
You are very welcome!
@tony3593 жыл бұрын
amazing set of videos, I am thoroughly impressed!!!
@ZippletTech3 жыл бұрын
Aaaah this brings back memories, I remember playing with shadow RAM settings to improve performance on really old PCs :) Thank you!
@jil2net2 жыл бұрын
Thank you! Very interesting and nice series!
@markg35063 жыл бұрын
Very interesting series. thanks :-)
@leonkiriliuk3 жыл бұрын
This is the first time in 30 years that I finally understand the purpose of the ROM shadow. THANK YOU! Is there a reason why it's not on for the entire range by default? I was under the impression that area of RAM is dedicated for boot ROMs and can't be use by the OS (even if nothing is mapped there)
@necro_ware3 жыл бұрын
That area is referred as high memory and is used to offload some drivers and TSRs from the conventional memory. If you just block it completely, you would waste a lot of memory.
@OpenGL4ever Жыл бұрын
EMS memory does make use of the UMB area (640 KiB - 1 MiB). In real mode the CPU can only address only the memory range up to 1 MiB. If you want make use of the memory area above 1 MiB you need to turn the CPU into Protected Mode. But Real Mode applications don't understand that mode. Thus EMS memory is a solution. It does use the memory above 1 MiB by copying a small window of 16, 32 or 64 KBit into the UMB area which Real Mode programs can understand. To do so there must be a free and writeable area in the UMB area available. The job is done by the HIMEM.SYS driver. The HIMEM.SYS driver switches to protected mode, now the driver is able to read and write data to the memory area above 1 MiB. It copies a small window of data, that was requested by the EMS capable real Mode application from the memory area above 1 MiB in the small EMS window in the UMB area that EMS capable Real Mode programs can understand and then switches back to Real Mode and giving the Real Mode program the control about the CPU back. If you need some other data from above the 1 MB area, that is not in this EMS window, you have to copy another block with the Data above the 1 MiB memory area into this small EMS window. The larger your EMS window in the UMB area is, the less data have to be copied over and over. But because a segment has only the size of 64 KiB, 64 KiB is the larges size for such an EMS window. EMS is easy to use and also runs on 286 processors, It is also compatible with expander cards that can be used on 8086 processors to have more RAM. Because of this, it was used in the early DOS applications up until about the end of 1992. It only has one downside. You can't run program code in it, at least that's not what the standard provides. It is therefore only suitable for data. EMS was later replaced by XMS and DOS Extenders like DOS/4GW. These switch the CPU to protected mode and only then is the protected mode-capable application started. There are also DOS extenders for 286s, but accessing the RAM is easier in 32-bit mode, which is the reason why most applications from around 1993 and later that use a DOS extender require a 386 or better CPU and are written for 32 Bit.
@up2tech3 жыл бұрын
You rule. Great add-on.
@baghdadiabdellatif1581 Жыл бұрын
Thank you
@QueenLISA_Cutee Жыл бұрын
please make one video cfast industrial card to usb how to transfer bootable iso image
@TheGodOfAllThatWas3 жыл бұрын
OH.... That's cool.... I've never seen this in practice before.... I have a vague recollection in the windows 9X days that the common advice at the time was the opposite, since when windows loaded up 32 bit drivers the shadow was wasting ram/time..... Thinking on this now, I just always accepted that as gospel without testing it.. And I never bothered checking if when the PC switched to dos mode for a game if it then was slower in dos..... Might be interesting to see if on 586/MMX class machines how this plays out with windows/dos and the shadow on/off.... Maybe something for a part 6? (or maybe I'll poke at it....).... Oh, I wonder how the windows 9x installer handles this too. So many variables.
@OpenGL4ever Жыл бұрын
Well, this is true. Windows 95 does have its own drivers and thus isn't dependent on the BIOS Firmware so much. Windows 95 is also a 32 Bit system, which means, it can access addresses in the range from 0 to 4 GiB. Most DOS games were programmed for 486s and earlier. However, a 166MHz Pentium was already so fast that whether or not Shadow RAM was used should have played little practical role in these old games.
@tomaskruska54443 жыл бұрын
Is there any utility to enable shadowing after boot? I have Micro8088 XT machine. Thanks
@necro_ware3 жыл бұрын
I don't think so, there is a tool which works with some chipsets of 286-486, but I don't think, that it supports XT. You can give a try: www.win3x.org/win3board/viewtopic.php?f=8&t=26070&language=en
@RodBeauvex2 жыл бұрын
How fast is the XTIDE's EEPROM itself? Is it something like a 150ns EEPROM? Would using a One Time Programmable ROM with a faster access time, like 70ns or even 35ns, also produce this sort of speed increase?
@necro_ware2 жыл бұрын
In that case it shouldn't make any difference, since the EPROM has to be just fast enough to be read by the ISA bus.
@DxDeksor4 жыл бұрын
Nice ! Unfortunately my 286 has a very limited bios and all I can do is shadow the bios or the integrated VGA bios and that's it. But I'm using a mechanical drive anyways so I think it's not that big of a problem in my case.
@DxDeksor4 жыл бұрын
Actually ... I think I I have found another way around that thanks to a piece of software you can run ! I'll have to check that tomorrow but I think I've found a method to do this without relying on the bios (with other limits but also other massive advantages)
@necro_ware4 жыл бұрын
Very nice! I'm curious.
@DxDeksor4 жыл бұрын
@@necro_ware Well yes after benchmarking it, it made a significant improvement even with a mechanical hdd :) So without what I did, the transfer speed was 463.8K/sec and 15.7ms average seek time and 4.9ms track seek time. After what I did, I reached 660.3K/sec (200 more K/sec !) 14.8ms average seek time and 3.9ms track seek time. So even with a mechanical HDD, shadowing does some improvements :) Now what did I do since my BIOS doesn't let me shadow RAM as I want ? I used this : www.win3x.org/win3board/viewtopic.php?f=8&t=26070 This marvel lets you use the shadow ram area as UMBs for MS-DOS, which means you can load stuff high without needing EMM386 or even HIMEM.SYS ! This is very useful for a 286 as EMM386 ... requires a 386. Before that, I had 570K free or so, now with everything loaded (network drivers, mouse drivers, keyboard driver ...) I have 622K free :) (and I could add even more things there and still have 622K of conventional memory free) But it also detects each ROM in the computer and automatically shadows them :D (now if your ROM must NOT be shadowed, you can tell the program to not put it in shadow memory. But the documentation explains all of this). Now here's a catch : it only works if your chipset is supported. My 286 has a C&T NEAT chipset, which is supported, but if you have, say 486 from 1992 or later, it's likely it won't be supported (some 386DX aren't supported either and some 286s too, it all depends of the chipset ...).
@necro_ware4 жыл бұрын
Very nice find! Thank you for the update, I'll definitely will take a look at it. I also have two 286 PCs here and could use it there :)
@necro_ware4 жыл бұрын
The documentation already is a gem! It contains so much interesting information. Very cool!
@JorgeCarvalho_web_dev4 жыл бұрын
I would like to ask if you know what is the max disk size that the XT-BIOS is able to recognize, imagine a 386 Mobo able to boot and use an 8GB CF card. Thanks!
@necro_ware4 жыл бұрын
I don't remember the upper limit, however 8GB will run just fine. I have a 16GB card here myself and I'm using it with XTIDE from time to time. But you'll need to format the disk using FAT32, because with FAT16 you are limited to 2GB partitions. DOS 6.22 and lower only supports FAT16, so you'll not be able to use fdisk from there. To get FAT32 working, you have to use DOS 7.0 (Win95 and higher). Or you just go with FAT16 and divide your 8GB disk into 4 partitions 2GB each.
@DxDeksor4 жыл бұрын
Before LBA48 came out, I think anything had internally 28bits for addressing 512b blocks. This means that the maximum for anything made before 2003 is 128GB.
@OpenGL4ever Жыл бұрын
@@necro_ware He can also use FreeDOS. FreeDOS is able to use FAT32.
@elamriti3 жыл бұрын
i have gained not 1 step with this motherboard so i bought some real cf cards i know they are real because i contacted sandisk all of them are 256 mb and they work 100% in my p1 166 machine the settings are /256mb/cycls978/head16/prcomp/65535/landz977/sector32 normal not lba when i pop in the cf card n the 486 the post screes says mass storage hdc fail ! all 256mb cards work in my p1 with ms dos etc 0 problems the 486 motherboard has a ide connector on the mobo itself i cant test that because i dont have a manual !! so my only option is by a xtide card ? would that by pass the bios ,iam lost oh and to look up the correct settings for the cf cards i also used the p1 and a program called IDEINFO
@OpenGL4ever Жыл бұрын
Have you loaded the XT IDE universal BIOS on your 486? Keep in mind XT IDE universal BIOS is software, it's not hardware. There are IDE controllers (hardware) available with the same name and they are probably using this XT IDE universal BIOS software.
@arm-power Жыл бұрын
Note 2 ms = 2,000 us = 2,000,000 ns. Apparently 0.2 ms is 200 us (not 200 ns).
@Zankuho4 жыл бұрын
1:50 You have a virus at 9FBFh
@necro_ware4 жыл бұрын
Are you sure? That would be really cool :D I'll check it later....
@necro_ware4 жыл бұрын
Nope, unfortunately not, it would be too great. I just tested everything with antivirus and everything's clean.