═══ 1. QikView ═══ What Is QikView ? QikView is just a GUI for the RMVIEW command found in your OS/2 System's commands. These commands are found by going to either a OS/2 windowed or full screen session. I have only provided a interface to some of those commands from your desktop. If you need to access DMA, I/O Ports, and IRQ information, you can now do it from your desktop with your mouse. This is no big thing by any standards. Just a simply idea of mine to help myself and others who need the information from time to time. To Use QikView Just click on the QikView.EXE icon (twice with left mouse button). From the list of option buttons, choose what you wish to view. Click on the button choice once with the left mouse button. A window will display the information you have chosen. When you are finished, just close by clicking twice in upper left corner. If you wish to view further information, you must restart the view program to do so. Just follow the previous instructions again. So now that you have an easy way to look at these things, what are they, and why should you even care? In the following sections we will examine the basics of DMA, IRQ, Ports, and how addressing is constructed. End Section ═══ 2. What Are You Looking At ═══ What Are We Looking At With QikView? We love using are computers and buying the newest software and hardware. That new sound card looks really nice, and oooohhh that new video card will make my games play so fast and colorful. Even the hard drives and floppy drives we buy, we love getting our computers built to the max. Now I admit that some of you just want your computer to just do what you purchased it for, nothing more or less. But there comes a time that you need to put in a new modem or something. And thats when the information about your system comes in handy. DMA Direct Memory Access (DMA), give the computer a number and type of expansion boards that you can have in your system. Typical there are 4 or 8 in number. With todays computers most all have 8 channels. Yes we use the word channel here, as DMA is a circuit that lets high speed data transfer between the system memory and devices in your computer. The main reason we should like DMA is that it lets are computers run faster...........DMA is speed for our systems life blood. When you add to this Bus Mastering, this lets boards talk to other boards. Now we have devices talking to memory and super DMA with bus mastering talking to other boards. Lets look at some background of DMA. On most all older Computers DMA channel 1 was used to control the hard disk. Today this is not so, instead they use PIO in way of a EISA, MCA, PCI, and ISA. The best of them being PCI, EISA, MCA because they can use multiple bus masters. Where ISA will only allows one board in the system(ISA). The problem with DMA is it only has the speed of 4.77mhz, unless it is speed up by using the bus. Now the data can transfer as fast as the bus speed. The channels number from 0 to 7. Below you will see a chart of DMA channels. ....Channel........................Common Use................................. 0.........................AT PCs Free, older XTs Dynamic Ram Refresh. 1.........................AT PCs Free or sound card, older XTs Hard drive. 2.........................Used For Floppy Controller, for drive a: b:. 3.........................General Un-used, sound[16bit] card will use, using two DMAs. 4-7.....................Are used by most PCs Today. IRQ IRQ (Interrupt ReQuest ) levels are the means in which a device tells the CPU that it is ready, the CPU only listens to devices such as hard disk, sound card, and other peripherals when it gives them its time. The peripheral must get the CPUs response by levels of interruption so to speak. Like your kids do during that great movie, with the words whoops !!. The interrupts at first where done by one Intel 8259 prioritized interupt controller (PIC). Today in most of our computers, we have built into the mother board, the capacity of twice that. The interrupt occurs and the cpu responds. The lower the interrupt level the higher the priority it has. Well except for that levels 9 - 15 come through level 2, so if you are thinking of putting a network card on 2, think again and save your self a lot of grief. How the IRQ levels are really built are the first eight, 0 - 7, then they take 8 - 15, the other eight, and route them through number 9 through number 2. Now when your IRQs 8 - 15 want something, they have a higher priority as does level 2. The IRQs that are safe to use most of the time are 5, 10, 11, and 15. These can be used for your sound card, SCSI (unless yours only takes DMA), but try to stay away from using the other IRQ levels as your systems other hardware will most likely be using them. When buying new boards of any type, try and find out if the board or device you are getting has jumpers to set the IRQ, DMA, or I/O levels to avoid having conflicts with other devices or boards in your system. I/O I/O ( Input/Output ) are the addresses that your cpu will use to send and receive data, to and from things like printers and other peripherals. In order for this to happen with out any conflicts, each device must have its own street address. This means there must be order in how things work, every thing in its place, or big trouble strikes. Below is a table of how address are formed, a base 10 and base 16 system called HEX Digit and DECIMAL Value. ┌──────────┬──────────┐ │Hex Digit │Decimal │ ├──────────┼──────────┤ │0 │0 │ ├──────────┼──────────┤ │1 │1 │ ├──────────┼──────────┤ │2 │2 │ ├──────────┼──────────┤ │3 │3 │ ├──────────┼──────────┤ │4 │4 │ ├──────────┼──────────┤ │5 │5 │ ├──────────┼──────────┤ │6 │6 │ ├──────────┼──────────┤ │7 │7 │ ├──────────┼──────────┤ │8 │8 │ ├──────────┼──────────┤ │9 │9 │ ├──────────┼──────────┤ │A │10 │ ├──────────┼──────────┤ │B │11 │ ├──────────┼──────────┤ │C │12 │ ├──────────┼──────────┤ │D │13 │ ├──────────┼──────────┤ │E │14 │ ├──────────┼──────────┤ │F │15 │ └──────────┴──────────┘ So what if you really want to look at and plan your memory, so that you can assign cards or ports the right addresses. To try and help in this task, I have put in this table for reading memory. Along with some examples on how to use it. Decimal Address Hexadecimal Address Preceding Hex Address. ┌──────────┬──────────┬──────────┐ │0K │00000 │N/A │ ├──────────┼──────────┼──────────┤ │64K │10000 │0FFFF │ ├──────────┼──────────┼──────────┤ │128K │20000 │1FFFF │ ├──────────┼──────────┼──────────┤ │192K │30000 │2FFFF │ ├──────────┼──────────┼──────────┤ │256K │40000 │3FFFF │ ├──────────┼──────────┼──────────┤ │320K │50000 │4FFFF │ ├──────────┼──────────┼──────────┤ │384K │60000 │5FFFF │ ├──────────┼──────────┼──────────┤ │448K │70000 │6FFFF │ ├──────────┼──────────┼──────────┤ │512K │80000 │7FFFF │ ├──────────┼──────────┼──────────┤ │576K │90000 │8FFFF │ ├──────────┼──────────┼──────────┤ │640K │A0000 │9FFFF │ ├──────────┼──────────┼──────────┤ │704K │B0000 │AFFFF │ ├──────────┼──────────┼──────────┤ │768K │C0000 │BFFFF │ ├──────────┼──────────┼──────────┤ │832K │D0000 │CFFFF │ ├──────────┼──────────┼──────────┤ │896K │E0000 │DFFFF │ ├──────────┼──────────┼──────────┤ │960K │F0000 │EFFFF │ ├──────────┼──────────┼──────────┤ │1024K │100000 │FFFFF │ └──────────┴──────────┴──────────┘ What Is The Size Of A Range? An example would be COM1 (on my system), it uses I/O addresses 3f8 to 3ff. If you do the math here you will count eight addresses that it uses: 3f8, 3f9, 3fa, 3fb, 3fc, 3fd, 3fe, 3ff, making eight. From the table above you can see that after 9 comes the letter A, so we started with letters after the 9. So how does this help you when your looking at addresses for different peripherals on your system? Well to answer that I would say, look at the overlap. Yes the overlap, or overlapping ROM address ranges. If for example we have a card that is using ROM address, we must make sure other cards or ROM addresses on other cards and hardware do not have any of the same addresses. This will create a conflict, thus a system lock or error messages that give us those nasty headaches . My video card may use ROM with the address COOOO-C5FFF (vga card), and another hardware item I just purchased now has ROM that it wants to use, C4OOO-C7FFF. We see that the two items of hardware conflict. So when you are going to purchase a hardware item, find out what it uses, and if you can, purchase items that you can adjust if you need to. Take Note: Today a lot of things come with plug-n-play aware, making this task a little easier. If you can study or at least make a quick reference to the table on hex addresses, this can help you in the long run solve some of those conflicts of hardware against hardware, in your system. End ═══ 3. About ═══ QikView was designed and programmed by Daniel Goggia. It is a GUI interface for the rmview command in your OS/2 system. It gives you the ability to access and view your systems memory addresses, and its usage. OS/2 is a trademark of IBM The DLL files with this program may only be used with this program. IF you pass this program to others, you must include all DLL files, readmes and INF files. The use of this program or its DLL files other then what it is intended for, violates the conditions of this program. The visual programing tool by HockWare was used to help create QikView. Daniel Goggia { DANNYGOS2@AOL.COM } P.O. BOX 1564 MAGALIA .CA 95954-1564 Please send any comments to the above person, thank you. End