|
|
|---|
|
1
|
|
REM DATA FILLED
| I cannot remember the length
|
|---|
|
2 |
|
GOSUB 1050
| init variables
|
|---|
|
3 |
|
REM 980 OLD U$ INPUT
| I can only copy my old notes; bare with me
|
|---|
|
4 |
|
REM GOTO 980
| Check for errors
|
|---|
|
5 |
|
REM 900 NEW INPUT U$
| REM statements are unREMed to activate
|
|---|
|
6 |
|
REM GOTO 700
| Clear M/C area
|
|---|
|
10 |
|
PRINT AT F,F;
" INPUT M FOR M/C OR";
" R TO READ OR L TO LOAD M"
| Options @ 10
|
|---|
|
12 |
|
INPUT I$
|
|
|---|
|
18 |
|
IF I$="l" THEN INPUT M
|
|
|---|
|
20 |
|
REM 20
| Read or write data
|
|---|
|
22 |
|
IF I$="l" OR I$="R" OR I$="M"
THEN PRINT M;" ";
|
|
|---|
|
30 |
|
IF I$="l" OR I$="M"
THEN PRINT N;" ";
|
|
|---|
|
40 |
|
IF I$="l" OR I$="M"
THEN POKE M, N
|
|
|---|
|
50 |
|
IF I$="l" OR I$="R" OR I$="M"
THEN PRINT PEEK M;" ";CHR$ PEEK M
|
|
|---|
|
60 |
|
LET M = M + Q
|
|
|---|
|
70 |
|
GOTO 20
| loop til done
|
|---|
|
600 |
|
REM
| RESET REM STATEMENT
|
|---|
|
602 |
|
GOSUB 1050
| init variables
|
|---|
|
604 |
|
FAST
|
|
|---|
|
606 |
|
FOR I=M TO M+PEEK16511+256*PEEK 16512-P
| Length of 1sr REM statement
|
|---|
|
608 |
|
POKE I, F
| Fill with zeroes
|
|---|
|
610 |
|
NEXT I
|
|
|---|
|
699 |
|
RETURN
| DONE
|
|---|
|
700 |
|
REM
| PRINT CHAR$ FOR ALL 1 TO 64 NUMBERS
|
|---|
|
702 |
|
LET U$ = ""
|
|
|---|
|
704 |
|
REM GOTO 800
|
|
|---|
|
706 |
|
LET U$=U$ + "6.64.62.65.144."
| Let B = 64, & let A = 65, & Sub B from A
|
|---|
|
708 |
|
LET U$=U$ + "217."
| EXX = EXCH ALL
|
|---|
|
710 |
|
LET U$=U$ + "205.145.64."
| Call 16,788 or HEX: call 4194 = Print CHR$ A;
|
|---|
|
712 |
|
LET U$=U$ + "217.16.250."
| EXX = EXCH ALL & Next B = JNC -6 = [708]
|
|---|
|
714 |
|
LET U$=U$ + "201."
| RETurn to DOS
|
|---|
|
800 |
|
REM
| PREPARE M/C FOR MATH COPROCESSOR
|
|---|
|
802 |
|
LET U$=U$ + "62.50.245."
| Let A = 50 & PUSH A&F
|
|---|
|
804 |
|
LET U$=U$ + "62.15."
| Let A = 15
|
|---|
|
806 |
|
FAST
| Speed up computer for Math coprocessor
|
|---|
|
808 |
|
LET U$=U$ + "205.29.21."
| CALL 5405[HL=151D]=PUSH_BYTE_A=15float
|
|---|
|
810 |
|
LET U$=U$ + "62.5."
| Let A = 5
|
|---|
|
812 |
|
LET U$=U$ + "205.29.21."
| CALL 5405[HL=151D]=PUSH_BYTE_A=5float
|
|---|
|
814 |
|
LET U$=U$ + "62.4."
| Let A = 4
|
|---|
|
816 |
|
LET U$=U$ + "205.29.21."
| CALL 5405[HL=151D]=PUSH_BYTE_A=4float
|
|---|
|
818 |
|
LET U$=U$ + "241."
| POP A&F
|
|---|
|
820 |
|
LET U$=U$ + "205.29.21."
| CALL 5405[HL=151D]=PUSH_BYTE_A=50float
|
|---|
|
822 |
|
LET U$=U$ + "239."
| RST28 = CALL CALCULATOR
|
|---|
|
830 |
|
REM
| CALCULATOR MODE
|
|---|
|
832 |
|
LET U$=U$ + "197."
| COPY Top INTO Cell 5
|
|---|
|
834 |
|
LET U$=U$ + "162."
| Top = 0.5
|
|---|
|
836 |
|
LET U$=U$ + "3."
| Top=Under-Top
|
|---|
|
838 |
|
LET U$=U$ + "1."
| EXCH Under WITH Top
|
|---|
|
840 |
|
LET U$=U$ + "196."
| COPY Top INTO Cell 4
|
|---|
|
842 |
|
LET U$=U$ + "5."
| Top=Under/Top
|
|---|
|
844 |
|
LET U$=U$ + "228."
| Top=PUSH Cell 4
|
|---|
|
846 |
|
LET U$=U$ + "5."
| Top=Under/Top
|
|---|
|
848 |
|
LET U$=U$ + "36."
| Top=INT (Top)
|
|---|
|
850 |
|
LET U$=U$ + "192."
| COPY Top INTO Cell 0
|
|---|
|
852 |
|
LET U$=U$ + "228."
| Top=PUSH Cell 4
|
|---|
|
854 |
|
LET U$=U$ + "4."
| Top=Under*Top
|
|---|
|
856 |
|
LET U$=U$ + "228."
| Top=PUSH Cell 4
|
|---|
|
858 |
|
LET U$=U$ + "4."
| Top=Under*Top
|
|---|
|
860 |
|
LET U$=U$ + "229."
| Top=PUSH Cell 5
|
|---|
|
862 |
|
LET U$=U$ + "1."
| EXCH Under WITH Top
|
|---|
|
864 |
|
LET U$=U$ + "3."
| Top=Under-Top
|
|---|
|
866 |
|
LET U$=U$ + "193."
| COPY Top IN Cell 1
|
|---|
|
868 |
|
LET U$=U$ + "162."
| Top=0.5
|
|---|
|
870 |
|
LET U$=U$ + "3."
| Top=Under-Top
|
|---|
|
872 |
|
LET U$=U$ + "228."
| Top=PUSH Cell 4
|
|---|
|
874 |
|
LET U$=U$ + "5."
| Top=Under/Top
|
|---|
|
876 |
|
LET U$=U$ + "36."
| Top=INT (Top)
|
|---|
|
878 |
|
LET U$=U$ + "194."
| COPY Top IN Cell 2
|
|---|
|
880 |
|
LET U$=U$ + "228."
| Top=PUSH CELL 4
|
|---|
|
882 |
|
LET U$=U$ + "4."
| Top=Under*Top
|
|---|
|
884 |
|
LET U$=U$ + "225."
| Top=PUSH CELL 1
|
|---|
|
886 |
|
LET U$=U$ + "1."
| EXCH Under WITH Top
|
|---|
|
888 |
|
LET U$=U$ + "3."
| Top=Under-Top
|
|---|
|
890 |
|
LET U$=U$ + "161."
| Top=1
|
|---|
|
892 |
|
LET U$=U$ + "3."
| Top=Under-Top
|
|---|
|
894 |
|
LET U$=U$ + "195."
| COPY Top INTO Cell 3
|
|---|
|
896 |
|
LET U$=U$ + "1."
| EXCH Under with T op
|
|---|
|
898 |
|
LET U$=U$ + "197."
| COPY Top INTO Cell 5
|
|---|
|
900 |
|
LET U$=U$ + "4."
| Top=Under*Top
|
|---|
|
902 |
|
LET U$=U$ + "224."
| Top=PUSH Cell 0
|
|---|
|
904 |
|
LET U$=U$ + "15."
| Top=Under+Top
|
|---|
|
906 |
|
LET U$=U$ + "52."
| DEFB34 EXIT CALC
|
|---|
|
908 |
|
REM
| EXIT CALCULATOR MODE
|
|---|
|
910 |
|
GOTO 950
|
|
|---|
|
930 |
|
REM
| GET END OF MEMORY
|
|---|
|
932 |
|
LET U$=U$ + "42.12.64.35."
| Let HL=16,396[H12,L64] & INC HL
|
|---|
|
934 |
|
LET U$=U$ + "205.167.14."
| Call 3751[H14,L167]=POP_WORD==BC
|
|---|
|
936 |
|
LET U$=U$ + "197.209.25."
| PUSH BC & POP DE & ADD HL,DE
|
|---|
|
938 |
|
LET U$=U$ + "201."
| RETurn to DOS with end of memory
|
|---|
|
840 |
|
REM
|
|
|---|
|
942 |
|
GOTO 998
|
|
|---|
|
950 |
|
REM
| PRINT CHR$ A
|
|---|
|
952 |
|
LET U$=U$ + "62.16.215."
| Let A=16 & RST10==PRINT A
|
|---|
|
954 |
|
LET U$=U$ + "205.2.12."
| Call 3074[H12,L2]=POP_BYTE==A
|
|---|
|
956 |
|
LET U$=U$ + "215."
| RST10==PRINT A
|
|---|
|
958 |
|
LET U$=U$ + "62.26.215."
| Let A=26 & RST10==PRINT A
|
|---|
|
960 |
|
LET U$=U$ + "205.2.12."
| Call 3074[H12,L2]=POP_BYTE==A
|
|---|
|
962 |
|
LET U$=U$ + "215."
| RST10==PRINT A
|
|---|
|
964 |
|
LET U$=U$ + "62.17.215."
| Let A=17 & RST10==PRINT A
|
|---|
|
966 |
|
LET U$=U$ + "201."
| RETurn to DOS with end of memory
|
|---|
|
968 |
|
LET U$=U$ + "201."
| RETurn to DOS with end of memory
|
|---|
|
970 |
|
REM
| POKE 1 REM DATA U$ & CHECK DATA "."
|
|---|
|
980 |
|
FOR I=Q TO P
| REPEAT 3 TIMES
|
|---|
|
982 |
|
LET K$=U$(Q TO I)
| FIND K$=DATA STRING
|
|---|
|
984 |
|
IF U$=U$(I + Q)="." THEN GOTO 1000
| K$=# FOUND
|
|---|
|
986 |
|
NEXT I
| LOOP
|
|---|
|
988 |
|
PRINT AT P,F;"ERROR"
| DATA ERROR
|
|---|
|
990 |
|
STOP
| END
|
|---|
|
1000 |
|
POKE M, VAL K$
| ENTER DATA INTO "1 REM" AT M=16514
|
|---|
|
1002 |
|
LET U$=U$(I+R TO )
| DROP K$ FROM STRING U$
|
|---|
|
1004 |
|
IF U$="" THEN GOTO 1050
| DATA ENTRY DONE
|
|---|
|
1006 |
|
LET M=M+Q
| ADVANCE 1 BYTE INTO "1 REM"
|
|---|
|
1006 |
|
GOTO 980
| LOOP TIL DONE
|
|---|
|
1008 |
|
REM
| RUN M/C PROGRAM IN "1 REM" AT 16514
|
|---|
|
1010 |
|
PRINT AT F,F;"YES OR NO (Y/N)?"
| LOOP TIL DONE
|
|---|
|
1012 |
|
INPUT I$
| LOOP TIL DONE
|
|---|
|
1014 |
|
IF I$="N" THEN STOP
| CONTINUE?
|
|---|
|
1016 |
|
CLS
|
|
|---|
|
1018 |
|
SLOW
|
|
|---|
|
1020 |
|
RAND USR 16514
| SHOW SUPERTIC BOARD DISPLAY
|
|---|
|
1020 |
|
FAST
|
|
|---|
|
1020 |
|
STOP
| END
|
|---|
|
1030 |
|
REM
| SAVE ROUTINE
|
|---|
|
1032 |
|
GOSUB 600
| INITIALIZE BOARD VARIABLES ETC.
|
|---|
|
1034 |
|
LET A=16507
| MEMORY LENGTH
|
|---|
|
1036 |
|
SLOW
|
|
|---|
|
1038 |
|
LET KVV=PEEK(A)+A/A
|
|
|---|
|
1040 |
|
POKE A,KVV
|
|
|---|
|
1040 |
|
LET U$=STR$ KVV + " CALC"
|
|
|---|
|
1042 |
|
INPUT "SAVE PROGRAM ?", I$
|
|
|---|
|
1044 |
|
SAVE U$
|
|
|---|
|
1046 |
|
FAST
|
|
|---|
|
1048 |
|
FAST
|
|
|---|
|
1050 |
|
REM
| INIT VARIABLES
|
|---|
|
1052 |
|
LET H=CODE "="
|
|
|---|
|
1054 |
|
LET Q=H/H
|
|
|---|
|
1056 |
|
LET R=Q+Q
|
|
|---|
|
1058 |
|
LET P=R+Q
|
|
|---|
|
1060 |
|
LET F=Q-Q
|
|
|---|
|
1062 |
|
LET N=F
|
|
|---|
|
1064 |
|
LET N=F
|
|
|---|
|
1066 |
|
LET M=16514
|
|
|---|
|
1068 |
|
RETURN
|
|
|---|
|
1070 |
|
STOP
|
|
|---|
|
1072 |
|
REM
| END OF VARIABLES
|
|---|
|
|---|