Machine Code Loader/Editor

Date: 198x
Type: Program
Platform(s): TS 1000

Appears on

Assembled by Tim Ward from many sources. Contains programs 10001 – 10050.

Gallery

Machine Code Loader/Editor

Source Code

   1 REM 111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999000000000011111111112222222222333333333344444444445555555555666666666677777777778888888888999999999900000000001111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000
   2 CLS 
   3 PRINT "T/S 1000 MACH CODE LOADER/EDITOR"
   4 PRINT AT 2,0;"DO YOU WISH TO...",,,
   5 PRINT " 1)...WRITE CODE?"
   6 PRINT " 2)...LIST CODE?"
   7 PRINT " 3)...EDIT CODE?"
   8 PRINT " 4)...MOVE CODE?"
   9 PRINT " 5)...COPY CODE?"
  10 PRINT " 6)...DELETE CODE?"
  11 PRINT " 7)...RUN CODE?"
  12 PRINT " 8)...SAVE SPACE ABOVE RAMTOP?"
  13 PRINT " 9)...MOVE CODE DOWN TO SAVE IT?"
  14 PRINT "10)...SEARCH FOR A GIVEN BYTE?"
  15 PRINT "11)...SAVE PROGRAM AND CODE?"
  16 PRINT "12)...QUIT PROGRAM?",,,
  17 PRINT "ENTER NBR. OF SELECTION."
  18 INPUT A
  19 IF A<1 OR A>12 THEN GOTO 18
  20 IF A=1 THEN GOTO 200
  21 IF A=2 THEN GOTO 300
  22 IF A=3 THEN GOTO 600
  23 IF A=4 THEN GOTO 800
  24 IF A=5 THEN GOTO 1100
  25 IF A=6 THEN GOTO 700
  26 IF A=7 THEN GOTO 500
  27 IF A=8 THEN GOTO 900
  28 IF A=9 THEN GOTO 1000
  29 IF A=10 THEN GOTO 1200
  30 IF A=11 THEN GOTO 400
  31 IF A=12 THEN STOP 
 200 CLS 
 201 PRINT ,,"%E%N%T%E%R% %A%D%D%R%E%S%S% %I%N% %D%E%C%I%M%A%L% % % % % % % % "
 202 PRINT "%E%N%T%E%R% %C%O%D%E% %I%N% %H%E%X%A%D%E%C%I%M%A%L% % % % % % % "
 203 PRINT "%E%N%D% %C%O%D%E% %B%Y% %E%N%T%E%R%I%N%G% %"%S%"% % % % % % % % "
 210 PRINT ,,"ADDRESS TO WRITE TO:";
 220 INPUT N
 225 PRINT N
 230 LET A$=""
 240 IF A$="" THEN INPUT A$
 250 IF A$="S" THEN GOTO 2
 260 POKE N,((CODE A$-28)*16+(CODE A$(2)-28))
 270 LET N=N+1
 280 LET A$=A$(3 TO )
 290 GOTO 240
 300 CLS 
 302 PRINT "START ADDRESS: ";
 310 INPUT W
 320 PRINT W
 330 PRINT "END ADDRESS: ";
 340 INPUT Y
 350 PRINT Y
 360 FOR M=W TO Y
 370 LET P=PEEK M
 380 LET Q=INT (P/16)
 390 LET NIC=((P/16)-Q)*16
 391 PRINT M;"     ";CHR$ (Q+28)+CHR$ (NIC+28)
 392 NEXT M
 393 PRINT 
 394 PRINT "ANY MORE LISTING? (Y/N)"
 395 INPUT Q$
 396 IF Q$<>"Y" THEN GOTO 2
 397 GOTO 300
 400 CLS 
 410 PRINT "SAVE AS: ";
 420 INPUT S$
 430 PRINT S$
 440 PRINT "START TAPE AND PRESS ENTER"
 450 INPUT Q$
 460 SAVE S$
 470 GOTO 2
 500 CLS 
 501 PRINT "ADDRESS OF ROUTINE: ";
 510 INPUT ADR
 520 PRINT ADR
 525 CLS 
 530 FOR I=1 TO 20
 540 NEXT I
 550 CLS 
 560 RAND USR ADR
 570 PRINT AT 20,0;"%T%O% %R%E%T%U%R%N% %T%O% %M%E%N%U% %P%R%E%S%S% %E%N%T%E%R% % % "
 580 INPUT Q$
 590 GOTO 2
 600 CLS 
 610 PRINT "ADDRESS OF BYTE: ";
 620 INPUT BY
 630 PRINT BY
 632 PRINT "PRESENT VALUE: ";
 633 LET P=PEEK BY
 634 LET Q=INT (P/16)
 635 LET NIC=((P/16)-Q)*16
 636 PRINT CHR$ (Q+28)+CHR$ (NIC+28)
 640 PRINT "CHANGE TO: ";
 650 INPUT C$
 660 PRINT C$
 670 POKE BY,((CODE C$-28)*16+(CODE C$(2)-28))
 673 FOR J=1 TO 15
 674 NEXT J
 680 PRINT "ANY MORE EDITING? (Y/N)"
 690 INPUT Q$
 695 IF Q$<>"Y" THEN GOTO 2
 696 GOTO 600
 700 CLS 
 710 PRINT "START ADDRESS: ";
 720 INPUT ST
 730 PRINT ST
 740 PRINT "END ADDRESS: ";
 750 INPUT EN
 760 PRINT EN
 770 FOR J=ST TO EN
 780 POKE J,0
 790 NEXT J
 791 GOTO 2
 800 DIM D(300)
 801 CLS 
 802 LET TOT=1
 805 PRINT "MOVE ""UP"" OR ""DOWN""?"
 806 INPUT M$
 807 PRINT M$
 809 PRINT 
 810 PRINT "START ADDRESS: ";
 811 INPUT BEG
 813 PRINT BEG
 814 PRINT "END ADDRESS OF CODE: ";
 816 INPUT END
 817 PRINT END
 818 IF END-BEG>299 THEN PRINT "YOU MAY ONLY MOVE 299 BYTES."
 819 IF END-BEG>299 THEN GOTO 800
 820 PRINT "DISPLACEMENT: ";
 821 INPUT DIS
 822 PRINT DIS
 823 FOR J=BEG TO END
 824 LET D(TOT)=PEEK J
 825 LET TOT=TOT+1
 827 NEXT J
 829 IF M$="DOWN" THEN GOTO 860
 835 LET TOT=1
 836 FOR J=(BEG+DIS) TO (END+DIS)
 837 POKE J,D(TOT)
 838 LET TOT=TOT+1
 839 NEXT J
 840 FOR J=BEG TO (BEG+DIS-1)
 841 POKE J,0
 850 NEXT J
 851 GOTO 2
 860 LET TOT=1
 862 FOR J=(BEG-DIS) TO (END-DIS)
 863 POKE J,D(TOT)
 864 LET TOT=TOT+1
 865 NEXT J
 866 FOR J=(END-DIS) TO END
 867 POKE J,0
 868 NEXT J
 870 GOTO 2
 900 CLS 
 910 PRINT "NEW RAMTOP IS: ";
 920 INPUT NE
 930 PRINT NE
 940 POKE 16388,NE-256*INT (NE/256)
 950 POKE 16389,INT (NE/256)
 960 GOTO 2
