www.MethowValley.org-2023
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
Today spring is here
and it is dark
and it is cold
and the snow recedes
and I do not despair
For today
there is much
the sun does rise
and my heart does sing
I sing in laughter
I sing in might
I praise the glory
glory of right
might and right
seeing versus sight
insight makes better
better than the mighty might
war sensation
station of the nation
never ending gloom
not enough room
so soon
fly away soldier man
lost in love
and I don't know why
seeing the place
straighter the face
looking without
wanting within
light
to light
fright insight
left in the plight
bully me today
lost for now
eager for the sunrise
and it is dark
and it is cold
and the snow recedes
and I do not despair
For today
there is much
the sun does rise
and my heart does sing
I sing in laughter
I sing in might
I praise the glory
glory of right
might and right
seeing versus sight
insight makes better
better than the mighty might
war sensation
station of the nation
never ending gloom
not enough room
so soon
fly away soldier man
lost in love
and I don't know why
seeing the place
straighter the face
looking without
wanting within
light
to light
fright insight
left in the plight
bully me today
lost for now
eager for the sunrise
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
A hardened heart
will melt as stone
volcanic heart
in the heat
revolves in tenacity
sudden moments
disappear at the turn of the head
pleasant dreams
are what they seem
matter of fact
salt in solution
synapsis burning
how much we want
how often we need
tempers are no more
vacant and open
the lot of the house we need
and never was
how shall i be
freedom lingers
fingers on the trigger
steeper we go
finding a place
for all the madness
of the human race
will melt as stone
volcanic heart
in the heat
revolves in tenacity
sudden moments
disappear at the turn of the head
pleasant dreams
are what they seem
matter of fact
salt in solution
synapsis burning
how much we want
how often we need
tempers are no more
vacant and open
the lot of the house we need
and never was
how shall i be
freedom lingers
fingers on the trigger
steeper we go
finding a place
for all the madness
of the human race
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
I went to churchtristanbgilb wrote: Wed Feb 09, 2022 9:11 amReligion to me is this spirit in my heart and soul that will not be educated, tortured, punished, legislated, or taken from me by any human means. It is the human experience encoded in my DNA and Karmically arranged. It is the path to know my creator and have a relationship with him.tristanbgilb wrote: Wed Feb 09, 2022 9:07 amJudeo Christian Muslim Rasta Hindu
Black Panther President
ALL ONE People
ALL ONE Creator
LOVING each other
And what did I see
people were there
praying to god
and being all there
living life
I am he that is to be. I am he that is now the place I need to be. I am here and no where gone. In this life, there is a song. Loving each other. christ in nature. getting better. living in love. gone is the madness. filled my heart with gladness.
and not that bad
holy water
in my heart
dissolves the evil
and all thats been
how is it here
that sure it was
all natural and pure
nearing
steering
fearing
all that shall be
all that needs
all that sheds
all that heed
all is all
and is was is he
never mind the madness
never being been
all that is
all that needs
all there
all here
never ending
all eyes
no lies
Place is the beast of madness. love is gladness and sadness.
heart is bearing
all is known
shown in laughter
all is grown
several tears
so many years
what is once was
however shall be
set me fee
to pay thee
for free
in be at there now
to shallow water
sheep to slaughter
never mind the go
stay for the show
the end is here
just know
whose seeds you sow
hitch for the toe
off and in
over the edge
rivers in the wet
settling over there
sharing
staring
there is no way here
now what
build a hut
its cold outside
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
When I was young
Younger than this day
I was quiet
and my heart stood idle
and I wondered
what's the last mile
how can it be
when shall it was
better than tomorrow
days of tough stuff
living loving
wondering where to go
stand alone
sit in
walk out
I am here
sometimes gone
leaving a poem
singing a song
one is one
three was once more
hello my friend
lost in love
without a chance
livery stable promises
no tomorrow
when today I have fear
fear for my heart
that sometimes the rare
rare broken tear
sitting sulking with a smile
waiting in time
yesterday tequila and lime
today I grow
for all to know
lest ye be evil
then I hide
bury me not
unless my spirit is gone
my brain is lifeless
without any songs
once and again
I had a lost friend
evil and despair
satans got his share
for god and love
and all the might
for all my children
I gotta do it right
spinning in circles
lifer I live
don't stop me now
its them or they
me and those
stomping to music
watching the toes
when I love
I want to live
give and give
all so filled
time is still
music goes on
simmer me potato
rowing the boat
feeding the goat
I wanna live
John Denver style
Growing and knowing
no airplane the last mile
help me
I might fall
I might fly with you
If you want to travel my way
Beware of me
I am monster enemy
Only seeking peace
Master of Puppets
Jacked the knife strings
Tangled and Broken
Beyond the other
on my own
with a thought I cared to share
for all else fails
hoping
wanting
needing a world
to play
keep evil at bay
my home
my heart
my mountain
Gilbert Mountain
Younger than this day
I was quiet
and my heart stood idle
and I wondered
what's the last mile
how can it be
when shall it was
better than tomorrow
days of tough stuff
living loving
wondering where to go
stand alone
sit in
walk out
I am here
sometimes gone
leaving a poem
singing a song
one is one
three was once more
hello my friend
lost in love
without a chance
livery stable promises
no tomorrow
when today I have fear
fear for my heart
that sometimes the rare
rare broken tear
sitting sulking with a smile
waiting in time
yesterday tequila and lime
today I grow
for all to know
lest ye be evil
then I hide
bury me not
unless my spirit is gone
my brain is lifeless
without any songs
once and again
I had a lost friend
evil and despair
satans got his share
for god and love
and all the might
for all my children
I gotta do it right
spinning in circles
lifer I live
don't stop me now
its them or they
me and those
stomping to music
watching the toes
when I love
I want to live
give and give
all so filled
time is still
music goes on
simmer me potato
rowing the boat
feeding the goat
I wanna live
John Denver style
Growing and knowing
no airplane the last mile
help me
I might fall
I might fly with you
If you want to travel my way
Beware of me
I am monster enemy
Only seeking peace
Master of Puppets
Jacked the knife strings
Tangled and Broken
Beyond the other
on my own
with a thought I cared to share
for all else fails
hoping
wanting
needing a world
to play
keep evil at bay
my home
my heart
my mountain
Gilbert Mountain
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
Sometimes I stand
Other times I lie still
World is on our shoulders
Children in our hearts
Golden Treasures
Taken Measures
How does your garden grow?
Seeds that show
What to know
Heart ache
Small sake
Taken in
without a smile
mile for mile
Not drunk
Roadkill skunk
Other times I lie still
World is on our shoulders
Children in our hearts
Golden Treasures
Taken Measures
How does your garden grow?
Seeds that show
What to know
Heart ache
Small sake
Taken in
without a smile
mile for mile
Not drunk
Roadkill skunk
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
Leah is totally awesome. This is her CD from 2004, almost 10 years ago. She has allowed me to release the album worldwide digitally including youtube and itunes and such. Not only do I get a small commission on sales, I also get to hear her songs on youtube whenever I need them.PAL wrote: Mon Feb 13, 2023 2:50 pm Oh, can she play and sing! I remember seeing her when she was 17, playing at the Old Schoolhouse Brewery. Her voice has matured and she has confidence. Yay Leah!
-
- Posts: 1538
- Joined: Tue May 25, 2021 1:25 pm
- Contact:
Re: www.MethowValley.org
Oh, can she play and sing! I remember seeing her when she was 17, playing at the Old Schoolhouse Brewery. Her voice has matured and she has confidence. Yay Leah!
Pearl Cherrington
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
Today I cry a river for the loss of my mentor and angel.
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
STEVEN SPICKARD OBITUARY
Steven John Spickard (80) passed away peacefully January 7th, 2023, at Sacred Heart Hospital. He joins his late brother (Bob) and their parents John Spickard and Betty (Davis). He is survived by his daughter Janice Mac Avoy and nephew Ryan Spickard.
Born June 27, 1942, in Clarkston, Idaho, Steve grew up working along with his brother in their parents' endeavors which included real estate and construction.
The family soon moved to Seattle where Steve attended Evergreen and Chief Sealth High School and later went on to study Business and Public Administration at University of Puget Sound as well as Law at Gonzaga University.
As the family returned to settle in Spokane, Steve held many interests and professions such as manager of Select Realty Inc, the owner of one of Spokane's most prolific independent music and gathering venues, 'The Big Dipper.' and also owner of the 'Universal Heart Center', founded from Steve's devotion to the Essene Gospel of Peace, which provided the guideposts through which he lived his life.
Steve enjoyed the great community of people that he helped foster in music, spirituality, health-conscious eating and mindfulness, medical cannabis activism, and volunteer work. His cheerfulness, generosity, humor and kind heart will be missed.
Memorial service announcements will be forthcoming.
Published by Spokesman-Review on Jan. 15, 2023.
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
This Code creates the circle pixelated image that you are seeing at normal speed.
Code: Select all
5 REM LETH=34
10 REM LETK=22
15 REM PLOTH,K
20 REM LETR=21
25 REM LETR=R-1
30 REM IFR=0GOTO315
35 REM LETT=R
40 REM LETU=R
125 REM LETT=R
130 REM LETX=T
135 REM LETY=0
140 REM LETY=Y+1
145 REM IFY=RGOTO220
150 REM LETG=R*R
155 REM LETJ=Y*Y
160 REM LETW=G-J
165 REM LETT=X
170 REM LETX=W/T
175 REM LETA=X+H
180 REM LETB=H-X
185 REM LETC=Y+K
190 REM LETD=K-Y
195 REM PLOTA,C
200 REM PLOTB,C
205 REM PLOTA,D
210 REM PLOTB,D
215 REM GOTO140
220 REM LETY=R
225 REM LETX=0
230 REM LETX=X+1
235 REM IFX=RGOTO310
240 REM LETM=R*R
245 REM LETN=X*X
250 REM LETQ=M-N
255 REM LETU=Y
260 REM LETY=Q/U
265 REM LETA=X+H
270 REM LETB=H-X
275 REM LETC=K-Y
280 REM LETD=Y+K
285 REM PLOTB,C
290 REM PLOTA,C
295 REM PLOTB,D
300 REM PLOTA,D
305 REM GOTO230
310 REM GOTO25
315 REM LETR+21
335 REM LETR=R-1
340 REM IFR=0GOTO625
345 REM LETT=R
350 REM LETU=R
435 REM LETT=R
440 REM LETX=T
445 REM LETY=0
450 REM LETY=Y+1
455 REM IFY=RGOTO530
460 REM LETG=R*R
465 REM LETJ=Y*Y
470 REM LETW=G-J
475 REM LETT=X
480 REM LETX=W/T
485 REM LETA=X+H
490 REM LETB=H-X
495 REM LETC=Y+K
500 REM LETD=K-Y
505 REM UNPLOTA,C
510 REM UNPLOTB,C
515 REM UNPLOTA,D
520 REM UNPLOTB,D
525 REM GOTO450
530 REM LETY=R
535 REM LETX=0
540 REM LETX=X+1
545 REM IFX=RGOTO620
550 REM LETM=R*R
555 REM LETN=X*X
560 REM LETQ=M-N
565 REM LETU=Y
570 REM LETY=Q/U
575 REM LETA=X+H
580 REM LETB=H-X
585 REM LETC=K-Y
590 REM LETD=Y+K
595 REM UNPLOTB,C
600 REM UNPLOTA,C
605 REM UNPLOTB,D
610 REM UNPLOTA,D
615 REM GOTO540
620 REM GOTO335
625 REM GOTO5
- Attachments
-
- ZX81 CircleFillSmall.gif (3.6 MiB) Viewed 39993 times
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
This attachment is an assembly language program on a ZX81 Emulator.
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
This is the link to the BEST ZX81 Emulator EVER!!!
http://zx81.vb81.free.fr/
This is the ZX-COMPILER program I wrote pasted on top the ZX- COMPILER program making a circle in machine code with only adding, multiplying, dividing, and subtracting. No square root makes it sort of difficult.
This is my machine code program that the ZX-COMPILER Created along with a BASIC program calling the machine code.
http://zx81.vb81.free.fr/
This is the ZX-COMPILER program I wrote pasted on top the ZX- COMPILER program making a circle in machine code with only adding, multiplying, dividing, and subtracting. No square root makes it sort of difficult.
Code: Select all
10 REM LETH=34
20 REM LETK=22
30 REM PLOTH,K
40 REM LETR=20
50 REM LETT=R
60 REM LETU=R
70 REM LETL=0
80 REM LETL=L+1
90 REM IFL=RGOTO150
100 REM LETE=K+L
110 REM LETF=K-L
120 REM PLOTH,E
130 REM PLOTH,F
140 REM GOTO80
150 REM LETL=0
160 REM LETL=L+1
170 REM IFL=RGOTO230
180 REM LETE=H+L
190 REM LETF=H-L
200 REM PLOTE,K
210 REM PLOTF,K
220 REM GOTO160
230 REM LETT=R
240 REM LETX=T
250 REM LETY=0
260 REM LETY=Y+1
270 REM IFY=RGOTO420
280 REM LETG=R*R
290 REM LETJ=Y*Y
300 REM LETW=G-J
310 REM LETT=X
320 REM LETX=W/T
330 REM LETA=X+H
340 REM LETB=H-X
350 REM LETC=Y+K
360 REM LETD=K-Y
370 REM PLOTA,C
380 REM PLOTB,C
390 REM PLOTA,D
400 REM PLOTB,D
410 REM GOTO260
420 REM LETY=R
430 REM LETX=0
440 REM LETX=X+1
450 REM IFX=RGOTO600
460 REM LETM=R*R
470 REM LETN=X*X
480 REM LETQ=M-N
490 REM LETU=Y
500 REM LETY=Q/U
510 REM LETA=X+H
520 REM LETB=H-X
530 REM LETC=K-Y
540 REM LETD=Y+K
550 REM PLOTB,C
560 REM PLOTA,C
570 REM PLOTB,D
580 REM PLOTA,D
590 REM GOTO440
600 REM RETURN
# REM **COMPILER**
1000 REM [HEX:\
17,17,28,34,32,35,2E,31,\
2A,37,17,17,76 ]
1010 FAST
1011 LET Q=3950
1012 LET Q1=2830
1013 LET Q2=3320
1014 LET Q3=3630
1015 LET Q4=3970
1016 LET Q5=1320
1017 LET Q6=4
1020 LET P=28858
1030 LET P1=16514
1040 GOSUB 2920
1050 IF PEEK (P1-1)<>234 THEN GOTO Q1
1060 IF PEEK P1=118 THEN GOTO Q1
1070 GOSUB 2880
1080 LET A$=""
1090 LET A$=A$+CHR$ PEEK P1
1100 LET P1=P1+1
1110 IF PEEK (P1-1)<>118 THEN GOTO 1090
1120 IF PEEK (P1+1)*256+PEEK (P1+2)=1010 THEN GOTO 3690
1130 LET P1=P1-3
1140 LET T$=A$( TO 2)
1150 LET B$=A$+" "
1160 LET J=0
1170 LET J=J+(T$="RE")*2170+(T$="SC")*1200+(T$="PR")*1360+(T$="GE")*1530+(T$="EN")*1620+(T$="PA")*1670+(T$="CL")*1720+(T$="MO")*1770+(T$="LE")*1890+(A$( TO 3)="GOT")*2060+(A$( TO 3)="GOS")*2130+(T$="IF")*2200+(T$="PO")*2430+(T$="UN")*2550+(T$="PL")*2580+(T$="DO")*2720
1180 IF NOT J THEN LET J=Q1
1190 GOTO J
1201 IF B$(7)<>CHR$ 118 THEN GOTO Q1
1202 LET U$="2A0C40112100EB1901F702EDB00620AF131210FC"
1203 GOSUB Q3
1204 GOTO Q5
1320 LET P1=P1+8
1330 GOTO 1050
1360 LET B$=B$(6 TO )
1370 IF B$(1)=CHR$ 11 THEN GOTO 1420
1380 GOSUB Q2
1390 LET U$="7DD7"
1400 GOSUB Q3
1410 GOTO Q5
1420 GOSUB Q
1430 LET U$="CDBA40"
1440 GOSUB Q3
1450 POKE P,CODE (B$(1))
1460 GOSUB Q
1470 IF B$(1)=CHR$ 11 THEN POKE P+1,255
1480 LET P=P+1
1490 IF B$(1)=CHR$ 11 THEN GOTO 1510
1500 GOTO 1450
1510 LET P=P+1
1520 GOTO Q5
1530 LET B$=B$(Q6 TO )
1540 LET U$="CDBB02444D51142808CDBD077ECB7728023E8021004077233600"
1550 GOSUB Q3
1560 LET V=CODE B$(1)
1570 IF CODE B$(2)<>118 THEN GOTO Q1
1580 IF V<38 OR V>63 THEN GOTO Q1
1590 LET V=(V-38)*2+130
1600 POKE P-6,V
1610 GOTO Q5
1620 LET B$=B$(Q6 TO )
1630 IF B$(1)<>CHR$ 118 THEN GOTO Q1
1640 LET U$="CFFF"
1650 GOSUB Q3
1660 GOTO Q5
1670 LET B$=B$(6 TO )
1680 GOSUB Q2
1690 LET U$="2B7CB520FB"
1700 GOSUB Q3
1710 GOTO Q5
1720 LET B$=B$(Q6 TO )
1730 IF B$(1)<>CHR$ 118 THEN GOTO Q1
1740 LET U$="2A0C40161823062036002310FB1520F5010000CDF508"
1750 GOSUB Q3
1760 GOTO Q5
1770 LET B$=B$(5 TO )
1780 GOSUB Q2
1790 GOSUB Q4
1830 LET U$="45"
1840 GOSUB Q3
1850 GOSUB Q2
1860 LET U$="4DCDF508"
1870 GOSUB Q3
1880 GOTO Q5
1890 LET B$=B$(Q6 TO )
1900 LET L=(CODE B$-38)*2+130
1910 LET B$=B$(3 TO )
1920 GOSUB Q2
1930 GOSUB 3570
1940 IF CODE B$=118 THEN GOTO 2020
1950 LET U$="EB"
1960 GOSUB Q3
1970 LET S$=B$(1)
1980 GOSUB Q
1990 GOSUB Q2
1991 LET N$="CD0913"
1992 IF PEEK 4869=197 THEN LET N$="CD0513"
2000 LET U$=(N$ AND S$="*")+("EBCDC440" AND S$="/")+("19" AND S$="+")+("EBA7ED52" AND S$="-")
2010 GOSUB Q3
2020 LET U$="220040"
2030 GOSUB Q3
2040 POKE P-2,L
2050 GOTO Q5
2060 LET B$=B$(5 TO )
2070 GOSUB Q2
2080 POKE P-3,195
2090 LET G(N1,1)=PEEK (P-2)+PEEK (P-1)*256
2100 LET G(N1,2)=P-2
2110 LET N1=N1+1
2120 GOTO Q5
2130 LET B$=B$(6 TO )
2140 GOSUB Q2
2150 POKE P-3,205
2160 GOTO 2090
2170 LET U$="C9"
2180 GOSUB Q3
2190 GOTO Q5
2200 LET B$=B$(3 TO )
2210 GOSUB Q2
2220 GOSUB 3570
2230 LET U$="EB"
2240 GOSUB Q3
2250 LET S$=B$(1)
2260 GOSUB Q
2270 GOSUB Q2
2280 IF CODE B$>37 THEN GOSUB Q
2290 IF CODE B$<38 THEN GOSUB 3600
2300 LET U$="A7ED52"
2310 IF S$="<>" THEN LET U$=U$+"CA"
2320 IF S$="=" THEN LET U$=U$+"C2"
2330 IF S$="<" THEN LET U$=U$+"DA"
2340 IF S$=">" THEN LET U$=U$+"D2"
2350 LET U$=U$+"0000"
2360 IF S$<>">" AND S$<>"=" AND S$<>"<" AND S$<>"<>" THEN GOTO Q1
2370 GOSUB Q3
2380 LET G(N1,2)=P-2
2390 LET G(N1,1)=1000
2400 LET N1=N1+1
2410 LET A$=B$
2420 GOTO 1140
2430 LET B$=B$(5 TO )
2440 GOSUB Q2
2450 GOSUB Q4
2490 LET U$="EB"
2500 GOSUB Q3
2510 GOSUB Q2
2520 LET U$="EB73"
2530 GOSUB Q3
2540 GOTO Q5
2550 LET B$=B$(3 TO )
2560 LET U$="3EA0323040"
2570 GOTO 2590
2580 LET U$="3E9B323040"
2590 GOSUB Q3
2600 LET B$=B$(5 TO )
2610 GOSUB Q2
2620 LET U$="4D"
2630 GOSUB Q3
2640 GOSUB Q4
2680 GOSUB Q2
2690 LET U$="45CDB20B"
2700 GOSUB Q3
2710 GOTO Q5
2720 LET B$=B$(5 TO )
2730 GOSUB Q2
2740 GOSUB Q4
2771 LET U$="EB"
2780 GOSUB Q3
2790 GOSUB Q2
2800 LET U$="EB732372"
2810 GOSUB Q3
2820 GOTO Q5
2830 IF PEEK (P1-1)=118 THEN GOTO 3180
2840 IF P1=16509 THEN GOTO 3180
2850 LET P1=P1-1
2860 GOTO 2830
2870 SLOW
2880 LET L(N,1)=PEEK (P1-5)*256+PEEK (P1-4)
2890 LET L(N,2)=P-12288
2900 LET N=N+1
2910 RETURN
2920 DIM L(100,2)
2930 DIM G(70,2)
2940 LET N=1
2950 LET N1=N
2960 LET U$="E17E23E5FEFFC8D718F601FFFFA7ED520330FAC5E1C9A6AFAC"
2965 LET U$=U$+"FD3622002182403600237DFEBA20F8"
2970 GOSUB Q3
2980 RETURN
2990 IF N1=1 THEN RETURN
3000 FOR X=1 TO N1-1
3010 LET PO=G(X,2)
3020 LET L=G(X,1)
3030 LET G=1
3040 GOTO 3120
3050 LET G=G+1
3060 IF G=N THEN GOTO 3150
3070 GOTO 3040
3080 POKE PO,L(G,2)-256*INT (L(G,2)/256)
3090 POKE PO+1,INT (L(G,2)/256)
3100 NEXT X
3110 RETURN
3120 IF L=1000 THEN IF PO-12288<=L(G,2) THEN GOTO 3080
3130 IF L=L(G,1) THEN GOTO 3080
3140 GOTO 3050
3160 GOTO 3200
3170 RETURN
3190 LET L=PEEK P1*256+PEEK (P1+1)
3200 SLOW
3201 POKE 16418,0
3202 PRINT AT 22,0;"*******ERROR IN ";L;"******";AT 0,0;
3203 POKE 16418,2
3204 LIST L
3205 GOTO 3200
3230 LET V=CODE B$
3240 IF V<38 OR V>63 THEN GOTO Q1
3250 LET V=(V-38)*2+16514
3260 LET U$="2A"
3270 GOSUB Q3
3280 POKE P,V-16384
3290 POKE P+1,64
3300 LET P=P+2
3310 RETURN
3320 LET V=1
3330 IF CODE B$(V)>37 OR CODE B$(V)<28 THEN GOTO 3360
3340 LET V=V+1
3350 GOTO 3330
3360 IF V=1 THEN GOTO 3420
3370 LET V=VAL (B$( TO V-1))
3380 IF V<>INT V OR V>65536 THEN GOTO Q1
3390 GOSUB 3530
3400 POKE P+1,INT (V/256)
3405 LET P=P+2
3410 RETURN
3420 LET U$=""
3430 IF B$( TO 3)="TOP" THEN LET U$="2A0C4023"
3440 GOSUB 3780
3450 IF B$( TO 3)<>"USR" THEN GOTO 3850
3460 LET B$=B$(Q6 TO )
3470 GOSUB Q2
3480 POKE P-3,205
3490 RETURN
3500 IF U$="" THEN GOTO 3220
3510 GOSUB Q3
3520 RETURN
3530 LET U$="21"
3540 GOSUB Q3
3550 POKE P,V-256*INT (V/256)
3560 RETURN
3570 IF CODE B$<28 OR CODE B$>63 THEN RETURN
3580 GOSUB Q
3590 GOTO 3570
3600 IF CODE B$<28 OR CODE B$>37 THEN RETURN
3610 GOSUB Q
3620 GOTO 3600
3630 POKE P,CODE U$*16+CODE U$(2)-476
3640 LET U$=U$(3 TO )
3650 LET P=P+1
3660 IF P>=32700 THEN STOP
3670 IF U$="" THEN RETURN
3680 GOTO Q3
3690 GOSUB 2990
3700 LET J=P-12287
3710 LET P=28672
3720 LET U$="210000E5C103E52182401182701A7723137DB920F87CB820F4E136A62336AF2336AC233676E5118040A7ED52227F40E123C30304"
3730 GOSUB Q3
3740 LET P=J
3750 POKE 28673,P-256*INT (P/256)
3760 POKE 28674,INT (P/256)
3770 RAND USR 28672
3780 IF B$( TO 3)<>"RND" THEN RETURN
3790 LET U$="D92A3240545D29291929292919223240EB"
3800 GOSUB Q3
3810 LET B$=B$(Q6 TO )
3820 GOSUB Q2
3830 LET U$="EBA7ED5230FB19E5D9E1"
3840 RETURN
3850 IF B$( TO Q6)<>"PEEK" THEN GOTO 3900
3860 LET B$=B$(5 TO )
3870 GOSUB Q2
3880 LET U$="6E2600"
3890 GOTO 3500
3900 IF B$( TO Q6)<>"DEEK" THEN GOTO 3500
3910 LET B$=B$(5 TO )
3920 GOSUB Q2
3930 LET U$="D55E2356EBD1"
3940 GOTO 3500
3950 LET B$=B$(2 TO )
3960 RETURN
3970 IF B$(1)="," THEN GOTO 4000
3980 GOSUB Q
3990 GOTO Q4
4000 GOSUB Q
4010 RETURN
Code: Select all
# REM Q : , > P ? (_6 ( - =
# = < = _= _ __7____
10 REM [HEX:\
36,00,0E,00,1A,00,12,00,\
35,00,0F,00,90,01,22,00,\
00,00,10,00,16,00,14,00,\
00,00,00,00,00,00,00,00,\
00,00,14,00,00,00,13,00,\
14,00,00,00,80,01,14,00,\
04,00,00,00,00,00,00,00,\
E1,7E,23,E5,FE,FF,C8,D7,\
18,F6,01,FF,FF,A7,ED,52,\
03,30,FA,C5,E1,C9,A6,AF,\
AC,FD,36,22,00,21,82,40,\
36,00,23,7D,FE,BA,20,F8,\
21,22,00,22,90,40,21,16,\
00,22,96,40,3E,9B,32,30,\
40,2A,90,40,4D,2A,96,40,\
45,CD,B2,0B,21,14,00,22,\
A4,40,2A,A4,40,22,A8,40,\
2A,A4,40,22,AA,40,21,00,\
00,22,98,40,2A,98,40,EB,\
21,01,00,19,22,98,40,2A,\
98,40,EB,2A,A4,40,A7,ED,\
52,C2,31,41,C3,6D,41,2A,\
96,40,EB,2A,98,40,19,22,\
8A,40,2A,96,40,EB,2A,98,\
40,EB,A7,ED,52,22,8C,40,\
3E,9B,32,30,40,2A,90,40,\
4D,2A,8A,40,45,CD,B2,0B,\
3E,9B,32,30,40,2A,90,40,\
4D,2A,8C,40,45,CD,B2,0B,\
C3,16,41,21,00,00,22,98,\
40,2A,98,40,EB,21,01,00,\
19,22,98,40,2A,98,40,EB,\
2A,A4,40,A7,ED,52,C2,8E,\
41,C3,CA,41,2A,90,40,EB,\
2A,98,40,19,22,8A,40,2A,\
90,40,EB,2A,98,40,EB,A7,\
ED,52,22,8C,40,3E,9B,32,\
30,40,2A,8A,40,4D,2A,96,\
40,45,CD,B2,0B,3E,9B,32,\
30,40,2A,8C,40,4D,2A,96,\
40,45,CD,B2,0B,C3,73,41,\
2A,A4,40,22,A8,40,2A,A8,\
40,22,B0,40,21,00,00,22,\
B2,40,2A,B2,40,EB,21,01,\
00,19,22,B2,40,2A,B2,40,\
EB,2A,A4,40,A7,ED,52,C2,\
F7,41,C3,A8,42,2A,A4,40,\
EB,2A,A4,40,CD,09,13,22,\
8E,40,2A,B2,40,EB,2A,B2,\
40,CD,09,13,22,94,40,2A,\
8E,40,EB,2A,94,40,EB,A7,\
ED,52,22,AE,40,2A,B0,40,\
22,A8,40,2A,AE,40,EB,2A,\
A8,40,EB,CD,C4,40,22,B0,\
40,2A,B0,40,EB,2A,90,40,\
19,22,82,40,2A,90,40,EB,\
2A,B0,40,EB,A7,ED,52,22,\
84,40,2A,B2,40,EB,2A,96,\
40,19,22,86,40,2A,96,40,\
EB,2A,B2,40,EB,A7,ED,52,\
22,88,40,3E,9B,32,30,40,\
2A,82,40,4D,2A,86,40,45,\
CD,B2,0B,3E,9B,32,30,40,\
2A,84,40,4D,2A,86,40,45,\
CD,B2,0B,3E,9B,32,30,40,\
2A,82,40,4D,2A,88,40,45,\
CD,B2,0B,3E,9B,32,30,40,\
2A,84,40,4D,2A,88,40,45,\
CD,B2,0B,C3,DC,41,2A,A4,\
40,22,B2,40,21,00,00,22,\
B0,40,2A,B0,40,EB,21,01,\
00,19,22,B0,40,2A,B0,40,\
EB,2A,A4,40,A7,ED,52,C2,\
CF,42,C3,80,43,2A,A4,40,\
EB,2A,A4,40,CD,09,13,22,\
9A,40,2A,B0,40,EB,2A,B0,\
40,CD,09,13,22,9C,40,2A,\
9A,40,EB,2A,9C,40,EB,A7,\
ED,52,22,A2,40,2A,B2,40,\
22,AA,40,2A,A2,40,EB,2A,\
AA,40,EB,CD,C4,40,22,B2,\
40,2A,B0,40,EB,2A,90,40,\
19,22,82,40,2A,90,40,EB,\
2A,B0,40,EB,A7,ED,52,22,\
84,40,2A,96,40,EB,2A,B2,\
40,EB,A7,ED,52,22,86,40,\
2A,B2,40,EB,2A,96,40,19,\
22,88,40,3E,9B,32,30,40,\
2A,84,40,4D,2A,86,40,45,\
CD,B2,0B,3E,9B,32,30,40,\
2A,82,40,4D,2A,86,40,45,\
CD,B2,0B,3E,9B,32,30,40,\
2A,84,40,4D,2A,88,40,45,\
CD,B2,0B,3E,9B,32,30,40,\
2A,82,40,4D,2A,88,40,45,\
CD,B2,0B,C3,B4,42,C9,45,\
A6,AF,AC ]
100 LET X=USR 16595
120 SLOW
130 FOR D=1 TO 100
140 NEXT D
145 CLS
150 GOTO 100
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
I wrote a program for the ZX81 that draws a circle with only adding, subtracting, multiplying, or dividing. Square Root won't be allowed after I convert it into ZX-COMPILER BASIC. I want to get the ZX81 to draw a circle in Machine Code to see how fast it goes.
Code: Select all
10 LET H=34
20 LET K=22
30 PLOT (H),(K)
40 LET R=20
50 LET T=R
60 LET U=R
70 LET L=0
80 LET L=L+1
90 IF L=R THEN GOTO 150
100 LET E=K+L
110 LET F=K-L
120 PLOT (H),(E)
130 PLOT (H),(F)
140 GOTO 80
150 LET L=0
160 LET L=L+1
170 IF L=R THEN GOTO 230
180 LET E=(H+L)
190 LET F=(H-L)
200 PLOT (E),(K)
210 PLOT (F),(K)
220 GOTO 160
230 LET T=R
240 LET X=T
250 LET Y=0
260 LET Y=Y+1
270 IF Y=R THEN GOTO 420
280 LET G=R*R
290 LET J=Y*Y
300 LET W=(G-J)
310 LET T=X
320 LET X=(W/T)
330 LET A=(X+H)
340 LET B=(H-X)
350 LET C=(Y+K)
360 LET D=(K-Y)
370 PLOT (A),(C)
380 PLOT (B),(C)
390 PLOT (A),(D)
400 PLOT (B),(D)
410 GOTO 260
420 LET Y=R
430 LET X=0
440 LET X=X+1
450 IF X=R THEN GOTO 600
460 LET M=R*R
470 LET N=X*X
480 LET Q=(M-N)
490 LET U=Y
500 LET Y=(Q/U)
510 LET A=(X+H)
520 LET B=(H-X)
530 LET C=(K-Y)
540 LET D=(Y+K)
550 PLOT (B),(C)
560 PLOT (A),(C)
570 PLOT (B),(D)
580 PLOT (A),(D)
590 GOTO 440
600 STOP
Last edited by tristanbgilb on Sun Jan 29, 2023 12:27 pm, edited 1 time in total.
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
For my NO BUDGET MOVIE, in my brainstorm, page 27 requires a working Z80 Processor that we can reprogram to get the detonators to function after the Y2K bug. We will use the ZX-Compiler to create the machine code since none of us know how to program in machine code directly. It is decided we will have better success and less chance of blowing ourselves up using the compiler program. I am hoping out of my dozen Sinclairs with Z80 processors that I can get one working good enough for the movie.
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
The Timex Sinclair 1000 ZX81 was my first home computer and will always be my favorite.
Developer Sinclair Research
Manufacturer Timex Corporation
Type Home computer
Release date 5 March 1981; 41 years ago[1]
Introductory price £49.95 kit, £69.95 assembled[2] (£204–285/$279–390 at 2023 prices)
Discontinued 1984
Units sold More than 1.5 million[3]
Operating system Sinclair BASIC[4]
CPU Z80 @ 3.25 MHz[4]
Memory 1 KB (64 KB max. 56 KB usable)[4]
Storage External Compact Cassette recorder at a claimed 250 bps[4] or an average 300 bps[5]
Display Monochrome display on UHF television[4]
Graphics 24 lines × 32 characters or
64 × 48 pixels graphics mode[4]
Power 9V DC[4]
Dimensions 167 millimetres (6.6 in) wide by 175 millimetres (6.9 in) deep[6]
Mass 350 grams (12 oz)[4]
Predecessor ZX80
Successor ZX Spectrum
Related Timex Sinclair 1000,
Timex Sinclair 1500
- Attachments
-
- Sinclair-ZX81.png (35.92 KiB) Viewed 39954 times
- pasayten
- Posts: 2738
- Joined: Thu Mar 11, 2021 8:03 pm
- Contact:
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
- mister_coffee
- Posts: 1705
- Joined: Thu Jul 16, 2020 7:35 pm
- Location: Winthrop, WA
- Contact:
Re: www.MethowValley.org
What I'd probably recommend is a good Raspberry Pi starter kit like this one:tristanbgilb wrote: Fri Jan 27, 2023 6:08 am ...
[I wonder if this is what I want. It is inexpensive compared to my Vintage Computer Collection. I think I own a Raspberry Pi that is modified to be a peripheral interface for my TI-99/4a Home Computer.
https://www.amazon.com/CanaKit-Raspberr ... r=8-6&th=1
A 1GB Pi is probably fine for starting unless you have some specific project in mind. This gives you a Pi, a 128GB Micro SD Card, a reader for the card, a good power supply (very important), a fan, and a case. The fan and the case are nice but not strictly necessary.
There are weatherproof outdoor cases available with varying capabilities. You can plausibly run a Pi from a solar panel and batteries if you want as well.
You'll need a keyboard, mouse, and HDMI display. Chances are you have those laying around your house, but if you don't any cheap ones will do the job fine.
Also it is a Good Idea to invest (about $60) in a USB Hard Drive. Running Linux continuously from an SD card limits the SD card's life (so back them up frequently, usually bulk-copying the SD card image is Good Enough). I can walk you through how to set up the USB hard drive and also walk you through trickery that greatly extends an SD card's life if you like.
Also, if you want a book about starting out I can recommend this one:
https://www.amazon.com/Programming-Rasp ... 198&sr=8-1
David Bonn
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
mister_coffee wrote: Thu Jan 26, 2023 7:21 pmIn 2023 I'd recommend accomplishing that by getting your hands on a Raspberry Pi and starting to play.tristanbgilb wrote: Thu Jan 26, 2023 10:55 am ...
I am not strong in any computer language. I am a wimp programmer. I just like the logic and hope to understand a computer by studying the ZX81.
Oh, and subject to US Patent #11145090
NEW Raspberry Pi 4 Compute Module (CM4) 1GB RAM 16GB Wi-Fi CM4101016 FAST S&H!
US $84.99
I wonder if this is what I want. It is inexpensive compared to my Vintage Computer Collection. I think I own a Raspberry Pi that is modified to be a peripheral interface for my TI-99/4a Home Computer.Compute Module 4 (CM4) brings the power of Raspberry Pi 4 to the popular Compute Module family. For the first time wireless connectivity is an option, and this includes a built-in antenna on the PCB as well as a connector for an external antenna.
This model features Wireless connectivity, 1GB RAM and 16GB eMMC storage.
- mister_coffee
- Posts: 1705
- Joined: Thu Jul 16, 2020 7:35 pm
- Location: Winthrop, WA
- Contact:
Re: www.MethowValley.org
In 2023 I'd recommend accomplishing that by getting your hands on a Raspberry Pi and starting to play.tristanbgilb wrote: Thu Jan 26, 2023 10:55 am ...
I am not strong in any computer language. I am a wimp programmer. I just like the logic and hope to understand a computer by studying the ZX81.
Oh, and subject to US Patent #11145090
Code: Select all
def detect_flames(g, ir):
"""detect regions likely to have flames: how:
A. locate hot areas in the thermal image, and turbulent areas in the image
B. generate contours for each
C. locate contours that overlap and where the centroid of the turbulent area
is above the centroid of the hot area, mask these areas
D. Generate contours from the masks found in C and choose the biggest bounding box
for each mask
"""
global Min_value
ret, r = cv2.threshold(ir, Min_value + ir_threshold, 65535, cv2.THRESH_BINARY)
ret, g = cv2.threshold(g, 192, 255, cv2.THRESH_BINARY)
numpy.right_shift(r, 8, r)
r = r.astype(numpy.uint8)
# try this erode step...
#g = erode(g)
g = dilate(g)
r = dilate(r)
candidates = []
ir_contours = cv2.findContours(r, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0]
motion_contours = cv2.findContours(g, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0]
m_centroids = []
for (j, m) in enumerate(motion_contours):
m_centroids.append(y_centroid(m))
for (i, c) in enumerate(ir_contours):
irp = numpy.zeros(r.shape, numpy.uint8)
irp = cv2.drawContours(irp, [c], 0, 255, -1)
ir_y = y_centroid(c)
for (j, m) in enumerate(motion_contours):
m_y = m_centroids[j]
# turbulent motion should be above hot spot
# FIXME: rethink because thermal column becomes too large...
if ir_y < m_y:
continue
mp = numpy.zeros(g.shape, numpy.uint8)
mp = cv2.drawContours(mp, [m], 0, 255, -1)
result = cv2.bitwise_and(irp, mp)
if cv2.countNonZero(result) > 0:
print(f"[ir:info] motion area {cv2.contourArea(m)}, ir area {cv2.contourArea(c)}")
candidates.append(result)
break
for i in range(0, len(candidates)):
candidates[i] = biggest_rect(candidates[i])
if verbose:
print("[ir:info] candidate: (%d,%d)+(%d,%d)" % candidates[i])
return candidates
Code: Select all
def process_flicker(delta):
"""helper function that detects areas of turbulent motion in the image:
from: 'A real-time video fire flame and smoke detection algorithm', 2013,
Yu, Mei, and Zhang
"""
global flicker, flicker_data, b1, b2
ret, add_mask = cv2.threshold(delta, motiondelta, 1, cv2.THRESH_BINARY)
sub_mask = numpy.logical_not(add_mask)
add_mask = numpy.multiply(add_mask, b1).astype(flicker_data.dtype)
sub_mask = numpy.multiply(sub_mask, b2).astype(flicker_data.dtype)
flicker_data = cv2.add(flicker_data, add_mask)
flicker_data = cv2.subtract(flicker_data, sub_mask)
ret, flicker = cv2.threshold(flicker_data, flickerdelta, 255, cv2.THRESH_BINARY)
David Bonn
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
I used the ZX COMPILER by Silversoft to make BASIC GRAPHICS into ASSEMBLY Language.
BASIC
Code: Select all
515 PRINT AT 7,7;"½½½½½½½½½½½½½½½½½½"
516 PRINT AT 6,7;"½½½½½½½½½½½½½½½½½½"
517 PRINT AT 8,7;"¿½½½½½½½½½½½½½½½½¿"
518 PRINT AT 5,7;"¾½½½½½½½½½½½½½½½½¾"
519 PRINT AT 9,10;"½½½½½½½½½½½½"
520 PRINT AT 4,8;"¾½½½½½½½½½½½½½½¾"
521 PRINT AT 10,11;"¿½½½½½½½½¿"
522 PRINT AT 3,9;"¾½½½½½½½½½½½½¾"
523 PRINT AT 11,14;"½½½½"
524 PRINT AT 2,11;"¾½½½½½½½½¾"
525 PRINT AT 12,14;"½½½½"
526 PRINT AT 13,11;"¾¾½½½½½½¾¾"
527 PRINT AT 14,11;"¿¿½½½½½½¿¿"
528 PRINT AT 15,14;"½½½½";AT 16,14;"½½½½"
529 PRINT AT 17,12;"¾½½½½½½¾";AT 18,12;"¿½½½½½½¿"
530 PRINT AT 19,14;"½½½½";AT 20,14;"½½½½";AT 21,14;"½½½½"
Code: Select all
# REM
# __7____
145 REM [HEX:\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
E1,7E,23,E5,FE,FF,C8,D7,\
18,F6,01,FF,FF,A7,ED,52,\
03,30,FA,C5,E1,C9,A6,AF,\
AC,FD,36,22,00,21,82,40,\
36,00,23,7D,FE,BA,20,F8,\
21,07,00,45,21,07,00,4D,\
CD,F5,08,CD,BA,40,08,08,\
08,08,08,08,08,08,08,08,\
08,08,08,08,08,08,08,08,\
FF,21,06,00,45,21,07,00,\
4D,CD,F5,08,CD,BA,40,08,\
08,08,08,08,08,08,08,08,\
08,08,08,08,08,08,08,08,\
08,FF,21,08,00,45,21,07,\
00,4D,CD,F5,08,CD,BA,40,\
0A,08,08,08,08,08,08,08,\
08,08,08,08,08,08,08,08,\
08,0A,FF,21,05,00,45,21,\
07,00,4D,CD,F5,08,CD,BA,\
40,09,08,08,08,08,08,08,\
08,08,08,08,08,08,08,08,\
08,08,09,FF,21,09,00,45,\
21,0A,00,4D,CD,F5,08,CD,\
BA,40,08,08,08,08,08,08,\
08,08,08,08,08,08,FF,21,\
04,00,45,21,08,00,4D,CD,\
F5,08,CD,BA,40,09,08,08,\
08,08,08,08,08,08,08,08,\
08,08,08,08,09,FF,21,0A,\
00,45,21,0B,00,4D,CD,F5,\
08,CD,BA,40,0A,08,08,08,\
08,08,08,08,08,0A,FF,21,\
03,00,45,21,09,00,4D,CD,\
F5,08,CD,BA,40,09,08,08,\
08,08,08,08,08,08,08,08,\
08,08,09,FF,21,0B,00,45,\
21,0E,00,4D,CD,F5,08,CD,\
BA,40,08,08,08,08,FF,21,\
02,00,45,21,0B,00,4D,CD,\
F5,08,CD,BA,40,09,08,08,\
08,08,08,08,08,08,09,FF,\
21,0C,00,45,21,0E,00,4D,\
CD,F5,08,CD,BA,40,08,08,\
08,08,FF,21,0D,00,45,21,\
0B,00,4D,CD,F5,08,CD,BA,\
40,09,09,08,08,08,08,08,\
08,09,09,FF,21,0E,00,45,\
21,0B,00,4D,CD,F5,08,CD,\
BA,40,0A,0A,08,08,08,08,\
08,08,0A,0A,FF,21,0F,00,\
45,21,0E,00,4D,CD,F5,08,\
CD,BA,40,08,08,08,08,FF,\
21,10,00,45,21,0E,00,4D,\
CD,F5,08,CD,BA,40,08,08,\
08,08,FF,21,11,00,45,21,\
0C,00,4D,CD,F5,08,CD,BA,\
40,09,08,08,08,08,08,08,\
09,FF,21,12,00,45,21,0C,\
00,4D,CD,F5,08,CD,BA,40,\
0A,08,08,08,08,08,08,0A,\
FF,21,13,00,45,21,0E,00,\
4D,CD,F5,08,CD,BA,40,08,\
08,08,08,FF,21,14,00,45,\
21,0E,00,4D,CD,F5,08,CD,\
BA,40,08,08,08,08,FF,21,\
15,00,45,21,0E,00,4D,CD,\
F5,08,CD,BA,40,08,08,08,\
08,FF,21,E8,03,2B,7C,B5,\
20,FB,C9,CF,FF,00,A6,AF,\
AC ]
190 SLOW
200 LET X=USR 16595
210 CLS
500 GOTO 190
Translated in ZX-COMPILER BASIC
Code: Select all
145 REM MOVE7,7
150 REM PRINT"½½½½½½½½½½½½½½½½½½"
155 REM MOVE6,7
160 REM PRINT"½½½½½½½½½½½½½½½½½½"
165 REM MOVE8,7
170 REM PRINT"¿½½½½½½½½½½½½½½½½¿"
175 REM MOVE5,7
180 REM PRINT"¾½½½½½½½½½½½½½½½½¾"
185 REM MOVE9,10
190 REM PRINT"½½½½½½½½½½½½"
195 REM MOVE4,8
200 REM PRINT"¾½½½½½½½½½½½½½½¾"
205 REM MOVE10,11
210 REM PRINT"¿½½½½½½½½¿"
215 REM MOVE3,9
220 REM PRINT"¾½½½½½½½½½½½½¾"
225 REM MOVE11,14
230 REM PRINT"½½½½"
235 REM MOVE2,11
240 REM PRINT"¾½½½½½½½½¾"
245 REM MOVE12,14
250 REM PRINT"½½½½"
255 REM MOVE13,11
260 REM PRINT"¾¾½½½½½½¾¾"
265 REM MOVE14,11
270 REM PRINT"¿¿½½½½½½¿¿"
275 REM MOVE15,14
280 REM PRINT"½½½½"
281 REM MOVE16,14
282 REM PRINT"½½½½"
285 REM MOVE17,12
290 REM PRINT"¾½½½½½½¾"
292 REM MOVE18,12
293 REM PRINT"¿½½½½½½¿"
295 REM MOVE19,14
300 REM PRINT"½½½½"
305 REM MOVE20,14
310 REM PRINT"½½½½"
315 REM MOVE21,14
320 REM PRINT"½½½½"
350 REM PAUSE1000
400 REM RETURN
500 REM END
# REM **COMPILER**
1000 REM [HEX:\
17,17,28,34,32,35,2E,31,\
2A,37,17,17,76 ]
1010 FAST
1011 LET Q=3950
1012 LET Q1=2830
1013 LET Q2=3320
1014 LET Q3=3630
1015 LET Q4=3970
1016 LET Q5=1320
1017 LET Q6=4
1020 LET P=28858
1030 LET P1=16514
1040 GOSUB 2920
1050 IF PEEK (P1-1)<>234 THEN GOTO Q1
1060 IF PEEK P1=118 THEN GOTO Q1
1070 GOSUB 2880
1080 LET A$=""
1090 LET A$=A$+CHR$ PEEK P1
1100 LET P1=P1+1
1110 IF PEEK (P1-1)<>118 THEN GOTO 1090
1120 IF PEEK (P1+1)*256+PEEK (P1+2)=1010 THEN GOTO 3690
1130 LET P1=P1-3
1140 LET T$=A$( TO 2)
1150 LET B$=A$+" "
1160 LET J=0
1170 LET J=J+(T$="RE")*2170+(T$="SC")*1200+(T$="PR")*1360+(T$="GE")*1530+(T$="EN")*1620+(T$="PA")*1670+(T$="CL")*1720+(T$="MO")*1770+(T$="LE")*1890+(A$( TO 3)="GOT")*2060+(A$( TO 3)="GOS")*2130+(T$="IF")*2200+(T$="PO")*2430+(T$="UN")*2550+(T$="PL")*2580+(T$="DO")*2720
1180 IF NOT J THEN LET J=Q1
1190 GOTO J
1201 IF B$(7)<>CHR$ 118 THEN GOTO Q1
1202 LET U$="2A0C40112100EB1901F702EDB00620AF131210FC"
1203 GOSUB Q3
1204 GOTO Q5
1320 LET P1=P1+8
1330 GOTO 1050
1360 LET B$=B$(6 TO )
1370 IF B$(1)=CHR$ 11 THEN GOTO 1420
1380 GOSUB Q2
1390 LET U$="7DD7"
1400 GOSUB Q3
1410 GOTO Q5
1420 GOSUB Q
1430 LET U$="CDBA40"
1440 GOSUB Q3
1450 POKE P,CODE (B$(1))
1460 GOSUB Q
1470 IF B$(1)=CHR$ 11 THEN POKE P+1,255
1480 LET P=P+1
1490 IF B$(1)=CHR$ 11 THEN GOTO 1510
1500 GOTO 1450
1510 LET P=P+1
1520 GOTO Q5
1530 LET B$=B$(Q6 TO )
1540 LET U$="CDBB02444D51142808CDBD077ECB7728023E8021004077233600"
1550 GOSUB Q3
1560 LET V=CODE B$(1)
1570 IF CODE B$(2)<>118 THEN GOTO Q1
1580 IF V<38 OR V>63 THEN GOTO Q1
1590 LET V=(V-38)*2+130
1600 POKE P-6,V
1610 GOTO Q5
1620 LET B$=B$(Q6 TO )
1630 IF B$(1)<>CHR$ 118 THEN GOTO Q1
1640 LET U$="CFFF"
1650 GOSUB Q3
1660 GOTO Q5
1670 LET B$=B$(6 TO )
1680 GOSUB Q2
1690 LET U$="2B7CB520FB"
1700 GOSUB Q3
1710 GOTO Q5
1720 LET B$=B$(Q6 TO )
1730 IF B$(1)<>CHR$ 118 THEN GOTO Q1
1740 LET U$="2A0C40161823062036002310FB1520F5010000CDF508"
1750 GOSUB Q3
1760 GOTO Q5
1770 LET B$=B$(5 TO )
1780 GOSUB Q2
1790 GOSUB Q4
1830 LET U$="45"
1840 GOSUB Q3
1850 GOSUB Q2
1860 LET U$="4DCDF508"
1870 GOSUB Q3
1880 GOTO Q5
1890 LET B$=B$(Q6 TO )
1900 LET L=(CODE B$-38)*2+130
1910 LET B$=B$(3 TO )
1920 GOSUB Q2
1930 GOSUB 3570
1940 IF CODE B$=118 THEN GOTO 2020
1950 LET U$="EB"
1960 GOSUB Q3
1970 LET S$=B$(1)
1980 GOSUB Q
1990 GOSUB Q2
1991 LET N$="CD0913"
1992 IF PEEK 4869=197 THEN LET N$="CD0513"
2000 LET U$=(N$ AND S$="*")+("EBCDC440" AND S$="/")+("19" AND S$="+")+("EBA7ED52" AND S$="-")
2010 GOSUB Q3
2020 LET U$="220040"
2030 GOSUB Q3
2040 POKE P-2,L
2050 GOTO Q5
2060 LET B$=B$(5 TO )
2070 GOSUB Q2
2080 POKE P-3,195
2090 LET G(N1,1)=PEEK (P-2)+PEEK (P-1)*256
2100 LET G(N1,2)=P-2
2110 LET N1=N1+1
2120 GOTO Q5
2130 LET B$=B$(6 TO )
2140 GOSUB Q2
2150 POKE P-3,205
2160 GOTO 2090
2170 LET U$="C9"
2180 GOSUB Q3
2190 GOTO Q5
2200 LET B$=B$(3 TO )
2210 GOSUB Q2
2220 GOSUB 3570
2230 LET U$="EB"
2240 GOSUB Q3
2250 LET S$=B$(1)
2260 GOSUB Q
2270 GOSUB Q2
2280 IF CODE B$>37 THEN GOSUB Q
2290 IF CODE B$<38 THEN GOSUB 3600
2300 LET U$="A7ED52"
2310 IF S$="<>" THEN LET U$=U$+"CA"
2320 IF S$="=" THEN LET U$=U$+"C2"
2330 IF S$="<" THEN LET U$=U$+"DA"
2340 IF S$=">" THEN LET U$=U$+"D2"
2350 LET U$=U$+"0000"
2360 IF S$<>">" AND S$<>"=" AND S$<>"<" AND S$<>"<>" THEN GOTO Q1
2370 GOSUB Q3
2380 LET G(N1,2)=P-2
2390 LET G(N1,1)=1000
2400 LET N1=N1+1
2410 LET A$=B$
2420 GOTO 1140
2430 LET B$=B$(5 TO )
2440 GOSUB Q2
2450 GOSUB Q4
2490 LET U$="EB"
2500 GOSUB Q3
2510 GOSUB Q2
2520 LET U$="EB73"
2530 GOSUB Q3
2540 GOTO Q5
2550 LET B$=B$(3 TO )
2560 LET U$="3EA0323040"
2570 GOTO 2590
2580 LET U$="3E9B323040"
2590 GOSUB Q3
2600 LET B$=B$(5 TO )
2610 GOSUB Q2
2620 LET U$="4D"
2630 GOSUB Q3
2640 GOSUB Q4
2680 GOSUB Q2
2690 LET U$="45CDB20B"
2700 GOSUB Q3
2710 GOTO Q5
2720 LET B$=B$(5 TO )
2730 GOSUB Q2
2740 GOSUB Q4
2771 LET U$="EB"
2780 GOSUB Q3
2790 GOSUB Q2
2800 LET U$="EB732372"
2810 GOSUB Q3
2820 GOTO Q5
2830 IF PEEK (P1-1)=118 THEN GOTO 3180
2840 IF P1=16509 THEN GOTO 3180
2850 LET P1=P1-1
2860 GOTO 2830
2870 SLOW
2880 LET L(N,1)=PEEK (P1-5)*256+PEEK (P1-4)
2890 LET L(N,2)=P-12288
2900 LET N=N+1
2910 RETURN
2920 DIM L(100,2)
2930 DIM G(70,2)
2940 LET N=1
2950 LET N1=N
2960 LET U$="E17E23E5FEFFC8D718F601FFFFA7ED520330FAC5E1C9A6AFAC"
2965 LET U$=U$+"FD3622002182403600237DFEBA20F8"
2970 GOSUB Q3
2980 RETURN
2990 IF N1=1 THEN RETURN
3000 FOR X=1 TO N1-1
3010 LET PO=G(X,2)
3020 LET L=G(X,1)
3030 LET G=1
3040 GOTO 3120
3050 LET G=G+1
3060 IF G=N THEN GOTO 3150
3070 GOTO 3040
3080 POKE PO,L(G,2)-256*INT (L(G,2)/256)
3090 POKE PO+1,INT (L(G,2)/256)
3100 NEXT X
3110 RETURN
3120 IF L=1000 THEN IF PO-12288<=L(G,2) THEN GOTO 3080
3130 IF L=L(G,1) THEN GOTO 3080
3140 GOTO 3050
3160 GOTO 3200
3170 RETURN
3190 LET L=PEEK P1*256+PEEK (P1+1)
3200 SLOW
3201 POKE 16418,0
3202 PRINT AT 22,0;"*******ERROR IN ";L;"******";AT 0,0;
3203 POKE 16418,2
3204 LIST L
3205 GOTO 3200
3230 LET V=CODE B$
3240 IF V<38 OR V>63 THEN GOTO Q1
3250 LET V=(V-38)*2+16514
3260 LET U$="2A"
3270 GOSUB Q3
3280 POKE P,V-16384
3290 POKE P+1,64
3300 LET P=P+2
3310 RETURN
3320 LET V=1
3330 IF CODE B$(V)>37 OR CODE B$(V)<28 THEN GOTO 3360
3340 LET V=V+1
3350 GOTO 3330
3360 IF V=1 THEN GOTO 3420
3370 LET V=VAL (B$( TO V-1))
3380 IF V<>INT V OR V>65536 THEN GOTO Q1
3390 GOSUB 3530
3400 POKE P+1,INT (V/256)
3405 LET P=P+2
3410 RETURN
3420 LET U$=""
3430 IF B$( TO 3)="TOP" THEN LET U$="2A0C4023"
3440 GOSUB 3780
3450 IF B$( TO 3)<>"USR" THEN GOTO 3850
3460 LET B$=B$(Q6 TO )
3470 GOSUB Q2
3480 POKE P-3,205
3490 RETURN
3500 IF U$="" THEN GOTO 3220
3510 GOSUB Q3
3520 RETURN
3530 LET U$="21"
3540 GOSUB Q3
3550 POKE P,V-256*INT (V/256)
3560 RETURN
3570 IF CODE B$<28 OR CODE B$>63 THEN RETURN
3580 GOSUB Q
3590 GOTO 3570
3600 IF CODE B$<28 OR CODE B$>37 THEN RETURN
3610 GOSUB Q
3620 GOTO 3600
3630 POKE P,CODE U$*16+CODE U$(2)-476
3640 LET U$=U$(3 TO )
3650 LET P=P+1
3660 IF P>=32700 THEN STOP
3670 IF U$="" THEN RETURN
3680 GOTO Q3
3690 GOSUB 2990
3700 LET J=P-12287
3710 LET P=28672
3720 LET U$="210000E5C103E52182401182701A7723137DB920F87CB820F4E136A62336AF2336AC233676E5118040A7ED52227F40E123C30304"
3730 GOSUB Q3
3740 LET P=J
3750 POKE 28673,P-256*INT (P/256)
3760 POKE 28674,INT (P/256)
3770 RAND USR 28672
3780 IF B$( TO 3)<>"RND" THEN RETURN
3790 LET U$="D92A3240545D29291929292919223240EB"
3800 GOSUB Q3
3810 LET B$=B$(Q6 TO )
3820 GOSUB Q2
3830 LET U$="EBA7ED5230FB19E5D9E1"
3840 RETURN
3850 IF B$( TO Q6)<>"PEEK" THEN GOTO 3900
3860 LET B$=B$(5 TO )
3870 GOSUB Q2
3880 LET U$="6E2600"
3890 GOTO 3500
3900 IF B$( TO Q6)<>"DEEK" THEN GOTO 3500
3910 LET B$=B$(5 TO )
3920 GOSUB Q2
3930 LET U$="D55E2356EBD1"
3940 GOTO 3500
3950 LET B$=B$(2 TO )
3960 RETURN
3970 IF B$(1)="," THEN GOTO 4000
3980 GOSUB Q
3990 GOTO Q4
4000 GOSUB Q
4010 RETURN
- Attachments
-
- nukeuncut2023-01-26 17-45-35.gif (2.91 MiB) Viewed 39870 times
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
Adventure games are about one of the neatest programs created on early computers. Here is an example of hexadecimal mixed with Sinclair BASIC. This assembly language has me baffled I am am eager to understand what is happening here.
ADVENTURE
ZX81
I think the attachment is more accurate. There might be errors in text editor settings.
ADVENTURE
ZX81
Code: Select all
# REM _P_E£_7"___4___5 ______K__KJ____
# (__E£__Q__6:_E:_Q _V_A4__V____=
1 REM [HEX:\
01,B5,02,2A,0C,40,23,0B,\
7E,FE,82,20,F9,C5,01,21,\
00,09,54,5D,09,C1,ED,B0,\
C9,06,B0,AF,D7,D7,D7,D7,\
10,FA,C9,2A,0C,40,01,B6,\
02,09,22,0E,40,2A,0E,40,\
36,80,CD,BB,02,26,20,FA,\
CD,BB,02,44,4D,51,14,28,\
F7,CD,BD,07,7E,FE,76,28,\
27,FE,77,28,15,FE,0B,28,\
E1,CB,77,20,DD,2A,0E,40,\
77,23,7E,FE,76,20,CB,2B,\
18,C8,2A,0E,40,AF,77,2B,\
7E,FE,76,20,BD,23,18,BA,\
2A,0E,40,AF,77,11,16,41,\
2A,0C,40,01,B6,02,09,01,\
1F,00,ED,B0,C9,1B,1B,1B,\
1B,1B ]
2 LET C$=" "
3 RETURN
4 SLOW
5 LET IN=USR VAL "16549"
6 IF F$="F" THEN FAST
7 GOTO VAL "2"
8 PRINT AT VAL "21",USR VAL "16514";
9 RETURN
10 PRINT AT PI-PI,PI-PI;
20 LET CL=USR 16539
25 IF LN>15 AND (LAMP=0 OR P(23)<>99) THEN PRINT AT PI-PI,PI-PI;"ITS TOO DARK TO SEE."
26 IF LN>15 AND (P(23)<>99 OR LAMP=0) THEN GOTO 135
30 PRINT AT 0,0;"LOCATION : ";L$(LN)
40 IF E$(LN)=" " THEN GOTO 100
50 PRINT "EXITS : ";
60 FOR Z=1 TO 4
70 LET U$=E$(LN)(Z)
80 IF U$="N" THEN PRINT "NORTH.";
82 IF U$="S" THEN PRINT "SOUTH.";
84 IF U$="E" THEN PRINT "EAST.";
86 IF U$="W" THEN PRINT "WEST.";
87 IF U$="U" THEN PRINT "UP.";
88 IF U$="D" THEN PRINT "DOWN.";
90 NEXT Z
95 PRINT
100 PRINT "I CAN SEE : ";
101 LET FZ=0
110 FOR Z=1 TO NO
120 IF P(Z)<>LN THEN GOTO 130
121 PRINT O$(Z),
122 LET FZ=1
130 NEXT Z
132 IF FZ=0 THEN PRINT "NOTHING SPECIAL",
135 PRINT
140 PRINT "ª®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬"
145 IF TU=PI-PI THEN PRINT AT VAL "7",PI-PI;"YOU MUST SEARCH FOR THE 3 PIECESOF THE ROYAL SCEPTER , REMAKE ITAND RETURN IT TO THE EMPEROR."
150 IF (LAMP=0 OR P(23)<>99) AND LN>15 THEN GOSUB S
151 IF (LAMP=0 OR P(23)<>99) AND LN>15 THEN PRINT "ITS RISKY MOVING IN THE DARK"
152 GOSUB S
155 LET TU=TU+1
160 PRINT "TELL ME WHAT TO DO NEXT :"
170 GOSUB S
180 GOSUB 4
190 GOSUB S
200 IF C$(1)=" " THEN GOTO 155
202 LET T$=C$( TO 3)
204 IF T$="NOR" OR T$="SOU" OR T$="EAS" OR T$="WES" OR T$="UP " OR T$="DOWN" OR T$="U " OR T$="D " OR T$="N " OR T$="S " OR T$="E " OR T$="W " THEN GOTO 1000
208 IF T$="I " THEN GOTO 1100
218 IF LEN C$>26 THEN LET C$=C$( TO 26)
219 GOSUB 5500
220 IF C$="SLO" THEN LET F$="S"
230 IF C$="FAS" THEN LET F$="F"
240 IF C$="SLO" OR C$="FAS" THEN GOTO 150
250 IF C$="TAK" OR C$="GRA" OR C$="GET" THEN GOTO 2000
260 IF C$="LEAV" OR C$="PUT" OR C$="DRO" THEN GOTO 2100
270 IF C$="SEA" OR C$="LOO" OR C$="EXA" THEN GOTO 2500
280 IF C$="INV" THEN GOTO 1100
290 IF C$="HEL" THEN GOTO 7500
300 IF C$="SCO" THEN GOTO 2700
310 IF C$="ENT" OR C$="BOA" THEN GOTO 2800
320 IF C$="LEA" OR C$="JUM" THEN GOTO 2810
330 IF C$="REA" THEN GOTO 3100
340 IF C$="CLI" THEN GOTO 2820
350 IF C$="SHA" THEN GOTO 2840
360 IF C$="CLE" OR C$="WAS" THEN GOTO 2850
370 IF C$="MAK" OR C$="BUI" OR C$="COM" THEN GOTO 3800
380 IF C$="CUT" OR C$="CHO" THEN GOTO 2860
390 IF C$="KIC" THEN GOTO 2870
400 IF C$="PUS" OR C$="PRE" THEN GOTO 2890
410 IF C$="SWI" THEN GOTO 4500
420 IF C$="UNL" THEN GOTO 2950
430 IF C$="OPE" THEN GOTO 6000
440 IF C$="UNL" THEN GOTO 6100
450 IF C$="LIF" THEN GOTO 6100
460 IF C$="LIG" THEN GOTO 2960
470 IF C$="SAV" THEN GOTO 8000
480 IF C$="QUI" THEN GOTO 2900
490 IF C$="TIM" THEN GOTO 2760
500 IF C$="OFF" OR C$="GIV" THEN GOTO 4000
510 IF C$="RUB" THEN GOTO 4020
520 IF C$="ROL" THEN GOTO 4050
530 IF C$="SAY" THEN GOTO 4200
540 IF C$="PIC" THEN GOTO 4300
550 IF C$="MEL" THEN GOTO 4400
560 IF C$="INS" THEN GOTO 4600
570 IF C$="ATT" OR C$="KIL" THEN GOTO 4700
580 IF C$="EXC" OR C$="SWA" THEN GOTO 7000
590 IF C$="FOR" THEN GOTO 7050
600 IF C$="WAV" THEN GOTO 7200
980 PRINT "I DO NOT UNDESRTAND WHAT"
981 GOSUB S
982 PRINT "À";A$;"À IS."
990 GOTO M
1000 LET C$=C$(1)
1010 FOR Z=1 TO 4
1020 IF E$(LN)(Z)=C$ THEN GOTO 1060
1030 NEXT Z
1035 IF (P(23)<>99 OR LAMP=0) AND LN>15 THEN GOTO 1081
1040 PRINT "I CANT GO THERE."
1050 GOTO M
1060 LET TV=(Z-1)*2+1
1070 LET LN=VAL D$(LN)(TV TO TV+1)
1080 GOTO 10
1081 PRINT "YOU FELL IN THE DARK AND BROKE"
1082 GOSUB S
1083 PRINT "YOUR NECK,SO SORRY."
1085 GOTO 2900
1100 PRINT "I AM CARRYING :"
1105 IF IC=0 THEN GOTO 1150
1110 FOR Z=1 TO NO
1120 IF P(Z)=99 THEN PRINT AT 21,USR 16514;O$(Z)
1130 NEXT Z
1140 GOTO M
1150 GOSUB S
1160 PRINT "NOTHING AT ALL."
1170 GOTO M
1200 PRINT "I CANT DO THAT...YET."
1210 GOTO M
1220 PRINT "I CANT DO THAT."
1230 GOTO M
1240 PRINT "NOTHING HAPPENS."
1250 GOTO M
2000 IF IC<8 THEN GOTO 2010
2001 PRINT "MY HANDS ARE FULL."
2002 GOTO M
2010 GOSUB CH
2011 IF P(Z)<>99 THEN GOTO 2020
2012 PRINT "I ALREADY HAVE."
2013 GOTO M
2020 IF P(Z)=LN THEN GOTO 2030
2021 PRINT "IT IS NOT HERE."
2022 GOTO M
2030 IF G$(Z)="Y" THEN GOTO 2040
2031 PRINT "I CANT."
2032 GOTO M
2040 IF ((Z=3 AND SW=0) OR (Z=4 AND SW=1)) AND LN=26 THEN GOTO 2043
2041 GOTO 2049
2043 PRINT "THE WEIGHT IMBALANCE ON THE"
2044 GOSUB S
2045 PRINT "PEDASTOL RELEASES A CLOUD OF"
2046 GOSUB S
2047 PRINT "DEADLY GAS."
2048 GOTO 2900
2049 LET P(Z)=99
2050 LET IC=IC+1
2060 PRINT "OK."
2070 GOTO DL
2100 GOSUB CH
2110 IF P(Z)=99 THEN GOTO 2140
2120 PRINT "I HAVE NOT GOT IT."
2130 GOTO M
2140 LET P(Z)=LN
2150 LET IC=IC-1
2160 GOTO OK
2500 GOSUB CH
2505 IF P(Z)<>LN AND P(Z)<>99 THEN GOTO 1200
2510 PRINT "I SEE"
2520 GOSUB S
2530 LET R$="NOTHING SPECIAL"
2531 IF X$<>"FEN" OR P(8)<>0 THEN GOTO 2540
2532 PRINT "A LOOSE WIRE"
2533 LET P(8)=LN
2534 GOTO DL
2540 IF X$="GOB" THEN LET R$="AN ENGRAVING : ÀMELT MEÀ"
2550 IF X$="SWO" THEN LET R$="THAT IT IS VERY SHARP"
2560 IF X$="CRY" THEN LET R$="A GOBLET AND A FURNACE"
2570 IF X$="MAC" THEN LET R$="A SLOT"
2580 IF X$="FUR" THEN LET R$="THAT IT IS VERY HOT"
2590 IF X$="SKU" OR X$="STA" OR X$="RUB" THEN LET R$="THAT IT IS PART OF THE SCEPTER"
2680 PRINT R$;"."
2685 IF X$="BRI" THEN GOTO DL
2690 GOTO M
2700 LET P=0
2701 IF P(35)<>99 THEN GOTO 2710
2702 PRINT "YOU HAVE ALL OF THE PIECES."
2703 GOTO M
2710 LET P=P+(1 AND P(1)=99)+(1 AND P(2)=99)+(1 AND P(3)=99)
2720 PRINT "YOU HAVE ";P;" PIECE";("S" AND P<>1);" OF THE SCEPTER"
2730 GOTO M
2760 PRINT "YOU HAVE USED ";TU;" TURN";("S" AND TU>1);"."
2770 GOTO M
2800 GOSUB CH
2801 IF X$<>"BOA" THEN GOTO CD
2802 IF LN<>5 THEN GOTO NY
2803 LET LN=8
2804 GOTO OK
2810 GOSUB CH
2811 IF X$<>"FEN" THEN GOTO 2815
2812 IF LN<>3 THEN GOTO NY
2813 LET LN=7
2814 GOTO OK
2815 IF X$<>"PIT" OR LN<>20 THEN GOTO CD
2816 PRINT "YOU FALL TO YOUR DEATH."
2817 GOTO 2900
2820 GOSUB CH
2821 IF X$="ROP" THEN GOTO 2830
2822 IF X$<>"TRE" THEN GOTO CD
2823 IF O$(15)(1)<>"C" THEN GOTO 2826
2824 PRINT "ITS TOO LATE FOR THAT."
2825 GOTO M
2826 IF LN<>4 THEN GOTO NY
2827 LET LN=6
2828 GOTO OK
2830 IF LN<>28 THEN GOTO NY
2831 LET LN=29
2832 GOTO OK
2840 GOSUB CH
2841 IF P(Z)<>99 THEN GOTO CD
2842 IF X$<>"BOO" OR P(12)<>0 THEN GOTO NH
2843 PRINT "SOMETHING FALLS TO THE FLOOR."
2844 LET P(12)=LN
2845 GOTO DL
2850 GOSUB CH
2851 IF P(Z)<>99 OR LN<>5 THEN GOTO NY
2852 IF Z=13 THEN GOTO 2855
2853 PRINT "IT IS NOW VERY CLEAN."
2854 GOTO M
2855 LET P(13)=0
2856 LET P(14)=99
2857 PRINT "THE MUD WASHES OFF THE BALL....."
2858 GOSUB S
2859 GOTO 1100
2860 GOSUB CH
2861 IF X$<>"TRE" THEN GOTO CD
2862 IF P(6)<>99 OR LN<>4 OR O$(15)(1)="C" THEN GOTO NY
2863 LET O$(15)="CHOPPED TREE"
2864 PRINT "TIMBER..."
2865 GOTO DL
2870 GOSUB CH
2871 IF P(Z)<>LN THEN GOTO NY
2872 IF O$(17)(1)<>"B" AND X$="GAT" THEN GOTO 2875
2873 PRINT "OUCH,MY FOOT."
2874 GOTO M
2875 PRINT "IT FALLS TO THE FLOOR."
2876 LET O$(17)="BROKEN GATE"
2877 LET E$(LN)="NE"
2878 GOSUB S
2879 PRINT "I CAN NOW GO EAST."
2880 GOTO DL
2890 GOSUB CH
2891 IF P(Z)<>LN AND P(Z)<>99 THEN GOTO NY
2892 IF X$<>"BEL" THEN GOTO NH
2893 PRINT "BUZZ....."
2894 GOSUB S
2895 PRINT "IM ELECTROCUTED."
2900 GOSUB S
2905 PRINT "THE GAME IS OVER."
2910 GOSUB S
2920 PRINT "DO YOU WISH TO PLAY AGAIN? (Y/N)"
2925 GOSUB S
2930 GOSUB 4
2935 IF C$(1)="Y" THEN GOTO 9000
2940 IF C$(1)="N" THEN STOP
2945 GOTO 2910
2950 GOSUB CH
2951 IF P(Z)<>LN THEN GOTO CD
2952 IF X$="CHE" THEN PRINT "HOW?"
2953 IF X$="CHE" THEN GOTO M
2954 IF X$<>"DOO" THEN GOTO CD
2955 IF LN<>10 OR P(12)<>99 OR O$(18)(1)<>"D" THEN GOTO NY
2956 LET O$(18)="UNLOCKED DOOR"
2957 GOTO OK
2960 GOSUB CH
2961 IF X$<>"LAM" THEN GOTO CD
2962 IF P(23)<>99 OR LAMP=1 THEN GOTO NY
2963 LET LAMP=1
2964 LET O$(23)="LIT LAMP"
2965 GOTO OK
3100 GOSUB CH
3110 IF X$<>"SCR" THEN GOTO CD
3120 IF P(Z)<>99 THEN GOTO NY
3130 PRINT "ZAPP..."
3135 LET LN=16
3140 GOTO DL
3300 IF F$="F" THEN PAUSE 100
3305 FOR D=1 TO 50
3310 NEXT D
3320 GOTO 10
3800 GOSUB CH
3810 IF X$<>"SCE" THEN GOTO CD
3820 IF P(1)=99 AND P(2)=99 AND P(3)=99 THEN GOTO 3830
3821 PRINT "YOU HAVE NOT GOT ALL THE PIECES"
3822 GOTO M
3830 IF P(35)<>0 THEN GOTO NY
3840 LET P(1)=0
3850 LET P(2)=0
3860 LET P(3)=0
3870 LET P(35)=99
3880 LET IC=IC-2
3890 GOTO 1100
4000 GOSUB CH
4001 IF X$<>"ACO" AND X$<>"DIA" THEN GOTO CD
4002 IF P(Z)<>99 THEN GOTO NY
4003 IF X$="DIA" THEN GOTO 4012
4004 IF P(24)=0 OR LN<>27 THEN GOTO NY
4005 PRINT "THE DEMON TAKES IT AND RUNS OFF."
4006 LET P(Z)=0
4007 LET P(24)=0
4008 LET E$(27)="WE"
4009 GOSUB 4030
4010 PRINT "I CAN NOW GO EAST."
4011 GOTO DL
4012 IF P(7)=0 OR LN<>25 THEN GOTO NY
4013 PRINT "THE DRAGON IS NOW VERY HAPPY."
4014 LET O$(33)="HAPPY DRAGON"
4015 LET P(Z)=0
4016 LET E$(25)="WE"
4017 GOTO 4009
4020 GOSUB CH
4021 IF X$<>"CRY" THEN GOTO CD
4022 IF P(Z)<>99 THEN GOTO NY
4023 IF LN<>20 THEN GOTO NH
4024 PRINT "I SLOWLY FLOAT ACROSS THE PIT..."
4025 LET LN=21
4026 GOTO DL
4030 LET IC=IC-1
4032 GOSUB S
4034 RETURN
4050 GOSUB CH
4055 IF X$<>"WHE" THEN GOTO CD
4060 IF P(Z)<>99 THEN GOTO NY
4065 IF LN=17 THEN GOTO 4100
4070 PRINT "THE WHEEL ROLLS FOR A WHILE....."
4072 FOR D=1 TO 25
4074 NEXT D
4076 IF F$="F" THEN PAUSE 100
4080 GOSUB S
4085 PRINT "AND FALLS OVER."
4086 LET IC=IC-1
4087 LET P(Z)=LN
4088 GOTO M
4100 IF O$(26)(1)="B" THEN GOTO 4108
4101 PRINT "THE WHEEL ROLLS AWAY."
4102 GOTO 4135
4108 PRINT "THE WHEEL ROLLS AWAY AND YOU"
4109 GOSUB S
4110 PRINT "HEAR A SQUELCHING SOUND TO THE"
4115 GOSUB S
4120 PRINT "SOUTH."
4125 LET O$(26)="FLAT SPIDER"
4130 LET E$(18)="NS"
4135 LET IC=IC-1
4140 LET P(10)=18
4141 IF F$="F" THEN PAUSE 100
4145 GOTO DL
4200 PRINT "OK."
4210 GOSUB S
4220 PRINT "À";B$;"À."
4230 GOSUB S
4240 IF LN<>21 OR P(29)=0 OR X$<>"HEL" THEN GOTO NH
4250 PRINT "THE GHOST SAYS :"
4255 GOSUB S
4260 PRINT "ÀWAVE THE STAFF BY THE FALLEN"
4265 GOSUB S
4270 PRINT "OAK.À AND VANISHES."
4280 LET P(29)=0
4290 GOTO DL
4300 IF X$<>"LOC" THEN GOTO CD
4301 IF LN<>19 OR P(8)<>99 OR O$(27)(1)="O" THEN GOTO NY
4302 PRINT "THE CHEST SPRINGS OPEN."
4303 LET O$(27)="OPEN CHEST"
4304 LET P(2)=LN
4305 GOTO DL
4400 GOSUB CH
4401 IF P(Z)<>99 OR LN<>23 THEN GOTO NY
4402 IF X$<>"GOB" THEN GOTO 4410
4403 LET O$(21)="GOLD COIN"
4404 LET N$(21)="COI"
4405 PRINT "SOMETHING HAPPENS."
4406 LET IC=IC-1
4407 LET P(Z)=LN
4408 GOTO DL
4410 PRINT "IT VANISHES IN A PUFF OF SMOKE."
4411 LET P(Z)=-1
4412 LET IC=IC-1
4413 GOTO M
4500 PRINT "NO THANKS."
4510 GOTO M
4600 GOSUB CH
4610 IF X$<>"COI" THEN GOTO CD
4620 IF LN<>22 OR P(Z)<>99 THEN GOTO NY
4630 LET P(Z)=LN
4640 LET O$(Z)="SCROLL"
4650 LET N$(Z)="SCR"
4660 LET IC=IC-1
4670 GOTO OK
4700 GOSUB CH
4705 IF X$<>"DOG" THEN GOTO CD
4710 IF LN<>24 OR O$(32)(1)<>"F" THEN GOTO NY
4715 IF P(20)=99 THEN GOTO 4720
4716 PRINT "I WILL NEED SOMETHING SHARP."
4717 GOTO M
4720 LET O$(32)="DEAD DOG"
4725 LET E$(LN)="NE"
4726 PRINT "WITH A BLOW OF THE SWORD THE DOG"
4727 GOSUB S
4728 PRINT "KEELS OVER."
4729 GOSUB S
4730 PRINT "I CAN NOW GO EAST."
4735 GOTO DL
5000 FOR Z=1 TO NO
5010 IF N$(Z)=X$ THEN RETURN
5020 NEXT Z
5030 PRINT "I DO NOT KNOW WHAT À";B$;"À IS."
5040 GOTO M
5500 FOR Z=1 TO LEN C$
5510 IF C$(Z)=" " THEN GOTO 5600
5520 NEXT Z
5530 LET A$=C$
5540 LET C$=C$( TO 3)
5550 RETURN
5600 LET A$=C$( TO Z-1)
5610 LET B$=C$(Z+1 TO )
5615 IF LEN B$<6 OR LEN A$<3 THEN GOTO 980
5620 LET C$=A$( TO 3)
5630 LET X$=B$( TO 3)
5640 LET B$=B$( TO 6)
5650 RETURN
6000 GOSUB CH
6001 IF X$<>"DOO" THEN GOTO 6010
6002 IF LN<>10 THEN GOTO NY
6003 IF O$(18)(1)="D" THEN PRINT "ITS LOCKED."
6004 IF O$(18)(1)="O" THEN PRINT "IT ALREADY IS."
6005 IF O$(18)(1)="D" OR O$(18)(1)="O" THEN GOTO M
6006 LET O$(18)="OPEN DOOR"
6007 PRINT "I CAN NOW GO SOUTH."
6008 LET E$(10)="WS"
6009 GOTO DL
6010 IF X$<>"CHE" THEN GOTO CD
6011 IF LN<>19 OR O$(27)(1)="O" THEN GOTO NY
6012 PRINT "IT IS SHUT TIGHT AND LOCKED."
6013 GOTO M
6100 GOSUB CH
6101 IF X$<>"PAN" THEN GOTO CD
6102 IF LN<>14 OR O$(22)(1)="O" THEN GOTO NY
6103 LET O$(22)="OPEN PANEL"
6104 PRINT "I CAN NOW GO DOWN."
6105 LET E$(14)="NED"
6106 GOTO DL
7000 GOSUB CH
7010 IF X$<>"RUB" THEN GOTO CD
7020 IF LN<>26 OR SW=1 THEN GOTO NY
7030 PRINT "WHAT FOR?"
7040 GOTO M
7050 GOSUB CH
7060 IF LN<>26 OR SW=1 THEN GOTO NY
7070 IF P(Z)<>99 THEN GOTO NY
7080 IF X$="DIR" THEN GOTO 7100
7081 PRINT "NOT THE RIGHT WEIGHT."
7082 GOSUB S
7089 GOTO 2043
7100 LET P(3)=99
7110 LET P(Z)=LN
7120 LET SW=1
7130 GOTO OK
7200 GOSUB CH
7205 IF P(Z)<>VAL "99" THEN GOTO NY
7210 IF LN<>VAL "4" OR O$(15)(1)="O" OR X$<>"SCE" THEN GOTO NH
7220 PRINT AT PI-PI,PI-PI;
7225 LET CL=USR VAL "16539"
7226 PRINT AT PI-PI,PI-PI;"YOU ARE TELEPORTED TO THE PALACE",," OF THE EMPEROR AND MADE A HERO",,," FOR FINDING THE STAFF."
7230 PRINT ,,"CONGRATULATIONS.YOU HAVE BEATEN THE ADVENTURE."
7240 PRINT "ª®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬"
7250 GOTO VAL "2900"
7500 LET R$="TRY EXAMINING THINGS."
7510 IF LN=VAL "3" THEN LET R$="WHATS OVER THE FENCE?"
7520 IF LN=VAL "27" THEN LET R$="DEMONS LIKE NUTS."
7530 IF LN=VAL "21" THEN LET R$="SAY SOMETHING THEN."
7540 IF LN=VAL "26" THEN LET R$="THINGS MUST BE PROPERLY BALANCED."
7550 IF P(10)=VAL "99" THEN LET R$="WHAT DO WHEELS DO?"
7560 PRINT R$
7570 GOTO M
8000 PRINT "PRESS ÀNEWLINEÀ WHEN READY."
8010 GOSUB S
8020 GOSUB 4
8030 SAVE "ADVENTURe"
8040 GOSUB 9500
8050 GOTO 9800
9000 GOSUB VAL "9500"
9010 LET F$="S"
9070 LET IC=1
9080 LET TU=0
9115 LET LN=1
9117 LET LAMP=0
9118 LET SW=0
9120 LET G$="YYYYNYYYNYYYYYNYNNNYYYYNNNNNNNNNNNY"
9130 LET P$="2900269905080800030707000200040609101012131415272818192021232224252600"
9140 FOR Z=1 TO NO
9150 LET Z1=VAL "2*Z-1"
9160 LET P(Z)=VAL P$(Z1 TO Z1+1)
9170 NEXT Z
9200 LET O$(15)="OAK TREE"
9210 LET O$(17)="GATE"
9220 LET E$(9)="N"
9230 LET O$(18)="DOOR"
9240 LET E$(10)="W"
9250 LET O$(22)="PANEL"
9260 LET O$(21)="GOLD GOBLET"
9270 LET N$(21)="GOB"
9280 LET E$(14)="NE"
9290 LET O$(23)="LAMP"
9300 LET E$(27)="W"
9310 LET O$(33)="SAD DRAGON"
9320 LET O$(26)="BIG SPIDER"
9330 LET E$(18)="N"
9340 LET O$(27)="ANCIENT CHEST"
9370 LET E$(24)="N"
9380 LET O$(32)="FIERCE DOG"
9490 GOTO 9800
9500 CLS
9501 SLOW
9502 POKE 16418,0
9505 PRINT "ADVENTURE NUMBER 1.ÀTHE SCEPTERÀ"
9510 PRINT "¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿"
9520 PRINT " WITH THIS PROGRAM YOU MAY HAVEAN ÀADVENTUREÀ WITHOUT HAVING TOLEAVE THE COMFORT OF YOUR CHAIR."
9530 PRINT ,," THE COMPUTER WILL ACT AS YOUR GUIDE AND WILL RESPOND TO ONE ORTWO WORD ENGLISH PHRASES,SUCH AS"
9540 PRINT "ÀGET SWORDÀ,ÀNORTHÀ,ÀOPEN BOXÀ."
9550 PRINT ,,"SOME USEFUL COMMANDS ARE :"
9560 PRINT "ÀSAVE GAMEÀ,ÀINVENTORYÀ,ÀGETÀ, ÀDROPÀ,ÀNORTHÀ,ÀSOUTHÀ,ÀEASTÀ, ÀWESTÀ";
9570 PRINT ",ÀEXAMINEÀ AND ÀTIMEÀ."
9580 PRINT ,," DIRECTIONS MAY BE ABBRIEVIATEDTO ONLY THE FIRST LETTER EG. ÀNTAB FOR ÀNORTHÀ."
9590 PRINT " YOUR GUIDE KNOWS MORE THAN 80 WORDS."
9600 PRINT AT 23,0;"««author««‰««simon««wadsworth«««"
9700 RETURN
9800 PRINT AT 22,4;"PRESS ÀNEWLINEÀ TO PLAY"
9810 GOSUB 4
9820 PRINT AT 22,0;" "
9980 PRINT AT 23,0;"««‹cŒ«˜ Ÿ™«‘«bug«byte«software««"
9990 GOTO 10
9998 SAVE "ADVENTURe"
9999 GOTO 9000
- Attachments
-
- ADVENTURE_[ZX81 BASIC TEXT CODES].txt
- (16.71 KiB) Downloaded 2093 times
- tristanbgilb
- Posts: 1152
- Joined: Tue Sep 01, 2020 9:20 pm
- Contact:
Re: www.MethowValley.org
I am curious about mixing machine code with basic.pasayten wrote: Thu Jan 26, 2023 10:15 am No wimps here... OCEC Electric Rate Calulator... Support program to https://methow.chewack.com/getmybill2022.php
Code: Select all
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>My Methow Information Web Pages</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta name="keywords" content=""> <meta name="description" content=""> <!-- master default --> <link rel="stylesheet" type="text/css" href="mymetbill2.css" /> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript" src="https://methow.chewack.com/getbill_function24mo2022.js"></script> <?php echo '<script type="text/javascript">'; echo 'google.load("visualization", "1", {packages:["corechart","gauge"]});'; echo 'var qsParm = new Array();'; echo 'var kary = new Array();'; echo 'var dary = new Array();'; echo 'var nary = new Array();'; echo 'var pary = new Array();'; echo 'var ravg = new Array();'; echo 'var crb = new Array();'; echo 'var prb = new Array();'; echo 'var chb = new Array();'; echo 'var cbill = 0.0;'; echo 'var pbill = 0.0;'; echo 'var chgbill = 0.0;'; echo 'var kavg = 0;'; echo 'var crank = 0;'; echo 'var kmax = 0;'; echo 'var dmax = 0;'; echo 'var grank = 0;'; echo 'var xtemp = 0.0;'; echo 'var origrate = 0;'; echo 'var newcls = "G1";'; echo 'var oldcls = "Residential";'; echo 'var mary = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];'; // *********************************** // set default starts // *********************************** echo 'var enddat = 2212;'; echo 'var maxrank = 4000;'; $enddat = "2212"; if(isset($_GET['recsel'])) $xkey = $_GET['recsel']; if(isset($_GET['enddat'])) $enddat = $_GET['enddat']; $fd = fopen("membertool.log", "a"); $msg = "[" . date("Y/m/d h:i:s", time()) . "] "; $msg = $msg.' RateCalc Member key: '.$xkey.'/'; $msg = $msg.' End date: '.$enddat.'/'; foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key) { if (array_key_exists($key, $_SERVER) === true) { foreach (explode(',', $_SERVER[$key]) as $ip) { if (filter_var($ip, FILTER_VALIDATE_IP) !== false) { $msg = $msg.$ip.'/'; } } } } fwrite($fd, $msg . "\n"); fclose($fd); // Otherwise we connect to our Database $hostname = 'localhost'; $username = '????????'; $password = '????????'; $database = '????????'; $link = mysqli_connect($hostname, $username, $password) or die("Unable to Connect to '$hostname'"); mysqli_select_db($link, $database) or die("Could not open the db '$database'"); //Now we search for our search term, in the field the user specified $query="SELECT * FROM mem_tool2022 WHERE member_fake = "; $query=$query.$xkey; //$query=$query."'"; //$data = mysql_query($query); $data = mysqli_query($link, $query); //echo "data query=".$query.":<br>"; //echo $data; //And we display the results $i =0; // ************************************ // arrays set for 2001 thru 2212... // ************************************ $kary=array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1); $dary=array(0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0); $ravg=array(0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0); $totk = 0.0; $totd = 0.0; while($result = mysqli_fetch_array( $data )) { $i = $i + 1; // Get all regular stuff for meter if ($i == 1) { $cls = $result['class']; echo 'crank = '.$result['rank'].';'; //echo 'debug'; //echo $result['kwhavg_2022']; //echo $result['rank']; //echo 'debug'; echo 'kavg = '.$result['kwhavg_2022'].';'; //echo 'totk = '.$result['tot_kwh'].';'; //echo 'totd = '.$result['tot_kw'].';'; //echo 'totbil = '.$result['tot_rev'].';'; echo 'phase = '.$result['rate'].';'; echo 'cur_rate = '.$result['cur_rate'].';'; // WAS COMMENTED OUT echo 'origrate = '.$result['cur_rate'].';'; $gcls = $result['kwhavg_2022']; $xnm = "G1 (0-1200 avg kwh/mth)"; if ( $gcls > 1200 ) $xnm ="G2 (1200-5000 avg kwh/mth)"; if ( $gcls > 5000 ) $xnm ="G3 (5000-16,667 avg kwh/mth)"; if ( $gcls > 16667 ) $xnm ="G4 (Abv 16,667 avg kwh/mth)"; echo 'newcls = "'.$xnm.'";'; } // Now load kwh/kw arrays $xd = $result['billyrmo']; $xkwh = $result['kwh']; $xdem = $result['kwdemand']; if ($xd < 2101) { $xd = $xd - 2000; $xd = $xd -1; } elseif ($xd < 2201) { $xd = $xd - 2100; $xd = $xd +11; } else { $xd = $xd - 2200; $xd = $xd +23; } //echo 'xd:'.$xd.' kwh:'.$xkwh.' <br>'; $kary[$xd] = $xkwh; $dary[$xd] = $xdem; } // Calculate annual running averages $rtot = 0; $rnum = 0; for ($i=11; $i<=35; $i++) { if ($kary[$i] > -1) { // Have value, do running average $j = $i - 11; $rtot = 0; $rnum = 0; for ($j=$i-11; $j<=$i; $j++) { if ($kary[$j] > -1) { $rtot = $rtot + $kary[$j]; $rnum = $rnum + 1; } } $ravg[$i] = $rtot / $rnum; //echo 'i: '.$i.' kwh:'.$ravg[$i].' <br>'; } } // Now set up annual values for chosen end month // VERIFY OFFSET data starts at 1201, not 1101 if ($enddat == 2112) $istrt = 12; if ($enddat > 2112) $istrt = $enddat - 2200 +12; if ($enddat > 2212) $istrt = $enddat - 2300 +24; //if ($enddat == 1309) $istrt = 12; //if ($enddat > 1212) $istrt = $enddat - 1300 +12; //if ($enddat > 1312) $istrt = $enddat - 1400 +12; for ($i=0; $i<=11; $i++) { $ioff = $i + $istrt; if ($kary[$ioff] == -1) { echo 'kary['.$i.'] = -1;'; echo 'dary['.$i.'] = 0.0;'; echo 'ravg['.$i.'] = 0.0;'; } else { $totk = $totk + $kary[$ioff]; $totd = $totd + $dary[$ioff]; echo 'kary['.$i.'] = '.$kary[$ioff].';'; echo 'dary['.$i.'] = '.$dary[$ioff].';'; echo 'ravg['.$i.'] = '.round($ravg[$ioff],1).';'; } if ($kary[$ioff-12] == -1) { echo 'pary['.$i.'] = -1;'; } else { echo 'pary['.$i.'] = '.$kary[$ioff-12].';'; } } echo 'totk = '.$totk.';'; echo 'totd = '.$totd.';'; echo 'enddat = '.$enddat.';'; //$xkey = 792194002; echo 'frec = '.$xkey.';'; $mrec = ( $xkey -1994 ) / 4; echo 'mrec = '.$mrec.';'; echo 'google.setOnLoadCallback(getMemberData);'; //echo 'getMemberData();'; echo '</script>'; ?> </head> <body> <div style="float: left; width: 800px;border:1px solid black;"> <div style="float: left; clear: left; width: 327px; height: 110px; border-right:1px solid black;border-bottom:1px solid black;border-top:1px solid black;background: rgb(200,229,238);"> <center id="cursive18">My Methow<br> Electrical<br> Information</b></center> </div> <div style="float: right; width: 470px; height: 110px; border:1px solid black;background: rgb(200,229,238);"> <img src="https://methow.chewack.com/images/mymetlogo3.jpg" /> </div> <div id="body" style="width:800px;"> <p id="mediumcursive"><center><b>Your OCEC electrical bill summary analysis</b></center><br> <div style="width:800;height:320px;"> <div id="chart_div" style="width:580;height:320px;float:left;margin-left:10px;border:1px solid black;"> <br><br><span style="width:580px;text-align:center;float:left;">... loading data ...</span></div> <div style="width:170px;height:240px;float:left;margin-left:20px;margin-top:0px;border:1px solid black;"> <div style="width:170px;height:40px;margin-top:5px;"> <span style="width:165px;text-align:center;float:left;"><p class="txsmall">Your Average Monthly<br>kwh Usage Rank</p></span> </div> <div id="gage_div" style="width:160px;height:150px;margin-left:10px;"></div> <div style="width:170px;height:40px;margin-top:0px;"> <span style="width:165px;text-align:center;float:left;"><p class="txsmall">Scale of 0-100<br> for 4000 meters @ OCEC</p></span> </div> <div style="width:170px;height:75px; margin-top:10px; border:1px solid black;"> <span style="width:165px;text-align:center;float:left;"><p class="txsmall"> Choose dates to analyze:<br> <form name="disptype" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <select name="enddat" style="float:left;height:22px;margin-left:8px;margin-top:5px;background:rgb(200,229,238);"> <?php $xx = ""; if ($enddat == 2112) $xx = "selected"; echo '<option value="2112" '.$xx.'>Jan 2021-Dec 2021</option>'; $xx = ""; if ($enddat == 2209) $xx = "selected"; echo '<option value="2209" '.$xx.'>Oct 2021-Sep 2022</option>'; $xx = ""; if ($enddat == 2212) $xx = "selected"; echo '<option value="2212" '.$xx.'>Jan 2022-Dec 2022</option>'; echo '</select><br>'; echo '<input style="margin-left:0px;line-height:18px;text-align:center;background: rgb(200,229,238);" type="submit" value="Submit New Dates" />'; echo '<input name="recsel" type="hidden" value="'.$xkey.'" />'; //Pulled out of rate summary //Energy Chg: //<span id="pener">0.00</span> // Inc kwh: //<span id="ptier1">0</span> //<br> ?> </form> </p></span> </div> </div> </div> <div style="width:770px;margin-top:20px;margin-left:20px;"> <p class="tzsmall"> Member Account: <b id="mrec">0</b> Data Record: <b id="frec">0</b><br> <b>Summary stats are for the 2022 base year:</b> Your monthly avg kwh was <b id="mavg">0</b> and ranked <b id="krank">0</b> from the highest of the approx 4000 OCEC meter accounts. This is converted to <b id="grk">0</b> out of 100 to display on the gage. Under the current policies, your average monthly kwh usage would place you in the <b>General Service Class <span id="newgx">G1</span></b> and <b>Rate Code <span id="ratecd">1</span></b>. Your rate class is currently set to <b id="currate">00</b>. Your current average kwh usage <span id="classchg">and existing rate meet policies. You might check if a higher rate code would save you money</span>. <br> <b>Summary for the selected dates:</b> Your total energy usage for the 12 month period was <b id="tkwh">0</b> kwh. Your peak monthly usage was <b id="mxkwh">0</b> kwh and your peak monthly demand was <b id="mxkw">0</b> kw. Following is a summary of your monthly usage and billings using the 2021/22 rates which you can compare with the a new rate class and other utility/coop/class rates. Also note yard lights/local taxes have not been included. </p><br> <br> <div style="width:520px;float:left;margin-top:0px;margin-left:0px;border:0px solid black;"> <table class="billtab" border="1"> <tr> <th>Month</th> <th>Total kwh</th> <th>Dem kw</th> <th id="g2015">2021 xx Rate</th> <th>Compare Rate</th> <th>% Change</th> </tr> <tr><td id="m1" style="text-align:left;">Jan</td> <td id="k1">0</td> <td id="kw1">0</td> <td id="o1">0.00</td> <td id="n1">0.00</td> <td id="c1">0.0%</td></tr> <tr><td id="m2" style="text-align:left;">Feb</td> <td id="k2">0</td> <td id="kw2">0</td> <td id="o2">0.00</td> <td id="n2">0.00</td> <td id="c2">0.0%</td></tr> <tr><td id="m3" style="text-align:left;">Mar</td> <td id="k3">0</td> <td id="kw3">0</td> <td id="o3">0.00</td> <td id="n3">0.00</td> <td id="c3">0.0%</td></tr> <tr><td id="m4" style="text-align:left;">Apr</td> <td id="k4">0</td> <td id="kw4">0</td> <td id="o4">0.00</td> <td id="n4">0.00</td> <td id="c4">0.0%</td></tr> <tr><td id="m5" style="text-align:left;">May</td> <td id="k5">0</td> <td id="kw5">0</td> <td id="o5">0.00</td> <td id="n5">0.00</td> <td id="c5">0.0%</td></tr> <tr><td id="m6" style="text-align:left;">Jun</td> <td id="k6">0</td> <td id="kw6">0</td> <td id="o6">0.00</td> <td id="n6">0.00</td> <td id="c6">0.0%</td></tr> <tr><td id="m7" style="text-align:left;">Jul</td> <td id="k7">0</td> <td id="kw7">0</td> <td id="o7">0.00</td> <td id="n7">0.00</td> <td id="c7">0.0%</td></tr> <tr><td id="m8" style="text-align:left;">Aug</td> <td id="k8">0</td> <td id="kw8">0</td> <td id="o8">0.00</td> <td id="n8">0.00</td> <td id="c8">0.0%</td></tr> <tr><td id="m9" style="text-align:left;">Sep</td> <td id="k9">0</td> <td id="kw9">0</td> <td id="o9">0.00</td> <td id="n9">0.00</td> <td id="c9">0.0%</td></tr> <tr><td id="m10" style="text-align:left;">Oct</td> <td id="k10">0</td> <td id="kw10">0</td> <td id="o10">0.00</td> <td id="n10">0.00</td> <td id="c10">0.0%</td></tr> <tr><td id="m11" style="text-align:left;">Nov</td> <td id="k11">0</td> <td id="kw11">0</td> <td id="o11">0.00</td> <td id="n11">0.00</td> <td id="c11">0.0%</td></tr> <tr><td id="m12" style="text-align:left;">Dec</td> <td id="k12">0</td> <td id="kw12">0</td> <td id="o12">0.00</td> <td id="n12">0.00</td> <td id="c12">0.0%</td></tr> <tr><td style="text-align:left;"><b>Total</b></td> <td><b id="k13">0</b></td> <td><b id="kw13">-</b></td> <td><b id="o13">0.00</b></td> <td><b id="n13">0.00</b></td> <td><b id="c13">0.0%</b></td></tr> </table> </div> <div style="width:250px;float:left;margin-top:0px;margin-left:0px;border:0px solid black;"> <form name="rateform" action="" > <p class="txsmall"><b>Choose a rate to compare your bill:</b><br> <select id="kratex" name="kratex" style="float:left;width:240px;height:22px;margin-left:0px;margin-top:10px;background:rgb(200,229,238);" onChange="newbill();"> <option value="1" selected="0">Need rate selection</option> <option value="201"> OCEC Apr 2023 Gen Serv 1 rate</option> <option value="202"> OCEC Apr 2023 Gen Serv 2 rate</option> <option value="203"> OCEC Apr 2023 Gen Serv 3 rate</option> <option value="204"> OCEC Apr 2023 Gen Serv 4 rate</option> <option value="205"> OCEC Apr 2023 Irrigation 1P</option> <option value="206"> OCEC Apr 2023 Irrigation 3P</option> <option value="181"> OCEC 2021/22 Gen Serv 1 rate</option> <option value="182"> OCEC 2021/22 Gen Serv 2 rate</option> <option value="183"> OCEC 2021/22 Gen Serv 3 rate</option> <option value="184"> OCEC 2021/22 Gen Serv 4 rate</option> <option value="185"> OCEC 2021/22 Irrigation 1P</option> <option value="186"> OCEC 2021/22 Irrigation 3P</option> <option value="18">Big Bend residential rate (chk Nov22)</option> <option value="15">Chelan PUD residential rate (chk Nov22)</option> <option value="22">Columbia REA residential rate (chk Jan19)</option> <option value="4">Colville (Avista) residential rate (chk Nov22)</option> <option value="12">Ferry County PUD residential rate (chk Nov22)</option> <option value="11">Inland Power residential rate (chk Nov22)</option> <option value="19">Kittitas PUD residential rate (chk Nov22)</option> <option value="91">Lakeview residential rate (chk Nov22)</option> <option value="9">Nespelum Electric residential rate (chk Nov22)</option> <option value="2">Okanogan PUD Apr 23 residential rate (chk Jan23)</option> <option value="3">OPALCO (Island Cty) residential winter rate (chk Nov22)</option> <option value="5">Oregon Trail Coop residential rate (chk Nov22)</option> <option value="17">Parkland Light Coop residential rate (chk Nov22)</option> <option value="21">Pend Oreille PUD residential rate (chk Nov22)</option> <option value="20">Skamania residential rate (chk Nov22)</option> <option value="10">Snohomish County PUD residential rate (chk Nov22)</option> <option value="8">Tanner Electric residential rate (chk Nov22)</option> <option value="200">Umatilla Electric residential rate Winter (chk Nov22)</option> <option value="7">Western Oregon Coop residential rate (chk Nov22)</option> </select> <br><br> <span style="width:150px;float:left;">Existing 12mth bill:</span> <b id="zold" style="width:70px;float:left;text-align:right;">$0.00</b> <br> <span style="width:150px;float:left;">Compare 12mth bill:</span> <b id="znew" style="width:70px;float:left;text-align:right;">$0.00</b> <br> <span style="width:230px;float:left;">Inc/(Dec): <b id="zchg">$0.00</b>/yr or <b id="zchgm">$0.00</b>/mth </span><br></p> <p class="cursive12">Rate structure used to compare:<br> <span><b id="pcomp">OCEC current rate</b></span><br> Base Meter 1P: <span id="pbase">0.00</span> 3P: <span id="pbase3">0.00</span> <br> Demand Chg: <span id="pdem">0.00</span> Inc kw: <span id="pdinc">0</span> <br> Base kwh rate: <span id="prate1">0.0000</span> <br> Tier 2 rate: <span id="prate2">0.0000</span> Abv kwh: <span id="ptier2">0</span> <br> Tier 3 rate: <span id="prate3">0.0000</span> Abv kwh: <span id="ptier3">0</span> <br> Cost of power adj: <span id="pkopa">0.0000</span> </p> <input name="kwh01" value="0" type="hidden"> <input name="kwh02" value="0" type="hidden"> <input name="kwh03" value="0" type="hidden"> <input name="kwh04" value="0" type="hidden"> <input name="kwh05" value="0" type="hidden"> <input name="kwh06" value="0" type="hidden"> <input name="kwh07" value="0" type="hidden"> <input name="kwh08" value="0" type="hidden"> <input name="kwh09" value="0" type="hidden"> <input name="kwh10" value="0" type="hidden"> <input name="kwh11" value="0" type="hidden"> <input name="kwh12" value="0" type="hidden"> <input name="kw01" value="0" type="hidden"> <input name="kw02" value="0" type="hidden"> <input name="kw03" value="0" type="hidden"> <input name="kw04" value="0" type="hidden"> <input name="kw05" value="0" type="hidden"> <input name="kw06" value="0" type="hidden"> <input name="kw07" value="0" type="hidden"> <input name="kw08" value="0" type="hidden"> <input name="kw09" value="0" type="hidden"> <input name="kw10" value="0" type="hidden"> <input name="kw11" value="0" type="hidden"> <input name="kw12" value="0" type="hidden"> <input name="kwhtot" value="0" type="hidden"> <input name="kwhavg" value="0" type="hidden"> <input name="kwtot" value="0" type="hidden"> <input name="rank" value="0" type="hidden"> <input name="mtype" value="1" type="hidden"> <input name="xphase" value="1" type="hidden"> <input name="orate" value="0" type="hidden"> <input name="enddat" value="1309" type="hidden"> </form> </div> </div> <div id="footer" style="width:760px;margin-left:20px;margin-top:10px;"> <hr> <center><p class="txxsmall">This application is provided as a free service to all members of the Okanogan County Electric Coop<br> Copyright January 2012 by Ray Peterson of Pasayten Consulting, Phone: 425-239-3777, email: pasayten@yahoo.com </p> </center></div> </div> </body> </html>
Code: Select all
# REM X
1 REM [HEX:\
3D ]
# REM **COMPILER**
1000 REM [HEX:\
17,17,28,34,32,35,2E,31,\
2A,37,17,17,76 ]
1010 FAST
1011 LET Q=3950
1012 LET Q1=2830
1013 LET Q2=3320
1014 LET Q3=3630
1015 LET Q4=3970
1016 LET Q5=1320
1017 LET Q6=4
1020 LET P=28858
1030 LET P1=16514
1040 GOSUB 2920
1050 IF PEEK (P1-1)<>234 THEN GOTO Q1
1060 IF PEEK P1=118 THEN GOTO Q1
1070 GOSUB 2880
1080 LET A$=""
1090 LET A$=A$+CHR$ PEEK P1
1100 LET P1=P1+1
1110 IF PEEK (P1-1)<>118 THEN GOTO 1090
1120 IF PEEK (P1+1)*256+PEEK (P1+2)=1010 THEN GOTO 3690
1130 LET P1=P1-3
1140 LET T$=A$( TO 2)
1150 LET B$=A$+" "
1160 LET J=0
1170 LET J=J+(T$="RE")*2170+(T$="SC")*1200+(T$="PR")*1360+(T$="GE")*1530+(T$="EN")*1620+(T$="PA")*1670+(T$="CL")*1720+(T$="MO")*1770+(T$="LE")*1890+(A$( TO 3)="GOT")*2060+(A$( TO 3)="GOS")*2130+(T$="IF")*2200+(T$="PO")*2430+(T$="UN")*2550+(T$="PL")*2580+(T$="DO")*2720
1180 IF NOT J THEN LET J=Q1
1190 GOTO J
1201 IF B$(7)<>CHR$ 118 THEN GOTO Q1
1202 LET U$="2A0C40112100EB1901F702EDB00620AF131210FC"
1203 GOSUB Q3
1204 GOTO Q5
1320 LET P1=P1+8
1330 GOTO 1050
1360 LET B$=B$(6 TO )
1370 IF B$(1)=CHR$ 11 THEN GOTO 1420
1380 GOSUB Q2
1390 LET U$="7DD7"
1400 GOSUB Q3
1410 GOTO Q5
1420 GOSUB Q
1430 LET U$="CDBA40"
1440 GOSUB Q3
1450 POKE P,CODE (B$(1))
1460 GOSUB Q
1470 IF B$(1)=CHR$ 11 THEN POKE P+1,255
1480 LET P=P+1
1490 IF B$(1)=CHR$ 11 THEN GOTO 1510
1500 GOTO 1450
1510 LET P=P+1
1520 GOTO Q5
1530 LET B$=B$(Q6 TO )
1540 LET U$="CDBB02444D51142808CDBD077ECB7728023E8021004077233600"
1550 GOSUB Q3
1560 LET V=CODE B$(1)
1570 IF CODE B$(2)<>118 THEN GOTO Q1
1580 IF V<38 OR V>63 THEN GOTO Q1
1590 LET V=(V-38)*2+130
1600 POKE P-6,V
1610 GOTO Q5
1620 LET B$=B$(Q6 TO )
1630 IF B$(1)<>CHR$ 118 THEN GOTO Q1
1640 LET U$="CFFF"
1650 GOSUB Q3
1660 GOTO Q5
1670 LET B$=B$(6 TO )
1680 GOSUB Q2
1690 LET U$="2B7CB520FB"
1700 GOSUB Q3
1710 GOTO Q5
1720 LET B$=B$(Q6 TO )
1730 IF B$(1)<>CHR$ 118 THEN GOTO Q1
1740 LET U$="2A0C40161823062036002310FB1520F5010000CDF508"
1750 GOSUB Q3
1760 GOTO Q5
1770 LET B$=B$(5 TO )
1780 GOSUB Q2
1790 GOSUB Q4
1830 LET U$="45"
1840 GOSUB Q3
1850 GOSUB Q2
1860 LET U$="4DCDF508"
1870 GOSUB Q3
1880 GOTO Q5
1890 LET B$=B$(Q6 TO )
1900 LET L=(CODE B$-38)*2+130
1910 LET B$=B$(3 TO )
1920 GOSUB Q2
1930 GOSUB 3570
1940 IF CODE B$=118 THEN GOTO 2020
1950 LET U$="EB"
1960 GOSUB Q3
1970 LET S$=B$(1)
1980 GOSUB Q
1990 GOSUB Q2
1991 LET N$="CD0913"
1992 IF PEEK 4869=197 THEN LET N$="CD0513"
2000 LET U$=(N$ AND S$="*")+("EBCDC440" AND S$="/")+("19" AND S$="+")+("EBA7ED52" AND S$="-")
2010 GOSUB Q3
2020 LET U$="220040"
2030 GOSUB Q3
2040 POKE P-2,L
2050 GOTO Q5
2060 LET B$=B$(5 TO )
2070 GOSUB Q2
2080 POKE P-3,195
2090 LET G(N1,1)=PEEK (P-2)+PEEK (P-1)*256
2100 LET G(N1,2)=P-2
2110 LET N1=N1+1
2120 GOTO Q5
2130 LET B$=B$(6 TO )
2140 GOSUB Q2
2150 POKE P-3,205
2160 GOTO 2090
2170 LET U$="C9"
2180 GOSUB Q3
2190 GOTO Q5
2200 LET B$=B$(3 TO )
2210 GOSUB Q2
2220 GOSUB 3570
2230 LET U$="EB"
2240 GOSUB Q3
2250 LET S$=B$(1)
2260 GOSUB Q
2270 GOSUB Q2
2280 IF CODE B$>37 THEN GOSUB Q
2290 IF CODE B$<38 THEN GOSUB 3600
2300 LET U$="A7ED52"
2310 IF S$="<>" THEN LET U$=U$+"CA"
2320 IF S$="=" THEN LET U$=U$+"C2"
2330 IF S$="<" THEN LET U$=U$+"DA"
2340 IF S$=">" THEN LET U$=U$+"D2"
2350 LET U$=U$+"0000"
2360 IF S$<>">" AND S$<>"=" AND S$<>"<" AND S$<>"<>" THEN GOTO Q1
2370 GOSUB Q3
2380 LET G(N1,2)=P-2
2390 LET G(N1,1)=1000
2400 LET N1=N1+1
2410 LET A$=B$
2420 GOTO 1140
2430 LET B$=B$(5 TO )
2440 GOSUB Q2
2450 GOSUB Q4
2490 LET U$="EB"
2500 GOSUB Q3
2510 GOSUB Q2
2520 LET U$="EB73"
2530 GOSUB Q3
2540 GOTO Q5
2550 LET B$=B$(3 TO )
2560 LET U$="3EA0323040"
2570 GOTO 2590
2580 LET U$="3E9B323040"
2590 GOSUB Q3
2600 LET B$=B$(5 TO )
2610 GOSUB Q2
2620 LET U$="4D"
2630 GOSUB Q3
2640 GOSUB Q4
2680 GOSUB Q2
2690 LET U$="45CDB20B"
2700 GOSUB Q3
2710 GOTO Q5
2720 LET B$=B$(5 TO )
2730 GOSUB Q2
2740 GOSUB Q4
2771 LET U$="EB"
2780 GOSUB Q3
2790 GOSUB Q2
2800 LET U$="EB732372"
2810 GOSUB Q3
2820 GOTO Q5
2830 IF PEEK (P1-1)=118 THEN GOTO 3180
2840 IF P1=16509 THEN GOTO 3180
2850 LET P1=P1-1
2860 GOTO 2830
2870 SLOW
2880 LET L(N,1)=PEEK (P1-5)*256+PEEK (P1-4)
2890 LET L(N,2)=P-12288
2900 LET N=N+1
2910 RETURN
2920 DIM L(100,2)
2930 DIM G(70,2)
2940 LET N=1
2950 LET N1=N
2960 LET U$="E17E23E5FEFFC8D718F601FFFFA7ED520330FAC5E1C9A6AFAC"
2965 LET U$=U$+"FD3622002182403600237DFEBA20F8"
2970 GOSUB Q3
2980 RETURN
2990 IF N1=1 THEN RETURN
3000 FOR X=1 TO N1-1
3010 LET PO=G(X,2)
3020 LET L=G(X,1)
3030 LET G=1
3040 GOTO 3120
3050 LET G=G+1
3060 IF G=N THEN GOTO 3150
3070 GOTO 3040
3080 POKE PO,L(G,2)-256*INT (L(G,2)/256)
3090 POKE PO+1,INT (L(G,2)/256)
3100 NEXT X
3110 RETURN
3120 IF L=1000 THEN IF PO-12288<=L(G,2) THEN GOTO 3080
3130 IF L=L(G,1) THEN GOTO 3080
3140 GOTO 3050
3160 GOTO 3200
3170 RETURN
3190 LET L=PEEK P1*256+PEEK (P1+1)
3200 SLOW
3201 POKE 16418,0
3202 PRINT AT 22,0;"*******ERROR IN ";L;"******";AT 0,0;
3203 POKE 16418,2
3204 LIST L
3205 GOTO 3200
3230 LET V=CODE B$
3240 IF V<38 OR V>63 THEN GOTO Q1
3250 LET V=(V-38)*2+16514
3260 LET U$="2A"
3270 GOSUB Q3
3280 POKE P,V-16384
3290 POKE P+1,64
3300 LET P=P+2
3310 RETURN
3320 LET V=1
3330 IF CODE B$(V)>37 OR CODE B$(V)<28 THEN GOTO 3360
3340 LET V=V+1
3350 GOTO 3330
3360 IF V=1 THEN GOTO 3420
3370 LET V=VAL (B$( TO V-1))
3380 IF V<>INT V OR V>65536 THEN GOTO Q1
3390 GOSUB 3530
3400 POKE P+1,INT (V/256)
3405 LET P=P+2
3410 RETURN
3420 LET U$=""
3430 IF B$( TO 3)="TOP" THEN LET U$="2A0C4023"
3440 GOSUB 3780
3450 IF B$( TO 3)<>"USR" THEN GOTO 3850
3460 LET B$=B$(Q6 TO )
3470 GOSUB Q2
3480 POKE P-3,205
3490 RETURN
3500 IF U$="" THEN GOTO 3220
3510 GOSUB Q3
3520 RETURN
3530 LET U$="21"
3540 GOSUB Q3
3550 POKE P,V-256*INT (V/256)
3560 RETURN
3570 IF CODE B$<28 OR CODE B$>63 THEN RETURN
3580 GOSUB Q
3590 GOTO 3570
3600 IF CODE B$<28 OR CODE B$>37 THEN RETURN
3610 GOSUB Q
3620 GOTO 3600
3630 POKE P,CODE U$*16+CODE U$(2)-476
3640 LET U$=U$(3 TO )
3650 LET P=P+1
3660 IF P>=32700 THEN STOP
3670 IF U$="" THEN RETURN
3680 GOTO Q3
3690 GOSUB 2990
3700 LET J=P-12287
3710 LET P=28672
3720 LET U$="210000E5C103E52182401182701A7723137DB920F87CB820F4E136A62336AF2336AC233676E5118040A7ED52227F40E123C30304"
3730 GOSUB Q3
3740 LET P=J
3750 POKE 28673,P-256*INT (P/256)
3760 POKE 28674,INT (P/256)
3770 RAND USR 28672
3780 IF B$( TO 3)<>"RND" THEN RETURN
3790 LET U$="D92A3240545D29291929292919223240EB"
3800 GOSUB Q3
3810 LET B$=B$(Q6 TO )
3820 GOSUB Q2
3830 LET U$="EBA7ED5230FB19E5D9E1"
3840 RETURN
3850 IF B$( TO Q6)<>"PEEK" THEN GOTO 3900
3860 LET B$=B$(5 TO )
3870 GOSUB Q2
3880 LET U$="6E2600"
3890 GOTO 3500
3900 IF B$( TO Q6)<>"DEEK" THEN GOTO 3500
3910 LET B$=B$(5 TO )
3920 GOSUB Q2
3930 LET U$="D55E2356EBD1"
3940 GOTO 3500
3950 LET B$=B$(2 TO )
3960 RETURN
3970 IF B$(1)="," THEN GOTO 4000
3980 GOSUB Q
3990 GOTO Q4
4000 GOSUB Q
4010 RETURN
- Attachments
-
- zxcompiler_[ZX81 BASIC TEXT CODES].txt
- (7.49 KiB) Downloaded 2171 times
Who is online
Users browsing this forum: No registered users and 1 guest