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