Claustro

Claustro screenshot Claustro [klaŭstro] estas unu el la plej malgrandaj ludoj disponas la TI-86. Estas tre facila: simple supru kaj subu trabanta sian vojon tra tunel; bona ludebla je kelkaj foraj minutoj. La ludo mem estas nur 104 bajtoj, do eĉ eblas entajpi mane por kiu ne havanta ligkablon. La luksa versio de 188 bajtoj havas la jenajn akcesorajn ecojn:

Ĉio estas aldonata en ĉi tiu elŝuto:

claustro.zip (6.1kB)

Fonto

init:
	cal _clrLCD
	ld  bc,$100D   ; b=tunel_poz
	               ; c=tunel_larĝ (<$10)
	ld  hl,$FE0E   ; hl=vi_poz

mainloop:
	halt
	halt

checkme:
	bit 7,(hl)
	ret nz
	psh hl
drawme:	ld  a,(hl)
	or  %1000000
	ld  (hl),a

newwalls:
	ld  a,h
	and %1
	jr  z,newdir
	dec b ; *1=down
	jr  z,newdir
	dec b ; >0--
newdir:	ld  a,b
	add a,c
	cp  63
	jr  nc,newok
	inc b ; <60++
newok:

go: ; dekstrigu
	ld  hl,$FFFF
goloop:	srl (hl)
	jr  nc,gonext
	inc hl
	set 7,(hl)
	dec hl
gonext:	dec hl
	ld  a,h
	cp  $FB
	jr  nz,goloop

tunnew: ; scroll -> a=0
	psh bc
	ld  de,16
	ld  hl,$FC00
	xor a
tuntop:	ld  (hl),-1
	add hl,de
	dnz tuntop
	ld  b,c
tunway:	ld  (hl),a
	add hl,de
	dnz tunway
tunbot:	ld  (hl),-1
	add hl,de
	cp  h ; hl>$FFFF?
	jr  nz,tunbot
	pop bc

	pop hl
inkeys:
	ld  a,%11111110
	out (1),a
	in  a,(1)
	rra ; sub
	jr  nc,movedn
	bit 2,a ; supr
	jr  nz,mainloop
moveup:	or  a
	sbc hl,de
	ld  a,h
	cp  $FB
	jr  nz,mainloop
movedn:	add hl,de
	jr  c,moveup
	jr  mainloop

Mana entajpo

For those unfortunates without a PC→TI link cable, Claustro is so small you could even input it manually if you really want to! Start an empty program (PRGM, edit) and enter the code below without any errors! Even a single typo will probably crash your calc (so backup any important data). When you're done, run it with Asm(prgmName).

PS: don't get your hopes up too much; it's a pretty below-average game. Still, it offers you a glimpse of real assembly on your calc, so enjoy the experience.

AsmPrgm
CD7E4AC5010F10210EFE767676CB7E20
757EF640777CE6012804052801057881
FE3F300104E323E57C2FE60F4F21FFFF
CB3E300423CBFE2B2B7CFEFB20F2C511
10002100FCAF36FF1910FB41771910FC
36FF19BC20FAC1E1E33EBFD301DB0107
3802168007301FE680A220ED3EFED301
DB011F300CCB572091B7ED527CFEFB20
891938F51884CD864AE1ED5B02D8CD3C
40E53001EBE3AFCD334A21FCD6E7D7AF
21BE001988CD2F46D1732372EBAFCD33
4ACD715376FE3620F8C90000