MSX-BASIC の1画面プログラミング技術


 MSX Advent Calendar 2015 6

1980 MSXFAN  MSX-BASIC 稿稿1N10

1MSX 0402411 -  - Wikipedia 



1

 i Java10KB11使

1

BASIC 10 20, 30, ... 2使1



 FOR FOR I = 0 TO 100FORI=0TO100FOR  IFORI MSX-BASIC X OR YXORYXOR





RUN

 RUN 


140

使2125540240



MSX-BASIC  -1 0 
IF A > 5 THEN B = 0 ELSE B = 12


B=-(A<=5)*12


FORI=0TO1:(何かの処理):I=-(A=1):NEXT




10 FOR I = 0 TO 7
20 A$ = A$ + CHR$(VAL("&H" + MID$("21D4D4D427B2AAB3", I*2 + 1, 2)))
30 NEXT
40 SPRITE$(0) = A$

16便8161使
SPRITE$(0)="!ヤヤヤ'イェウ"

NEXT

NEXT2NEXTJ,I


10 IF STRIG(0) = 0 THEN GOTO 10

1
FORI=0TO1:I=-STRIG(0):NEXT

LINE  DRAW

SCREEN 2 45LINE 使 DRAW 使
LINE(80,100)-(180,100),15


DRAW"S4BM80,100C15R100"

使

 PUT SPRITE 
PUT SRPITE <スプライト面番号>[,{(X,Y)|STEP(X,Y)}[,<色>[,<スプライトパターン番号>]]]


PUTSPRITE0,,8


VPOKE使

13
PUT SPRITE 0, (0, 192)

VPOKE 使 VRAM #0 YVRAM 6912 
VPOKE6912,192

 VPOKE 使



1
10 LOCATE 8,10
20 PRINT"PRESS ANY KEY"

 CHR$(27) + "Y" + CHR$(32 + y) + CHR$(32 + x)  E$ = CHR$(27) 
PRINTCHR$(27)+"Y*(PRESS ANY KEY"

1 VPOKE  VRAM 




BASIC BASIC 1BASIC  &H8000 '  &H801C USR 
1 CLEAR9,&HD000:DEFUSR=&H801C:A=USR(0)'ン!、♠!0ハッGゆ>7ヨ0W7まク9#ェ...



81923276748192 Illegal function call 使


1819240x24

f:id:nagixx:20151206042512g:plain
1 SCREEN1,1,0:COLOR15,0,0:WIDTH24:KEYOFF
:DEFINTA-Z:DEFFNA=VPEEK(6208+X¥8+(Y¥8)*3
2)ORVPEEK(6209+(X+7)¥8+(Y¥8)*32):FORI=1T
O32:VPOKE14335+I,ASC(MID$("jjョ-kェ}まjj.jェ
jFfjj/-はlアjj.jljFJ",I,1))-46AND255:NEXT
2 A=RND(-9):VPOKE8208,50:FORI=0TO20:VPOK
E6211+i*32,133:VPOKE6236+I*32,133:NEXT:F
ORI=0TO9:LOCATERND(1)*19,2+I*2:PRINT"●●●
●●●":NEXT:LOCATE0,22:PRINTSTRING$(24,133
);:X=32:Y=160:A=1:F=1:SOUND1,0:SOUND7,62
3 X=X+A*4-2:P=PXOR1:GOSUB6:IFFNA=32THENY
=Y+8:SOUND8,0:GOTO3ELSEB=S:S=STRIG(0):IF
STHENJ=JMOD12+1:SOUND0,99-J:SOUND8,15:GO
TO3ELSESOUND8,0:IFB=0ANDS=0THENJ=0:GOTO3
4 X=X+A*4-2:Y=Y-J:J=J-1:GOSUB6:IFJ<0ANDF
NA<>32THENJ=0:Y=(Y¥8)*8:GOTO3ELSEIFY>64T
HEN4ELSEF=F+1:FORI=0TO3:C=C+1:LOCATE0,2:
PRINTCHR$(27)+"L":Y=Y+8:IFCMOD2=0THENLOC
ATERND(1)*9+(C/2MOD2)*10,2:PRINT"●●●●●●"
5 GOSUB6:NEXT:LOCATE10,0:PRINTF"F":GOTO4
6 PUTSPRITE0,(X,Y),7,A*2+P:A=AXOR-(X=32O
RX=208):IFY<176THENRETURNELSEPLAY"SM999L
64DD-C":FORI=0TO20:LOCATE,2:PRINTCHR$(27)+"M":NEXT:FORI=0TO1:I=STICK(0):NEXT:RUN

24133GRAPH]