--------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E3K00002Date: 03/15/97 From: JANIS KRACHT Time: 02:29am \/To: ALL (Read 2 times) Subj: New PDN files at < TOPIC: 145 ASSEMBLY LANG. Ref: E3K00003Date: 03/14/97 From: JANIS KRACHT Time: 12:32am \/To: ALL (Read 2 times) Subj: New PDN files at < TOPIC: 145 ASSEMBLY LANG. Ref: E3K00004Date: 03/14/97 From: CRAIG HART Time: 09:06am \/To: PETER VAN HERTUM (Read 2 times) Subj: Detect SoundBlaster's DMA Yo.. PH> CH> You simply try all DMA channels and IRQ's until you find the one hat PH> CH> works. some psuedo code: PH> CH> for dma=0 to 7 do for irq = 0 to 15 do play a 1 byte sample using PH> CH> DMA so that an irq is triggered. did our ISR go off? no : try next PH> CH> values yes : OK we have the settings!! end. PH> Don't I have to know the port address for that ? PH> Let's say you don't know which port the SB uses... Can I TRY to play PH> a (one byte) sample on all the IRQ's,DMA's and PORTs no matter what PH> device is using them ? What if there is a videocard or something PH> using them ? How will it react ? You find the port address without needing to know the DMA or IRQ. basicly, you do this (In Pascal..sorry!) : sbaddr=$210; sbfound:=false; repeat port[sbaddr+$6]:=1; { reset SB, must be set for 10ms } delay(10); port[sbaddr+$6]:=0; i:=0; repeat { look for "data ready" flag } inc(i); until (port[sbaddr+$e] and $80=$80) or (i=1000); if i<1000 { look for signature data ($AA)} begin i:=0; repeat inc(i); until (port[sbaddr+$a]:=$aa) or (i=1000); { read data port } if i<1000 then sbfound:=true; end; if not sbfound then sbaddr:=sbaddr + $10; { next addr to test } until sbaddr>$280 or sbfound; { sb address range 210 - 280 if sbfound is now true, then sbaddr = the I/O port of the SB. You can now go looking for DMA and IRQ's, issue DSP commands, etc etc. Craig --- FMail/386 1.0g * Origin: Communications Barrier BBS (03) 9585 1112, 24hrs (3:632/533) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E3K00005Date: 03/14/97 From: SAM IZZO Time: 04:25pm \/To: NICK COONS (Read 2 times) Subj: Re: GS -=> Quoting Nick Coons to Tom Torfs <=- > GS can always be used as a general segment register, as can FS. Of course > it requires a 386 CPU or better. NC> Do you need an Assembler that will assemble 32-bit code, or is NC> there some way to use FS and GS with something like A86? Good old db statements! ie db 8eh, 0e8h { mov gs, ax } At least, that's what I use in TP. Sam ... I haven't lost my mind; it's backed up on tape somewhere! --- FMail/386 1.0g * Origin: Comms Barrier BBS +61.3.9585.1112, +61.3.9583.6119 (3:632/533) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E3K00006Date: 03/13/97 From: JOHN GARDENIERS Time: 07:07pm \/To: NICK COONS (Read 2 times) Subj: Delays Hi Nick, -=> 10 Mar 97 14:44, Nick Coons wrote to John Gardeniers <=- >> Who said that NOPs always consume one clock cycle? NC> I don't remember who it was, but when I first asked what the NC> point was and whether or not it consumed clock cycles, someone replied NC> saying that it took 1 clock cycle. They didn't specify a processor NC> type, so I figured it was "global." On all CPUs for which I've seen the instruction set a NOP is one *byte*, but that's not quite the same as being one clock cycle. I've just fished out my Z80 manual and checked what it is on that one.... One machine cycle, which is 4 clock cycles. One of the reasons it takes so long is due to the need to refresh memory. A CPU which doesn't provide memory refresh, such as the 80XXX family, can obviously execute the NOP slightly faster, although that doesn't automatically mean it will. While I'm at it, I highly recommend "How to Program the Z80" by Rodney Zaks. This book gives such clear explanations of exactly how that CPU executes instructions that it's well worth reading, if only for that. Programmers rule number one: Never assume that there's any consistency in the way things are implemented on different CPUs or computer systems. To do so will often cause problems. ;-) ttyl, >>> Fuse >>> ... (c) Windoze, (tm) Microsmurf Corp. --- GoldED 3.00.Alpha2+ * Origin: The Cubby House, assembled by hand (3:632/360.70) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E3K00007Date: 03/15/97 From: MODERATOR Time: 05:06pm \/To: CHRISTOPHER HANKINSON (Read 2 times) Subj: Sorry CH> I have Bluewave, and it is reg.? Registered by whom? There are a few free packages around that work quite well. Regardless, I suggest that you learn how to use QWK or pretty soon everyone will grow tired of trying to talk to you. --- timEd 1.01 * Origin: James Vahn (jvahn@short.circuit.com) (1:346/15.1)