Hirdetés
- Meggyi001: Kórházi ellátás: kuka vagy finom?
- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- Pötyi: 4. RETRO KONZOL ÉS SZÁMÍTÓGÉP BÖRZE - '25. november 16.
- Brogyi: CTEK akkumulátor töltő és másolatai
- weiss: Lakodalom van a mi utcánkban...
- sziku69: Szólánc.
- laskr99: DFI és DFI Lanparty gyűjteményem
-
LOGOUT
AMD K6-III, és minden ami RETRO - Oldschool tuning
Megnyitott a Retro beárazás topik!
Új hozzászólás Aktív témák
-
válasz
envagyok
#97818
üzenetére
Pedig Te programoztál is...
Egyszerű mint egy Pascal kód(nézegetem a régi forrásokat), pld saját detect ISA SB- re, furmányos, fapados módszer(részlet) :
var m,savem:byte;
BEGIN
Copyright;
base:=$220;
savem:=getmixer($30);
if savem=184 then setmastervolume(160,160);
repeat
setmastervolume(184,184);
m:=getmixer($30);
if m<>184 then if base=$280 then
begin
copyright;abort('SB16 not found!,Volume not installed!');
end;
if m<>184 then
case base of
$220:base:=$240;
$240:base:=$260;
$260:base:=$280;
$280:;
end;
until m=184;
setmastervolume(savem,savem);A hangerő változtatása a megfelelő bázis nélkül hatástalan, a ciklus+kiválasztással pedig megvan a kártya, a bázissal együtt, ha nincs, kilép. DMA nem játszik, mert ha nem SB- re fut, az is hatástalan, nem fagy, működik.
A rezidens billentyűnél azért már bonyolódik kicsit(részlet) :
{$F+}PROCEDURE VOLUME;INTERRUPT;{$F-}var Shift : Byte absolute 0:$0417;
x,kx,ky : byte;
const
valtn: boolean=false;
valts: boolean=false;BEGIN
if OK then
begin
(******************************************************)if (Shift and 32 <> 32) then valtn:=false else
{ if (Shift and 32 = 32) then }
if not valtn then
beginBase:=$240;
{ResetMixer;}
IRQselect(imIRQ10);
DMAselect(dcDMA7,dcDMA3);
OutputSelect(dmOutputAll);
InputSelect(dmLeftAll,dmRightAll);
InputGain(Gain_2x,Gain_2x);
OutputGain(Gain_4x,Gain_4x);
MicAGC(Off);kx:=wherex;ky:=wherey;
x:=getmixer($30);
if x<240 then inc(x,$08);
if x>255 then x:=255;
if x<1 then x:=1;
setmastervolume(x,x);
textcolor(15);textbackground(3);
gotoxy(55,2);write(' VOLUME B240 I10 L3 H7 ');
gotoxy(55,3);write(' SB_AWE32_PNP * ');
gotoxy(55,3);write(' SB_AWE32_PNP * ',x);
gotoxy(kx,ky);{normvideo;}
valtn:=true;
end;
if (Shift and 16 <> 16) then valts:=false else
{ if (Shift and 16 = 16) then}
if not valts then
beginBase:=$240;
{ResetMixer;}
IRQselect(imIRQ10);
DMAselect(dcDMA7,dcDMA3);
OutputSelect(dmOutputAll);
InputSelect(dmLeftAll,dmRightAll);
InputGain(Gain_2x,Gain_2x);
OutputGain(Gain_4x,Gain_4x);
MicAGC(Off);kx:=wherex;ky:=wherey;
x:=getmixer($30);
if x>10 then dec(x,$08);
if x>255 then x:=255;
if x<1 then x:=1;
setmastervolume(byte(x),byte(x));
textcolor(15);textbackground(3);
gotoxy(55,2);write(' VOLUME b240 i10 l3 h7 ');
gotoxy(55,3);write(' SB_AWE32_PNP * ');
gotoxy(55,3);write(' SB_AWE32_PNP * ',x);
gotoxy(kx,ky);{normvideo;}
valts:=true;
end;(******************************************************)
if (Shift and 4=4) then
if (Shift and 1=1) then
begin
Base:=$220;
{ResetMixer;}
IRQselect(imIRQ5);
DMAselect(dcDMA5,dcDMA1);
OutputSelect(dmOutputAll);
InputSelect(dmLeftAll,dmRightAll);
InputGain(Gain_2x,Gain_2x);
OutputGain(Gain_4x,Gain_4x);
MicAGC(Off);kx:=wherex;ky:=wherey;
x:=getmixer($30);
if x<240 then inc(x,$08);
if x>255 then x:=255;
if x<1 then x:=1;
setmastervolume(x,x);
textcolor(15);textbackground(3);
gotoxy(2,2);write(' VOLUME B220 I5 L1 H5 ');
gotoxy(2,3);write(' SB_16 * ');
gotoxy(2,3);write(' SB_16 * ',x);
gotoxy(kx,ky);{normvideo;}
valtn:=true;
end;
if (Shift and 4=4) then
if (Shift and 2=2) then
begin
Base:=$220;
{ResetMixer;}
IRQselect(imIRQ5);
DMAselect(dcDMA5,dcDMA1);
OutputSelect(dmOutputAll);
InputSelect(dmLeftAll,dmRightAll);
InputGain(Gain_2x,Gain_2x);
OutputGain(Gain_4x,Gain_4x);
MicAGC(Off);kx:=wherex;ky:=wherey;
x:=getmixer($30);
if x>10 then dec(x,$08);
if x>255 then x:=255;
if x<1 then x:=1;
setmastervolume(byte(x),byte(x));
textcolor(15);textbackground(3);
gotoxy(2,2);write(' VOLUME b220 i5 l1 h5 ');
gotoxy(2,3);write(' SB_16 * ');
gotoxy(2,3);write(' SB_16 * ',x);
gotoxy(kx,ky);{normvideo;}
valts:=true;
end;
if (Shift and 8=8) then
if (Shift and 1=1) then
beginBase:=$240;
{ResetMixer;}
IRQselect(imIRQ10);
DMAselect(dcDMA7,dcDMA3);
OutputSelect(dmOutputAll);
InputSelect(dmLeftAll,dmRightAll);
InputGain(Gain_2x,Gain_2x);
OutputGain(Gain_4x,Gain_4x);
MicAGC(Off);kx:=wherex;ky:=wherey;
x:=getmixer($30);
if x<240 then inc(x,$08);
if x>255 then x:=255;
if x<1 then x:=1;
setmastervolume(x,x);
textcolor(15);textbackground(3);
gotoxy(55,2);write(' VOLUME B240 I10 L3 H7 ');
gotoxy(55,3);write(' SB_AWE32_PNP * ');
gotoxy(55,3);write(' SB_AWE32_PNP * ',x);
gotoxy(kx,ky);{normvideo;}
valtn:=true;end;
if (Shift and 8=8) then
if (Shift and 2=2) then
beginBase:=$240;
{ResetMixer;}
IRQselect(imIRQ10);
DMAselect(dcDMA7,dcDMA3);
OutputSelect(dmOutputAll);
InputSelect(dmLeftAll,dmRightAll);
InputGain(Gain_2x,Gain_2x);
OutputGain(Gain_4x,Gain_4x);
MicAGC(Off);kx:=wherex;ky:=wherey;
x:=getmixer($30);
if x>10 then dec(x,$08);
if x>255 then x:=255;
if x<1 then x:=1;
setmastervolume(byte(x),byte(x));
textcolor(15);textbackground(3);
gotoxy(55,2);write(' VOLUME b240 i10 l3 h7 ');
gotoxy(55,3);write(' SB_AWE32_PNP * ');
gotoxy(55,3);write(' SB_AWE32_PNP * ',x);
gotoxy(kx,ky);{normvideo;}
valts:=true;end;
end;
OriginalHandler;
END;
Új hozzászólás Aktív témák
- GYÖNYÖRŰ iPhone SE 2022 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3366
- Új és régi konzolok Okosítása/Softmodoloása, és Szoftveres szintű javítása - RÉSZLETEK A LEÍRÁSBAN
- Apple Watch Series 9 45mm GPS Starlight 1 év Garancia Beszámítás Házhozszállítás
- Xiaomi 14T Pro 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
- LG Gram 14 WUXGA IPS i7-1360P 5.0Ghz 12mag 32GB DDR5 1TB SSD Intel Iris XE 10óra Akku Win11 Garancia
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest
DarthSun
