|
---|
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
|
---|
|
---|