1000 CLS 
1005 PRINT "THE CODE WILL BE COPIED INTO"
1006 PRINT "MEMORY STARTING AT 16514."
1010 PRINT "START ADDRESS: ";
1020 INPUT ST
1025 PRINT ST
1030 PRINT "END ADDRESS: ";
1035 INPUT EN
1040 PRINT EN
1045 LET SA=16514
1050 FOR J=ST TO EN
1055 POKE SA,PEEK J
1060 LET SA=SA+1
1070 NEXT J
1080 GOTO 2
1100 CLS 
1110 PRINT "START ADDRESS OF CODE"
1120 PRINT "THAT IS TO BE COPIED: ";
1130 INPUT ST
1140 PRINT ST
1150 PRINT "END ADDRESS: ";
1160 INPUT EN
1170 PRINT EN
1180 PRINT "ADDRESS TO BE COPIED TO: ";
1190 INPUT C
1191 PRINT C
1193 LET N=0
1194 FOR J=ST TO EN
1195 POKE (N+C),PEEK J
1196 LET N=N+1
1197 NEXT J
1198 GOTO 2
1200 CLS 
1202 PRINT "START ADDRESS FOR SEARCH: ";
1203 INPUT A
1204 PRINT A
1205 PRINT "END ADDRESS FOR SEARCH: ";
1206 INPUT E
1207 PRINT E
1208 PRINT "BYTE TO BE SEARCHED FOR: ";
1209 INPUT Q$
1210 PRINT Q$
1211 LET N=((CODE Q$-28)*16+(CODE Q$(2)-28))
1212 FOR J=A TO E
1213 IF PEEK J=N THEN PRINT J
1214 NEXT J
1215 PRINT "%P%R%E%S%S% %E%N%T%E%R% %T%O% %R%E%T%U%R%N% %T%O% %M%E%N%U% % % "
1216 INPUT Q$
1217 GOTO 2
9000 SAVE "1000%3"
9010 RUN 

People

No people associated with this content.

Scroll to Top