Claustro

Claustro screenshot Claustro's one of the smallest playable games available for the TI-86. It's very simple: just up and down your way through a tunnel; good to play in a few lost minutes. The game itself is just 104 bytes, so it can even be typed in manually for those who don't have a link cable. The deluxe version of 188 bytes has the following additional features:

Everything's included in this download:

claustro.zip (6.1kB)

Source

init:
	cal _clrLCD
	ld  bc,$100D   ; b=tunnel_pos
	               ; c=tunnel_width (<$10)
	ld  hl,$FE0E   ; hl=you_pos

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: ; move right
	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 ; down
	jr  nc,movedn
	bit 2,a ; up
	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

Manual input

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