#11 Article 163 Posted at 1987/06/10 16:07:21 by TA(O) (MAP269) [PRG.NL2]
Subject: NLOAD2 PC-8801 コウソク SAVEツキ
100 'トリアエズ、 アッシュク セーバ ト ローダ ノ セツメイ ノ タメニ カイタ カンイ Editorモドキ
110 '
120 ' Programmed by NOZOMU / Loaderハ "NLOADER2" ト ヨンデ クダサイ。
130 '
140 ' PC-8801 Version by Magical Creamy TA(O)
150 ' キー ソウサガ イチブ カワッテイマス イドウハ テンキーノ 2.4.6.8デ psetハ フルキーノ 0-7デス
160 '
1000 CLEAR ,&HBD00 : DEFINT A-Z : GOSUB 1580
1010 DEF FNP(POINTER)=POINT((POINTER\96)*4,(POINTER MOD 96)*2)
1020 DEF FNS(WRITE.D)=WRITE.D+32-((WRITE.D>95 )*32)
1030 SCREEN 0,1:CLS:CONSOLE 0,25,0,0:LOCATE,,0
1040 ON STOP GOSUB 1050:STOP ON:GOTO 1060
1050 LOCATE,,1:STOP
1060 '
1070 P=POINT(X*4+1,Y*2)
1080 LINE(X*4,Y*2)-(X*4,Y*2+1),P XOR 7:LINE(X*4+3,Y*2)-(X*4+3,Y*2+1),P XOR 7
1090 IF (INP(0) AND &H40)=0 THEN X=X+1
1100 IF (INP(0) AND &H10)=0 THEN X=X-1
1110 IF (INP(1) AND &H1 )=0 THEN Y=Y-1
1120 IF (INP(0) AND &H4 )=0 THEN Y=Y+1
1130 IF X<0 THEN X=0
1140 IF X>159 THEN X=159
1150 IF Y<0 THEN Y=0
1160 IF Y>99 THEN Y=99
1170 C=INP(6) : IF C=255 THEN 1220
1180 FOR BIT=0 TO 7
1190 IF (C AND 2^BIT)=0 THEN C=BIT:BIT=7
1200 NEXT
1210 LINE (X*4,Y*2)-STEP(3,1),C,BF
1220 IF (INP(3) AND &H10)=0 THEN GOSUB *LOAD.PIC
1230 IF (INP(4) AND &H8)=0 THEN LINE (X*4,Y*2)-STEP(3,1),P,BF : GOSUB *SAVE.PIC
1240 IF (INP(2) AND &H80)=0 THEN LINE (X*4,Y*2)-STEP(3,1),P,BF : SCREEN 1,,,1 : A=USR3(0) : A=USR(0) : A$=INPUT$(1) : A=USR4(0) : SCREEN 0
1250 IF X=OX AND Y=OY THEN 1070
1260 LINE(OX*4,OY*2)-(OX*4,OY*2+1),P : LINE(OX*4+3,OY*2)-(OX*4+3,OY*2+1),P
1270 OX=X : OY=Y : GOTO 1070
1280 '
1290 ' Save module
1300 '
1310 *SAVE.PIC
1320 SCREEN ,2 : A=USR(0) : INPUT "save :",F$:CLS:SCREEN ,1
1330 OPEN F$ FOR OUTPUT AS #1
1340 A=USR5(0)
1350 A$=STRING$(255,"U")
1360 A$=USR6(A$)
1370 IF LEN(A$)=255 THEN 1400
1380 PRINT #1,A$
1390 GOTO 1360
1400 CLOSE #1
1410 RETURN
1420 '
1430 ' Load module
1440 '
1450 *LOAD.PIC
1460 SCREEN ,2 : A=USR(0) : INPUT "load :",F$:CLS:SCREEN ,1
1470 OPEN F$ FOR INPUT AS #1
1480 DUMMY$=STRING$(255,"U") : A=USR1(0)
1490 LINE INPUT #1,DUMMY$ : IF DUMMY$="" THEN 1490
1500 DUMMY$=USR2(DUMMY$)
1510 IF LEN(DUMMY$)=255 THEN 1530
1520 IF NOT(EOF(1)) THEN 1490
1530 CLOSE #1
1540 RETURN
1550 '
1560 ' Write machine code
1570 '
1580 IF PEEK(&HBD00)=&HAF AND PEEK(&HBFF5)=&HF THEN RETURN
1590 RESTORE 1680 : AD=&HBD00
1600 READ A$ : IF A$="You morisawa" THEN 1620
1610 POKE AD,VAL("&H"+A$) : AD=AD+1 : GOTO 1600
1620 DEF USR=&H35D9 : DEF USR1=&HBE00 : DEF USR2=&HBE08
1630 DEF USR3=&HBF30 : DEF USR4=&HBFB0 : DEF USR5=&HBD00
1640 DEF USR6=&HBD11 : RETURN
1650 '
1660 ' Machine code $BD00-$BFFF
1670 '
1680 DATA AF,32,F8,BF,32,F9,BF,32,FA,BF,21,00,C0,22,F6,BF
1690 DATA C9,F3,FE,03,C2,B1,03,3A,F8,BF,FE,A0,20,04,3E,FF
1700 DATA 12,C9,EB,E5,FD,E1,AF,FD,77,00,23,5E,23,56,EB,0E
1710 DATA 01,CD,7C,BD,47,CD,C7,BD,3A,FA,BF,B7,20,0F,CD,7C
1720 DATA BD,B8,20,09,CD,C7,BD,0C,79,FE,A1,38,EB,79,FE,01
1730 DATA 28,19,78,C6,40,CD,6E,BD,79,3D,3D,CD,6E,BD,FD,7E
1740 DATA 00,FE,4E,D0,3A,FA,BF,B7,C0,18,C4,78,18,ED,C6,20
1750 DATA FE,80,38,02,C6,20,77,23,FD,34,00,C9,D9,2A,F6,BF
1760 DATA 1E,00,D3,5C,56,D3,5D,4E,D3,5E,46,3A,F8,BF,E6,01
1770 DATA 20,0E,CB,20,CB,13,CB,21,CB,13,CB,22,CB,13,18,0C
1780 DATA CB,38,CB,13,CB,39,CB,13,CB,3A,CB,13,01,A0,00,09
1790 DATA 3A,F9,BF,3C,32,F9,BF,1F,38,C8,D3,5F,3A,F9,BF,3D
1800 DATA 3D,32,F9,BF,7B,D9,C9,D9,2A,F6,BF,01,40,01,09,3A
1810 DATA F9,BF,3C,3C,32,F9,BF,FE,60,20,15,AF,32,F9,BF,3A
1820 DATA F8,BF,3C,32,F8,BF,01,00,3C,ED,42,CB,3F,38,01,23
1830 DATA 22,F6,BF,D9,3A,F8,BF,FE,A0,C0,3E,FF,32,FA,BF,C9
1840 DATA AF,32,F8,BF,32,F9,BF,C9,F3,FE,03,C2,B1,03,3A,F8
1850 DATA BF,FE,A0,20,04,3E,FF,12,C9,EB,E5,46,78,B7,CA,B1
1860 DATA BE,23,5E,23,56,EB,DD,21,CE,BF,CD,16,BF,FE,40,0E
1870 DATA 01,38,0A,D6,40,08,CD,16,BF,3C,3C,4F,08,D9,08,3A
1880 DATA F9,BF,6F,26,00,29,44,4D,29,29,09,29,29,29,29,3A
1890 DATA F8,BF,CB,3F,4F,08,06,C0,09,22,F6,BF,32,FA,BF,3A
1900 DATA F8,BF,CB,3F,08,2A,F6,BF,3A,FA,BF,5F,0F,0F,0F,E6
1910 DATA 07,CD,B4,BE,7B,E6,07,CD,B4,BE,D3,5F,22,F6,BF,3A
1920 DATA F9,BF,3C,3C,FE,60,20,19,3A,F8,BF,3C,32,F8,BF,2A
1930 DATA F6,BF,01,00,3C,B7,ED,42,E6,01,20,01,23,22,F6,BF
1940 DATA AF,32,F9,BF,D9,0D,28,04,D9,C3,5F,BE,78,B7,C2,2A
1950 DATA BE,E1,77,C9,47,87,80,32,C4,BE,3C,32,C7,BE,3C,32
1960 DATA CA,BE,DD,46,00,DD,4E,00,DD,56,00,08,38,1A,08,CB
1970 DATA 20,CB,20,CB,20,CB,20,CB,21,CB,21,CB,21,CB,21,CB
1980 DATA 22,CB,22,CB,22,CB,22,08,08,D3,5C,7E,B0,77,D3,5D
1990 DATA 7E,B1,77,D3,5E,7E,B2,77,7D,C6,50,30,01,24,6F,D3
2000 DATA 5C,7E,B0,77,D3,5D,7E,B1,77,D3,5E,7E,B2,77,7D,C6
2010 DATA 50,30,01,24,6F,C9,7E,23,FE,20,30,06,10,F8,E1,E1
2020 DATA 77,C9,05,D6,20,FE,80,38,02,D6,20,C9,00,00,00,00
2030 DATA F3,D3,5C,21,00,C0,11,00,40,01,80,3E,ED,B0,21,00
2040 DATA C0,11,50,00,D9,DD,21,E6,BF,21,00,C0,0E,60,06,50
2050 DATA C5,AF,5F,01,5E,03,ED,79,56,CB,22,CB,13,CB,3A,CB
2060 DATA 3A,17,0D,10,F1,08,7B,D9,87,32,72,BF,3C,32,75,BF
2070 DATA DD,46,00,DD,4E,00,78,07,07,07,07,47,79,07,07,07
2080 DATA 07,4F,08,87,32,8D,BF,3C,32,92,BF,DD,7E,00,B0,47
2090 DATA DD,7E,00,B1,4F,D3,5C,70,19,71,ED,52,23,D9,23,C1
2100 DATA 10,AE,D9,19,D9,0D,11,50,00,19,20,A2,D3,5F,FB,C9
2110 DATA F3,3A,C2,E6,F6,02,D3,31,D3,5C,21,00,40,11,00,C0
2120 DATA 01,80,3E,ED,B0,D3,5F,3A,C2,E6,D3,31,FB,C9,00,00
2130 DATA 00,0F,00,00,00,0F,00,0F,0F,00,00,00,0F,0F,00,0F
2140 DATA 00,0F,0F,0F,0F,0F,00,00,08,02,0A,02,0A,05,0E,05
2150 DATA 0E,0B,0F,0B,0F,0F,00,C0,00,00,00,00,00,00,00,00,You morisawa