データ作成方法


プログラムデータを実行しテープに書き込む。
mon
*WC000,CBDC

起動方法


先ずデータを読み込む。
mon
*L
*(Ctrl-B)

プログラム本体を読み込み実行する。
cload"seena
run

  • アセンブラソース
data	equ	$c000
wall	equ	$c100
 
;-------+-------+-------+-------+-------+
 
	org	$d000
 
start	proc
	local	L1
 
	call	init
L1:
	call	draw
	call	input
	jp	L1
 
	endp
 
;-------+-------+-------+-------+-------+
 
init	proc
	local	L1
 
	ld	hl, $f300+81
	ld	de, 120
	ld	b, 25
L1:
	ld	(hl), $80
	add	hl, de
	djnz	L1
 
	ret
	endp
 
;-------+-------+-------+-------+-------+
 
draw	proc
	local	L1,L2
	local	vram
 
	ld	hl, $f300
	ld	(vram), hl
 
	ld	a, (posx)	; hl = data + posx
	ld	l, a
	ld	h, $c0
 
	ld	b, 80
L1:
	push	bc
	push	hl
 
	ld	a, (hl)		; h = data[x]
	add	a, a
	ld	l, a
	ld	h, 0
	ld	de, wall
	add	hl, de		; hl = wall + 2 * h
 
	ld	e, (hl)		; de 壁
	inc	hl
	ld	d, (hl)
	ld	hl, (vram)
	ld	bc, 120
rept 24
	ld	a, (de)
	ld	(hl), a
	inc	de
	add	hl, bc
endm
	ld	a, (de)
	ld	(hl), a
 
	ld	hl, vram	; vram++
	inc	(hl)
	pop	hl		; x++
	inc	l
	pop	bc
	djnz	L1
 
	ret
 
vram	ds	2
	endp
 
;-------+-------+-------+-------+-------+
 
input	proc
	local	L0,L4,L6
 
	ld	hl, posx
L0:
	in	a, ($00)
	bit	4, a
	jr	z, L4
	bit	6, a
	jr	z, L6
	jp	L0
L4:
	dec	(hl)
	ret
L6:
	inc	(hl)
	ret
	endp
 
;-------+-------+-------+-------+-------+
 
posx	ds	1
 

  • プログラム本体
10 '
20 defint a-z:width 80,25:console ,,0,0:print chr$(12);
30 p=&hd000:def usr=p
40 read d$:if d$<>"*" then poke p,val("&h"+d$):p=p+1:goto 40
50 a=usr(0)
 
 1000 data CD,0C,D0,CD,1A,D0,CD,AA,D0,C3,03,D0,21,51,F3,11
 1010 data 78,00,06,19,36,80,19,10,FB,C9,21,00,F3,22,A8,D0
 1020 data 3A,BE,D0,6F,26,C0,06,50,C5,E5,7E,87,6F,26,00,11
 1030 data 00,C1,19,5E,23,56,2A,A8,D0,01,78,00,1A,77,13,09
 1040 data 1A,77,13,09,1A,77,13,09,1A,77,13,09,1A,77,13,09
 1050 data 1A,77,13,09,1A,77,13,09,1A,77,13,09,1A,77,13,09
 1060 data 1A,77,13,09,1A,77,13,09,1A,77,13,09,1A,77,13,09
 1070 data 1A,77,13,09,1A,77,13,09,1A,77,13,09,1A,77,13,09
 1080 data 1A,77,13,09,1A,77,13,09,1A,77,13,09,1A,77,13,09
 1090 data 1A,77,13,09,1A,77,13,09,1A,77,13,09,1A,77,21,A8
 1100 data D0,34,E1,2C,C1,10,81,C9,00,00,21,BE,D0,DB,00,CB
 1110 data 67,28,07,CB,77,28,05,C3,AD,D0,35,C9,34,C9,00,*
 

  • プログラムデータ
