--------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2W00006Date: 02/25/97 From: CRAIG HART Time: 08:54am \/To: JAMES VAHN (Read 2 times) Subj: 486 MOV. Hi.. > OUT 4Fh,AL > Makes a dandy pause. Apparently the ports below FFh all operate > at 8-10 MHz, and the CPU will sit quietly waiting for the OUT > to finish (unlike IN). The trick is to find an unused port to > write to, and 4Fh seems to be the one. I tried a number of modern and old M/B's to see if port 4fh is accessed by the BIOS (Using a POST card setup for port 4fh instead of the usual 80h. This post card also indicates the presence of a READ from a port, as well as writes). I found port 4fh to be completely unused in any board tried. You seem to have found a good port to use! I wold sugest that port 80h is a good second substitute as almost every modern BIOS writes POST codes to this port, which suggests that writes here are quite harmless. As for creating a fixed delay; this "trick" has been used both in the crynwr packet drivers and in Linux... therefore I'd say it's probably pretty reliable. The source code (linux?) I've studied also suggests that this works on a MCA computer, however, the MCA machine delays approximately half the time of an ISA bus machine (IE the out is twice as fast). Craig --- FMail/386 1.0g * Origin: Communications Barrier BBS (03) 9585 1112, 24hrs (3:632/533) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2W00007Date: 02/26/97 From: CRAIG HART Time: 09:14am \/To: ANDREW KENNEDY (Read 2 times) Subj: Hard drive in sleep mode Hi. re: HDD Sleep code. > I snagged the code below from the net, it worked on my Compaq at work, > but > did not work on a 483-33 clone I have with an IDE drive. Any comments as > to why it doesn't always work.(Hardware difference?) The drive itself must support the command you are sending it. Not all drives do. Some [mostly older] drives use a different command to activate the same feature. 'nuff said? craig --- FMail/386 1.0g * Origin: Communications Barrier BBS (03) 9585 1112, 24hrs (3:632/533) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2W00008Date: 02/24/97 From: FLORIAN SCHAEFER Time: 04:05pm \/To: BARRY BLOCK (Read 2 times) Subj: Detect SoundBlaster's DMA Hi Barry, am Donnerstag, 20 Februar 1997 schrieb Barry Block an Florian Schaefer: FS>> for Soundblaster-Cards. Getting the right Port is no Problem. But FS>> I don't know how to find out the right DMA-Channel. BB> Use the BLASTER environment variable. :) No. That's not possible :( My program behaves like a bootsector. Wenn it starts there is no Dos-Environment :( cu Flo --- GoldED 2.50.Beta6 UNREG * Origin: Gegen den Strom! (2:2480/3504.9) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2X00000Date: 02/26/97 From: HANS LUNSING Time: 06:42pm \/To: SYLVAIN LAUZON (Read 2 times) Subj: int 2f Hello Sylvain On Monday, 24 February 1997 00:01:00, you wrote to All: SL> hi! I need an help to figure what these returned codes mean. SL> Function AL = 00 SL> AH = 00 DOS 2.x PRINT.COM (undocumented, see note below) SL> 01 PRINT (undocumented behavior also, see note below) SL> on return: SL> AL = 00 not installed, ok to install SL> = 01 not installed, do NOT install SL> = FF installed SL> I installed PRINT in memory tried AH=00, it returns AL=01 SL> " " " " " " AH=01, it returns AL=FF SL> What AL=01 really mean?? If I believe these statements, it says "not SL> installed" but its totaly untrue! AH = 0 is for DOS 2.x PRINT.COM, and it says AL = 01, not installed, do not install (presumably because you have a later version of DOS). AH = 1 is for later versions, and it says AL = FF, installed. What's wrong with that? Friendly greeting you, Hans Lunsing, Fido : 2:281/607.214, 2:282/610.12 Internet : jlunsing@doge.nl --- Terminate 4.00/Pro * Origin: BBS De Lauwers For BASIC Programmers! ++31594688407 (2:282/610.12) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2X00001Date: 02/26/97 From: HANS LUNSING Time: 06:44pm \/To: NICK COONS (Read 2 times) Subj: NASM Hello Nick On Sunday, 23 February 1997 11:58:00, you wrote to Ian Moote: >> -> No, it can't...I've tried. It won't even recognize PROC. >> "PROC"!? Man... I would have thought its lack of macro support >> to be a more glaring deficiency. Why you would want to use PROC in >> the first place is beyond me, NC> Because I don't know of another way to define a CALLable NC> procedure. Do you? O yes, you could use a simple label and a public statement. As an example, here goes a shift left function you could use in basic: .model medium, basic public shil .code shil: push bp ; save bp mov bp, sp ; make stack frame mov cl, [bp+6] ; number of bits to shift mov ax, [bp+8] ; integer to shift shl ax, cl ; do the shift pop bp ; restore bp retf 4 ; return and clean stack of 4 bytes end --- Terminate 4.00/Pro * Origin: BBS De Lauwers For BASIC Programmers! ++31594688407 (2:282/610.12) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2X00002Date: 02/20/97 From: NICK.COONS@F404.N114.Z1.GRYN.ORG Time: 03:31pm \/To: KURT WISMER (Read 2 times) Subj: 486 MOV. From: Nick.Coons@f404.n114.z1.gryn.org (Nick Coons) Newsgroups: trends.fido.80xxx Subject: 486 MOV. Organization: Dynamic Computer Systems Hi Kurt! > NC> The difference being that bitwise functions simply look at the > NC> bits of a number (or two numbers) and act accordingly. Logical > NC> functions check to see if a value is TRUE or FALSE. Since OR, AND, > but true and false are expressable as 1 and 0... and on a pc they're > the same thing... Usually you use 0 as FALSE and -1 as TRUE. Since 0 = NOT -1 and -1 = NOT 0. > NC> The best way to demonstrate logical operators is to use > NC> real-life situations. Let's say your father asked you, "Did you take > NC> out the trash AND do the dishes?" > is bit 7 set in both ax AND dx? Yeah, that would be a similar situation. > NC> Maybe I can use a BASIC statement to illustrate logical: > NC> IF a% AND b% THEN .... > NC> BASIC determines a value to be TRUE if it is nonzero. If a% is > NC> TRUE, and b% is TRUE, then do the stuff after THEN. > correct me if i'm wrong, but if you look at the actual contents of a > boolean value, don't you find 1 or 0? That would depend on the language you're using. In BASIC, you use 0 for FALSE and -1 for TRUE since the smallest piece of data you can manipulate is 1 byte. And I think with C you can manipulate individual bits, so TRUE would be if the bit was set, and FALSE would be if it was not set. With VisualBASIC, the values for TRUE and FALSE are predetermined, so I don't know what they are (I never bothered to check). Nick Coons nick.coons@juno.com Dynamic Computer Systems --- * Origin: Dynamic Computer Systems (1:12/98.1) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2X00003Date: 02/20/97 From: NICK.COONS@F404.N114.Z1.GRYN.ORG Time: 03:51pm \/To: ANTON TOKAR (Read 2 times) Subj: Searchm.Asm From: Nick.Coons@f404.n114.z1.gryn.org (Nick Coons) Newsgroups: trends.fido.80xxx Subject: Searchm.Asm Organization: Dynamic Computer Systems Hi Anton! > As I wrote in the introduction (i think so) my little program only works > with COM1 and COM2. One can also implement a COM XX detection, but for > this case one has to read the COM Addresses out of the BIOS. And I just > don't wanted to code this stuff. OK? I think one thing you can do that should be pretty simple would be to put the address of a different port in place of COM1/COM2. So if you want to access a particular port, you just use COM1/COM2 in it's place. Let's say you want to access COM3. COM1's address is 3F8h, and COM3's is 3E8, so we change COM1's address to 3E8 and we'll really be accessing COM3 when our program refers to COM1. mov ax, 40h mov es, ax mov bx, 0 mov es:[bx], 0E8h Then change it back to F8 when you're done. I don't know if the above work, since I've only really done this in BASIC. So here's the BASIC code that I know works :)... DEF SEG = &H40 POKE &H0, &HE8 DEF SEG Then to change it back: DEF SEG = &H40 POKE &H0, &HF8 DEF SEG For COM2 and COM4, it's the same thing except that the offset is 2h instead of 0h. Nick Coons nick.coons@juno.com Dynamic Computer Systems --- * Origin: Dynamic Computer Systems (1:12/98.1) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2X00004Date: 02/27/97 From: BUD RASMUSSEN Time: 01:02pm \/To: M.L. SPARKS (Read 2 times) Subj: PROC vs MACRO any question ? - no, i agree with you and a most lucid dissertation it was ! - BTW, why is SPEED the norm ? CHEERS :-))) Bud Rasmussen --- Platinum Xpress/Win/Wildcat5! v2.0GY * Origin: Chemeketa OnLine : 503-393-5580 (1:3406/15) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2X00005Date: 02/27/97 From: JANIS KRACHT Time: 01:19pm \/To: ALL (Read 2 times) Subj: New PDN files at <