#11 Article 273 Posted at 1987/08/17 06:40:29 by W.M. (MAP009) [PRG.WML]
Subject: WMLOADER for FM-7
10 '
20 ' W.M. LOADER : "WMLOAD"
30 '
40 ' Original ハフマン code ニ ヨル、 ヨコ640 dot ノ ガゾウ テンカイ
50 '
60 ' COPYRIGHT (C) 1987 by W.M.
70 '
100 CLEAR 1000,&H5FFF
110 DEFINT A-Z:DIM HC$(74),GD(40)
120 U=&H6000:PRL=U+9:PFILENO=PRL+1:PCOLOR=PFILENO+1:PY=PCOLOR+2:YMAX=199
130 FOR P=U TO U+&H1BF STEP 32
140 READ BUFF$
150 FOR PP=0 TO 31:POKE P+PP,VAL("&H"+MID$(BUFF$,PP*2+1,2)):NEXT
160 NEXT
170 '
180 LINEINPUT "Input filename: ",F$
190 IF F$="" THEN 320 ELSE OPEN "I",#1,F$:POKE PFILENO,1
200 '
210 CLS
220 C=1:GOSUB 580
230 FOR Y=0 TO YMAX:GOSUB 360:NEXT
240 C=2:GOSUB 580
250 FOR Y=0 TO YMAX:GOSUB 360:NEXT
260 C=4:GOSUB 580
270 FOR Y=0 TO YMAX:GOSUB 360:NEXT
280 '
290 CLOSE
300 WHILE INKEY$="":WEND
310 '
320 END
330 '
340 ' draw 1 line
350 '
360 EXEC U+3:PACKTYPE=PEEK(PRL)
370 POKE PY,Y:EXEC U+6
380 ON PACKTYPE+1 GOTO 390,400,410,420,430,440,450,460
390 GOTO 470
400 YG=Y-1:XG0=0:XG1=639:GOSUB 510:PUT@(0,Y)-(639,Y),GD,XOR,C:GOTO 470
410 YG=Y-2:XG0=0:XG1=639:GOSUB 510:PUT@(0,Y)-(639,Y),GD,XOR,C:GOTO 470
420 YG=Y-3:XG0=0:XG1=639:GOSUB 510:PUT@(0,Y)-(639,Y),GD,XOR,C:GOTO 470
430 YG=Y-4:XG0=0:XG1=639:GOSUB 510:PUT@(0,Y)-(639,Y),GD,XOR,C:GOTO 470
440 YG=Y-1:XG0=0:XG1=638:GOSUB 510:PUT@(1,Y)-(639,Y),GD,XOR,C:GOTO 470
450 YG=Y-1:XG0=0:XG1=637:GOSUB 510:PUT@(2,Y)-(639,Y),GD,XOR,C:GOTO 470
460 YG=Y-1:XG0=1:XG1=639:GOSUB 510:PUT@(0,Y)-(638,Y),GD,XOR,C:GOTO 470
470 RETURN
480 '
490 ' GET@
500 '
510 IF C=1 THEN GET@(XG0,YG)-(XG1,YG),GD,G,1,3,5,7:GOTO 540
520 IF C=2 THEN GET@(XG0,YG)-(XG1,YG),GD,G,2,3,6,7:GOTO 540
530 IF C=4 THEN GET@(XG0,YG)-(XG1,YG),GD,G,4,5,6,7:GOTO 540
540 RETURN
550 '
560 ' initialize for 1 screen
570 '
580 POKE PCOLOR,C
590 EXEC U:' FGETB INIT
600 RETURN
610 '
620 '---------------
630 '
640 ' W.M. LOADER
650 '
660 ' 87/08/17 programed by W.M.
670 '
1000 DATA 201401160014160022000101000000000000000000006F8CF8394F1700A64917
1010 DATA 00A24917009E49A78CDF39CC0000ED8CDDA78CDCEC8CD710830280243A8D396D
1020 DATA 8CCE27283406318D00CBEC8CBFED27ED2BEC8CBAED25E3E4830001ED29A68CAB
1030 DATA A723308D00A9AD9FFBFA3506E38C9FED8C9C638C9B20BD398D1A81402512803F
1040 DATA 5F4456445634068D0B1F894FE3E120031F894F39CC0000ED8DFF79A78DFF748D
1050 DATA 23698DFF70698DFF6B6C8DFF66AE8DFF63338D006E4FACC127094C118361B926
1060 DATA F520DC393406A68DFF47262F8D37810D27FA810A27F6817B260E8D29817D26FA
1070 DATA 8D23817D26F420E4802181802502803048A78DFF1D8607A78DFF166A8DFF1268
1080 DATA 8DFF0F3586E68DFF01D7BFBDFBB83910006115000E0000150102AAAAAAAAAAAA
1090 DATA AAAA000021000000050012001A001E002600310038003E0045004E0061006600
1100 DATA 74007E0088008C008F009F00C000CA00CE00E500E700EB00ED01040112011301
1110 DATA 1A011C011D013C013D018201830192019301960197019E01C801C901CC01CD01
1120 DATA D401D501D801D901DC01DD01DE01DF01FC01FD01FF020A020B020C020D020E02
1130 DATA 0F0236001B004000C801FE033E033F046F08DD2373237211B8AAAAAAAAAAAAAA
1140 GOTO 1140