misc/smktest.s
;========================================================================================
;  smktest.s
;  Copyright (C) 2003-2024 Makoto Kamada
;
;  This file is part of the XEiJ (X68000 Emulator in Java).
;  You can use, modify and redistribute the XEiJ if the conditions are met.
;  Read the XEiJ License for more details.
;  https://stdkmd.net/xeij/
;========================================================================================

;----------------------------------------------------------------------------------------
;	smktest.x
;		白窓君に「XEiJ meets ShiroMadoKun」と表示する
;----------------------------------------------------------------------------------------

	.include	control2.mac
	.include	doscall.mac
	.include	iocscall.mac
	.include	misc.mac

	.text

;白窓君ドライバ確認
	move.l	#$00004A00,d1
	IOCS	_JOYGET
	if	<cmp.w #$4A4C,d0>,ne
		pushstr	<'JLCDDRV not working',13,10>
		DOS	_PRINT
		addq.l	#4,sp
		move.w	#1,-(sp)
		DOS	_EXIT2
	endif

;白窓君初期化
	moveq.l	#1,d2
	move.l	#$00004A01,d1
	IOCS	_JOYGET

;外字登録
	moveq.l	#0,d2
	lea.l	gaiji,a1
	moveq.l	#8-1,d3
	for	d3
		move.l	#$00004A04,d1
		IOCS	_JOYGET
		addq.w	#1,d2
		addq.l	#8,a1
	next

;メッセージ表示
	move.l	#$00004A05,d1
	move.l	#$80000000,d2
	lea.l	message,a1
	IOCS	_JOYGET

;終了
	DOS	_EXIT

;外字データ
;	$FF   $08   $09   ' '   $0A   $0B
;	11111 11111 11111 00000 00000 00001
;	11111 11111 11110 00000 00000 00011
;	11111 11111 11100 00000 00000 00111
;	11111 11111 11000 00000 00000 01111
;	11111 11111 10000 00000 00000 11111
;	11111 11111 00000 00000 00000 11111
;	11111 11111 00000 00000 00001 11111
;	11111 11110 00000 00000 00011 11111
;	$0C   $0D   ' '   $0E   $0F   $FF
;	11111 11000 00000 00000 01111 11111
;	11111 10000 00000 00000 11111 11111
;	11111 00000 00000 00000 11111 11111
;	11111 00000 00000 00001 11111 11111
;	11110 00000 00000 00011 11111 11111
;	11100 00000 00000 00111 11111 11111
;	11000 00000 00000 01111 11111 11111
;	10000 00000 00000 11111 11111 11111
gaiji:
	.dc.b	%11111			;$08
	.dc.b	%11111
	.dc.b	%11111
	.dc.b	%11111
	.dc.b	%11111
	.dc.b	%11111
	.dc.b	%11111
	.dc.b	%11110

	.dc.b	%11111			;$09
	.dc.b	%11110
	.dc.b	%11100
	.dc.b	%11000
	.dc.b	%10000
	.dc.b	%00000
	.dc.b	%00000
	.dc.b	%00000

	.dc.b	%00000			;$0A
	.dc.b	%00000
	.dc.b	%00000
	.dc.b	%00000
	.dc.b	%00000
	.dc.b	%00000
	.dc.b	%00001
	.dc.b	%00011

	.dc.b	%00001			;$0B
	.dc.b	%00011
	.dc.b	%00111
	.dc.b	%01111
	.dc.b	%11111
	.dc.b	%11111
	.dc.b	%11111
	.dc.b	%11111

	.dc.b	%11111			;$0C
	.dc.b	%11111
	.dc.b	%11111
	.dc.b	%11111
	.dc.b	%11110
	.dc.b	%11100
	.dc.b	%11000
	.dc.b	%10000

	.dc.b	%11000			;$0D
	.dc.b	%10000
	.dc.b	%00000
	.dc.b	%00000
	.dc.b	%00000
	.dc.b	%00000
	.dc.b	%00000
	.dc.b	%00000

	.dc.b	%00000			;$0E
	.dc.b	%00000
	.dc.b	%00000
	.dc.b	%00001
	.dc.b	%00011
	.dc.b	%00111
	.dc.b	%01111
	.dc.b	%11111

	.dc.b	%01111			;$0F
	.dc.b	%11111
	.dc.b	%11111
	.dc.b	%11111
	.dc.b	%11111
	.dc.b	%11111
	.dc.b	%11111
	.dc.b	%11111

;メッセージ
message:
;		 0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15
	.dc.b	$FF,$08,$09,'X','E','i','J',' ','m','e','e','t','s',' ',$0A,$0B
	.dc.b	$0C,$0D,'S','h','i','r','o','M','a','d','o','K','u','n',$0F,$FF
	.dc.b	0