10 defint a-z
20 p=&hc000
30 read d$:if d$<>"*" then poke p,val("&h"+d$):p=p+1:goto 30
1000 data 00,01,02,03,04,05,06,07,08,09,0a,0b,0c,0d,0e,0f
1010 data 10,11,12,13,14,15,16,17,18,19,1a,1b,1c,1d,1e,1f
1020 data 20,21,22,23,24,25,26,27,28,29,2a,2b,2c,2d,2e,2f
1030 data 30,31,32,33,34,35,36,37,38,39,3a,3b,3c,3d,3e,3f
1040 data 40,41,42,43,44,45,46,47,48,49,4a,4b,4c,4d,4e,4f
1050 data 50,51,52,53,54,55,56,57,58,59,5a,5b,5c,5d,5e,5f
1060 data 60,61,62,63,64,00,01,02,03,04,05,06,07,08,09,0a
1070 data 0b,0c,0d,0e,0f,10,11,12,13,14,15,16,17,18,19,1a
1080 data 1b,1c,1d,1e,1f,20,21,22,23,24,25,26,27,28,29,2a
1090 data 2b,2c,2d,2e,2f,30,31,32,33,34,35,36,37,38,39,3a
1100 data 3b,3c,3d,3e,3f,40,41,42,43,44,45,46,47,48,49,4a
1110 data 4b,4c,4d,4e,4f,50,51,52,53,54,55,56,57,58,59,5a
1120 data 5b,5c,5d,5e,5f,60,61,62,63,64,00,01,02,03,04,05
1130 data 06,07,08,09,0a,0b,0c,0d,0e,0f,10,11,12,13,14,15
1140 data 16,17,18,19,1a,1b,1c,1d,1e,1f,20,21,22,23,24,25
1150 data 26,27,28,29,2a,2b,2c,2d,2e,2f,30,31,32,33,34,35
1160 data 00,c2,19,c2,32,c2,4b,c2,64,c2,7d,c2,96,c2,af,c2
1170 data c8,c2,e1,c2,fa,c2,13,c3,2c,c3,45,c3,5e,c3,77,c3
1180 data 90,c3,a9,c3,c2,c3,db,c3,f4,c3,0d,c4,26,c4,3f,c4
1190 data 58,c4,71,c4,8a,c4,a3,c4,bc,c4,d5,c4,ee,c4,07,c5
1200 data 20,c5,39,c5,52,c5,6b,c5,84,c5,9d,c5,b6,c5,cf,c5
1210 data e8,c5,01,c6,1a,c6,33,c6,4c,c6,65,c6,7e,c6,97,c6
1220 data b0,c6,c9,c6,e2,c6,fb,c6,14,c7,2d,c7,46,c7,5f,c7
1230 data 78,c7,91,c7,aa,c7,c3,c7,dc,c7,f5,c7,0e,c8,27,c8
1240 data 40,c8,59,c8,72,c8,8b,c8,a4,c8,bd,c8,d6,c8,ef,c8
1250 data 08,c9,21,c9,3a,c9,53,c9,6c,c9,85,c9,9e,c9,b7,c9
1260 data d0,c9,e9,c9,02,ca,1b,ca,34,ca,4d,ca,66,ca,7f,ca
1270 data 98,ca,b1,ca,ca,ca,e3,ca,fc,ca,15,cb,2e,cb,47,cb
1280 data 60,cb,79,cb,92,cb,ab,cb,c4,cb,dd,cb,f6,cb,0f,cc
1290 data 28,cc,41,cc,5a,cc,73,cc,8c,cc,a5,cc,be,cc,d7,cc
1300 data f0,cc,09,cd,22,cd,3b,cd,54,cd,6d,cd,86,cd,9f,cd
1310 data b8,cd,d1,cd,ea,cd,03,ce,1c,ce,35,ce,4e,ce,67,ce
1320 data 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
1330 data 00,00,00,00,00,00,00,00,00,00,00,00,66,00,00,00,00,00,00,00,00,00,00,00,00
1340 data 00,00,00,00,00,00,00,00,00,00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00
1350 data 00,00,00,00,00,00,00,00,00,00,00,88,ff,11,00,00,00,00,00,00,00,00,00,00,00
1360 data 00,00,00,00,00,00,00,00,00,00,00,cc,ff,33,00,00,00,00,00,00,00,00,00,00,00
1370 data 00,00,00,00,00,00,00,00,00,00,00,ee,ff,77,00,00,00,00,00,00,00,00,00,00,00
1380 data 00,00,00,00,00,00,00,00,00,00,00,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00
1390 data 00,00,00,00,00,00,00,00,00,00,88,ff,ff,ff,11,00,00,00,00,00,00,00,00,00,00
1400 data 00,00,00,00,00,00,00,00,00,00,cc,ff,ff,ff,33,00,00,00,00,00,00,00,00,00,00
1410 data 00,00,00,00,00,00,00,00,00,00,ee,ff,ff,ff,77,00,00,00,00,00,00,00,00,00,00
1420 data 00,00,00,00,00,00,00,00,00,00,ff,ff,ff,ff,ff,00,00,00,00,00,00,00,00,00,00
1430 data 00,00,00,00,00,00,00,00,00,88,ff,ff,ff,ff,ff,11,00,00,00,00,00,00,00,00,00
1440 data 00,00,00,00,00,00,00,00,00,cc,ff,ff,ff,ff,ff,33,00,00,00,00,00,00,00,00,00
1450 data 00,00,00,00,00,00,00,00,00,ee,ff,ff,ff,ff,ff,77,00,00,00,00,00,00,00,00,00
1460 data 00,00,00,00,00,00,00,00,00,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00,00,00,00,00
1470 data 00,00,00,00,00,00,00,00,88,ff,ff,ff,ff,ff,ff,ff,11,00,00,00,00,00,00,00,00
1480 data 00,00,00,00,00,00,00,00,cc,ff,ff,ff,ff,ff,ff,ff,33,00,00,00,00,00,00,00,00
1490 data 00,00,00,00,00,00,00,00,ee,ff,ff,ff,ff,ff,ff,ff,77,00,00,00,00,00,00,00,00
1500 data 00,00,00,00,00,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00,00,00,00
1510 data 00,00,00,00,00,00,00,88,ff,ff,ff,ff,ff,ff,ff,ff,ff,11,00,00,00,00,00,00,00
1520 data 00,00,00,00,00,00,00,cc,ff,ff,ff,ff,ff,ff,ff,ff,ff,33,00,00,00,00,00,00,00
1530 data 00,00,00,00,00,00,00,ee,ff,ff,ff,ff,ff,ff,ff,ff,ff,77,00,00,00,00,00,00,00
1540 data 00,00,00,00,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00,00,00
1550 data 00,00,00,00,00,00,88,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,11,00,00,00,00,00,00
1560 data 00,00,00,00,00,00,cc,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,33,00,00,00,00,00,00
1570 data 00,00,00,00,00,00,ee,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,77,00,00,00,00,00,00
1580 data 00,00,00,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00,00
1590 data 00,00,00,00,00,88,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,11,00,00,00,00,00
1600 data 00,00,00,00,00,cc,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,33,00,00,00,00,00
1610 data 00,00,00,00,00,ee,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,77,00,00,00,00,00
1620 data 00,00,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00
1630 data 00,00,00,00,88,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,11,00,00,00,00
1640 data 00,00,00,00,cc,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,33,00,00,00,00
1650 data 00,00,00,00,ee,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,77,00,00,00,00
1660 data 00,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00
1670 data 00,00,00,88,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,11,00,00,00
1680 data 00,00,00,cc,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,33,00,00,00
1690 data 00,00,00,ee,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,77,00,00,00
1700 data 00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00
1710 data 00,00,88,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,11,00,00
1720 data 00,00,cc,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,33,00,00
1730 data 00,00,ee,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,77,00,00
1740 data 00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00
1750 data 00,88,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,11,00
1760 data 00,cc,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,33,00
1770 data 00,ee,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,77,00
1780 data 00,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00
1790 data 88,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,11
1800 data cc,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,33
1810 data ee,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,77
1820 data ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff
1830 data 00,00,00,00,00,00,00,00,00,00,00,00,24,00,00,00,00,00,00,00,00,00,00,00,00
1840 data 00,00,00,00,00,00,00,00,00,00,00,00,a5,00,00,00,00,00,00,00,00,00,00,00,00
1850 data 00,00,00,00,00,00,00,00,00,00,00,80,a5,01,00,00,00,00,00,00,00,00,00,00,00
1860 data 00,00,00,00,00,00,00,00,00,00,00,84,a5,21,00,00,00,00,00,00,00,00,00,00,00
1870 data 00,00,00,00,00,00,00,00,00,00,00,a4,a5,25,00,00,00,00,00,00,00,00,00,00,00
1880 data 00,00,00,00,00,00,00,00,00,00,00,a5,a5,a5,00,00,00,00,00,00,00,00,00,00,00
1890 data 00,00,00,00,00,00,00,00,00,00,80,a5,a5,a5,01,00,00,00,00,00,00,00,00,00,00
1900 data 00,00,00,00,00,00,00,00,00,00,84,a5,a5,a5,21,00,00,00,00,00,00,00,00,00,00
1910 data 00,00,00,00,00,00,00,00,00,00,a4,a5,a5,a5,25,00,00,00,00,00,00,00,00,00,00
1920 data 00,00,00,00,00,00,00,00,00,00,a5,a5,a5,a5,a5,00,00,00,00,00,00,00,00,00,00
1930 data 00,00,00,00,00,00,00,00,00,80,a5,a5,a5,a5,a5,01,00,00,00,00,00,00,00,00,00
1940 data 00,00,00,00,00,00,00,00,00,84,a5,a5,a5,a5,a5,21,00,00,00,00,00,00,00,00,00
1950 data 00,00,00,00,00,00,00,00,00,a4,a5,a5,a5,a5,a5,25,00,00,00,00,00,00,00,00,00
1960 data 00,00,00,00,00,00,00,00,00,a5,a5,a5,a5,a5,a5,a5,00,00,00,00,00,00,00,00,00
1970 data 00,00,00,00,00,00,00,00,80,a5,a5,a5,a5,a5,a5,a5,01,00,00,00,00,00,00,00,00
1980 data 00,00,00,00,00,00,00,00,84,a5,a5,a5,a5,a5,a5,a5,21,00,00,00,00,00,00,00,00
1990 data 00,00,00,00,00,00,00,00,a4,a5,a5,a5,a5,a5,a5,a5,25,00,00,00,00,00,00,00,00
2000 data 00,00,00,00,00,00,00,00,a5,a5,a5,a5,a5,a5,a5,a5,a5,00,00,00,00,00,00,00,00
2010 data 00,00,00,00,00,00,00,80,a5,a5,a5,a5,a5,a5,a5,a5,a5,01,00,00,00,00,00,00,00
2020 data 00,00,00,00,00,00,00,84,a5,a5,a5,a5,a5,a5,a5,a5,a5,21,00,00,00,00,00,00,00
2030 data 00,00,00,00,00,00,00,a4,a5,a5,a5,a5,a5,a5,a5,a5,a5,25,00,00,00,00,00,00,00
2040 data 00,00,00,00,00,00,00,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,00,00,00,00,00,00,00
2050 data 00,00,00,00,00,00,80,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,01,00,00,00,00,00,00
2060 data 00,00,00,00,00,00,84,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,21,00,00,00,00,00,00
2070 data 00,00,00,00,00,00,a4,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,25,00,00,00,00,00,00
2080 data 00,00,00,00,00,00,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,00,00,00,00,00,00
2090 data 00,00,00,00,00,80,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,01,00,00,00,00,00
2100 data 00,00,00,00,00,84,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,21,00,00,00,00,00
2110 data 00,00,00,00,00,a4,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,25,00,00,00,00,00
2120 data 00,00,00,00,00,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,00,00,00,00,00
2130 data 00,00,00,00,80,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,01,00,00,00,00
2140 data 00,00,00,00,84,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,21,00,00,00,00
2150 data 00,00,00,00,a4,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,25,00,00,00,00
2160 data 00,00,00,00,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,00,00,00,00
2170 data 00,00,00,80,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,01,00,00,00
2180 data 00,00,00,84,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,21,00,00,00
2190 data 00,00,00,a4,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,25,00,00,00
2200 data 00,00,00,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,00,00,00
2210 data 00,00,80,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,01,00,00
2220 data 00,00,84,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,21,00,00
2230 data 00,00,a4,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,25,00,00
2240 data 00,00,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,00,00
2250 data 00,80,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,01,00
2260 data 00,84,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,21,00
2270 data 00,a4,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,25,00
2280 data 00,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,00
2290 data 80,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,01
2300 data 84,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,21
2310 data a4,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,25
2320 data a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5
2330 data *
 
最終更新:2019年11月14日 11:40
添付ファイル