home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
X Dome 2
/
X-Dome_2_1995_Error_2000_de.d64
/
w.i.c.p.
(
.txt
)
< prev
Wrap
Commodore BASIC
|
2023-02-26
|
3KB
|
101 lines
1 rem *********************************
2 rem * w.i.c.p. *
3 rem *********************************
4 rem *(c)opyright 1995 by phoenix of *
5 rem *high-tech and error2000! *
6 rem *********************************
7 rem * *
8 rem *hope you have fun with this prg*
9 rem *********************************
10 me$(1,1)="please":me$(1,2)="press ":me$(1,3)="[210]eturn"
12 poke53280,.:poke53281,.:printchr$(8)chr$(14)
16 rem ++++++++++++++++++++++
17 rem + window vorbereiten +
18 rem ++++++++++++++++++++++
20 ze=3:sp=3:br=6:ho=5:gosub10000
21 rem ++++++++++++++++++++
22 rem + menue-auswaehlen +
23 rem ++++++++++++++++++++
30 za=3:m=1:gosub17000
31 rem +++++++++
32 rem + input +
33 rem +++++++++
40 ze=15:sp=15:la=18:gosub20000
50 rem --------------------------------
60 ze=2:sp=2:br=len(f$)+8:ho=1:gosub10000:poke211,3:poke214,3:sys58640
70 print"[200]allo ";f$;" !"
80 end
90 rem ++++++++++++++++++++++++++++++++
10000 rem ********************
10010 rem * window erstellen *
10020 rem ********************
10030 gosub15000:rem bildschirm retten
10040 poke1024+40*ze+sp,112:ifbr=0then10060
10050 fori=1tobr:poke1024+40*ze+sp+i,64:next
10060 poke1024+40*ze+sp+br+1,110:ifho=0then10090
10070 fori=1toho:poke1024+40*(i+ze)+sp,93:forj=1tobr:poke1024+40*(i+ze)+sp+j,32
10080 next:poke1024+40*(i+ze)+sp+j,93:next
10090 poke1024+40*(ze+ho+1)+sp,109:ifbr=0then10110
10100 fori=1tobr:poke1024+40*(ze+ho+1)+sp+i,64:next
10110 poke1024+40*(ze+ho+1)+sp+br+1,125
10120 return
15000 rem ---------------------
15010 rem - bildschirm retten -
15020 rem ---------------------
15030 fori=0to(ho+1)
15040 forj=0to(br+1)
15050 poke49152+40*i+j,peek(1024+40*(i+ze)+(j+sp))
15060 nextj,i
15070 return
16000 rem ---------------------------
16010 rem - bildschirm zurueckholen -
16020 rem ---------------------------
16030 fori=0to(ho+1)
16040 forj=0to(br+1)
16050 poke(1024+40*(i+ze)+(j+sp)),peek(49152+40*i+j)
16060 nextj,i
16070 return
17000 rem ********************
17010 rem * strings ausgeben *
17020 rem ********************
17030 fori=1toza
17040 poke211,sp+1:poke214,ze+2*i-1:sys58640
17050 printme$(m,i):next
18000 rem -----------------
18010 rem - menue-auswahl -
18020 rem -----------------
18030 i=1:u=1
18040 poke211,sp+1:poke214,ze+2*i-1:sys58640
18050 print"";me$(m,u);"[146]"
18060 geta$:ifa$=""then18060
18070 ifa$="[145]"thengosub19050:i=i-1:u=u-1:ifi<1theni=za:u=za:goto18040
18080 ifa$=""thengosub19050:i=i+1:u=u+1:ifi>zatheni=1:u=1:goto18040
18090 ifa$="_"thens=1:return
19000 ifa$=chr$(13)thengosub16000:return
19010 goto18040
19050 rem ------------------------
19060 rem - altes menue loeschen -
19070 rem ------------------------
19080 poke211,sp+1:poke214,ze+2*i-1:sys58640:printme$(m,u):return
20000 rem *****************
20010 rem * input-routine *
20020 rem *****************
20030 rem *** eingabefeld anfang ***
20040 sp=sp-1:ze=ze-1
20050 br=la+1:ho=1
20060 gosub10000:rem*** eingabefeld ***
20070 rem *** eingabefeld ende ***
20080 poke211,sp+1:poke214,ze+1:sys58640
20090 print"[164]";:f$="":h=0
20100 geta$:ifa$=""then20100
20110 ifa$=chr$(13)thengosub16000:return
20120 ifa$="_"thens=1:return
20130 ifa$=chr$(20)andh>0thenf$=left$(f$,h-1):h=h-1:print"[157][157] ";:goto20200
20140 ifa$="[147]"thenf$="":h=0:goto20190
20150 ifa$<" "ora$>"[218]"then20100
20160 ifa$>chr$(122)anda$<chr$(192)then20100
20170 ifh=lathen20100
20180 f$=f$+a$:h=h+1:goto20200
20190 poke211,sp+1:poke214,ze+1:sys58640:fori=1tola+1:print" ";:next
20200 poke211,sp+1:poke214,ze+1:sys58640:printf$"[164]";:goto20100