009
09.02.2018, 13:42 Uhr
holm
|
_mie_ hat mir ein paar Turbopascal Progrämmchen zum ausprobieren geschickt, ich scheitere aber schon beim compilieren...
Quellcode: |
type dmtyp = (MIXED,GRAPHIC,CHARACTER); modetyp = (REPLACE,COMPLEMENT,PRESET,PSET); figtyp = (CHARANDDOT,STRAIGHTLINE,GRAPHICSCHAR,CIRC,RECT,SLANTED);
const GDCCONST : array(.figtyp.) of byte = (0,8,$10,$20,$40,$80); xmp1 = 640; ymp1 = 480; (* Aufl”sung z.B. EC1834 *) xmax = 639; ymax = 479; (* Aufl”sung - 1 *) gdcparam : record (* Alle Parameter sollten nur ber ihre proceduren ge„ndert werden *) displaymode: dmtyp; drawwhiledisp, screenenable, displaycursor, blinkcursor : boolean;
dispzoom, grzoom, blinkrate, curtop, curbot : byte; mode: modetyp; pattern: integer;
dynamicram,interlaced,repeatfieldchar: boolean; linesperchar,pitchvalue,wordsperline,bytesperline : byte; activdispword,activlines : integer; horisyncwidth,vertsyncwidth,horfrontporch,horbackporch, verfrontporch,verbackporch : byte; vsyncmaster : boolean end = (displaymode : GRAPHIC; (* Text & Grafik-modus *) drawwhiledisp : FALSE; (* Nur bei ausgeschaltetem Kathodenstrahl malen *) screenenable : TRUE; (* Anzeige an *) displaycursor : TRUE; (* Cursor an *) blinkcursor : TRUE; (* Cursor blinkt *) dispzoom : 0; (* Kein Text-Zoom Faktor *) grzoom : 0; (* Kein Grafik-Zoom *) blinkrate : 1; (* Blinkgeschwindigkeit *) curtop : 0; (* Obere Kannte/Cursor *) curbot : 15; (* Untere Kante/Cursor *) mode : REPLACE; (* Replace-Modus *) ---> pattern : $FFFF; (* Pattern-Register *)
(* Ab hier ist's Hardwareabhängig : *)
|
Das ist ein Stück Programm aus einem File NEC7220.PAS das Andreas aus der mc-soft vom November 1986 hat. Der Turbo5.5 Compiler spuckt mich an: Error 76 "Constant out of range" ..nunja, pattern ist oben drüber als integer vereinbart, und prinzipiell kann ich verstehen das ich einer Variable deren Wertebereich von -32768 bis +32767 geht einen Wert von 65535 zuweisen möchte..andererseits ist +32767 eigentlich hexadezimal hier $FFFF. Ich habe lange vergessen was hier zu tun ist..range checking in den Compiler Optionen ist eigentlich "aus". In C löst das ein Type Cast ..und in Turbopascal??
Einer da der das noch weiß?
Gruß,
Holm -- float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v; {s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+ (r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&& (A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;} Dieser Beitrag wurde am 09.02.2018 um 13:42 Uhr von holm editiert. |