xbasip: X-BASIC like package for micropython-x68k

xbasipパッケージ

consoleモジュール

グループ bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
0x0 6& 5% 4$ 3# 2" 1! ESC 未定義
0x1 BS \| ^~ -= 0 9) 8( 7'
0x2 U Y T R E W Q TAB
0x3 S A CR [{ @` P O I
0x4 ;+ L K J H G F D
0x5 N B V C X Z ]} :*
0x6 DEL HOME SPACE _ /? .> ,< M
0x7 CLR UNDO R_DN R_UP
0x8 4 + 9 8 7 - * /
0x9 0 ENTER 3 2 1 = 6 5
0xa XF3 XF2 XF1 HELP 登録 記号 . ,
0xb ひら INS CAPS コード ローマ字 かな XF5 XF4
0xc F5 F4 F3 F2 F1 COPY BREAK 全角
0xd 未定義 未定義 未定義 F10 F9 F8 F7 F6
0xe 未定義 未定義 未定義 未定義 OPT.2 OPT.1 CTRL SHIFT
0xf 未定義 未定義 未定義 未定義 未定義 未定義 未定義 未定義
CRTモード 実画面 表示画面 色数 枚数 KHz
0 1024×1024 512×512 16 1 31
1 1024×1024 512×512 16 1 15
2 1024×1024 256×256 16 1 31
3 1024×1024 256×256 16 1 15
4 512×512 512×512 16 4 31
5 512×512 512×512 16 4 15
6 512×512 256×256 16 4 31
7 512×512 256×256 16 4 15
8 512×512 512×512 256 2 31
9 512×512 512×512 256 2 15
10 512×512 256×256 256 2 31
11 512×512 256×256 256 2 15
12 512×512 512×512 65536 1 31
13 512×512 512×512 65536 1 15
14 512×512 256×256 65536 1 31
15 512×512 256×256 65536 1 15
16 1024×1024 768×512 16 1 31

X68000メモ

テキスト画面

4プレーンのビットマップで構成されていますが、通常のテキスト表示にはプレーン0、1のみを使用し、プレーン2、3はマウスカーソルやソフトキーボードに割り当てられています。そのため、color()では実質4色しか使用できません。

キー入力

カーソルキーはファンクションキーとしてユーザー定義可能です。そのため、inkey()で読み出される値はユーザーにより異なってしまいます。プログラムの最初にkey()により再定義することで解決します。key()で定義したファンクションキーはend()で終了する際に元の定義に戻ります。下記の例はカーソルキーをテンキー相当に定義します。

key(25, "8") # UP
key(26, "4") # LEFT
key(27, "6") # RIGHT
key(28, "2") # DOWN

キー入力がバッファにたまって扱いにくい場合がありますが、inkey()の前にkeyflush()でバッファをクリアすることができます。

print("何かキーを押してください")
keyflush()
k = inkey()

inkey()系の関数は、キーデータバッファを経由する事やリピート動作によってタイムラグがあるなど、アクションゲームにはあまり向いていません。複数キーの同時判定もできるbitsns()が有効です。

外字フォント定義

外字フォントを定義することにより、print()を使ってユーザー定義のキャラクタを表示することが可能です。

deffont(0x0ec40, b"\xff"*8+b"\x77"*8+b"\x33"*8+b"\x11"*8)
print(chr(0xec40))

deffont()で定義した外字フォントはend()で終了する際に元の定義に戻ります。