Article View: be.comp.programming
Article #8024Hulp met Turbo Pascal
From: Sumo_Negro
Date: Mon, 15 Jul 2002 12:23
Date: Mon, 15 Jul 2002 12:23
93 lines
3812 bytes
3812 bytes
Ik ben ergens in een oud tijdschrift iets interessants tegengekomen, een
programmatje om via je gameport weerstanden te meten.
Probleem is hetvolgende, programma is geschreven voor Turbo Pascal en
graag had ik een windowsapplicatie gehad, ben ik verkeerd en kan dit niet
met Turbo Pascal.
Hieronder vind je de Source, misschien kan iemand me helpen om dit om te
zetten in c++, zelf heb ik niet veel kaas gegeten van het programmeren.
Alvast bedankt.
Listing 1:
; GCR.ASM Game port Counter Routine
; **********************************
DATA SEGMENT
EXTRN COUNTLIMIT:WORD
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
PUBLIC COUNT
COUNT PROC FAR
PUSH BP ;SAVE BASE POINTER
MOV BP,SP ;LOAD STACK POINTER
MOV SI,COUNTLIMIT ;LOAD COUNTER LIMIT VALUE
MOV DX,201H ;LOAD GAME PORT ADDRESS
MOV BL,[BP+06] ;LOAD SELECT-VALUE MMV
MOV CX,00H ;COUNT:=0
CLI ;CLEAR INTERRUPT ENABLE FLAG
MOV AL,00H ;TRIGGER ALL MMV
OUT DX,AL
WHILE: IN AL,DX ;WHILE OUTPUT SELECTED MMV NOT EQUAL 0
AND AL,BL
JZ EWHILE
CMP CX,SI ;AND COUNT < > COUNT LIMIT
JE EWHILE
DO: INC CX ;COUNT:=COUNT+1;
JMP WHILE
EWHILE: STI ;SET INTERRUPT ENABLE FLAG
MOV AX,CX ;PASS COUNT TO PASCAL
POP BP ;RESTORE BASE POINTER
RET 4 ;RETURN TO PASCAL
COUNT ENDP
CODE ENDS
END
Listing 2:
{$F+,R-]}
PROGRAM RGAME(INPUT,OUTPUT);
(**************************)
(* ELEKTOR 30-03-90 V1.0/JR *)
USES CRT;
VAR CNT,R,M : INTEGER;
COUNTLIMIT: WORD;
C102K2 : INTEGER;
{$L GCR)}
FUNCTION COUNT(MMV:INTEGER):INTEGER; EXTERNAL;
(********************************************)
BEGIN
CLRSCR;
COUNTLIMIT:=MAXINT;
C102K2:=COUNT(1);
IF C102K2=COUNTLIMIT
THEN
BEGIN
WRITELN('ERROR: Game-Karte, Schalter und R5 kontrollieren');
DELAY(2000);
END
ELSE
BEGIN
COUNTLIMIT:=2*C102K2;
REPEAT
M:=1;
FOR R:=1 TO 4 DO
BEGIN
CNT:=COUNT(M);
IF CNT=COUNTLIMIT
THEN WRITE('R',R,' Me�bereich �berschritten ')
ELSE WRITE('R',R,' ',ROUND(CNT/C102K2*102.2-2.2):3,'K
');
GOTOXY(30,R); WRITELN('Z�hler ',CNT:4,' ');
M:=M SHL 1;
END;
DELAY(750); GOTOXY(1,1);
UNTIL KEYPRESSED;
CLRSCR;
END;
END.
--
Mvg
Sumo_Negro
Men moet denken als een held
om zich als een gewoon fatsoenlijk mens te gedragen.
Technical Details
Message-ID:
<MPG.179cdd8ac5b338a198972e@newsbin.telenet.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-08!supernews.com!priapus.visi.com!news-out.visi.com!hermes.visi.com!skynet.be!skynet.be!ossa.telenet-ops.be!hebe.telenet-ops.be.POSTED!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII X-Google-Thread: fcea4,981c97a6958990f8,start X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-07-15 05:28:19 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-08!supernews.com!priapus.visi.com!news-out.visi.com!hermes.visi.com!skynet.be!skynet.be!ossa.telenet-ops.be!hebe.telenet-ops.be.POSTED!not-for-mail From: Sumo_Negro <Sumo_Negro4life@hotmail.com> Newsgroups: be.comp.programming Subject: Hulp met Turbo Pascal Message-ID: <MPG.179cdd8ac5b338a198972e@newsbin.telenet.be> Organization: Home X-Newsreader: MicroPlanet Gravity v2.60 Lines: 93 Date: Mon, 15 Jul 2002 12:23:56 GMT NNTP-Posting-Host: 213.224.151.40 X-Complaints-To: abuse@telenet.be X-Trace: hebe.telenet-ops.be 1026735836 213.224.151.40 (Mon, 15 Jul 2002 14:23:56 CEST) NNTP-Posting-Date: Mon, 15 Jul 2002 14:23:56 CEST