|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 5760 (0x1680) Types: TextFile Names: »PLOTTER.PAS«
└─⟦037dced94⟧ Bits:30003312 Elevopgave i styring af skildpadde til Piccolo └─ ⟦this⟧ »PLOTTER.PAS«
program PLOTTER; type index=1..5000; modevektor=array(.index.) of integer; var mode:modevektor; gang,nr,antal,vent,test,fart, lift,pen,rep,tilstand,steptal:integer; str1:string(.1.); ch,ch1,ch2,ch3,ch4:char; procedure nulstil; begin for nr:=1 to 5000 do mode(.nr.):=0; steptal:=1;pen:=0;tilstand:=0;ch2:=' '; end; procedure flyt(var tilstand:integer); begin for nr:=1 to antal do begin mode(.steptal.):=tilstand; steptal:=steptal+1; for vent:=1 to 10 do port(.17.):=tilstand; for vent:=1 to 10 do gotoxy(1,1);write('Step nr: ',steptal); port(.17.):=pen; end; end; procedure undervis; begin gotoxy(1,1);write(clrhom);nulstil; gotoxy(34,4);write('UNDERVISNING.'); gotoxy(34,5);write('************ '); gotoxy(25,8);write('Du kan nu vælge :'); gotoxy(25,10);write('Pennen frem tast F'); gotoxy(25,11);write('Pennen tilbage tast B'); gotoxy(25,12);write('Pennen til højre tast H'); gotoxy(25,13);write('Pennen til venstre tast V'); gotoxy(25,14);write('Pennen ned/op tast P'); gotoxy(25,15);write('Standse tast S'); gotoxy(48,4); nulstil; repeat read(kbd,ch2); if (ch2<>'S') and (ch2<>'s') and(ch2 in(.'F','f','B','b','H','h','V','v','P','p'.)) then begin case ch2 of 'F','f':tilstand:=pen+1; 'B','b':tilstand:=pen+3; 'H','h':tilstand:=pen+4; 'V','v':tilstand:=pen+12; 'P','p':begin lift:=pen; case lift of 0:pen:=32; 32:pen:=0; otherwise end; tilstand:=pen; end; end; flyt(tilstand); end; until (ch2='S') or (ch2 ='s') or (steptal>4999); port(.17.):=0; end; procedure gentag; begin gotoxy(1,1);write(clrhom); gotoxy(33,11);write(chr(130),'*******************',chr(128)); gotoxy(34,12);write('DER GENTAGES 1 GANG'); gotoxy(33,13);write(chr(130),'*******************',chr(128)); gotoxy(47,12); for nr:=1 to steptal do begin port(.17.):=mode(.nr.); for vent:=1 to 15 do port(.17.):=(mode(.nr.) div 32)*32; for vent:=1 to 15 do end; port(.17.):=0; end; procedure repeter; begin gotoxy(1,1);write(clrhom); gotoxy(37,10);write('REPETITION'); gotoxy(37,11);write('**********'); gotoxy(25,13);write('Hvor mange gange vil du repetere?'); repeat gotoxy(25,15);write('Tast et tal mellem 2 og 9 incl.: '); gotoxy(58,15);read(kbd,ch4); until ch4 in (.'2','3','4','5','6','7','8','9'.); val(ch4,gang,test); gotoxy(58,19);write('Der tegnes ',gang,' kopier!'); for rep:=1 to gang do begin gotoxy(58,20);write('Nu tegnes kopi nr: ',rep); gotoxy(77,20); for nr:=1 to steptal do begin port(.17.):=mode(.nr.); for vent:=1 to 15 do port(.17.):=(mode(.nr.) div 32)*32; for vent:=1 to 15 do end; end; port(.17.):=0; gotoxy(1,1);write(clrhom); end; procedure forklar; begin gotoxy(1,1);write(clrhom); gotoxy(30,2);write('F O R K L A R I N G'); gotoxy(30,3);write('*******************'); gotoxy(17,5);write('Plotterens to motorer sluttes til interfacets '); gotoxy(17,6);write('udgange 1 og 2. Dernæst laves en seriekobling '); gotoxy(17,7);write('af PENLIFT, relæudgang nr 3 og en 10 Volt for- '); gotoxy(17,8);write('syning (bag på interfacet). '); gotoxy(17,9);write('Tilslut kablet mellem PICCOLOen og interfacet '); gotoxy(17,10);write('som markeret på kablet, og tænd derpå for in- '); gotoxy(17,11);write('terfacet. De små ryk, som motorerne giver i be- '); gotoxy(17,12);write('gyndelsen af hver indlæringssekvens, skyldes, '); gotoxy(17,13);write('at PICCOLOens taster er repetitive, de vil for- '); gotoxy(17,14);write('svinde under gentagelsesprocessen. '); gotoxy(17,15);write('Plotterprogrammet kan kun "huske" 5000 instruk- '); gotoxy(17,16);write('ser, så følg med på step-tælleren oppe i det '); gotoxy(17,17);write('venstre hjørne af skærmen. '); gotoxy(17,18);write('Hvis du vil justere plotterens position, skal '); gotoxy(17,19);write('du bruge et kort indlæringsprogram, som du blot '); gotoxy(17,20);write('ikke vil have gentaget. '); gotoxy(30,24);write('Tryk MELLEMRUM for at fortsætte...'); repeat read(kbd,ch); until ch=' '; end; begin nulstil; port(.19.):=255; port(.19.):=192; port(.17.):=0; antal:=1; repeat gotoxy(1,1);write(clrhom); gotoxy(25,3 );write(chr(130),' P L O T T E R - S T Y R I N G',chr(128)); gotoxy(20,6 );write('Du har nu følgende valg:'); gotoxy(20,7 );write('________________________'); gotoxy(20,13);write('Du kan undervise tast U'); gotoxy(20,15);write('Plotteren gentager tast G'); gotoxy(20,11);write('Du kan få forklaring tast F'); gotoxy(20,19);write('Hvis du vil standse, så tast Q'); gotoxy(20,17);write('Plotteren gentager N gange tast R'); gotoxy(20,21);write('NB!!! Hele turen bliver SLETTET !!!'); gotoxy(45,6); repeat read(kbd,ch1); case ch1 of 'U','u':undervis; 'G','g':gentag; 'R','r':repeter; 'F','f':forklar; end; until ch1 in (.'U','u','G','g','R','r','F','f','Q','q'.); until (ch1='Q') or (ch1='q'); gotoxy(1,1);write(clrhom); end. «eof»