<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://channelf.se/veswiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=E5frog</id>
		<title>veswiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://channelf.se/veswiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=E5frog"/>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Special:Contributions/E5frog"/>
		<updated>2026-09-17T02:26:39Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Outputting_Sound&amp;diff=790</id>
		<title>Outputting Sound</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Outputting_Sound&amp;diff=790"/>
				<updated>2026-08-28T14:59:06Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The speaker can be supplied with one of three frequencies derived from the horizontal line frequency of the video circuitry.&lt;br /&gt;
&lt;br /&gt;
On an NTSC machine, with a horizontal line frequency of approximately 15,734.26 Hz:&amp;lt;br&amp;gt;&lt;br /&gt;
4V  = 15,734.26 / 16  ≈ 983.39 Hz&amp;lt;br&amp;gt;&lt;br /&gt;
8V  = 15,734.26 / 32  ≈ 491.70 Hz&amp;lt;br&amp;gt;&lt;br /&gt;
32V = 15,734.26 / 128 ≈ 122.92 Hz&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a PAL machine, with a horizontal line frequency of 15,625 Hz:&amp;lt;br&amp;gt;&lt;br /&gt;
4V  = 15,625 / 16  ≈ 976.56 Hz&amp;lt;br&amp;gt;&lt;br /&gt;
8V  = 15,625 / 32  ≈ 488.28 Hz&amp;lt;br&amp;gt;&lt;br /&gt;
32V = 15,625 / 128 ≈ 122.07 Hz&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to make any other sounds or music try the improved [[Snippet:Playsong|PlaySong]] subroutine. It's not optimal for the early systems - it sounds much like a broken speaker... The second generation of systems has improved support for this and most of these also have sound on the tv so you can adjust the volume.&lt;br /&gt;
In VES [[Homebrew:Pac-Man|Pac-man]] the &amp;quot;Pac-man theme&amp;quot; is played before start and the PlaySong routine is also used for the other sound effects. &lt;br /&gt;
&lt;br /&gt;
How to: You examine the frequencies of the sound effect you want in very tiny steps and then mimic it playing very short notes with the correct medium frequency at that time, the shorter pieces it's divided into the better...&lt;br /&gt;
&lt;br /&gt;
The PlaySong routine doesn't allow for any other computing while it's running, the song data and other computing (moving graphics perhaps) has to be done alternating in small portions if these are to be combined.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sound is controlled by the upper two bits of port 5, 00 means silence and then the three standard beeps:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                LI   %01000000                 ; 1kHz beep $40&lt;br /&gt;
                OUTS 5&lt;br /&gt;
&lt;br /&gt;
                LI   %10000000                 ; 500Hz beep $80&lt;br /&gt;
                OUTS 5&lt;br /&gt;
&lt;br /&gt;
                LI   %11000000                 ; 120Hz beep $C0&lt;br /&gt;
                OUTS 5&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sound will decay rather quickly (about 50 ms before quiet) due to the intentional hardware layout.&lt;br /&gt;
Port needs to reinit to keep the sound on. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's an example of a creative sound effect from Sean Riddles Lights Out:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                                ;make a bad sound&lt;br /&gt;
				li		$3f		; r1 loaded with $3f&lt;br /&gt;
				lr		1,a		&lt;br /&gt;
sndloop:&lt;br /&gt;
				li		$80		; $80 loaded into A&lt;br /&gt;
				outs	5			; send data to port&lt;br /&gt;
				lis		1		; A=1&lt;br /&gt;
				lr		5,a		; load r5 with 1&lt;br /&gt;
				pi		delay		; run the syscall &amp;quot;delay&amp;quot; (very short, only 1)&lt;br /&gt;
				lis		0		; same as clr&lt;br /&gt;
				outs	5			; send 0 on port&lt;br /&gt;
				ds		1		; r1 decreased&lt;br /&gt;
				bf		4,sndloop	; run the loop again until r1 is 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Making sound effects with the PlaySong routine ==&lt;br /&gt;
&lt;br /&gt;
Easiest example is Pac-man, e5frog studied the frequencies of the Pac-man's eating sound, the siren, death etc in very short pieces. Then set the data in the F8 to play that approximated medium frequency for exactly the same amount of time. I e it was hacked in little pieces, analyzed, thrown away and put together again with brand new pieces.&lt;br /&gt;
&lt;br /&gt;
Recorded sound samples from a real Arcade Machine were analyzed.&lt;br /&gt;
The result came out quite fine!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's the result from Pac-man's eating sound:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;               ; Pac-man eats&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	db	1,116,1,116,1,116,1,163,1,163,2,178,3,191,3,202&lt;br /&gt;
	db	20,255&lt;br /&gt;
	db	3,207,3,199,2,191,1,172,1,172,1,161,2,161,3,161&lt;br /&gt;
	db	20,255&lt;br /&gt;
&lt;br /&gt;
	; repeated over and over again&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is also a siren in the background all the time that resulted in this data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
		; Pac-man background siren&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	db	3,157,3,165,3,173,4,181,4,188,4,194,4,198,4,202,4,205,4,208,4,211,4,213&lt;br /&gt;
	db	4,211,4,208,4,205,4,202,4,198,4,194,4,188,4,181,3,173,3,165&lt;br /&gt;
&lt;br /&gt;
	; repeated over and over again&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unfortunately they can't be heard in the game, it couldn't be used because they take to much cpu-time... Perhaps there could be simultaneous music and effects some day - if that's handled by a second processor or a mock multitasking song playing routine...&lt;br /&gt;
&lt;br /&gt;
For now there's only a click when Pac-man eats his pills and an extra sound when monsters are blue.&lt;br /&gt;
Death is accurately mimicked - no need for graphics speed there since everything is still and Pac-man only changes into his death-sprite between the partial PlaySong routines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;;---------------------------------------------------------------------------&lt;br /&gt;
; Dying Song&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
sfx.dying.0:&lt;br /&gt;
	.byte	4,189,4,188,4,184,4,182,4,181&lt;br /&gt;
	.byte	4,182,4,185,4,188,4,190,4,192,4,193&lt;br /&gt;
	.byte	4,184,4,182,4,179,4,176,3,173,3,171&lt;br /&gt;
	.byte	3,173,3,176,4,179,4,182,4,185,4,186&lt;br /&gt;
	.byte	0	&lt;br /&gt;
sfx.dying.1:&lt;br /&gt;
	.byte	3,179,3,176,3,173,3,170,3,165,3,163&lt;br /&gt;
	.byte	3,165,3,170,3,173,3,176,3,179,3,181&lt;br /&gt;
	.byte	3,165,3,161,3,157,3,152,2,147,2,143&lt;br /&gt;
	.byte	0	&lt;br /&gt;
sfx.dying.2:&lt;br /&gt;
	.byte	2,147,2,152,3,157,3,161,3,166,3,168&lt;br /&gt;
	.byte	3,155,3,152,3,147,2,141,2,139,2,128&lt;br /&gt;
	.byte	2,135,2,138&lt;br /&gt;
	.byte	0	&lt;br /&gt;
sfx.dying.3:&lt;br /&gt;
	.byte	2,126,3,170,3,192,4,205,5,214,6,220&lt;br /&gt;
	.byte	7,224,7,229,8,232,9,234,10,255&lt;br /&gt;
	.byte	2,126,3,170,3,192,4,205,5,214,6,220&lt;br /&gt;
	.byte	7,224,7,229,8,232,9,234&lt;br /&gt;
	.byte	0					; end of song&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There's also this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
; Extra Pac-man sound at 10000 points&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
sfx.extraPacman:&lt;br /&gt;
	.byte	6,121,6,122,12&lt;br /&gt;
	.byte 190,6,192,6,121,6,122,12&lt;br /&gt;
	.byte 190,6,192,6,121,6,122,12&lt;br /&gt;
	.byte 190,6,192,6,121,6,122,12&lt;br /&gt;
	.byte 190,6,192,6,121,6,122,12&lt;br /&gt;
	.byte 190,6,192,6,121,6,122,12&lt;br /&gt;
	.byte 190,6,192,6,121,6,122,12&lt;br /&gt;
	.byte 190,6,192,6,121,6,122,12&lt;br /&gt;
	.byte 190,6,192,6,121,6,122,12&lt;br /&gt;
	.byte 190,6,192,6,121,6,122,12&lt;br /&gt;
	.byte 190,6,192,0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Disassembly:Videocart_24&amp;diff=789</id>
		<title>Disassembly:Videocart 24</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Disassembly:Videocart_24&amp;diff=789"/>
				<updated>2026-08-28T14:54:30Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the complete disassembly of the [[Channel F]] [[Videocart 24]] made with e5frog's modified [[f8tool]] made by [[Peter Trauner]]'s. Original code is copyright &amp;amp;copy; 1978 (?) [[Zircon International]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;===============================================================================&lt;br /&gt;
; VIDEOCART 24 / PRO FOOTBALL&lt;br /&gt;
; Commented disassembly&lt;br /&gt;
;&lt;br /&gt;
; Original binary copyright Zircon International, approximately 1978.&lt;br /&gt;
; Original disassembly generated with f8tool and reconstructed as compilable&lt;br /&gt;
; DASM/F8 source. This revision preserves all instructions, labels, data bytes,&lt;br /&gt;
; addresses and original address comments. Only explanatory comments and&lt;br /&gt;
; section headings have been added.&lt;br /&gt;
;&lt;br /&gt;
; Confidence terminology used below:&lt;br /&gt;
;   confirmed       directly established by I/O, data flow or control flow&lt;br /&gt;
;   strongly likely supported by several independent code relationships&lt;br /&gt;
;   preliminary     descriptive working name, not an original symbol&lt;br /&gt;
;&lt;br /&gt;
; The range $124D-$17FF is emitted as data because reachable code addresses it&lt;br /&gt;
; through DC0. Routines and tables are described without changing binary data.&lt;br /&gt;
;===============================================================================&lt;br /&gt;
&lt;br /&gt;
		processor f8&lt;br /&gt;
		org $0800&lt;br /&gt;
&lt;br /&gt;
clrscrn		equ	$00D0&lt;br /&gt;
&lt;br /&gt;
		lr	5, A			; 0800 55&lt;br /&gt;
		nop				; 0801 2B&lt;br /&gt;
		li	$D0			; 0802 20 D0&lt;br /&gt;
		lr	3, A			; 0804 53&lt;br /&gt;
		pi	clrscrn			; 0805 28 00 D0&lt;br /&gt;
		lisu	6			; 0808 66&lt;br /&gt;
		lisl	1			; 0809 69&lt;br /&gt;
		li	$21			; 080A 20 21&lt;br /&gt;
		lr	S, A			; 080C 5C&lt;br /&gt;
		lis	1			; 080D 71&lt;br /&gt;
		lr	$A, A			; 080E 5A&lt;br /&gt;
		jmp	L0E68			; 080F 29 0E 68&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; set_isar_2x_r0_plus_10 (confirmed)&lt;br /&gt;
; Convert object index in r0 to the first byte of a two-byte scratchpad entry.&lt;br /&gt;
; Output: ISAR = $10 + 2*r0. A and ISAR are changed; r0 is preserved.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0812:		li	$10			; 0812 20 10&lt;br /&gt;
		as	0			; 0814 C0&lt;br /&gt;
		as	0			; 0815 C0&lt;br /&gt;
		lr	IS, A			; 0816 0B&lt;br /&gt;
		pop				; 0817 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; delay_r5 (confirmed)&lt;br /&gt;
; Blocking two-level delay. A wraps through 256 INC operations for each r5&lt;br /&gt;
; count. r5 is consumed and returns as zero.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0818:		clr				; 0818 70&lt;br /&gt;
L0819:		inc				; 0819 1F&lt;br /&gt;
		bnz	L0819			; 081A 94 FE&lt;br /&gt;
		ds	5			; 081C 35&lt;br /&gt;
		bnz	L0818			; 081D 94 FA&lt;br /&gt;
		pop				; 081F 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Graphics parameter entry points (strongly likely)&lt;br /&gt;
; L0820 reads r3, then L0822 reads r4, r2, r5 and r6 from DC0 before entering&lt;br /&gt;
; the common renderer. Observed use identifies r3/r4 as coordinates, r2 as&lt;br /&gt;
; color/mode, and r5/r6 as width/height counters.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0820:		lm				; 0820 16&lt;br /&gt;
		lr	3, A			; 0821 53&lt;br /&gt;
L0822:		lm				; 0822 16&lt;br /&gt;
		lr	4, A			; 0823 54&lt;br /&gt;
		lm				; 0824 16&lt;br /&gt;
		lr	2, A			; 0825 52&lt;br /&gt;
		lm				; 0826 16&lt;br /&gt;
		lr	5, A			; 0827 55&lt;br /&gt;
		lm				; 0828 16&lt;br /&gt;
		lr	6, A			; 0829 56&lt;br /&gt;
		br	L084A			; 082A 90 1F&lt;br /&gt;
; draw_object_from_scratch: select solid/background mode, then read X/Y pair.&lt;br /&gt;
L082C:		li	$C1			; 082C 20 C1&lt;br /&gt;
		lr	2, A			; 082E 52&lt;br /&gt;
; Read a two-byte coordinate pair through ISAR with post-increment semantics.&lt;br /&gt;
L082F:		lr	A, I			; 082F 4D&lt;br /&gt;
		lr	3, A			; 0830 53&lt;br /&gt;
		ds	3			; 0831 33&lt;br /&gt;
		lr	A, I			; 0832 4D&lt;br /&gt;
		lr	4, A			; 0833 54&lt;br /&gt;
		ds	4			; 0834 34&lt;br /&gt;
		br	L083A			; 0835 90 04&lt;br /&gt;
		.byte	$20, $C1, $52		; 0837&lt;br /&gt;
L083A:		lis	3			; 083A 73&lt;br /&gt;
		lr	5, A			; 083B 55&lt;br /&gt;
; Short fixed-height graphics entry: use three rows.&lt;br /&gt;
L083C:		lis	3			; 083C 73&lt;br /&gt;
		lr	6, A			; 083D 56&lt;br /&gt;
		br	L084A			; 083E 90 0B&lt;br /&gt;
; draw_bitmap_entry (confirmed graphics): select a two-byte glyph/sprite entry&lt;br /&gt;
; at L1364 + 2*r1 and use fixed dimensions 3 by 5.&lt;br /&gt;
L0840:		dci	L1364			; 0840 2A 13 64&lt;br /&gt;
		lr	A, 1			; 0843 41&lt;br /&gt;
		adc				; 0844 8E&lt;br /&gt;
		adc				; 0845 8E&lt;br /&gt;
		lis	3			; 0846 73&lt;br /&gt;
		lr	5, A			; 0847 55&lt;br /&gt;
		lis	5			; 0848 75&lt;br /&gt;
		lr	6, A			; 0849 56&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; draw_bitmap_core (confirmed)&lt;br /&gt;
; Port 0: graphics write/strobe. Port 1: color. Port 4: inverted X.&lt;br /&gt;
; Port 5: inverted Y in low six bits and sound selection in high two bits.&lt;br /&gt;
; r7 is the serial bitmap mask; a new byte is fetched with LM when exhausted.&lt;br /&gt;
; r1 and r6 count columns and rows. Port 0 is cleared before return.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L084A:		clr				; 084A 70&lt;br /&gt;
		lr	7, A			; 084B 57&lt;br /&gt;
		li	$40			; 084C 20 40&lt;br /&gt;
		outs	0			; 084E B0&lt;br /&gt;
		lr	A, 4			; 084F 44&lt;br /&gt;
		oi	$C0			; 0850 22 C0&lt;br /&gt;
		com				; 0852 18&lt;br /&gt;
		outs	5			; 0853 B5&lt;br /&gt;
L0854:		lr	A, 3			; 0854 43&lt;br /&gt;
		com				; 0855 18&lt;br /&gt;
		outs	4			; 0856 B4&lt;br /&gt;
		lr	A, 5			; 0857 45&lt;br /&gt;
		lr	1, A			; 0858 51&lt;br /&gt;
L0859:		lr	A, 2			; 0859 42&lt;br /&gt;
		outs	1			; 085A B1&lt;br /&gt;
		ni	1			; 085B 21 01&lt;br /&gt;
		bnz	L0873			; 085D 94 15&lt;br /&gt;
		com				; 085F 18&lt;br /&gt;
		adc				; 0860 8E&lt;br /&gt;
		lr	A, 7			; 0861 47&lt;br /&gt;
		sr	1			; 0862 12&lt;br /&gt;
		lr	7, A			; 0863 57&lt;br /&gt;
		bnz	L086A			; 0864 94 05&lt;br /&gt;
		lm				; 0866 16&lt;br /&gt;
		li	$80			; 0867 20 80&lt;br /&gt;
		lr	7, A			; 0869 57&lt;br /&gt;
L086A:		nm				; 086A 8A&lt;br /&gt;
		bnz	L0873			; 086B 94 07&lt;br /&gt;
		com				; 086D 18&lt;br /&gt;
		outs	1			; 086E B1&lt;br /&gt;
		lis	2			; 086F 72&lt;br /&gt;
		ns	2			; 0870 F2&lt;br /&gt;
		bnz	L087D			; 0871 94 0B&lt;br /&gt;
L0873:		li	$60			; 0873 20 60&lt;br /&gt;
		outs	0			; 0875 B0&lt;br /&gt;
		li	$40			; 0876 20 40&lt;br /&gt;
		outs	0			; 0878 B0&lt;br /&gt;
L0879:		ai	$F5			; 0879 24 F5&lt;br /&gt;
		bp	L0879			; 087B 81 FD&lt;br /&gt;
L087D:		ins	4			; 087D A4&lt;br /&gt;
		ai	$FF			; 087E 24 FF&lt;br /&gt;
		outs	4			; 0880 B4&lt;br /&gt;
		ds	1			; 0881 31&lt;br /&gt;
		bnz	L0859			; 0882 94 D6&lt;br /&gt;
		ins	5			; 0884 A5&lt;br /&gt;
		ai	$FF			; 0885 24 FF&lt;br /&gt;
		outs	5			; 0887 B5&lt;br /&gt;
		ds	6			; 0888 36&lt;br /&gt;
		bnz	L0854			; 0889 94 CA&lt;br /&gt;
		clr				; 088B 70&lt;br /&gt;
		outs	0			; 088C B0&lt;br /&gt;
		pop				; 088D 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; play_sound_table (confirmed)&lt;br /&gt;
; DC0 points to pairs: repetition/group count followed by delay value. A zero&lt;br /&gt;
; count terminates. The routine alternates $80 (500 Hz) and $00 on port 5;&lt;br /&gt;
; r5 controls both on-time and off-time, while r4/r7 group the pulses.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L088E:		lis	3			; 088E 73&lt;br /&gt;
		lr	4, A			; 088F 54&lt;br /&gt;
L0890:		inc				; 0890 1F&lt;br /&gt;
		bnz	L0890			; 0891 94 FE&lt;br /&gt;
		am				; 0893 88&lt;br /&gt;
		lr	7, A			; 0894 57&lt;br /&gt;
		bz	L08AF			; 0895 84 19&lt;br /&gt;
		lm				; 0897 16&lt;br /&gt;
		lr	5, A			; 0898 55&lt;br /&gt;
L0899:		li	$80			; 0899 20 80&lt;br /&gt;
		outs	5			; 089B B5&lt;br /&gt;
		lr	A, 5			; 089C 45&lt;br /&gt;
L089D:		inc				; 089D 1F&lt;br /&gt;
		bnz	L089D			; 089E 94 FE&lt;br /&gt;
		outs	5			; 08A0 B5&lt;br /&gt;
		lr	A, 5			; 08A1 45&lt;br /&gt;
L08A2:		inc				; 08A2 1F&lt;br /&gt;
		bnz	L08A2			; 08A3 94 FE&lt;br /&gt;
		ds	4			; 08A5 34&lt;br /&gt;
		bnz	L0899			; 08A6 94 F2&lt;br /&gt;
		lis	3			; 08A8 73&lt;br /&gt;
		lr	4, A			; 08A9 54&lt;br /&gt;
		ds	7			; 08AA 37&lt;br /&gt;
		bnz	L0899			; 08AB 94 ED&lt;br /&gt;
		br	L088E			; 08AD 90 E0&lt;br /&gt;
L08AF:		pop				; 08AF 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; read_controller_a / read_controller_b (strongly likely)&lt;br /&gt;
; Select one of two controller I/O paths according to r10 bit 0. The selected&lt;br /&gt;
; input is inverted and stored in O73. L08C1 selects the opposite input path.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L08B0:		lis	1			; 08B0 71&lt;br /&gt;
		ns	$A			; 08B1 FA&lt;br /&gt;
		bz	L08B9			; 08B2 84 06&lt;br /&gt;
L08B4:		clr				; 08B4 70&lt;br /&gt;
		outs	4			; 08B5 B4&lt;br /&gt;
		ins	4			; 08B6 A4&lt;br /&gt;
		br	L08BC			; 08B7 90 04&lt;br /&gt;
L08B9:		clr				; 08B9 70&lt;br /&gt;
		outs	1			; 08BA B1&lt;br /&gt;
		ins	1			; 08BB A1&lt;br /&gt;
L08BC:		com				; 08BC 18&lt;br /&gt;
		lisu	7			; 08BD 67&lt;br /&gt;
		lisl	3			; 08BE 6B&lt;br /&gt;
		lr	S, A			; 08BF 5C&lt;br /&gt;
		pop				; 08C0 1C&lt;br /&gt;
L08C1:		lis	1			; 08C1 71&lt;br /&gt;
		ns	$A			; 08C2 FA&lt;br /&gt;
		bz	L08B4			; 08C3 84 F0&lt;br /&gt;
		br	L08B9			; 08C5 90 F3&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; lookup_table_1268 (confirmed table lookup)&lt;br /&gt;
; Index table L1268 from scratchpad state and accumulate variable-length data.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L08C7:		dci	L1268			; 08C7 2A 12 68&lt;br /&gt;
		lisu	7			; 08CA 67&lt;br /&gt;
		lisl	6			; 08CB 6E&lt;br /&gt;
		lr	A, D			; 08CC 4E&lt;br /&gt;
		adc				; 08CD 8E&lt;br /&gt;
		lm				; 08CE 16&lt;br /&gt;
		adc				; 08CF 8E&lt;br /&gt;
		lr	A, S			; 08D0 4C&lt;br /&gt;
		com				; 08D1 18&lt;br /&gt;
		inc				; 08D2 1F&lt;br /&gt;
		lr	4, A			; 08D3 54&lt;br /&gt;
L08D4:		lm				; 08D4 16&lt;br /&gt;
		as	4			; 08D5 C4&lt;br /&gt;
		lm				; 08D6 16&lt;br /&gt;
		bm	L08D4			; 08D7 91 FC&lt;br /&gt;
		pop				; 08D9 1C&lt;br /&gt;
; lookup_table_1297 (confirmed table lookup)&lt;br /&gt;
; Parallel lookup using L1297, with a three-byte accumulation stride.&lt;br /&gt;
L08DA:		dci	L1297			; 08DA 2A 12 97&lt;br /&gt;
		lisu	7			; 08DD 67&lt;br /&gt;
		lisl	6			; 08DE 6E&lt;br /&gt;
		lr	A, D			; 08DF 4E&lt;br /&gt;
		adc				; 08E0 8E&lt;br /&gt;
		lm				; 08E1 16&lt;br /&gt;
		adc				; 08E2 8E&lt;br /&gt;
		lr	A, S			; 08E3 4C&lt;br /&gt;
		com				; 08E4 18&lt;br /&gt;
		inc				; 08E5 1F&lt;br /&gt;
		lr	4, A			; 08E6 54&lt;br /&gt;
L08E7:		lm				; 08E7 16&lt;br /&gt;
		lm				; 08E8 16&lt;br /&gt;
		as	4			; 08E9 C4&lt;br /&gt;
		lm				; 08EA 16&lt;br /&gt;
		bm	L08E7			; 08EB 91 FB&lt;br /&gt;
		pop				; 08ED 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; calc_small_index_a (preliminary)&lt;br /&gt;
; Return a small class in r5 according to r0 and player/side flag r10 bit 0.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L08EE:		lis	2			; 08EE 72&lt;br /&gt;
		lr	5, A			; 08EF 55&lt;br /&gt;
		lr	A, 0			; 08F0 40&lt;br /&gt;
		ci	6			; 08F1 25 06&lt;br /&gt;
		bm	L08F6			; 08F3 91 02&lt;br /&gt;
		ds	5			; 08F5 35&lt;br /&gt;
L08F6:		lis	1			; 08F6 71&lt;br /&gt;
		ns	$A			; 08F7 FA&lt;br /&gt;
		bz	L08FB			; 08F8 84 02&lt;br /&gt;
		ds	5			; 08FA 35&lt;br /&gt;
L08FB:		ds	5			; 08FB 35&lt;br /&gt;
		pop				; 08FC 1C&lt;br /&gt;
; calc_small_index_b (preliminary)&lt;br /&gt;
; Return a small class in r5 from the relation between r0 and r4.&lt;br /&gt;
L08FD:		lis	2			; 08FD 72&lt;br /&gt;
		lr	5, A			; 08FE 55&lt;br /&gt;
		li	$F9			; 08FF 20 F9&lt;br /&gt;
		as	0			; 0901 C0&lt;br /&gt;
		bm	L0905			; 0902 91 02&lt;br /&gt;
		ds	5			; 0904 35&lt;br /&gt;
L0905:		li	$F9			; 0905 20 F9&lt;br /&gt;
		as	4			; 0907 C4&lt;br /&gt;
		bm	L090B			; 0908 91 02&lt;br /&gt;
		ds	5			; 090A 35&lt;br /&gt;
L090B:		ds	5			; 090B 35&lt;br /&gt;
		pop				; 090C 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; update_motion_or_collision_vector (strongly likely)&lt;br /&gt;
; Compare object coordinate pairs stored at $10 + 2*index. The block computes&lt;br /&gt;
; absolute differences, applies side/direction flags, and records an event in&lt;br /&gt;
; r11 bit 1 when the tested geometric condition is met.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L090D:		lisu	6			; 090D 66&lt;br /&gt;
		lisl	5			; 090E 6D&lt;br /&gt;
		li	$64			; 090F 20 64&lt;br /&gt;
		lr	I, A			; 0911 5D&lt;br /&gt;
		lr	A, 9			; 0912 49&lt;br /&gt;
		lr	S, A			; 0913 5C&lt;br /&gt;
		lisl	4			; 0914 6C&lt;br /&gt;
		lr	A, 4			; 0915 44&lt;br /&gt;
		lr	S, A			; 0916 5C&lt;br /&gt;
		lis	6			; 0917 76&lt;br /&gt;
		lr	9, A			; 0918 59&lt;br /&gt;
L0919:		li	$10			; 0919 20 10&lt;br /&gt;
		as	8			; 091B C8&lt;br /&gt;
		as	8			; 091C C8&lt;br /&gt;
		lr	IS, A			; 091D 0B&lt;br /&gt;
		lr	A, S			; 091E 4C&lt;br /&gt;
		lr	7, A			; 091F 57&lt;br /&gt;
		li	$FE			; 0920 20 FE&lt;br /&gt;
		lr	5, A			; 0922 55&lt;br /&gt;
		li	$10			; 0923 20 10&lt;br /&gt;
		as	9			; 0925 C9&lt;br /&gt;
		as	9			; 0926 C9&lt;br /&gt;
		lr	IS, A			; 0927 0B&lt;br /&gt;
		lr	A, 7			; 0928 47&lt;br /&gt;
		com				; 0929 18&lt;br /&gt;
		inc				; 092A 1F&lt;br /&gt;
		as	S			; 092B CC&lt;br /&gt;
		lr	7, A			; 092C 57&lt;br /&gt;
		bp	L0931			; 092D 81 03&lt;br /&gt;
		com				; 092F 18&lt;br /&gt;
		inc				; 0930 1F&lt;br /&gt;
L0931:		lr	4, A			; 0931 54&lt;br /&gt;
		lis	1			; 0932 71&lt;br /&gt;
		ns	$A			; 0933 FA&lt;br /&gt;
		bz	L093A			; 0934 84 05&lt;br /&gt;
		lr	A, 7			; 0936 47&lt;br /&gt;
		com				; 0937 18&lt;br /&gt;
		inc				; 0938 1F&lt;br /&gt;
		lr	7, A			; 0939 57&lt;br /&gt;
L093A:		lr	A, 5			; 093A 45&lt;br /&gt;
		inc				; 093B 1F&lt;br /&gt;
		inc				; 093C 1F&lt;br /&gt;
		lr	5, A			; 093D 55&lt;br /&gt;
		lr	A, 4			; 093E 44&lt;br /&gt;
		ai	$FD			; 093F 24 FD&lt;br /&gt;
		lr	4, A			; 0941 54&lt;br /&gt;
		bp	L093A			; 0942 81 F7&lt;br /&gt;
		lisu	6			; 0944 66&lt;br /&gt;
		lisl	7			; 0945 6F&lt;br /&gt;
		lis	8			; 0946 78&lt;br /&gt;
		ns	S			; 0947 FC&lt;br /&gt;
		bz	L094E			; 0948 84 05&lt;br /&gt;
		lr	A, 5			; 094A 45&lt;br /&gt;
		com				; 094B 18&lt;br /&gt;
		inc				; 094C 1F&lt;br /&gt;
		lr	5, A			; 094D 55&lt;br /&gt;
L094E:		lis	$C			; 094E 7C&lt;br /&gt;
		ns	S			; 094F FC&lt;br /&gt;
		bnz	L0953			; 0950 94 02&lt;br /&gt;
		lr	5, A			; 0952 55&lt;br /&gt;
L0953:		lis	1			; 0953 71&lt;br /&gt;
		ns	$A			; 0954 FA&lt;br /&gt;
		bnz	L095B			; 0955 94 05&lt;br /&gt;
		lr	A, 5			; 0957 45&lt;br /&gt;
		com				; 0958 18&lt;br /&gt;
		inc				; 0959 1F&lt;br /&gt;
		lr	5, A			; 095A 55&lt;br /&gt;
L095B:		clr				; 095B 70&lt;br /&gt;
		as	7			; 095C C7&lt;br /&gt;
		bm	L0963			; 095D 91 05&lt;br /&gt;
		lr	A, 5			; 095F 45&lt;br /&gt;
		com				; 0960 18&lt;br /&gt;
		inc				; 0961 1F&lt;br /&gt;
		lr	5, A			; 0962 55&lt;br /&gt;
L0963:		li	$11			; 0963 20 11&lt;br /&gt;
		as	8			; 0965 C8&lt;br /&gt;
		as	8			; 0966 C8&lt;br /&gt;
		lr	IS, A			; 0967 0B&lt;br /&gt;
		lr	A, S			; 0968 4C&lt;br /&gt;
		as	5			; 0969 C5&lt;br /&gt;
		com				; 096A 18&lt;br /&gt;
		inc				; 096B 1F&lt;br /&gt;
		lr	5, A			; 096C 55&lt;br /&gt;
		li	$11			; 096D 20 11&lt;br /&gt;
		as	9			; 096F C9&lt;br /&gt;
		as	9			; 0970 C9&lt;br /&gt;
		lr	IS, A			; 0971 0B&lt;br /&gt;
		lr	A, S			; 0972 4C&lt;br /&gt;
		as	5			; 0973 C5&lt;br /&gt;
		bp	L0978			; 0974 81 03&lt;br /&gt;
		com				; 0976 18&lt;br /&gt;
		inc				; 0977 1F&lt;br /&gt;
L0978:		lr	5, A			; 0978 55&lt;br /&gt;
		com				; 0979 18&lt;br /&gt;
		lisu	6			; 097A 66&lt;br /&gt;
		lisl	5			; 097B 6D&lt;br /&gt;
		as	S			; 097C CC&lt;br /&gt;
		bm	L09B3			; 097D 91 35&lt;br /&gt;
		lr	A, 5			; 097F 45&lt;br /&gt;
		lr	S, A			; 0980 5C&lt;br /&gt;
		clr				; 0981 70&lt;br /&gt;
		as	7			; 0982 C7&lt;br /&gt;
		bp	L09AF			; 0983 81 2B&lt;br /&gt;
		lr	A, $B			; 0985 4B&lt;br /&gt;
		ni	$FD			; 0986 21 FD&lt;br /&gt;
		lr	$B, A			; 0988 5B&lt;br /&gt;
		li	$10			; 0989 20 10&lt;br /&gt;
		as	8			; 098B C8&lt;br /&gt;
		as	8			; 098C C8&lt;br /&gt;
		lr	IS, A			; 098D 0B&lt;br /&gt;
		lr	A, S			; 098E 4C&lt;br /&gt;
		sr	1			; 098F 12&lt;br /&gt;
		as	S			; 0990 CC&lt;br /&gt;
		lr	5, A			; 0991 55&lt;br /&gt;
		lisu	2			; 0992 62&lt;br /&gt;
		lisl	6			; 0993 6E&lt;br /&gt;
		lr	A, S			; 0994 4C&lt;br /&gt;
		sr	1			; 0995 12&lt;br /&gt;
		com				; 0996 18&lt;br /&gt;
		inc				; 0997 1F&lt;br /&gt;
		as	5			; 0998 C5&lt;br /&gt;
		lr	5, A			; 0999 55&lt;br /&gt;
		li	$10			; 099A 20 10&lt;br /&gt;
		as	9			; 099C C9&lt;br /&gt;
		as	9			; 099D C9&lt;br /&gt;
		lr	IS, A			; 099E 0B&lt;br /&gt;
		lr	A, S			; 099F 4C&lt;br /&gt;
		com				; 09A0 18&lt;br /&gt;
		inc				; 09A1 1F&lt;br /&gt;
		as	5			; 09A2 C5&lt;br /&gt;
		lr	5, A			; 09A3 55&lt;br /&gt;
		lis	1			; 09A4 71&lt;br /&gt;
		ns	$A			; 09A5 FA&lt;br /&gt;
		bz	L09AC			; 09A6 84 05&lt;br /&gt;
		lr	A, 5			; 09A8 45&lt;br /&gt;
		com				; 09A9 18&lt;br /&gt;
		inc				; 09AA 1F&lt;br /&gt;
		lr	5, A			; 09AB 55&lt;br /&gt;
L09AC:		ds	5			; 09AC 35&lt;br /&gt;
		bp	L09B3			; 09AD 81 05&lt;br /&gt;
L09AF:		lr	A, $B			; 09AF 4B&lt;br /&gt;
		oi	2			; 09B0 22 02&lt;br /&gt;
		lr	$B, A			; 09B2 5B&lt;br /&gt;
L09B3:		ds	9			; 09B3 39&lt;br /&gt;
		lr	A, 9			; 09B4 49&lt;br /&gt;
		ci	3			; 09B5 25 03&lt;br /&gt;
		bp	L09BC			; 09B7 81 04&lt;br /&gt;
		jmp	L0919			; 09B9 29 09 19&lt;br /&gt;
L09BC:		lisu	6			; 09BC 66&lt;br /&gt;
		lisl	6			; 09BD 6E&lt;br /&gt;
		lr	A, S			; 09BE 4C&lt;br /&gt;
		lr	9, A			; 09BF 59&lt;br /&gt;
		lisl	4			; 09C0 6C&lt;br /&gt;
		lr	A, S			; 09C1 4C&lt;br /&gt;
		lr	4, A			; 09C2 54&lt;br /&gt;
		pop				; 09C3 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; draw_player_or_marker (strongly likely)&lt;br /&gt;
; Save the nested return in K, derive a screen position from O61/O62, and draw&lt;br /&gt;
; four component glyphs through L0840. Return through PK.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L09C4:		lr	K, P			; 09C4 08&lt;br /&gt;
		lisu	6			; 09C5 66&lt;br /&gt;
		lisl	1			; 09C6 69&lt;br /&gt;
		lr	A, I			; 09C7 4D&lt;br /&gt;
		ci	$32			; 09C8 25 32&lt;br /&gt;
		li	$3C			; 09CA 20 3C&lt;br /&gt;
		bp	L09D0			; 09CC 81 03&lt;br /&gt;
		li	$19			; 09CE 20 19&lt;br /&gt;
L09D0:		lr	3, A			; 09D0 53&lt;br /&gt;
		clr				; 09D1 70&lt;br /&gt;
		lr	1, A			; 09D2 51&lt;br /&gt;
		as	S			; 09D3 CC&lt;br /&gt;
		lr	8, A			; 09D4 58&lt;br /&gt;
		bz	L09E4			; 09D5 84 0E&lt;br /&gt;
L09D7:		lr	A, 8			; 09D7 48&lt;br /&gt;
		ai	$C4			; 09D8 24 C4&lt;br /&gt;
		ci	$C3			; 09DA 25 C3&lt;br /&gt;
		bnc	L09E4			; 09DC 92 07&lt;br /&gt;
		lr	8, A			; 09DE 58&lt;br /&gt;
		lr	A, 1			; 09DF 41&lt;br /&gt;
		inc				; 09E0 1F&lt;br /&gt;
		lr	1, A			; 09E1 51&lt;br /&gt;
		br	L09D7			; 09E2 90 F4&lt;br /&gt;
L09E4:		lis	7			; 09E4 77&lt;br /&gt;
		lr	4, A			; 09E5 54&lt;br /&gt;
		li	$40			; 09E6 20 40&lt;br /&gt;
		lr	2, A			; 09E8 52&lt;br /&gt;
		pi	L0840			; 09E9 28 08 40&lt;br /&gt;
		lis	4			; 09EC 74&lt;br /&gt;
		as	3			; 09ED C3&lt;br /&gt;
		lr	3, A			; 09EE 53&lt;br /&gt;
		lis	$A			; 09EF 7A&lt;br /&gt;
		lr	1, A			; 09F0 51&lt;br /&gt;
		pi	L0840			; 09F1 28 08 40&lt;br /&gt;
		lis	3			; 09F4 73&lt;br /&gt;
		as	3			; 09F5 C3&lt;br /&gt;
		lr	3, A			; 09F6 53&lt;br /&gt;
		clr				; 09F7 70&lt;br /&gt;
L09F8:		lr	1, A			; 09F8 51&lt;br /&gt;
		lr	A, 8			; 09F9 48&lt;br /&gt;
		ai	$F6			; 09FA 24 F6&lt;br /&gt;
		bm	L0A04			; 09FC 91 07&lt;br /&gt;
		lr	8, A			; 09FE 58&lt;br /&gt;
		lr	A, 1			; 09FF 41&lt;br /&gt;
		inc				; 0A00 1F&lt;br /&gt;
		lr	1, A			; 0A01 51&lt;br /&gt;
		br	L09F8			; 0A02 90 F5&lt;br /&gt;
L0A04:		pi	L0840			; 0A04 28 08 40&lt;br /&gt;
		lis	4			; 0A07 74&lt;br /&gt;
		as	3			; 0A08 C3&lt;br /&gt;
		lr	3, A			; 0A09 53&lt;br /&gt;
		lr	A, 8			; 0A0A 48&lt;br /&gt;
		lr	1, A			; 0A0B 51&lt;br /&gt;
		pi	L0840			; 0A0C 28 08 40&lt;br /&gt;
		pk				; 0A0F 0C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; normalize_control_bits (strongly likely)&lt;br /&gt;
; Copy direction bits from r7 to r4 and mirror selected bits for the active side.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0A10:		lr	A, 7			; 0A10 47&lt;br /&gt;
		lr	4, A			; 0A11 54&lt;br /&gt;
		lis	1			; 0A12 71&lt;br /&gt;
		ns	$A			; 0A13 FA&lt;br /&gt;
		bnz	L0A1D			; 0A14 94 08&lt;br /&gt;
		lis	3			; 0A16 73&lt;br /&gt;
		ns	4			; 0A17 F4&lt;br /&gt;
		bz	L0A1D			; 0A18 84 04&lt;br /&gt;
		lis	3			; 0A1A 73&lt;br /&gt;
		xs	4			; 0A1B E4&lt;br /&gt;
		lr	4, A			; 0A1C 54&lt;br /&gt;
L0A1D:		br	L0A24			; 0A1D 90 06&lt;br /&gt;
; read_control_nibble (strongly likely): load low four bits of O73 into r4.&lt;br /&gt;
L0A1F:		lisu	7			; 0A1F 67&lt;br /&gt;
		lisl	3			; 0A20 6B&lt;br /&gt;
		lis	$F			; 0A21 7F&lt;br /&gt;
		ns	S			; 0A22 FC&lt;br /&gt;
		lr	4, A			; 0A23 54&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; apply_direction_and_move (strongly likely)&lt;br /&gt;
; Decode r4 bits 0-3 into signed horizontal and vertical steps in r3/r6, then&lt;br /&gt;
; apply object-, side- and boundary-specific movement rules.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0A24:		lr	K, P			; 0A24 08&lt;br /&gt;
		clr				; 0A25 70&lt;br /&gt;
		lr	3, A			; 0A26 53&lt;br /&gt;
		lr	6, A			; 0A27 56&lt;br /&gt;
		lis	1			; 0A28 71&lt;br /&gt;
		ns	4			; 0A29 F4&lt;br /&gt;
		bz	L0A2E			; 0A2A 84 03&lt;br /&gt;
		lis	1			; 0A2C 71&lt;br /&gt;
		lr	3, A			; 0A2D 53&lt;br /&gt;
L0A2E:		lis	2			; 0A2E 72&lt;br /&gt;
		ns	4			; 0A2F F4&lt;br /&gt;
		bz	L0A33			; 0A30 84 02&lt;br /&gt;
		ds	3			; 0A32 33&lt;br /&gt;
L0A33:		nop				; 0A33 2B&lt;br /&gt;
		lis	4			; 0A34 74&lt;br /&gt;
		ns	4			; 0A35 F4&lt;br /&gt;
		bz	L0A3A			; 0A36 84 03&lt;br /&gt;
		lis	1			; 0A38 71&lt;br /&gt;
		lr	6, A			; 0A39 56&lt;br /&gt;
L0A3A:		lis	8			; 0A3A 78&lt;br /&gt;
		ns	4			; 0A3B F4&lt;br /&gt;
		bz	L0A3F			; 0A3C 84 02&lt;br /&gt;
		ds	6			; 0A3E 36&lt;br /&gt;
L0A3F:		clr				; 0A3F 70&lt;br /&gt;
		as	0			; 0A40 C0&lt;br /&gt;
		bnz	L0A61			; 0A41 94 1F&lt;br /&gt;
		lr	A, 6			; 0A43 46&lt;br /&gt;
		sl	1			; 0A44 13&lt;br /&gt;
		lr	6, A			; 0A45 56&lt;br /&gt;
		lr	A, 3			; 0A46 43&lt;br /&gt;
		bz	L0A4D			; 0A47 84 05&lt;br /&gt;
		sl	1			; 0A49 13&lt;br /&gt;
		sl	1			; 0A4A 13&lt;br /&gt;
		br	L0A4F			; 0A4B 90 03&lt;br /&gt;
L0A4D:		sl	1			; 0A4D 13&lt;br /&gt;
		as	3			; 0A4E C3&lt;br /&gt;
L0A4F:		lr	3, A			; 0A4F 53&lt;br /&gt;
		lisu	7			; 0A50 67&lt;br /&gt;
		lisl	6			; 0A51 6E&lt;br /&gt;
		lr	A, D			; 0A52 4E&lt;br /&gt;
		ci	6			; 0A53 25 06&lt;br /&gt;
		bp	L0A73			; 0A55 81 1D&lt;br /&gt;
		lis	1			; 0A57 71&lt;br /&gt;
		ns	S			; 0A58 FC&lt;br /&gt;
		bnz	L0A5D			; 0A59 94 03&lt;br /&gt;
		li	$FF			; 0A5B 20 FF&lt;br /&gt;
L0A5D:		as	6			; 0A5D C6&lt;br /&gt;
		lr	6, A			; 0A5E 56&lt;br /&gt;
		br	L0A73			; 0A5F 90 13&lt;br /&gt;
L0A61:		lisu	7			; 0A61 67&lt;br /&gt;
		lisl	6			; 0A62 6E&lt;br /&gt;
		lis	7			; 0A63 77&lt;br /&gt;
		xs	S			; 0A64 EC&lt;br /&gt;
		bnz	L0A73			; 0A65 94 0D&lt;br /&gt;
		lis	3			; 0A67 73&lt;br /&gt;
		xs	9			; 0A68 E9&lt;br /&gt;
		bnz	L0A73			; 0A69 94 09&lt;br /&gt;
		lr	A, 0			; 0A6B 40&lt;br /&gt;
		ci	6			; 0A6C 25 06&lt;br /&gt;
		bm	L0A73			; 0A6E 91 04&lt;br /&gt;
		clr				; 0A70 70&lt;br /&gt;
		lr	3, A			; 0A71 53&lt;br /&gt;
		lr	6, A			; 0A72 56&lt;br /&gt;
L0A73:		lis	2			; 0A73 72&lt;br /&gt;
		ns	$A			; 0A74 FA&lt;br /&gt;
		bnz	L0A9A			; 0A75 94 24&lt;br /&gt;
		lr	A, 0			; 0A77 40&lt;br /&gt;
		ci	6			; 0A78 25 06&lt;br /&gt;
		bp	L0A9A			; 0A7A 81 1F&lt;br /&gt;
		ci	$C			; 0A7C 25 0C&lt;br /&gt;
		bm	L0A9A			; 0A7E 91 1B&lt;br /&gt;
		lis	3			; 0A80 73&lt;br /&gt;
		xs	9			; 0A81 E9&lt;br /&gt;
		bnz	L0A89			; 0A82 94 06&lt;br /&gt;
		li	$20			; 0A84 20 20&lt;br /&gt;
		ns	$A			; 0A86 FA&lt;br /&gt;
		bz	L0A9A			; 0A87 84 12&lt;br /&gt;
L0A89:		lisl	4			; 0A89 6C&lt;br /&gt;
		lr	A, S			; 0A8A 4C&lt;br /&gt;
		sl	4			; 0A8B 15&lt;br /&gt;
		sl	1			; 0A8C 13&lt;br /&gt;
		as	S			; 0A8D CC&lt;br /&gt;
		ai	$73			; 0A8E 24 73&lt;br /&gt;
		lr	S, A			; 0A90 5C&lt;br /&gt;
		lr	A, S			; 0A91 4C&lt;br /&gt;
		sr	4			; 0A92 14&lt;br /&gt;
		sr	1			; 0A93 12&lt;br /&gt;
		sr	1			; 0A94 12&lt;br /&gt;
		bnz	L0A9A			; 0A95 94 04&lt;br /&gt;
		lr	A, 3			; 0A97 43&lt;br /&gt;
		sl	1			; 0A98 13&lt;br /&gt;
		lr	3, A			; 0A99 53&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Central object/collision pass (strongly likely)&lt;br /&gt;
; Iterate two-byte object records, test position limits and collisions, and set&lt;br /&gt;
; event bits in r11. O53/O54 hold a temporary coordinate pair.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0A9A:		clr				; 0A9A 70&lt;br /&gt;
		lr	$B, A			; 0A9B 5B&lt;br /&gt;
L0A9C:		pi	L0812			; 0A9C 28 08 12&lt;br /&gt;
		lr	A, I			; 0A9F 4D&lt;br /&gt;
		as	3			; 0AA0 C3&lt;br /&gt;
		lr	1, A			; 0AA1 51&lt;br /&gt;
		lr	A, S			; 0AA2 4C&lt;br /&gt;
		as	6			; 0AA3 C6&lt;br /&gt;
		lisu	5			; 0AA4 65&lt;br /&gt;
		lisl	3			; 0AA5 6B&lt;br /&gt;
		lr	2, A			; 0AA6 52&lt;br /&gt;
		lr	D, A			; 0AA7 5E&lt;br /&gt;
		lr	A, 1			; 0AA8 41&lt;br /&gt;
		lr	I, A			; 0AA9 5D&lt;br /&gt;
		lr	A, D			; 0AAA 4E&lt;br /&gt;
		ci	$F			; 0AAB 25 0F&lt;br /&gt;
		bp	L0AB3			; 0AAD 81 05&lt;br /&gt;
		ci	$35			; 0AAF 25 35&lt;br /&gt;
		bp	L0AD2			; 0AB1 81 20&lt;br /&gt;
L0AB3:		clr				; 0AB3 70&lt;br /&gt;
		as	0			; 0AB4 C0&lt;br /&gt;
		bz	L0ACE			; 0AB5 84 18&lt;br /&gt;
		lisu	5			; 0AB7 65&lt;br /&gt;
		lisl	4			; 0AB8 6C&lt;br /&gt;
		ci	5			; 0AB9 25 05&lt;br /&gt;
		bnz	L0AC2			; 0ABB 94 06&lt;br /&gt;
		lis	$C			; 0ABD 7C&lt;br /&gt;
		xs	S			; 0ABE EC&lt;br /&gt;
		lr	S, A			; 0ABF 5C&lt;br /&gt;
		br	L0ACA			; 0AC0 90 09&lt;br /&gt;
L0AC2:		ci	6			; 0AC2 25 06&lt;br /&gt;
		bnz	L0ACA			; 0AC4 94 05&lt;br /&gt;
		li	$C0			; 0AC6 20 C0&lt;br /&gt;
		xs	S			; 0AC8 EC&lt;br /&gt;
		lr	S, A			; 0AC9 5C&lt;br /&gt;
L0ACA:		clr				; 0ACA 70&lt;br /&gt;
		lr	6, A			; 0ACB 56&lt;br /&gt;
		br	L0A9C			; 0ACC 90 CF&lt;br /&gt;
L0ACE:		lr	A, $B			; 0ACE 4B&lt;br /&gt;
		oi	$10			; 0ACF 22 10&lt;br /&gt;
		lr	$B, A			; 0AD1 5B&lt;br /&gt;
L0AD2:		lr	A, 1			; 0AD2 41&lt;br /&gt;
		ci	$A			; 0AD3 25 0A&lt;br /&gt;
		bp	L0ADB			; 0AD5 81 05&lt;br /&gt;
		ci	$5F			; 0AD7 25 5F&lt;br /&gt;
		bp	L0AF5			; 0AD9 81 1B&lt;br /&gt;
L0ADB:		clr				; 0ADB 70&lt;br /&gt;
		as	0			; 0ADC C0&lt;br /&gt;
		bnz	L0AE5			; 0ADD 94 07&lt;br /&gt;
		lr	A, $B			; 0ADF 4B&lt;br /&gt;
		oi	$40			; 0AE0 22 40&lt;br /&gt;
		lr	$B, A			; 0AE2 5B&lt;br /&gt;
		br	L0AF5			; 0AE3 90 11&lt;br /&gt;
L0AE5:		lr	A, 0			; 0AE5 40&lt;br /&gt;
		ci	5			; 0AE6 25 05&lt;br /&gt;
		lisu	5			; 0AE8 65&lt;br /&gt;
		lisl	4			; 0AE9 6C&lt;br /&gt;
		bnz	L0AF1			; 0AEA 94 06&lt;br /&gt;
		lis	3			; 0AEC 73&lt;br /&gt;
		xs	S			; 0AED EC&lt;br /&gt;
		lr	S, A			; 0AEE 5C&lt;br /&gt;
		br	L0AF1			; 0AEF 90 01&lt;br /&gt;
L0AF1:		clr				; 0AF1 70&lt;br /&gt;
		lr	3, A			; 0AF2 53&lt;br /&gt;
		br	L0A9C			; 0AF3 90 A8&lt;br /&gt;
L0AF5:		lis	8			; 0AF5 78&lt;br /&gt;
		ns	$A			; 0AF6 FA&lt;br /&gt;
		lis	1			; 0AF7 71&lt;br /&gt;
		bz	L0AFB			; 0AF8 84 02&lt;br /&gt;
		clr				; 0AFA 70&lt;br /&gt;
L0AFB:		lr	4, A			; 0AFB 54&lt;br /&gt;
L0AFC:		lr	A, 4			; 0AFC 44&lt;br /&gt;
		xs	0			; 0AFD E0&lt;br /&gt;
		bz	L0B0B			; 0AFE 84 0C&lt;br /&gt;
		li	$10			; 0B00 20 10&lt;br /&gt;
		as	4			; 0B02 C4&lt;br /&gt;
		as	4			; 0B03 C4&lt;br /&gt;
		lr	IS, A			; 0B04 0B&lt;br /&gt;
		lis	2			; 0B05 72&lt;br /&gt;
		as	I			; 0B06 CD&lt;br /&gt;
		com				; 0B07 18&lt;br /&gt;
		as	1			; 0B08 C1&lt;br /&gt;
		bm	L0B0E			; 0B09 91 04&lt;br /&gt;
L0B0B:		jmp	L0BB1			; 0B0B 29 0B B1&lt;br /&gt;
L0B0E:		ai	5			; 0B0E 24 05&lt;br /&gt;
		bm	L0B0B			; 0B10 91 FA&lt;br /&gt;
		lis	2			; 0B12 72&lt;br /&gt;
		as	I			; 0B13 CD&lt;br /&gt;
		com				; 0B14 18&lt;br /&gt;
		as	2			; 0B15 C2&lt;br /&gt;
		bp	L0B0B			; 0B16 81 F4&lt;br /&gt;
		ai	5			; 0B18 24 05&lt;br /&gt;
		bm	L0B0B			; 0B1A 91 F0&lt;br /&gt;
		lr	A, 0			; 0B1C 40&lt;br /&gt;
		lr	8, A			; 0B1D 58&lt;br /&gt;
		lr	A, 9			; 0B1E 49&lt;br /&gt;
		xs	4			; 0B1F E4&lt;br /&gt;
		bz	L0B28			; 0B20 84 07&lt;br /&gt;
		lr	A, 4			; 0B22 44&lt;br /&gt;
		lr	8, A			; 0B23 58&lt;br /&gt;
		lr	A, 9			; 0B24 49&lt;br /&gt;
		xs	0			; 0B25 E0&lt;br /&gt;
		bnz	L0B8E			; 0B26 94 67&lt;br /&gt;
L0B28:		clr				; 0B28 70&lt;br /&gt;
		as	9			; 0B29 C9&lt;br /&gt;
		bnz	L0B81			; 0B2A 94 56&lt;br /&gt;
		lr	A, $B			; 0B2C 4B&lt;br /&gt;
		ni	$FD			; 0B2D 21 FD&lt;br /&gt;
		lr	$B, A			; 0B2F 5B&lt;br /&gt;
		lisu	7			; 0B30 67&lt;br /&gt;
		lisl	6			; 0B31 6E&lt;br /&gt;
		lr	A, D			; 0B32 4E&lt;br /&gt;
		ci	6			; 0B33 25 06&lt;br /&gt;
		bp	L0B55			; 0B35 81 1F&lt;br /&gt;
		lr	A, S			; 0B37 4C&lt;br /&gt;
		com				; 0B38 18&lt;br /&gt;
		inc				; 0B39 1F&lt;br /&gt;
		lisl	1			; 0B3A 69&lt;br /&gt;
		as	S			; 0B3B CC&lt;br /&gt;
		bp	L0B0B			; 0B3C 81 CE&lt;br /&gt;
		lr	A, 8			; 0B3E 48&lt;br /&gt;
		ci	6			; 0B3F 25 06&lt;br /&gt;
		lr	A, $B			; 0B41 4B&lt;br /&gt;
		bm	L0B49			; 0B42 91 06&lt;br /&gt;
		oi	$E			; 0B44 22 0E&lt;br /&gt;
		lr	$B, A			; 0B46 5B&lt;br /&gt;
		br	L0B4E			; 0B47 90 06&lt;br /&gt;
L0B49:		oi	$A			; 0B49 22 0A&lt;br /&gt;
		lr	$B, A			; 0B4B 5B&lt;br /&gt;
		lr	A, 8			; 0B4C 48&lt;br /&gt;
		lr	9, A			; 0B4D 59&lt;br /&gt;
L0B4E:		lr	A, $A			; 0B4E 4A&lt;br /&gt;
		oi	2			; 0B4F 22 02&lt;br /&gt;
		lr	$A, A			; 0B51 5A&lt;br /&gt;
		jmp	L0BBC			; 0B52 29 0B BC&lt;br /&gt;
L0B55:		lr	A, 8			; 0B55 48&lt;br /&gt;
		ci	3			; 0B56 25 03&lt;br /&gt;
		bp	L0B0B			; 0B58 81 B2&lt;br /&gt;
		ci	$A			; 0B5A 25 0A&lt;br /&gt;
		bm	L0B0B			; 0B5C 91 AE&lt;br /&gt;
		lr	A, $B			; 0B5E 4B&lt;br /&gt;
		oi	2			; 0B5F 22 02&lt;br /&gt;
		lr	$B, A			; 0B61 5B&lt;br /&gt;
		lr	A, 8			; 0B62 48&lt;br /&gt;
		ci	6			; 0B63 25 06&lt;br /&gt;
		bp	L0B6E			; 0B65 81 08&lt;br /&gt;
		pi	L090D			; 0B67 28 09 0D&lt;br /&gt;
		lis	2			; 0B6A 72&lt;br /&gt;
		ns	$B			; 0B6B FB&lt;br /&gt;
		bz	L0BB1			; 0B6C 84 44&lt;br /&gt;
L0B6E:		lr	A, 8			; 0B6E 48&lt;br /&gt;
		lr	9, A			; 0B6F 59&lt;br /&gt;
		lr	A, $B			; 0B70 4B&lt;br /&gt;
		oi	8			; 0B71 22 08&lt;br /&gt;
		ni	$FE			; 0B73 21 FE&lt;br /&gt;
		lr	$B, A			; 0B75 5B&lt;br /&gt;
		lr	A, 8			; 0B76 48&lt;br /&gt;
		ci	6			; 0B77 25 06&lt;br /&gt;
		bp	L0B7F			; 0B79 81 05&lt;br /&gt;
		lr	A, $A			; 0B7B 4A&lt;br /&gt;
		oi	2			; 0B7C 22 02&lt;br /&gt;
		lr	$A, A			; 0B7E 5A&lt;br /&gt;
L0B7F:		br	L0BBC			; 0B7F 90 3C&lt;br /&gt;
L0B81:		pi	L08FD			; 0B81 28 08 FD&lt;br /&gt;
		bnz	L0B8E			; 0B84 94 09&lt;br /&gt;
		lr	A, $B			; 0B86 4B&lt;br /&gt;
		oi	4			; 0B87 22 04&lt;br /&gt;
		ni	$FE			; 0B89 21 FE&lt;br /&gt;
		lr	$B, A			; 0B8B 5B&lt;br /&gt;
		br	L0BBC			; 0B8C 90 2F&lt;br /&gt;
L0B8E:		lr	A, $B			; 0B8E 4B&lt;br /&gt;
		oi	1			; 0B8F 22 01&lt;br /&gt;
		lr	$B, A			; 0B91 5B&lt;br /&gt;
		lr	A, 3			; 0B92 43&lt;br /&gt;
		ci	1			; 0B93 25 01&lt;br /&gt;
		bp	L0B9A			; 0B95 81 04&lt;br /&gt;
		lis	1			; 0B97 71&lt;br /&gt;
		br	L0BA0			; 0B98 90 07&lt;br /&gt;
L0B9A:		ci	$FE			; 0B9A 25 FE&lt;br /&gt;
		bm	L0BA4			; 0B9C 91 07&lt;br /&gt;
		li	$FF			; 0B9E 20 FF&lt;br /&gt;
L0BA0:		lr	3, A			; 0BA0 53&lt;br /&gt;
L0BA1:		jmp	L0A9A			; 0BA1 29 0A 9A&lt;br /&gt;
L0BA4:		pi	L08FD			; 0BA4 28 08 FD&lt;br /&gt;
		bz	L0BB1			; 0BA7 84 09&lt;br /&gt;
		clr				; 0BA9 70&lt;br /&gt;
		as	6			; 0BAA C6&lt;br /&gt;
		bz	L0BBC			; 0BAB 84 10&lt;br /&gt;
		clr				; 0BAD 70&lt;br /&gt;
		lr	6, A			; 0BAE 56&lt;br /&gt;
		br	L0BA1			; 0BAF 90 F1&lt;br /&gt;
L0BB1:		lr	A, 4			; 0BB1 44&lt;br /&gt;
		inc				; 0BB2 1F&lt;br /&gt;
		lr	4, A			; 0BB3 54&lt;br /&gt;
		ci	$C			; 0BB4 25 0C&lt;br /&gt;
		bm	L0BBC			; 0BB6 91 05&lt;br /&gt;
		jmp	L0AFC			; 0BB8 29 0A FC&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Scene/state update entry (preliminary)&lt;br /&gt;
; Preserve nested return in K, redraw changed objects, update packed state and&lt;br /&gt;
; dispatch event sound or phase transitions.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0BBB:		lr	K, P			; 0BBB 08&lt;br /&gt;
L0BBC:		lis	8			; 0BBC 78&lt;br /&gt;
		ns	$B			; 0BBD FB&lt;br /&gt;
		bz	L0BC9			; 0BBE 84 0A&lt;br /&gt;
		lr	A, $A			; 0BC0 4A&lt;br /&gt;
		ni	$F7			; 0BC1 21 F7&lt;br /&gt;
		lr	$A, A			; 0BC3 5A&lt;br /&gt;
		lisu	2			; 0BC4 62&lt;br /&gt;
		lisl	0			; 0BC5 68&lt;br /&gt;
		pi	L082C			; 0BC6 28 08 2C&lt;br /&gt;
L0BC9:		pi	L0812			; 0BC9 28 08 12&lt;br /&gt;
		pi	L082C			; 0BCC 28 08 2C&lt;br /&gt;
		li	$58			; 0BCF 20 58&lt;br /&gt;
		lr	3, A			; 0BD1 53&lt;br /&gt;
		pi	L0812			; 0BD2 28 08 12&lt;br /&gt;
		lr	A, I			; 0BD5 4D&lt;br /&gt;
		ci	$53			; 0BD6 25 53&lt;br /&gt;
		bm	L0BE1			; 0BD8 91 08&lt;br /&gt;
		ci	$17			; 0BDA 25 17&lt;br /&gt;
		bm	L0BEC			; 0BDC 91 0F&lt;br /&gt;
		li	$12			; 0BDE 20 12&lt;br /&gt;
		lr	3, A			; 0BE0 53&lt;br /&gt;
L0BE1:		lr	A, S			; 0BE1 4C&lt;br /&gt;
		lr	4, A			; 0BE2 54&lt;br /&gt;
		ds	4			; 0BE3 34&lt;br /&gt;
		lis	1			; 0BE4 71&lt;br /&gt;
		lr	5, A			; 0BE5 55&lt;br /&gt;
		li	$41			; 0BE6 20 41&lt;br /&gt;
		lr	2, A			; 0BE8 52&lt;br /&gt;
		pi	L083C			; 0BE9 28 08 3C&lt;br /&gt;
L0BEC:		li	$80			; 0BEC 20 80&lt;br /&gt;
		lr	2, A			; 0BEE 52&lt;br /&gt;
		dci	L1331			; 0BEF 2A 13 31&lt;br /&gt;
		pi	L08EE			; 0BF2 28 08 EE&lt;br /&gt;
		bz	L0BFC			; 0BF5 84 06&lt;br /&gt;
		clr				; 0BF7 70&lt;br /&gt;
		lr	2, A			; 0BF8 52&lt;br /&gt;
		dci	L132F			; 0BF9 2A 13 2F&lt;br /&gt;
L0BFC:		clr				; 0BFC 70&lt;br /&gt;
		as	0			; 0BFD C0&lt;br /&gt;
		bnz	L0C0A			; 0BFE 94 0B&lt;br /&gt;
		dci	L132D			; 0C00 2A 13 2D&lt;br /&gt;
		lis	8			; 0C03 78&lt;br /&gt;
		ns	$B			; 0C04 FB&lt;br /&gt;
		bz	L0C0A			; 0C05 84 04&lt;br /&gt;
		jmp	L0C96			; 0C07 29 0C 96&lt;br /&gt;
L0C0A:		lr	A, 9			; 0C0A 49&lt;br /&gt;
		com				; 0C0B 18&lt;br /&gt;
		inc				; 0C0C 1F&lt;br /&gt;
		as	0			; 0C0D C0&lt;br /&gt;
		bnz	L0C13			; 0C0E 94 04&lt;br /&gt;
		li	$40			; 0C10 20 40&lt;br /&gt;
		lr	2, A			; 0C12 52&lt;br /&gt;
L0C13:		lisu	5			; 0C13 65&lt;br /&gt;
		lisl	2			; 0C14 6A&lt;br /&gt;
		lr	A, I			; 0C15 4D&lt;br /&gt;
		lr	3, A			; 0C16 53&lt;br /&gt;
		lr	A, S			; 0C17 4C&lt;br /&gt;
		lr	4, A			; 0C18 54&lt;br /&gt;
		lis	1			; 0C19 71&lt;br /&gt;
		ns	$B			; 0C1A FB&lt;br /&gt;
		bnz	L0C24			; 0C1B 94 08&lt;br /&gt;
		pi	L0812			; 0C1D 28 08 12&lt;br /&gt;
		lr	A, 3			; 0C20 43&lt;br /&gt;
		lr	I, A			; 0C21 5D&lt;br /&gt;
		lr	A, 4			; 0C22 44&lt;br /&gt;
		lr	D, A			; 0C23 5E&lt;br /&gt;
L0C24:		pi	L0812			; 0C24 28 08 12&lt;br /&gt;
		pi	L082F			; 0C27 28 08 2F&lt;br /&gt;
		li	$40			; 0C2A 20 40&lt;br /&gt;
		ns	$B			; 0C2C FB&lt;br /&gt;
		bz	L0C5C			; 0C2D 84 2E&lt;br /&gt;
		lisu	7			; 0C2F 67&lt;br /&gt;
		lisl	6			; 0C30 6E&lt;br /&gt;
		lr	A, S			; 0C31 4C&lt;br /&gt;
		ci	6			; 0C32 25 06&lt;br /&gt;
		bp	L0C68			; 0C34 81 33&lt;br /&gt;
		ci	7			; 0C36 25 07&lt;br /&gt;
		bz	L0C44			; 0C38 84 0B&lt;br /&gt;
L0C3A:		lr	A, $B			; 0C3A 4B&lt;br /&gt;
		oi	6			; 0C3B 22 06&lt;br /&gt;
		lr	$B, A			; 0C3D 5B&lt;br /&gt;
		br	L0C96			; 0C3E 90 57&lt;br /&gt;
		.byte	$5C, $29, $0E, $16	; 0C40&lt;br /&gt;
L0C44:		lisu	2			; 0C44 62&lt;br /&gt;
		lisl	1			; 0C45 69&lt;br /&gt;
		lr	A, S			; 0C46 4C&lt;br /&gt;
		ci	$26			; 0C47 25 26&lt;br /&gt;
		bm	L0C3A			; 0C49 91 F0&lt;br /&gt;
		ci	$1A			; 0C4B 25 1A&lt;br /&gt;
		bp	L0C3A			; 0C4D 81 EC&lt;br /&gt;
		lisu	2			; 0C4F 62&lt;br /&gt;
		lisl	0			; 0C50 68&lt;br /&gt;
		lr	A, S			; 0C51 4C&lt;br /&gt;
		ci	$32			; 0C52 25 32&lt;br /&gt;
		lis	$B			; 0C54 7B&lt;br /&gt;
		bm	L0C58			; 0C55 91 02&lt;br /&gt;
		lis	3			; 0C57 73&lt;br /&gt;
L0C58:		lr	9, A			; 0C58 59&lt;br /&gt;
		jmp	L0D1C			; 0C59 29 0D 1C&lt;br /&gt;
L0C5C:		li	$10			; 0C5C 20 10&lt;br /&gt;
		ns	$B			; 0C5E FB&lt;br /&gt;
		bz	L0C96			; 0C5F 84 36&lt;br /&gt;
		lisu	7			; 0C61 67&lt;br /&gt;
		lisl	6			; 0C62 6E&lt;br /&gt;
		lr	A, S			; 0C63 4C&lt;br /&gt;
		ci	6			; 0C64 25 06&lt;br /&gt;
		bm	L0C3A			; 0C66 91 D3&lt;br /&gt;
L0C68:		li	$10			; 0C68 20 10&lt;br /&gt;
		ns	$A			; 0C6A FA&lt;br /&gt;
		bnz	L0C93			; 0C6B 94 27&lt;br /&gt;
L0C6D:		dci	L137A			; 0C6D 2A 13 7A&lt;br /&gt;
		pi	L088E			; 0C70 28 08 8E&lt;br /&gt;
		lis	1			; 0C73 71&lt;br /&gt;
		ns	$A			; 0C74 FA&lt;br /&gt;
		lisu	6			; 0C75 66&lt;br /&gt;
		lisl	1			; 0C76 69&lt;br /&gt;
		lr	A, S			; 0C77 4C&lt;br /&gt;
		bz	L0C87			; 0C78 84 0E&lt;br /&gt;
		ci	$26			; 0C7A 25 26&lt;br /&gt;
		bp	L0C82			; 0C7C 81 05&lt;br /&gt;
		ai	$F6			; 0C7E 24 F6&lt;br /&gt;
		br	L0C92			; 0C80 90 11&lt;br /&gt;
L0C82:		ai	$12			; 0C82 24 12&lt;br /&gt;
		sr	1			; 0C84 12&lt;br /&gt;
		br	L0C92			; 0C85 90 0C&lt;br /&gt;
L0C87:		ci	$44			; 0C87 25 44&lt;br /&gt;
		bm	L0C8F			; 0C89 91 05&lt;br /&gt;
		ai	$A			; 0C8B 24 0A&lt;br /&gt;
		br	L0C92			; 0C8D 90 04&lt;br /&gt;
L0C8F:		ai	$58			; 0C8F 24 58&lt;br /&gt;
		sr	1			; 0C91 12&lt;br /&gt;
L0C92:		lr	S, A			; 0C92 5C&lt;br /&gt;
L0C93:		jmp	L0E68			; 0C93 29 0E 68&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; play_short_beep_and_update_state (confirmed sound section)&lt;br /&gt;
; Select delay data through L1251, wait, pulse $40 (1 kHz) then $00 on port 5.&lt;br /&gt;
; The following path continues into event/state processing when required.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0C96:		nop				; 0C96 2B&lt;br /&gt;
		dci	L1251			; 0C97 2A 12 51&lt;br /&gt;
		lisu	7			; 0C9A 67&lt;br /&gt;
		lisl	2			; 0C9B 6A&lt;br /&gt;
		lr	A, S			; 0C9C 4C&lt;br /&gt;
		adc				; 0C9D 8E&lt;br /&gt;
		adc				; 0C9E 8E&lt;br /&gt;
		lm				; 0C9F 16&lt;br /&gt;
		lr	5, A			; 0CA0 55&lt;br /&gt;
		lm				; 0CA1 16&lt;br /&gt;
L0CA2:		inc				; 0CA2 1F&lt;br /&gt;
		bnz	L0CA2			; 0CA3 94 FE&lt;br /&gt;
		ds	5			; 0CA5 35&lt;br /&gt;
		bnz	L0CA2			; 0CA6 94 FB&lt;br /&gt;
		li	$40			; 0CA8 20 40&lt;br /&gt;
		outs	5			; 0CAA B5&lt;br /&gt;
		clr				; 0CAB 70&lt;br /&gt;
		outs	5			; 0CAC B5&lt;br /&gt;
		lis	4			; 0CAD 74&lt;br /&gt;
		ns	$B			; 0CAE FB&lt;br /&gt;
		bnz	L0CB2			; 0CAF 94 02&lt;br /&gt;
		pk				; 0CB1 0C&lt;br /&gt;
L0CB2:		dci	L1381			; 0CB2 2A 13 81&lt;br /&gt;
		pi	L088E			; 0CB5 28 08 8E&lt;br /&gt;
		li	$10			; 0CB8 20 10&lt;br /&gt;
		as	9			; 0CBA C9&lt;br /&gt;
		as	9			; 0CBB C9&lt;br /&gt;
		lr	IS, A			; 0CBC 0B&lt;br /&gt;
		lr	A, S			; 0CBD 4C&lt;br /&gt;
		lisu	6			; 0CBE 66&lt;br /&gt;
		lisl	1			; 0CBF 69&lt;br /&gt;
		inc				; 0CC0 1F&lt;br /&gt;
		lr	S, A			; 0CC1 5C&lt;br /&gt;
		lr	A, $B			; 0CC2 4B&lt;br /&gt;
		ni	$FB			; 0CC3 21 FB&lt;br /&gt;
		lr	$B, A			; 0CC5 5B&lt;br /&gt;
		lis	1			; 0CC6 71&lt;br /&gt;
		ns	$A			; 0CC7 FA&lt;br /&gt;
		bz	L0CCD			; 0CC8 84 04&lt;br /&gt;
		lis	4			; 0CCA 74&lt;br /&gt;
		as	$B			; 0CCB CB&lt;br /&gt;
		lr	$B, A			; 0CCC 5B&lt;br /&gt;
L0CCD:		lis	2			; 0CCD 72&lt;br /&gt;
		ns	$A			; 0CCE FA&lt;br /&gt;
		bz	L0CD4			; 0CCF 84 04&lt;br /&gt;
		lis	4			; 0CD1 74&lt;br /&gt;
		xs	$B			; 0CD2 EB&lt;br /&gt;
		lr	$B, A			; 0CD3 5B&lt;br /&gt;
L0CD4:		lis	4			; 0CD4 74&lt;br /&gt;
		ns	$B			; 0CD5 FB&lt;br /&gt;
		bz	L0CF9			; 0CD6 84 22&lt;br /&gt;
		lr	A, S			; 0CD8 4C&lt;br /&gt;
		ci	$58			; 0CD9 25 58&lt;br /&gt;
		bm	L0D13			; 0CDB 91 37&lt;br /&gt;
		ci	$11			; 0CDD 25 11&lt;br /&gt;
		bm	L0CE8			; 0CDF 91 08&lt;br /&gt;
		lis	2			; 0CE1 72&lt;br /&gt;
		ns	$A			; 0CE2 FA&lt;br /&gt;
		bz	L0CF2			; 0CE3 84 0E&lt;br /&gt;
		li	$21			; 0CE5 20 21&lt;br /&gt;
L0CE7:		lr	S, A			; 0CE7 5C&lt;br /&gt;
L0CE8:		lis	2			; 0CE8 72&lt;br /&gt;
		ns	$A			; 0CE9 FA&lt;br /&gt;
		bnz	L0CEF			; 0CEA 94 04&lt;br /&gt;
		jmp	L0E68			; 0CEC 29 0E 68&lt;br /&gt;
L0CEF:		jmp	L0E16			; 0CEF 29 0E 16&lt;br /&gt;
L0CF2:		li	$49			; 0CF2 20 49&lt;br /&gt;
		lr	S, A			; 0CF4 5C&lt;br /&gt;
		lis	2			; 0CF5 72&lt;br /&gt;
L0CF6:		lr	9, A			; 0CF6 59&lt;br /&gt;
		br	L0D27			; 0CF7 90 2F&lt;br /&gt;
L0CF9:		ds	S			; 0CF9 3C&lt;br /&gt;
		ds	S			; 0CFA 3C&lt;br /&gt;
		lr	A, S			; 0CFB 4C&lt;br /&gt;
		ci	$11			; 0CFC 25 11&lt;br /&gt;
		bp	L0D10			; 0CFE 81 11&lt;br /&gt;
		ci	$58			; 0D00 25 58&lt;br /&gt;
		bp	L0CE7			; 0D02 81 E4&lt;br /&gt;
		lis	2			; 0D04 72&lt;br /&gt;
		ns	$A			; 0D05 FA&lt;br /&gt;
		li	$49			; 0D06 20 49&lt;br /&gt;
		bnz	L0CE7			; 0D08 94 DE&lt;br /&gt;
		li	$21			; 0D0A 20 21&lt;br /&gt;
		lr	S, A			; 0D0C 5C&lt;br /&gt;
		lis	$A			; 0D0D 7A&lt;br /&gt;
		br	L0CF6			; 0D0E 90 E7&lt;br /&gt;
L0D10:		lis	7			; 0D10 77&lt;br /&gt;
		br	L0D14			; 0D11 90 02&lt;br /&gt;
L0D13:		lis	$F			; 0D13 7F&lt;br /&gt;
L0D14:		lr	9, A			; 0D14 59&lt;br /&gt;
		lis	2			; 0D15 72&lt;br /&gt;
		ns	$A			; 0D16 FA&lt;br /&gt;
		bz	L0D1C			; 0D17 84 04&lt;br /&gt;
		lis	1			; 0D19 71&lt;br /&gt;
		xs	$A			; 0D1A EA&lt;br /&gt;
		lr	$A, A			; 0D1B 5A&lt;br /&gt;
L0D1C:		lis	8			; 0D1C 78&lt;br /&gt;
		ns	9			; 0D1D F9&lt;br /&gt;
		lisu	6			; 0D1E 66&lt;br /&gt;
		lisl	1			; 0D1F 69&lt;br /&gt;
		li	$49			; 0D20 20 49&lt;br /&gt;
		bnz	L0D26			; 0D22 94 03&lt;br /&gt;
		li	$21			; 0D24 20 21&lt;br /&gt;
L0D26:		lr	S, A			; 0D26 5C&lt;br /&gt;
L0D27:		dci	L13CF			; 0D27 2A 13 CF&lt;br /&gt;
		pi	L088E			; 0D2A 28 08 8E&lt;br /&gt;
		jmp	L0E18			; 0D2D 29 0E 18&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; direction_from_coordinate_delta (strongly likely)&lt;br /&gt;
; Compare coordinate pair r9 with pair r0, form absolute X/Y differences and&lt;br /&gt;
; encode horizontal direction as 1/2 and vertical direction as 4/8 in r4.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0D30:		li	$10			; 0D30 20 10&lt;br /&gt;
		as	9			; 0D32 C9&lt;br /&gt;
		as	9			; 0D33 C9&lt;br /&gt;
		lr	IS, A			; 0D34 0B&lt;br /&gt;
		lr	A, I			; 0D35 4D&lt;br /&gt;
		lr	5, A			; 0D36 55&lt;br /&gt;
		lr	A, S			; 0D37 4C&lt;br /&gt;
		lr	6, A			; 0D38 56&lt;br /&gt;
		li	$10			; 0D39 20 10&lt;br /&gt;
		as	0			; 0D3B C0&lt;br /&gt;
		as	0			; 0D3C C0&lt;br /&gt;
		lr	IS, A			; 0D3D 0B&lt;br /&gt;
		lr	A, I			; 0D3E 4D&lt;br /&gt;
		com				; 0D3F 18&lt;br /&gt;
		inc				; 0D40 1F&lt;br /&gt;
		as	5			; 0D41 C5&lt;br /&gt;
		lr	5, A			; 0D42 55&lt;br /&gt;
		bp	L0D47			; 0D43 81 03&lt;br /&gt;
		com				; 0D45 18&lt;br /&gt;
		inc				; 0D46 1F&lt;br /&gt;
L0D47:		lr	4, A			; 0D47 54&lt;br /&gt;
		lr	A, S			; 0D48 4C&lt;br /&gt;
		com				; 0D49 18&lt;br /&gt;
		inc				; 0D4A 1F&lt;br /&gt;
		as	6			; 0D4B C6&lt;br /&gt;
		lr	6, A			; 0D4C 56&lt;br /&gt;
		bp	L0D51			; 0D4D 81 03&lt;br /&gt;
		com				; 0D4F 18&lt;br /&gt;
		inc				; 0D50 1F&lt;br /&gt;
L0D51:		lr	3, A			; 0D51 53&lt;br /&gt;
		com				; 0D52 18&lt;br /&gt;
		inc				; 0D53 1F&lt;br /&gt;
		as	4			; 0D54 C4&lt;br /&gt;
		clr				; 0D55 70&lt;br /&gt;
		bm	L0D5F			; 0D56 91 08&lt;br /&gt;
		as	5			; 0D58 C5&lt;br /&gt;
		lis	1			; 0D59 71&lt;br /&gt;
		bp	L0D5D			; 0D5A 81 02&lt;br /&gt;
		lis	2			; 0D5C 72&lt;br /&gt;
L0D5D:		br	L0D64			; 0D5D 90 06&lt;br /&gt;
L0D5F:		as	6			; 0D5F C6&lt;br /&gt;
		lis	4			; 0D60 74&lt;br /&gt;
		bp	L0D64			; 0D61 81 02&lt;br /&gt;
		lis	8			; 0D63 78&lt;br /&gt;
L0D64:		lr	4, A			; 0D64 54&lt;br /&gt;
		br	L0D83			; 0D65 90 1D&lt;br /&gt;
L0D67:		li	$10			; 0D67 20 10&lt;br /&gt;
		as	0			; 0D69 C0&lt;br /&gt;
		as	0			; 0D6A C0&lt;br /&gt;
		lr	IS, A			; 0D6B 0B&lt;br /&gt;
		lr	A, I			; 0D6C 4D&lt;br /&gt;
		com				; 0D6D 18&lt;br /&gt;
		inc				; 0D6E 1F&lt;br /&gt;
		as	5			; 0D6F C5&lt;br /&gt;
		bz	L0D76			; 0D70 84 05&lt;br /&gt;
		lis	2			; 0D72 72&lt;br /&gt;
		bm	L0D76			; 0D73 91 02&lt;br /&gt;
		lis	1			; 0D75 71&lt;br /&gt;
L0D76:		lr	4, A			; 0D76 54&lt;br /&gt;
		lr	A, S			; 0D77 4C&lt;br /&gt;
		com				; 0D78 18&lt;br /&gt;
		inc				; 0D79 1F&lt;br /&gt;
		as	6			; 0D7A C6&lt;br /&gt;
		bz	L0D81			; 0D7B 84 05&lt;br /&gt;
		lis	8			; 0D7D 78&lt;br /&gt;
		bm	L0D81			; 0D7E 91 02&lt;br /&gt;
		lis	4			; 0D80 74&lt;br /&gt;
L0D81:		as	4			; 0D81 C4&lt;br /&gt;
		lr	4, A			; 0D82 54&lt;br /&gt;
L0D83:		jmp	L0A24			; 0D83 29 0A 24&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; choose_direction_step (strongly likely)&lt;br /&gt;
; Produce small signed steps, normally 0, 4 or $FC (-4), from side, state and&lt;br /&gt;
; current object coordinates; continue through the direction decoder.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0D86:		clr				; 0D86 70&lt;br /&gt;
		lr	5, A			; 0D87 55&lt;br /&gt;
		lr	6, A			; 0D88 56&lt;br /&gt;
		as	2			; 0D89 C2&lt;br /&gt;
		ci	0			; 0D8A 25 00&lt;br /&gt;
		bnz	L0D98			; 0D8C 94 0B&lt;br /&gt;
		lis	1			; 0D8E 71&lt;br /&gt;
		ns	$A			; 0D8F FA&lt;br /&gt;
		lis	4			; 0D90 74&lt;br /&gt;
		bnz	L0D95			; 0D91 94 03&lt;br /&gt;
		li	$FC			; 0D93 20 FC&lt;br /&gt;
L0D95:		lr	5, A			; 0D95 55&lt;br /&gt;
		br	L0DA6			; 0D96 90 0F&lt;br /&gt;
L0D98:		li	$11			; 0D98 20 11&lt;br /&gt;
		as	7			; 0D9A C7&lt;br /&gt;
		as	7			; 0D9B C7&lt;br /&gt;
		lr	IS, A			; 0D9C 0B&lt;br /&gt;
		lr	A, S			; 0D9D 4C&lt;br /&gt;
		ci	$23			; 0D9E 25 23&lt;br /&gt;
		li	$FC			; 0DA0 20 FC&lt;br /&gt;
		bm	L0DA5			; 0DA2 91 02&lt;br /&gt;
		lis	4			; 0DA4 74&lt;br /&gt;
L0DA5:		lr	6, A			; 0DA5 56&lt;br /&gt;
L0DA6:		li	$10			; 0DA6 20 10&lt;br /&gt;
		as	7			; 0DA8 C7&lt;br /&gt;
		as	7			; 0DA9 C7&lt;br /&gt;
		lr	IS, A			; 0DAA 0B&lt;br /&gt;
		lr	A, I			; 0DAB 4D&lt;br /&gt;
		as	5			; 0DAC C5&lt;br /&gt;
		lr	5, A			; 0DAD 55&lt;br /&gt;
		lr	A, S			; 0DAE 4C&lt;br /&gt;
		as	6			; 0DAF C6&lt;br /&gt;
		lr	6, A			; 0DB0 56&lt;br /&gt;
		br	L0D67			; 0DB1 90 B5&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; lookup_state_table_125d (strongly likely)&lt;br /&gt;
; Replace the current scratchpad state through L125D and choose r0=6 or 12 from&lt;br /&gt;
; ISAR parity before entering the nested update worker.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0DB3:		dci	L125D			; 0DB3 2A 12 5D&lt;br /&gt;
		lr	A, S			; 0DB6 4C&lt;br /&gt;
		adc				; 0DB7 8E&lt;br /&gt;
		lm				; 0DB8 16&lt;br /&gt;
		lr	S, A			; 0DB9 5C&lt;br /&gt;
		lr	A, IS			; 0DBA 0A&lt;br /&gt;
		ni	1			; 0DBB 21 01&lt;br /&gt;
		lis	$C			; 0DBD 7C&lt;br /&gt;
		bnz	L0DC1			; 0DBE 94 02&lt;br /&gt;
		lis	6			; 0DC0 76&lt;br /&gt;
L0DC1:		lr	0, A			; 0DC1 50&lt;br /&gt;
		lisu	6			; 0DC2 66&lt;br /&gt;
		lisl	7			; 0DC3 6F&lt;br /&gt;
		clr				; 0DC4 70&lt;br /&gt;
		lr	S, A			; 0DC5 5C&lt;br /&gt;
; nested_state_update (strongly likely)&lt;br /&gt;
; Save the caller return from K in Q, process state/formation tables L1313 or&lt;br /&gt;
; L12FB, and return explicitly with LR P0,Q at L0E15.&lt;br /&gt;
L0DC6:		lr	K, P			; 0DC6 08&lt;br /&gt;
		lr	A, KU			; 0DC7 00&lt;br /&gt;
		lr	QU, A			; 0DC8 06&lt;br /&gt;
		lr	A, KL			; 0DC9 01&lt;br /&gt;
		lr	QL, A			; 0DCA 07&lt;br /&gt;
L0DCB:		dci	L1313			; 0DCB 2A 13 13&lt;br /&gt;
		lisu	6			; 0DCE 66&lt;br /&gt;
		lisl	1			; 0DCF 69&lt;br /&gt;
		lr	A, S			; 0DD0 4C&lt;br /&gt;
		lr	6, A			; 0DD1 56&lt;br /&gt;
		lisu	6			; 0DD2 66&lt;br /&gt;
		lisl	7			; 0DD3 6F&lt;br /&gt;
		lis	4			; 0DD4 74&lt;br /&gt;
		ns	S			; 0DD5 FC&lt;br /&gt;
		bz	L0DEB			; 0DD6 84 14&lt;br /&gt;
		dci	L12FB			; 0DD8 2A 12 FB&lt;br /&gt;
		lr	A, 0			; 0DDB 40&lt;br /&gt;
		ci	6			; 0DDC 25 06&lt;br /&gt;
		bm	L0DEB			; 0DDE 91 0C&lt;br /&gt;
		lis	$C			; 0DE0 7C&lt;br /&gt;
		adc				; 0DE1 8E&lt;br /&gt;
		lis	1			; 0DE2 71&lt;br /&gt;
		ns	$A			; 0DE3 FA&lt;br /&gt;
		li	$F6			; 0DE4 20 F6&lt;br /&gt;
		bnz	L0DE9			; 0DE6 94 02&lt;br /&gt;
		lis	$A			; 0DE8 7A&lt;br /&gt;
L0DE9:		as	6			; 0DE9 C6&lt;br /&gt;
		lr	6, A			; 0DEA 56&lt;br /&gt;
L0DEB:		lisu	5			; 0DEB 65&lt;br /&gt;
		lisl	3			; 0DEC 6B&lt;br /&gt;
		lr	A, 0			; 0DED 40&lt;br /&gt;
		adc				; 0DEE 8E&lt;br /&gt;
		adc				; 0DEF 8E&lt;br /&gt;
		lm				; 0DF0 16&lt;br /&gt;
		lr	D, A			; 0DF1 5E&lt;br /&gt;
		pi	L08EE			; 0DF2 28 08 EE&lt;br /&gt;
		lm				; 0DF5 16&lt;br /&gt;
		bz	L0DFA			; 0DF6 84 03&lt;br /&gt;
		com				; 0DF8 18&lt;br /&gt;
		inc				; 0DF9 1F&lt;br /&gt;
L0DFA:		as	6			; 0DFA C6&lt;br /&gt;
L0DFB:		lr	S, A			; 0DFB 5C&lt;br /&gt;
		ci	$C			; 0DFC 25 0C&lt;br /&gt;
		bp	L0E06			; 0DFE 81 07&lt;br /&gt;
		ci	$5E			; 0E00 25 5E&lt;br /&gt;
		bp	L0E09			; 0E02 81 06&lt;br /&gt;
		ai	$FE			; 0E04 24 FE&lt;br /&gt;
L0E06:		inc				; 0E06 1F&lt;br /&gt;
		br	L0DFB			; 0E07 90 F3&lt;br /&gt;
L0E09:		clr				; 0E09 70&lt;br /&gt;
		lr	$B, A			; 0E0A 5B&lt;br /&gt;
		pi	L0BBB			; 0E0B 28 0B BB&lt;br /&gt;
		ds	0			; 0E0E 30&lt;br /&gt;
		bz	L0E15			; 0E0F 84 05&lt;br /&gt;
		lis	6			; 0E11 76&lt;br /&gt;
		xs	0			; 0E12 E0&lt;br /&gt;
		bnz	L0DCB			; 0E13 94 B7&lt;br /&gt;
L0E15:		lr	P0, Q			; 0E15 0D&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; start_round_or_screen (strongly likely)&lt;br /&gt;
; Reset phase-local state, toggle r10 bit 0, draw fixed screen components, and&lt;br /&gt;
; initialize players/objects for the next side or round.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0E16:		clr				; 0E16 70&lt;br /&gt;
		lr	9, A			; 0E17 59&lt;br /&gt;
L0E18:		lis	1			; 0E18 71&lt;br /&gt;
		xs	$A			; 0E19 EA&lt;br /&gt;
		lr	$A, A			; 0E1A 5A&lt;br /&gt;
		lisu	6			; 0E1B 66&lt;br /&gt;
		lisl	0			; 0E1C 68&lt;br /&gt;
		clr				; 0E1D 70&lt;br /&gt;
		lr	S, A			; 0E1E 5C&lt;br /&gt;
; draw_fixed_screen_element: render parameter block L135F through L0820.&lt;br /&gt;
L0E1F:		dci	L135F			; 0E1F 2A 13 5F&lt;br /&gt;
		pi	L0820			; 0E22 28 08 20&lt;br /&gt;
L0E25:		lisu	5			; 0E25 65&lt;br /&gt;
		lisl	6			; 0E26 6E&lt;br /&gt;
		li	$12			; 0E27 20 12&lt;br /&gt;
		lr	4, A			; 0E29 54&lt;br /&gt;
		li	$1B			; 0E2A 20 1B&lt;br /&gt;
		lr	3, A			; 0E2C 53&lt;br /&gt;
		clr				; 0E2D 70&lt;br /&gt;
		lr	2, A			; 0E2E 52&lt;br /&gt;
L0E2F:		lr	A, S			; 0E2F 4C&lt;br /&gt;
		sr	4			; 0E30 14&lt;br /&gt;
		lr	1, A			; 0E31 51&lt;br /&gt;
		pi	L0840			; 0E32 28 08 40&lt;br /&gt;
		lr	A, I			; 0E35 4D&lt;br /&gt;
		sl	4			; 0E36 15&lt;br /&gt;
		sr	4			; 0E37 14&lt;br /&gt;
		lr	1, A			; 0E38 51&lt;br /&gt;
		lis	5			; 0E39 75&lt;br /&gt;
		as	3			; 0E3A C3&lt;br /&gt;
		lr	3, A			; 0E3B 53&lt;br /&gt;
		pi	L0840			; 0E3C 28 08 40&lt;br /&gt;
		li	$43			; 0E3F 20 43&lt;br /&gt;
		lr	3, A			; 0E41 53&lt;br /&gt;
		li	$80			; 0E42 20 80&lt;br /&gt;
		lr	2, A			; 0E44 52&lt;br /&gt;
		lr	A, IS			; 0E45 0A&lt;br /&gt;
		ci	$2F			; 0E46 25 2F&lt;br /&gt;
		bz	L0E2F			; 0E48 84 E6&lt;br /&gt;
		lis	7			; 0E4A 77&lt;br /&gt;
		ns	9			; 0E4B F9&lt;br /&gt;
		bz	L0E60			; 0E4C 84 13&lt;br /&gt;
		ds	9			; 0E4E 39&lt;br /&gt;
		lis	8			; 0E4F 78&lt;br /&gt;
		ns	9			; 0E50 F9&lt;br /&gt;
		lisl	6			; 0E51 6E&lt;br /&gt;
		bnz	L0E55			; 0E52 94 02&lt;br /&gt;
		lr	A, I			; 0E54 4D&lt;br /&gt;
L0E55:		li	$67			; 0E55 20 67&lt;br /&gt;
		outs	5			; 0E57 B5&lt;br /&gt;
		lr	5, A			; 0E58 55&lt;br /&gt;
		asd	S			; 0E59 DC&lt;br /&gt;
		lr	S, A			; 0E5A 5C&lt;br /&gt;
		pi	L0818			; 0E5B 28 08 18&lt;br /&gt;
		br	L0E25			; 0E5E 90 C6&lt;br /&gt;
L0E60:		lis	2			; 0E60 72&lt;br /&gt;
		lr	4, A			; 0E61 54&lt;br /&gt;
L0E62:		pi	L0818			; 0E62 28 08 18&lt;br /&gt;
		ds	4			; 0E65 34&lt;br /&gt;
		bnz	L0E62			; 0E66 94 FB&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; advance_init_phase (confirmed counter behavior)&lt;br /&gt;
; Increment O60 and repeat initialization while the phase value is below four.&lt;br /&gt;
; After phase four, build the field and initialize active play state.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0E68:		lisu	6			; 0E68 66&lt;br /&gt;
		lisl	0			; 0E69 68&lt;br /&gt;
		lr	A, S			; 0E6A 4C&lt;br /&gt;
		inc				; 0E6B 1F&lt;br /&gt;
		lr	S, A			; 0E6C 5C&lt;br /&gt;
		ci	4			; 0E6D 25 04&lt;br /&gt;
		bm	L0E16			; 0E6F 91 A6&lt;br /&gt;
		lis	2			; 0E71 72&lt;br /&gt;
		lr	4, A			; 0E72 54&lt;br /&gt;
L0E73:		pi	L0818			; 0E73 28 08 18&lt;br /&gt;
		ds	4			; 0E76 34&lt;br /&gt;
		bnz	L0E73			; 0E77 94 FB&lt;br /&gt;
		lisu	2			; 0E79 62&lt;br /&gt;
		lisl	0			; 0E7A 68&lt;br /&gt;
		pi	L082C			; 0E7B 28 08 2C&lt;br /&gt;
		dci	L1333			; 0E7E 2A 13 33&lt;br /&gt;
		lis	8			; 0E81 78&lt;br /&gt;
		lr	8, A			; 0E82 58&lt;br /&gt;
L0E83:		pi	L0820			; 0E83 28 08 20&lt;br /&gt;
		ds	8			; 0E86 38&lt;br /&gt;
		bnz	L0E83			; 0E87 94 FB&lt;br /&gt;
L0E89:		lis	$D			; 0E89 7D&lt;br /&gt;
		lr	4, A			; 0E8A 54&lt;br /&gt;
		lis	2			; 0E8B 72&lt;br /&gt;
		lr	6, A			; 0E8C 56&lt;br /&gt;
		pi	L084A			; 0E8D 28 08 4A&lt;br /&gt;
		li	$37			; 0E90 20 37&lt;br /&gt;
		lr	4, A			; 0E92 54&lt;br /&gt;
		lis	2			; 0E93 72&lt;br /&gt;
		lr	6, A			; 0E94 56&lt;br /&gt;
		pi	L084A			; 0E95 28 08 4A&lt;br /&gt;
		lis	7			; 0E98 77&lt;br /&gt;
		as	3			; 0E99 C3&lt;br /&gt;
		lr	3, A			; 0E9A 53&lt;br /&gt;
		ci	$55			; 0E9B 25 55&lt;br /&gt;
		bp	L0E89			; 0E9D 81 EB&lt;br /&gt;
		lis	2			; 0E9F 72&lt;br /&gt;
		lr	9, A			; 0EA0 59&lt;br /&gt;
		lr	A, $A			; 0EA1 4A&lt;br /&gt;
		ni	$C5			; 0EA2 21 C5&lt;br /&gt;
		lr	$A, A			; 0EA4 5A&lt;br /&gt;
		lisu	6			; 0EA5 66&lt;br /&gt;
		lisl	1			; 0EA6 69&lt;br /&gt;
		lr	A, D			; 0EA7 4E&lt;br /&gt;
		lr	3, A			; 0EA8 53&lt;br /&gt;
		ds	3			; 0EA9 33&lt;br /&gt;
		lis	7			; 0EAA 77&lt;br /&gt;
		lr	4, A			; 0EAB 54&lt;br /&gt;
		lis	1			; 0EAC 71&lt;br /&gt;
		ns	$A			; 0EAD FA&lt;br /&gt;
		lr	$A, A			; 0EAE 5A&lt;br /&gt;
		clr				; 0EAF 70&lt;br /&gt;
		bnz	L0EB4			; 0EB0 94 03&lt;br /&gt;
		li	$80			; 0EB2 20 80&lt;br /&gt;
L0EB4:		lr	2, A			; 0EB4 52&lt;br /&gt;
		lr	A, S			; 0EB5 4C&lt;br /&gt;
		lr	1, A			; 0EB6 51&lt;br /&gt;
		pi	L0840			; 0EB7 28 08 40&lt;br /&gt;
		pi	L09C4			; 0EBA 28 09 C4&lt;br /&gt;
		clr				; 0EBD 70&lt;br /&gt;
		as	S			; 0EBE CC&lt;br /&gt;
		bnz	L0ED1			; 0EBF 94 11&lt;br /&gt;
		li	$F0			; 0EC1 20 F0&lt;br /&gt;
		lr	S, A			; 0EC3 5C&lt;br /&gt;
		dci	L1392			; 0EC4 2A 13 92&lt;br /&gt;
		pi	L088E			; 0EC7 28 08 8E&lt;br /&gt;
		lisl	0			; 0ECA 68&lt;br /&gt;
		ds	S			; 0ECB 3C&lt;br /&gt;
		clr				; 0ECC 70&lt;br /&gt;
		lr	9, A			; 0ECD 59&lt;br /&gt;
		jmp	L0E1F			; 0ECE 29 0E 1F&lt;br /&gt;
L0ED1:		lisu	2			; 0ED1 62&lt;br /&gt;
		lisl	0			; 0ED2 68&lt;br /&gt;
L0ED3:		lis	4			; 0ED3 74&lt;br /&gt;
		lr	S, A			; 0ED4 5C&lt;br /&gt;
		lr	A, IS			; 0ED5 0A&lt;br /&gt;
		inc				; 0ED6 1F&lt;br /&gt;
		lr	IS, A			; 0ED7 0B&lt;br /&gt;
		ci	$2A			; 0ED8 25 2A&lt;br /&gt;
		bnz	L0ED3			; 0EDA 94 F8&lt;br /&gt;
		lis	$C			; 0EDC 7C&lt;br /&gt;
		lr	0, A			; 0EDD 50&lt;br /&gt;
		lisu	6			; 0EDE 66&lt;br /&gt;
		lisl	7			; 0EDF 6F&lt;br /&gt;
		lis	4			; 0EE0 74&lt;br /&gt;
		lr	S, A			; 0EE1 5C&lt;br /&gt;
		pi	L0DC6			; 0EE2 28 0D C6&lt;br /&gt;
		pi	L0DC6			; 0EE5 28 0D C6&lt;br /&gt;
		lisu	7			; 0EE8 67&lt;br /&gt;
		lisl	6			; 0EE9 6E&lt;br /&gt;
		li	$C0			; 0EEA 20 C0&lt;br /&gt;
		lr	I, A			; 0EEC 5D&lt;br /&gt;
		lr	D, A			; 0EED 5E&lt;br /&gt;
		lisu	2			; 0EEE 62&lt;br /&gt;
		lisl	0			; 0EEF 68&lt;br /&gt;
		li	$60			; 0EF0 20 60&lt;br /&gt;
		lr	S, A			; 0EF2 5C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; main_game_loop (strongly likely)&lt;br /&gt;
; Alternate controller sources, debounce console input, update active objects,&lt;br /&gt;
; evaluate state transitions and invoke the table-driven update worker.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0EF3:		lisu	7			; 0EF3 67&lt;br /&gt;
		lisl	6			; 0EF4 6E&lt;br /&gt;
L0EF5:		li	$B0			; 0EF5 20 B0&lt;br /&gt;
L0EF7:		inc				; 0EF7 1F&lt;br /&gt;
		bnz	L0EF7			; 0EF8 94 FE&lt;br /&gt;
		lis	1			; 0EFA 71&lt;br /&gt;
		lr	4, A			; 0EFB 54&lt;br /&gt;
L0EFC:		lr	A, IS			; 0EFC 0A&lt;br /&gt;
		xi	1			; 0EFD 23 01&lt;br /&gt;
		lr	IS, A			; 0EFF 0B&lt;br /&gt;
		lr	A, IS			; 0F00 0A&lt;br /&gt;
		lr	7, A			; 0F01 57&lt;br /&gt;
		ni	1			; 0F02 21 01&lt;br /&gt;
		bnz	L0F0B			; 0F04 94 06&lt;br /&gt;
		pi	L08B0			; 0F06 28 08 B0&lt;br /&gt;
		br	L0F0E			; 0F09 90 04&lt;br /&gt;
L0F0B:		pi	L08C1			; 0F0B 28 08 C1&lt;br /&gt;
L0F0E:		lr	A, D			; 0F0E 4E&lt;br /&gt;
		lr	6, A			; 0F0F 56&lt;br /&gt;
		clr				; 0F10 70&lt;br /&gt;
		as	S			; 0F11 CC&lt;br /&gt;
		bnz	L0F22			; 0F12 94 0F&lt;br /&gt;
		lis	5			; 0F14 75&lt;br /&gt;
		lr	5, A			; 0F15 55&lt;br /&gt;
		ins	0			; 0F16 A0&lt;br /&gt;
		com				; 0F17 18&lt;br /&gt;
		ni	$F			; 0F18 21 0F&lt;br /&gt;
		bz	L0F22			; 0F1A 84 07&lt;br /&gt;
L0F1C:		ds	5			; 0F1C 35&lt;br /&gt;
		sr	1			; 0F1D 12&lt;br /&gt;
		bnz	L0F1C			; 0F1E 94 FD&lt;br /&gt;
		lr	A, 5			; 0F20 45&lt;br /&gt;
		lr	S, A			; 0F21 5C&lt;br /&gt;
L0F22:		lr	A, 7			; 0F22 47&lt;br /&gt;
		lr	IS, A			; 0F23 0B&lt;br /&gt;
		lr	A, S			; 0F24 4C&lt;br /&gt;
		ni	$C0			; 0F25 21 C0&lt;br /&gt;
		bnz	L0F33			; 0F27 94 0B&lt;br /&gt;
		ds	4			; 0F29 34&lt;br /&gt;
		bnz	L0F8E			; 0F2A 94 63&lt;br /&gt;
		li	$CE			; 0F2C 20 CE&lt;br /&gt;
L0F2E:		inc				; 0F2E 1F&lt;br /&gt;
		bnz	L0F2E			; 0F2F 94 FE&lt;br /&gt;
		br	L0EFC			; 0F31 90 CA&lt;br /&gt;
L0F33:		lisu	7			; 0F33 67&lt;br /&gt;
		lisl	4			; 0F34 6C&lt;br /&gt;
		ds	S			; 0F35 3C&lt;br /&gt;
		clr				; 0F36 70&lt;br /&gt;
		lisu	2			; 0F37 62&lt;br /&gt;
		lisl	0			; 0F38 68&lt;br /&gt;
		as	S			; 0F39 CC&lt;br /&gt;
		bnz	L0F52			; 0F3A 94 17&lt;br /&gt;
		lr	A, 7			; 0F3C 47&lt;br /&gt;
		lr	IS, A			; 0F3D 0B&lt;br /&gt;
		ni	1			; 0F3E 21 01&lt;br /&gt;
		bz	L0F49			; 0F40 84 08&lt;br /&gt;
		lr	A, D			; 0F42 4E&lt;br /&gt;
		li	$C0			; 0F43 20 C0&lt;br /&gt;
		ns	S			; 0F45 FC&lt;br /&gt;
		lr	A, I			; 0F46 4D&lt;br /&gt;
		bnz	L0EF5			; 0F47 94 AD&lt;br /&gt;
L0F49:		lr	A, S			; 0F49 4C&lt;br /&gt;
		ni	$C0			; 0F4A 21 C0&lt;br /&gt;
		bz	L0EF5			; 0F4C 84 A8&lt;br /&gt;
		clr				; 0F4E 70&lt;br /&gt;
		lr	S, A			; 0F4F 5C&lt;br /&gt;
		br	L0F82			; 0F50 90 31&lt;br /&gt;
L0F52:		lisu	2			; 0F52 62&lt;br /&gt;
		lisl	1			; 0F53 69&lt;br /&gt;
		ds	D			; 0F54 3E&lt;br /&gt;
		bnz	L0F58			; 0F55 94 02&lt;br /&gt;
		ds	D			; 0F57 3E&lt;br /&gt;
L0F58:		lr	A, 7			; 0F58 47&lt;br /&gt;
		lr	IS, A			; 0F59 0B&lt;br /&gt;
		lr	A, 6			; 0F5A 46&lt;br /&gt;
		ni	$30			; 0F5B 21 30&lt;br /&gt;
		bnz	L0F64			; 0F5D 94 06&lt;br /&gt;
L0F5F:		lis	$F			; 0F5F 7F&lt;br /&gt;
		ns	6			; 0F60 F6&lt;br /&gt;
		ai	$C0			; 0F61 24 C0&lt;br /&gt;
		lr	S, A			; 0F63 5C&lt;br /&gt;
L0F64:		lr	A, 6			; 0F64 46&lt;br /&gt;
		com				; 0F65 18&lt;br /&gt;
		inc				; 0F66 1F&lt;br /&gt;
		as	S			; 0F67 CC&lt;br /&gt;
		ni	$F			; 0F68 21 0F&lt;br /&gt;
		bnz	L0F5F			; 0F6A 94 F4&lt;br /&gt;
		lr	A, S			; 0F6C 4C&lt;br /&gt;
		ai	$C0			; 0F6D 24 C0&lt;br /&gt;
		lr	S, A			; 0F6F 5C&lt;br /&gt;
		ni	$C0			; 0F70 21 C0&lt;br /&gt;
		bz	L0F77			; 0F72 84 04&lt;br /&gt;
		jmp	L0EF5			; 0F74 29 0E F5&lt;br /&gt;
L0F77:		lr	A, IS			; 0F77 0A&lt;br /&gt;
		ci	$3E			; 0F78 25 3E&lt;br /&gt;
		bnz	L0F82			; 0F7A 94 07&lt;br /&gt;
		lisu	2			; 0F7C 62&lt;br /&gt;
		lisl	0			; 0F7D 68&lt;br /&gt;
		lis	3			; 0F7E 73&lt;br /&gt;
		lr	S, A			; 0F7F 5C&lt;br /&gt;
		lr	A, 7			; 0F80 47&lt;br /&gt;
		lr	IS, A			; 0F81 0B&lt;br /&gt;
L0F82:		pi	L0DB3			; 0F82 28 0D B3&lt;br /&gt;
		lis	6			; 0F85 76&lt;br /&gt;
		as	0			; 0F86 C0&lt;br /&gt;
		lr	0, A			; 0F87 50&lt;br /&gt;
		pi	L0DC6			; 0F88 28 0D C6&lt;br /&gt;
		jmp	L0EF3			; 0F8B 29 0E F3&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Timed game-event handling and extended collision checks (strongly likely).&lt;br /&gt;
; Initializes O20, waits for controller activity or timeout, updates event flags&lt;br /&gt;
; and object state, then dispatches sound/scene handling.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0F8E:		clr				; 0F8E 70&lt;br /&gt;
		lr	5, A			; 0F8F 55&lt;br /&gt;
		lisu	7			; 0F90 67&lt;br /&gt;
		lisl	2			; 0F91 6A&lt;br /&gt;
		as	S			; 0F92 CC&lt;br /&gt;
		bnz	L0F97			; 0F93 94 03&lt;br /&gt;
		lis	5			; 0F95 75&lt;br /&gt;
		lr	S, A			; 0F96 5C&lt;br /&gt;
L0F97:		lisu	2			; 0F97 62&lt;br /&gt;
		lisl	0			; 0F98 68&lt;br /&gt;
		li	$B0			; 0F99 20 B0&lt;br /&gt;
		lr	S, A			; 0F9B 5C&lt;br /&gt;
		pi	L0818			; 0F9C 28 08 18&lt;br /&gt;
L0F9F:		lisu	2			; 0F9F 62&lt;br /&gt;
		lisl	1			; 0FA0 69&lt;br /&gt;
		ds	D			; 0FA1 3E&lt;br /&gt;
		bnz	L0FAD			; 0FA2 94 0A&lt;br /&gt;
		ds	S			; 0FA4 3C&lt;br /&gt;
		bnz	L0FAD			; 0FA5 94 07&lt;br /&gt;
		lisu	6			; 0FA7 66&lt;br /&gt;
		lisl	0			; 0FA8 68&lt;br /&gt;
		ds	S			; 0FA9 3C&lt;br /&gt;
		jmp	L0C6D			; 0FAA 29 0C 6D&lt;br /&gt;
L0FAD:		pi	L08B0			; 0FAD 28 08 B0&lt;br /&gt;
		bz	L0F9F			; 0FB0 84 EE&lt;br /&gt;
		lisl	5			; 0FB2 6D&lt;br /&gt;
		lis	2			; 0FB3 72&lt;br /&gt;
		lr	S, A			; 0FB4 5C&lt;br /&gt;
		lisu	7			; 0FB5 67&lt;br /&gt;
		lisl	7			; 0FB6 6F&lt;br /&gt;
		clr				; 0FB7 70&lt;br /&gt;
		as	S			; 0FB8 CC&lt;br /&gt;
		bnz	L0FBF			; 0FB9 94 05&lt;br /&gt;
		lr	A, $A			; 0FBB 4A&lt;br /&gt;
		oi	$40			; 0FBC 22 40&lt;br /&gt;
		lr	$A, A			; 0FBE 5A&lt;br /&gt;
L0FBF:		lis	3			; 0FBF 73&lt;br /&gt;
		lr	9, A			; 0FC0 59&lt;br /&gt;
		lisu	5			; 0FC1 65&lt;br /&gt;
		lisl	4			; 0FC2 6C&lt;br /&gt;
		li	$11			; 0FC3 20 11&lt;br /&gt;
		lr	I, A			; 0FC5 5D&lt;br /&gt;
		clr				; 0FC6 70&lt;br /&gt;
		lr	S, A			; 0FC7 5C&lt;br /&gt;
		lisu	7			; 0FC8 67&lt;br /&gt;
		lisl	1			; 0FC9 69&lt;br /&gt;
		li	$77			; 0FCA 20 77&lt;br /&gt;
		lr	S, A			; 0FCC 5C&lt;br /&gt;
L0FCD:		li	$FD			; 0FCD 20 FD&lt;br /&gt;
		lr	6, A			; 0FCF 56&lt;br /&gt;
		lis	2			; 0FD0 72&lt;br /&gt;
		lr	5, A			; 0FD1 55&lt;br /&gt;
		lisu	6			; 0FD2 66&lt;br /&gt;
		lisl	1			; 0FD3 69&lt;br /&gt;
		lr	A, S			; 0FD4 4C&lt;br /&gt;
		com				; 0FD5 18&lt;br /&gt;
		inc				; 0FD6 1F&lt;br /&gt;
		lisu	2			; 0FD7 62&lt;br /&gt;
		lisl	6			; 0FD8 6E&lt;br /&gt;
		as	S			; 0FD9 CC&lt;br /&gt;
		bz	L0FE9			; 0FDA 84 0E&lt;br /&gt;
		bp	L0FDF			; 0FDC 81 02&lt;br /&gt;
		ds	5			; 0FDE 35&lt;br /&gt;
L0FDF:		lis	1			; 0FDF 71&lt;br /&gt;
		ns	$A			; 0FE0 FA&lt;br /&gt;
		bz	L0FE6			; 0FE1 84 04&lt;br /&gt;
		ds	5			; 0FE3 35&lt;br /&gt;
		lis	3			; 0FE4 73&lt;br /&gt;
		lr	6, A			; 0FE5 56&lt;br /&gt;
L0FE6:		ds	5			; 0FE6 35&lt;br /&gt;
		bnz	L0FEF			; 0FE7 94 07&lt;br /&gt;
L0FE9:		lr	A, $A			; 0FE9 4A&lt;br /&gt;
		oi	$20			; 0FEA 22 20&lt;br /&gt;
		lr	$A, A			; 0FEC 5A&lt;br /&gt;
		br	L1035			; 0FED 90 47&lt;br /&gt;
L0FEF:		lisu	7			; 0FEF 67&lt;br /&gt;
		lisl	4			; 0FF0 6C&lt;br /&gt;
		lr	A, I			; 0FF1 4D&lt;br /&gt;
		sr	4			; 0FF2 14&lt;br /&gt;
		sr	1			; 0FF3 12&lt;br /&gt;
		ai	$11			; 0FF4 24 11&lt;br /&gt;
		com				; 0FF6 18&lt;br /&gt;
		as	S			; 0FF7 CC&lt;br /&gt;
		bnz	L1035			; 0FF8 94 3C&lt;br /&gt;
		lis	3			; 0FFA 73&lt;br /&gt;
		xs	9			; 0FFB E9&lt;br /&gt;
		bnz	L1035			; 0FFC 94 38&lt;br /&gt;
		lisl	6			; 0FFE 6E&lt;br /&gt;
		lis	4			; 0FFF 74&lt;br /&gt;
		xs	S			; 1000 EC&lt;br /&gt;
		bz	L1035			; 1001 84 33&lt;br /&gt;
		lis	5			; 1003 75&lt;br /&gt;
		xs	S			; 1004 EC&lt;br /&gt;
		bz	L1035			; 1005 84 2F&lt;br /&gt;
		lisu	4			; 1007 64&lt;br /&gt;
		lisl	7			; 1008 6F&lt;br /&gt;
		lr	A, S			; 1009 4C&lt;br /&gt;
		ci	$19			; 100A 25 19&lt;br /&gt;
		bp	L1035			; 100C 81 28&lt;br /&gt;
		lisu	5			; 100E 65&lt;br /&gt;
		lisl	1			; 100F 69&lt;br /&gt;
		lr	A, S			; 1010 4C&lt;br /&gt;
		ci	$23			; 1011 25 23&lt;br /&gt;
		bm	L1035			; 1013 91 21&lt;br /&gt;
		lisu	2			; 1015 62&lt;br /&gt;
		lisl	2			; 1016 6A&lt;br /&gt;
		lr	A, S			; 1017 4C&lt;br /&gt;
		as	6			; 1018 C6&lt;br /&gt;
		lr	S, A			; 1019 5C&lt;br /&gt;
		lisl	4			; 101A 6C&lt;br /&gt;
		lr	S, A			; 101B 5C&lt;br /&gt;
		lr	A, 6			; 101C 46&lt;br /&gt;
		com				; 101D 18&lt;br /&gt;
		inc				; 101E 1F&lt;br /&gt;
		lr	6, A			; 101F 56&lt;br /&gt;
		lisu	4			; 1020 64&lt;br /&gt;
		lisl	6			; 1021 6E&lt;br /&gt;
		as	S			; 1022 CC&lt;br /&gt;
		lr	S, A			; 1023 5C&lt;br /&gt;
		lisu	5			; 1024 65&lt;br /&gt;
		lisl	0			; 1025 68&lt;br /&gt;
		lr	A, 6			; 1026 46&lt;br /&gt;
		as	S			; 1027 CC&lt;br /&gt;
		lr	S, A			; 1028 5C&lt;br /&gt;
		lisu	6			; 1029 66&lt;br /&gt;
		lisl	1			; 102A 69&lt;br /&gt;
		lr	A, S			; 102B 4C&lt;br /&gt;
		ai	$FC			; 102C 24 FC&lt;br /&gt;
		lr	3, A			; 102E 53&lt;br /&gt;
		dci	L135B			; 102F 2A 13 5B&lt;br /&gt;
		pi	L0822			; 1032 28 08 22&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Repositioning and formation/zone tests (strongly likely).&lt;br /&gt;
; Copies coordinate state, evaluates object zones and finds minimum distances&lt;br /&gt;
; against object records O30-O33. r10 bit 4 records the proximity condition.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L1035:		pi	L08B0			; 1035 28 08 B0&lt;br /&gt;
		lis	8			; 1038 78&lt;br /&gt;
		ns	$A			; 1039 FA&lt;br /&gt;
		bnz	L10B9			; 103A 94 7E&lt;br /&gt;
		lisu	2			; 103C 62&lt;br /&gt;
		lisl	6			; 103D 6E&lt;br /&gt;
		lr	A, I			; 103E 4D&lt;br /&gt;
		lr	7, A			; 103F 57&lt;br /&gt;
		lr	A, I			; 1040 4D&lt;br /&gt;
		lisu	2			; 1041 62&lt;br /&gt;
		lisl	1			; 1042 69&lt;br /&gt;
		lr	D, A			; 1043 5E&lt;br /&gt;
		lr	A, 7			; 1044 47&lt;br /&gt;
		lr	S, A			; 1045 5C&lt;br /&gt;
		li	$20			; 1046 20 20&lt;br /&gt;
		ns	$A			; 1048 FA&lt;br /&gt;
		bz	L104E			; 1049 84 04&lt;br /&gt;
L104B:		jmp	L10E0			; 104B 29 10 E0&lt;br /&gt;
L104E:		lisu	7			; 104E 67&lt;br /&gt;
		lisl	3			; 104F 6B&lt;br /&gt;
		as	S			; 1050 CC&lt;br /&gt;
		bp	L104B			; 1051 81 F9&lt;br /&gt;
		lis	3			; 1053 73&lt;br /&gt;
		xs	9			; 1054 E9&lt;br /&gt;
		bnz	L104B			; 1055 94 F5&lt;br /&gt;
		lr	9, A			; 1057 59&lt;br /&gt;
		lis	8			; 1058 78&lt;br /&gt;
		as	$A			; 1059 CA&lt;br /&gt;
		lr	$A, A			; 105A 5A&lt;br /&gt;
		lisl	6			; 105B 6E&lt;br /&gt;
		lr	A, S			; 105C 4C&lt;br /&gt;
		ci	6			; 105D 25 06&lt;br /&gt;
		bp	L1096			; 105F 81 36&lt;br /&gt;
		lr	A, $A			; 1061 4A&lt;br /&gt;
		oi	2			; 1062 22 02&lt;br /&gt;
		lr	$A, A			; 1064 5A&lt;br /&gt;
		lisl	4			; 1065 6C&lt;br /&gt;
		lr	A, I			; 1066 4D&lt;br /&gt;
		sr	4			; 1067 14&lt;br /&gt;
		sr	1			; 1068 12&lt;br /&gt;
		ai	$A			; 1069 24 0A&lt;br /&gt;
		as	S			; 106B CC&lt;br /&gt;
		lisl	1			; 106C 69&lt;br /&gt;
		lr	S, A			; 106D 5C&lt;br /&gt;
		lisl	6			; 106E 6E&lt;br /&gt;
		lis	7			; 106F 77&lt;br /&gt;
		xs	S			; 1070 EC&lt;br /&gt;
		bnz	L1096			; 1071 94 24&lt;br /&gt;
		lisl	1			; 1073 69&lt;br /&gt;
		lr	A, S			; 1074 4C&lt;br /&gt;
		ai	$FD			; 1075 24 FD&lt;br /&gt;
		lr	S, A			; 1077 5C&lt;br /&gt;
		lis	1			; 1078 71&lt;br /&gt;
		ns	$A			; 1079 FA&lt;br /&gt;
		lisu	2			; 107A 62&lt;br /&gt;
		lisl	0			; 107B 68&lt;br /&gt;
		bnz	L1083			; 107C 94 06&lt;br /&gt;
		li	$F6			; 107E 20 F6&lt;br /&gt;
		as	S			; 1080 CC&lt;br /&gt;
		br	L1087			; 1081 90 05&lt;br /&gt;
L1083:		lr	A, S			; 1083 4C&lt;br /&gt;
		com				; 1084 18&lt;br /&gt;
		ai	$61			; 1085 24 61&lt;br /&gt;
L1087:		lr	5, A			; 1087 55&lt;br /&gt;
		lisu	7			; 1088 67&lt;br /&gt;
		lisl	4			; 1089 6C&lt;br /&gt;
		li	$3F			; 108A 20 3F&lt;br /&gt;
		ns	D			; 108C FE&lt;br /&gt;
		as	5			; 108D C5&lt;br /&gt;
		ci	$39			; 108E 25 39&lt;br /&gt;
		clr				; 1090 70&lt;br /&gt;
		bp	L1095			; 1091 81 03&lt;br /&gt;
		li	$20			; 1093 20 20&lt;br /&gt;
L1095:		lr	S, A			; 1095 5C&lt;br /&gt;
L1096:		lr	A, $A			; 1096 4A&lt;br /&gt;
		oi	$40			; 1097 22 40&lt;br /&gt;
		lr	$A, A			; 1099 5A&lt;br /&gt;
		lisu	7			; 109A 67&lt;br /&gt;
		lisl	3			; 109B 6B&lt;br /&gt;
		li	$10			; 109C 20 10&lt;br /&gt;
		ns	S			; 109E FC&lt;br /&gt;
		lis	6			; 109F 76&lt;br /&gt;
		bnz	L10A9			; 10A0 94 08&lt;br /&gt;
		li	$20			; 10A2 20 20&lt;br /&gt;
		ns	S			; 10A4 FC&lt;br /&gt;
		lis	$A			; 10A5 7A&lt;br /&gt;
		bnz	L10A9			; 10A6 94 02&lt;br /&gt;
		lis	2			; 10A8 72&lt;br /&gt;
L10A9:		lr	7, A			; 10A9 57&lt;br /&gt;
		lis	1			; 10AA 71&lt;br /&gt;
		ns	$A			; 10AB FA&lt;br /&gt;
		bz	L10B5			; 10AC 84 08&lt;br /&gt;
		li	$30			; 10AE 20 30&lt;br /&gt;
		ns	S			; 10B0 FC&lt;br /&gt;
		lis	$F			; 10B1 7F&lt;br /&gt;
		bnz	L10B5			; 10B2 94 02&lt;br /&gt;
		lis	3			; 10B4 73&lt;br /&gt;
L10B5:		lisu	6			; 10B5 66&lt;br /&gt;
		lisl	7			; 10B6 6F&lt;br /&gt;
		xs	7			; 10B7 E7&lt;br /&gt;
		lr	S, A			; 10B8 5C&lt;br /&gt;
L10B9:		lisu	2			; 10B9 62&lt;br /&gt;
		lisl	0			; 10BA 68&lt;br /&gt;
		lr	A, I			; 10BB 4D&lt;br /&gt;
		com				; 10BC 18&lt;br /&gt;
		inc				; 10BD 1F&lt;br /&gt;
		lr	4, A			; 10BE 54&lt;br /&gt;
		lr	A, D			; 10BF 4E&lt;br /&gt;
		com				; 10C0 18&lt;br /&gt;
		inc				; 10C1 1F&lt;br /&gt;
		lr	5, A			; 10C2 55&lt;br /&gt;
		lisu	3			; 10C3 63&lt;br /&gt;
		lisl	0			; 10C4 68&lt;br /&gt;
L10C5:		lr	A, I			; 10C5 4D&lt;br /&gt;
		as	4			; 10C6 C4&lt;br /&gt;
		bp	L10CB			; 10C7 81 03&lt;br /&gt;
		com				; 10C9 18&lt;br /&gt;
		inc				; 10CA 1F&lt;br /&gt;
L10CB:		lr	2, A			; 10CB 52&lt;br /&gt;
		lr	A, I			; 10CC 4D&lt;br /&gt;
		as	5			; 10CD C5&lt;br /&gt;
		bp	L10D2			; 10CE 81 03&lt;br /&gt;
		com				; 10D0 18&lt;br /&gt;
		inc				; 10D1 1F&lt;br /&gt;
L10D2:		as	2			; 10D2 C2&lt;br /&gt;
		ci	$F			; 10D3 25 0F&lt;br /&gt;
		bnc	L10DB			; 10D5 92 05&lt;br /&gt;
		lr	A, $A			; 10D7 4A&lt;br /&gt;
		oi	$10			; 10D8 22 10&lt;br /&gt;
		lr	$A, A			; 10DA 5A&lt;br /&gt;
L10DB:		lr	A, IS			; 10DB 0A&lt;br /&gt;
		ci	$1C			; 10DC 25 1C&lt;br /&gt;
		bp	L10C5			; 10DE 81 E6&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Player/object turn and automatic movement selection (strongly likely).&lt;br /&gt;
; Select control- or table-driven movement, iterate object groups and route the&lt;br /&gt;
; resulting event to the common frame/state handlers.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L10E0:		lisu	7			; 10E0 67&lt;br /&gt;
		lisl	5			; 10E1 6D&lt;br /&gt;
		lr	A, S			; 10E2 4C&lt;br /&gt;
		com				; 10E3 18&lt;br /&gt;
		inc				; 10E4 1F&lt;br /&gt;
		lisl	1			; 10E5 69&lt;br /&gt;
		as	S			; 10E6 CC&lt;br /&gt;
		clr				; 10E7 70&lt;br /&gt;
		lr	0, A			; 10E8 50&lt;br /&gt;
		bm	L10EE			; 10E9 91 04&lt;br /&gt;
		lisu	6			; 10EB 66&lt;br /&gt;
		lisl	7			; 10EC 6F&lt;br /&gt;
		lr	A, S			; 10ED 4C&lt;br /&gt;
L10EE:		lr	4, A			; 10EE 54&lt;br /&gt;
		lis	8			; 10EF 78&lt;br /&gt;
		ns	$A			; 10F0 FA&lt;br /&gt;
		bz	L10F6			; 10F1 84 04&lt;br /&gt;
		pi	L0A24			; 10F3 28 0A 24&lt;br /&gt;
L10F6:		lis	2			; 10F6 72&lt;br /&gt;
		ns	$A			; 10F7 FA&lt;br /&gt;
		bnz	L10FD			; 10F8 94 04&lt;br /&gt;
		jmp	L1137			; 10FA 29 11 37&lt;br /&gt;
L10FD:		lis	6			; 10FD 76&lt;br /&gt;
		lr	0, A			; 10FE 50&lt;br /&gt;
L10FF:		pi	L0A1F			; 10FF 28 0A 1F&lt;br /&gt;
		ds	0			; 1102 30&lt;br /&gt;
		bnz	L10FF			; 1103 94 FB&lt;br /&gt;
		pi	L08C1			; 1105 28 08 C1&lt;br /&gt;
		lis	$C			; 1108 7C&lt;br /&gt;
		lr	0, A			; 1109 50&lt;br /&gt;
		lis	8			; 110A 78&lt;br /&gt;
		ns	$A			; 110B FA&lt;br /&gt;
		bz	L111A			; 110C 84 0D&lt;br /&gt;
L110E:		pi	L0A1F			; 110E 28 0A 1F&lt;br /&gt;
		ds	0			; 1111 30&lt;br /&gt;
		lr	A, 0			; 1112 40&lt;br /&gt;
		ci	6			; 1113 25 06&lt;br /&gt;
		bm	L110E			; 1115 91 F8&lt;br /&gt;
		jmp	L1227			; 1117 29 12 27&lt;br /&gt;
L111A:		com				; 111A 18&lt;br /&gt;
		inc				; 111B 1F&lt;br /&gt;
		as	9			; 111C C9&lt;br /&gt;
		bnz	L1124			; 111D 94 06&lt;br /&gt;
		pi	L0A1F			; 111F 28 0A 1F&lt;br /&gt;
		br	L112E			; 1122 90 0B&lt;br /&gt;
L1124:		lis	1			; 1124 71&lt;br /&gt;
		ns	$A			; 1125 FA&lt;br /&gt;
		lis	2			; 1126 72&lt;br /&gt;
		bnz	L112A			; 1127 94 02&lt;br /&gt;
		lis	1			; 1129 71&lt;br /&gt;
L112A:		lr	4, A			; 112A 54&lt;br /&gt;
		pi	L0A24			; 112B 28 0A 24&lt;br /&gt;
L112E:		ds	0			; 112E 30&lt;br /&gt;
		lr	A, 0			; 112F 40&lt;br /&gt;
		ci	6			; 1130 25 06&lt;br /&gt;
		bm	L111A			; 1132 91 E7&lt;br /&gt;
		jmp	L1200			; 1134 29 12 00&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Formation lookup and object movement (strongly likely).&lt;br /&gt;
; Split L08C7 results into nibbles, normalize direction bits, read L1297-based&lt;br /&gt;
; formation records through L08DA and apply resulting moves.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L1137:		lis	2			; 1137 72&lt;br /&gt;
		lr	0, A			; 1138 50&lt;br /&gt;
		pi	L08C7			; 1139 28 08 C7&lt;br /&gt;
		ni	$F0			; 113C 21 F0&lt;br /&gt;
		sr	4			; 113E 14&lt;br /&gt;
		lr	7, A			; 113F 57&lt;br /&gt;
		pi	L0A10			; 1140 28 0A 10&lt;br /&gt;
		ds	0			; 1143 30&lt;br /&gt;
		pi	L08C7			; 1144 28 08 C7&lt;br /&gt;
		ni	$F			; 1147 21 0F&lt;br /&gt;
		lr	7, A			; 1149 57&lt;br /&gt;
		pi	L0A10			; 114A 28 0A 10&lt;br /&gt;
		lis	3			; 114D 73&lt;br /&gt;
		lr	0, A			; 114E 50&lt;br /&gt;
		xs	9			; 114F E9&lt;br /&gt;
		bz	L1159			; 1150 84 08&lt;br /&gt;
		clr				; 1152 70&lt;br /&gt;
		lr	4, A			; 1153 54&lt;br /&gt;
		pi	L0A24			; 1154 28 0A 24&lt;br /&gt;
		br	L1189			; 1157 90 31&lt;br /&gt;
L1159:		pi	L0A1F			; 1159 28 0A 1F&lt;br /&gt;
		lis	6			; 115C 76&lt;br /&gt;
		lr	0, A			; 115D 50&lt;br /&gt;
		pi	L08DA			; 115E 28 08 DA&lt;br /&gt;
		lisu	5			; 1161 65&lt;br /&gt;
		lisl	4			; 1162 6C&lt;br /&gt;
		bnz	L1166			; 1163 94 02&lt;br /&gt;
		lr	S, A			; 1165 5C&lt;br /&gt;
L1166:		li	$F0			; 1166 20 F0&lt;br /&gt;
		ns	S			; 1168 FC&lt;br /&gt;
		sr	4			; 1169 14&lt;br /&gt;
		lr	7, A			; 116A 57&lt;br /&gt;
		pi	L0A10			; 116B 28 0A 10&lt;br /&gt;
		ds	0			; 116E 30&lt;br /&gt;
		lisu	5			; 116F 65&lt;br /&gt;
		lisl	4			; 1170 6C&lt;br /&gt;
		lis	$F			; 1171 7F&lt;br /&gt;
		ns	S			; 1172 FC&lt;br /&gt;
		lr	7, A			; 1173 57&lt;br /&gt;
		pi	L0A10			; 1174 28 0A 10&lt;br /&gt;
		ds	0			; 1177 30&lt;br /&gt;
		pi	L08DA			; 1178 28 08 DA&lt;br /&gt;
		lm				; 117B 16&lt;br /&gt;
		lisu	5			; 117C 65&lt;br /&gt;
		lisl	5			; 117D 6D&lt;br /&gt;
		bnz	L1181			; 117E 94 02&lt;br /&gt;
		lr	S, A			; 1180 5C&lt;br /&gt;
L1181:		lis	$F			; 1181 7F&lt;br /&gt;
		ns	S			; 1182 FC&lt;br /&gt;
		lr	7, A			; 1183 57&lt;br /&gt;
		pi	L0A10			; 1184 28 0A 10&lt;br /&gt;
		br	L1194			; 1187 90 0C&lt;br /&gt;
L1189:		lis	6			; 1189 76&lt;br /&gt;
		lr	0, A			; 118A 50&lt;br /&gt;
L118B:		pi	L0A1F			; 118B 28 0A 1F&lt;br /&gt;
		ds	0			; 118E 30&lt;br /&gt;
		lr	A, 0			; 118F 40&lt;br /&gt;
		ci	3			; 1190 25 03&lt;br /&gt;
		bnz	L118B			; 1192 94 F8&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Multi-object update and event evaluation (strongly likely).&lt;br /&gt;
; Compare object 12 and 11, read the opposing controller and update objects 10&lt;br /&gt;
; through 7 using direct controls or generated direction steps.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L1194:		lis	$C			; 1194 7C&lt;br /&gt;
		lr	0, A			; 1195 50&lt;br /&gt;
		pi	L0D30			; 1196 28 0D 30&lt;br /&gt;
		ds	0			; 1199 30&lt;br /&gt;
		pi	L0D30			; 119A 28 0D 30&lt;br /&gt;
		pi	L08C1			; 119D 28 08 C1&lt;br /&gt;
		li	$30			; 11A0 20 30&lt;br /&gt;
		ns	S			; 11A2 FC&lt;br /&gt;
		bz	L11A9			; 11A3 84 05&lt;br /&gt;
		lr	A, $A			; 11A5 4A&lt;br /&gt;
		oi	$40			; 11A6 22 40&lt;br /&gt;
		lr	$A, A			; 11A8 5A&lt;br /&gt;
L11A9:		lis	$A			; 11A9 7A&lt;br /&gt;
		lr	0, A			; 11AA 50&lt;br /&gt;
		pi	L0A1F			; 11AB 28 0A 1F&lt;br /&gt;
		ds	0			; 11AE 30&lt;br /&gt;
L11AF:		li	$40			; 11AF 20 40&lt;br /&gt;
		ns	$A			; 11B1 FA&lt;br /&gt;
		bnz	L11CF			; 11B2 94 1C&lt;br /&gt;
		lr	A, 0			; 11B4 40&lt;br /&gt;
		ci	8			; 11B5 25 08&lt;br /&gt;
		bnz	L11BD			; 11B7 94 05&lt;br /&gt;
		lis	6			; 11B9 76&lt;br /&gt;
		lr	7, A			; 11BA 57&lt;br /&gt;
		br	L11BF			; 11BB 90 03&lt;br /&gt;
L11BD:		lis	5			; 11BD 75&lt;br /&gt;
		lr	7, A			; 11BE 57&lt;br /&gt;
L11BF:		lis	1			; 11BF 71&lt;br /&gt;
		lisu	7			; 11C0 67&lt;br /&gt;
		lisl	7			; 11C1 6F&lt;br /&gt;
		ns	S			; 11C2 FC&lt;br /&gt;
		lr	2, A			; 11C3 52&lt;br /&gt;
		lr	A, S			; 11C4 4C&lt;br /&gt;
		ai	$FF			; 11C5 24 FF&lt;br /&gt;
		ni	2			; 11C7 21 02&lt;br /&gt;
		sr	1			; 11C9 12&lt;br /&gt;
		as	0			; 11CA C0&lt;br /&gt;
		ni	1			; 11CB 21 01&lt;br /&gt;
		bnz	L11D4			; 11CD 94 06&lt;br /&gt;
L11CF:		pi	L0A1F			; 11CF 28 0A 1F&lt;br /&gt;
		br	L11D7			; 11D2 90 04&lt;br /&gt;
L11D4:		pi	L0D86			; 11D4 28 0D 86&lt;br /&gt;
L11D7:		ds	0			; 11D7 30&lt;br /&gt;
		lr	A, 0			; 11D8 40&lt;br /&gt;
		ci	7			; 11D9 25 07&lt;br /&gt;
		bm	L11AF			; 11DB 91 D3&lt;br /&gt;
		lisu	7			; 11DD 67&lt;br /&gt;
		lisl	3			; 11DE 6B&lt;br /&gt;
		li	$40			; 11DF 20 40&lt;br /&gt;
		ns	S			; 11E1 FC&lt;br /&gt;
		bnz	L11FD			; 11E2 94 1A&lt;br /&gt;
		lisl	7			; 11E4 6F&lt;br /&gt;
		lr	A, D			; 11E5 4E&lt;br /&gt;
		ci	4			; 11E6 25 04&lt;br /&gt;
		bp	L11F8			; 11E8 81 0F&lt;br /&gt;
		lisu	7			; 11EA 67&lt;br /&gt;
		lisl	5			; 11EB 6D&lt;br /&gt;
		lr	A, S			; 11EC 4C&lt;br /&gt;
		ci	$A			; 11ED 25 0A&lt;br /&gt;
		bm	L11F8			; 11EF 91 08&lt;br /&gt;
		lis	6			; 11F1 76&lt;br /&gt;
		lr	7, A			; 11F2 57&lt;br /&gt;
		pi	L0A10			; 11F3 28 0A 10&lt;br /&gt;
		br	L1200			; 11F6 90 09&lt;br /&gt;
L11F8:		pi	L0D30			; 11F8 28 0D 30&lt;br /&gt;
		br	L1200			; 11FB 90 04&lt;br /&gt;
L11FD:		pi	L0A1F			; 11FD 28 0A 1F&lt;br /&gt;
L1200:		lis	2			; 1200 72&lt;br /&gt;
		lr	5, A			; 1201 55&lt;br /&gt;
		clr				; 1202 70&lt;br /&gt;
		as	9			; 1203 C9&lt;br /&gt;
		bz	L1227			; 1204 84 22&lt;br /&gt;
		ci	6			; 1206 25 06&lt;br /&gt;
		bm	L120B			; 1208 91 02&lt;br /&gt;
		ds	5			; 120A 35&lt;br /&gt;
L120B:		lis	1			; 120B 71&lt;br /&gt;
		ns	$A			; 120C FA&lt;br /&gt;
		bz	L1210			; 120D 84 02&lt;br /&gt;
		ds	5			; 120F 35&lt;br /&gt;
L1210:		li	$10			; 1210 20 10&lt;br /&gt;
		as	9			; 1212 C9&lt;br /&gt;
		as	9			; 1213 C9&lt;br /&gt;
		lr	IS, A			; 1214 0B&lt;br /&gt;
		lr	A, S			; 1215 4C&lt;br /&gt;
		ds	5			; 1216 35&lt;br /&gt;
		bz	L1220			; 1217 84 08&lt;br /&gt;
		ci	$57			; 1219 25 57&lt;br /&gt;
		bp	L1227			; 121B 81 0B&lt;br /&gt;
		jmp	L0D13			; 121D 29 0D 13&lt;br /&gt;
L1220:		ci	$12			; 1220 25 12&lt;br /&gt;
		bm	L1227			; 1222 91 04&lt;br /&gt;
		jmp	L0D10			; 1224 29 0D 10&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Frame/time update (strongly likely)&lt;br /&gt;
; Advance O75, apply timing increment from L124D to O63, propagate carry into&lt;br /&gt;
; O62, optionally redraw, then re-enter the active update path at L0FCD.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L1227:		lisu	7			; 1227 67&lt;br /&gt;
		lisl	5			; 1228 6D&lt;br /&gt;
		lr	A, S			; 1229 4C&lt;br /&gt;
		inc				; 122A 1F&lt;br /&gt;
		lr	S, A			; 122B 5C&lt;br /&gt;
		ci	$60			; 122C 25 60&lt;br /&gt;
		bp	L1232			; 122E 81 03&lt;br /&gt;
		ds	S			; 1230 3C&lt;br /&gt;
		ds	S			; 1231 3C&lt;br /&gt;
L1232:		dci	L124D			; 1232 2A 12 4D&lt;br /&gt;
		lisu	7			; 1235 67&lt;br /&gt;
		lisl	2			; 1236 6A&lt;br /&gt;
		lr	A, S			; 1237 4C&lt;br /&gt;
		adc				; 1238 8E&lt;br /&gt;
		lm				; 1239 16&lt;br /&gt;
		lisu	6			; 123A 66&lt;br /&gt;
		lisl	3			; 123B 6B&lt;br /&gt;
		as	S			; 123C CC&lt;br /&gt;
		lr	S, A			; 123D 5C&lt;br /&gt;
		bnc	L124A			; 123E 92 0B&lt;br /&gt;
		lisu	6			; 1240 66&lt;br /&gt;
		lisl	2			; 1241 6A&lt;br /&gt;
		clr				; 1242 70&lt;br /&gt;
		as	S			; 1243 CC&lt;br /&gt;
		bz	L1247			; 1244 84 02&lt;br /&gt;
		ds	S			; 1246 3C&lt;br /&gt;
L1247:		pi	L09C4			; 1247 28 09 C4&lt;br /&gt;
L124A:		jmp	L0FCD			; 124A 29 0F CD&lt;br /&gt;
;===============================================================================&lt;br /&gt;
; DATA TABLES $124D-$13E9&lt;br /&gt;
; This range is addressed from reachable code through DCI. It must remain raw&lt;br /&gt;
; data. Labels below describe known consumers; contents are preserved exactly.&lt;br /&gt;
;===============================================================================&lt;br /&gt;
; frame/tempo increment table used at L1232&lt;br /&gt;
L124D:		.byte	$50, $14, $1D, $38	; 124D&lt;br /&gt;
; Delay/parameter table used by the short 1 kHz beep at L0C96.&lt;br /&gt;
L1251:		.byte	$48, $29, $01, $FF, $01, $00, $04, $00, $06, $00, $02, $00			; 1251&lt;br /&gt;
; State lookup table used by L0DB3.&lt;br /&gt;
L125D:		.byte	$00, $03, $07, $AB, $05, $04, $06, $AB, $01, $02, $08				; 125D&lt;br /&gt;
; Variable-length lookup/formation data consumed by L08C7.&lt;br /&gt;
L1268:		.byte	$08, $09, $0A, $0B, $0C, $17, $22, $23, $24, $77, $00, $77, $00, $77, $00, $77	; 1268&lt;br /&gt;
		.byte	$00, $08, $00, $0C, $88, $0F, $81, $11, $80, $13, $01, $77, $11, $03, $00, $07	; 1278&lt;br /&gt;
		.byte	$44, $0A, $50, $0C, $00, $0E, $00, $77, $11, $77, $00, $77, $00, $77, $00	; 1288&lt;br /&gt;
; Variable-length lookup/formation data consumed by L08DA.&lt;br /&gt;
L1297:		.byte	$0A, $1C, $25, $34, $40, $52, $5B, $67, $67, $77, $11, $03, $03, $11, $01, $06	; 1297&lt;br /&gt;
		.byte	$45, $01, $0F, $48, $01, $12, $08, $01, $17, $01, $01, $1B, $01, $04, $77, $06	; 12A7&lt;br /&gt;
		.byte	$11, $01, $0A, $11, $00, $0C, $95, $00, $77, $03, $11, $01, $0E, $49, $00, $14	; 12B7&lt;br /&gt;
		.byte	$04, $00, $19, $92, $01, $20, $98, $04, $77, $03, $51, $01, $12, $52, $01, $16	; 12C7&lt;br /&gt;
		.byte	$14, $01, $1B, $91, $01, $77, $03, $11, $05, $07, $51, $05, $0A, $51, $05, $0D	; 12D7&lt;br /&gt;
		.byte	$12, $09, $0E, $15, $09, $21, $A5, $04, $77, $08, $15, $01, $0C, $55, $01, $10	; 12E7&lt;br /&gt;
		.byte	$84, $01, $77, $02	; 12F7&lt;br /&gt;
; Alternate state/formation table selected inside L0DCB.&lt;br /&gt;
L12FB:		.byte	$11, $08, $07, $11, $09, $0B, $58, $09, $0D, $15, $00, $77, $77, $77, $1E, $0A	; 12FB&lt;br /&gt;
		.byte	$22, $0A, $1C, $06, $24, $06, $1E, $02						; 130B&lt;br /&gt;
; Primary state/formation table selected inside L0DCB.&lt;br /&gt;
L1313:		.byte	$22, $02, $1C, $02, $20, $02, $20, $07, $23, $0A, $2C, $03, $16, $02, $20, $08	; 1313&lt;br /&gt;
		.byte	$16, $0B, $2C, $0C, $1C, $14, $1C, $02, $20, $02				; 1323&lt;br /&gt;
; Three short selector/bitmap records chosen near L0BEC.&lt;br /&gt;
L132D:		.byte	$FF, $80		; 132D&lt;br /&gt;
L132F:		.byte	$AA, $80		; 132F&lt;br /&gt;
L1331:		.byte	$F7, $80		; 1331&lt;br /&gt;
; Eight consecutive graphics parameter records rendered from L0E83.&lt;br /&gt;
L1333:		.byte	$09, $37, $41, $59, $01, $09, $0E, $41, $01, $2A, $09, $0E, $41, $59, $01, $61	; 1333&lt;br /&gt;
		.byte	$0E, $41, $01, $2A, $0A, $0F, $C1, $57, $28, $58, $0C, $41, $01, $2E, $0A, $07	; 1343&lt;br /&gt;
		.byte	$C1, $61, $05, $12, $0C, $41, $01, $2E						; 1353&lt;br /&gt;
; Graphics parameter block entered through L0822 at $102F.&lt;br /&gt;
L135B:		.byte	$17, $C1, $09, $11	; 135B&lt;br /&gt;
; Fixed screen graphics parameter block entered through L0820 at $0E1F.&lt;br /&gt;
L135F:		.byte	$19, $11, $C1, $33, $07								; 135F&lt;br /&gt;
; Packed sprite/glyph data indexed as L1364 + 2*r1 by L0840.&lt;br /&gt;
L1364:		.byte	$F6, $DE, $59, $2E, $E7, $CE, $E7, $9E, $B7, $92, $F3, $9E, $F3, $DE, $E5, $24	; 1364&lt;br /&gt;
		.byte	$F7, $DE, $F7, $9E, $08, $20							; 1374&lt;br /&gt;
; Sound-effect table consumed by L088E from $0C6D.&lt;br /&gt;
L137A:		.byte	$27, $67, $25, $47, $23, $27, $00						; 137A&lt;br /&gt;
; Sound-effect table consumed by L088E from $0CB2.&lt;br /&gt;
L1381:		.byte	$04, $22, $07, $AB, $03, $BB, $08, $CC, $03, $34, $06, $12, $0D, $12, $0D, $12	; 1381&lt;br /&gt;
		.byte	$00			; 1391&lt;br /&gt;
; Sound-effect table consumed by L088E from $0EC4.&lt;br /&gt;
L1392:		.byte	$37, $6A, $1A, $61, $1B, $6A, $0E, $73, $1D, $73, $0D, $6A, $1D, $73, $0E, $73	; 1392&lt;br /&gt;
		.byte	$1D, $73, $0E, $73, $1B, $6A, $1D, $73, $10, $82, $20, $82, $0F, $7B, $31, $82	; 13A2&lt;br /&gt;
		.byte	$24, $90, $2B, $A2, $29, $9D, $24, $90, $20, $82, $1B, $6A, $16, $43, $18, $58	; 13B2&lt;br /&gt;
		.byte	$0D, $6A, $20, $82, $0E, $73, $1B, $6A, $18, $58, $2B, $43, $00			; 13C2&lt;br /&gt;
; Sound-effect table consumed by L088E from $0D27. The terminating zero is&lt;br /&gt;
; followed by unused ROM fill; retain all bytes to preserve the original image.&lt;br /&gt;
L13CF:		.byte	$31, $82, $0F, $7B, $24, $90, $20, $82, $41, $A2, $14, $9D, $31, $AD, $2B, $A2	; 13CF&lt;br /&gt;
		.byte	$36, $B6, $36, $B6, $36, $B6, $36, $B6, $6D, $B6, $00, $FF, $FF, $FF, $FF, $FF	; 13DF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 13EF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 13FF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 140F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 141F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 142F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 143F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 144F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 145F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 146F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 147F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 148F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 149F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14AF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14BF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14CF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14DF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14EF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14FF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 150F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 151F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 152F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 153F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 154F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 155F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 156F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 157F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 158F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 159F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15AF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15BF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15CF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15DF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15EF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15FF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 160F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 161F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 162F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 163F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 164F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 165F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 166F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 167F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 168F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 169F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16AF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16BF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16CF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16DF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16EF&lt;br /&gt;
		.byte	$FF, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16FF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 170F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 171F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 172F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 173F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 174F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 175F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 176F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 177F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 178F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 179F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 17AF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 17BF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 17CF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 17DF&lt;br /&gt;
		.byte	$FF, $00, $10, $E9, $1B, $DD, $E5, $00, $00, $00, $00, $00, $00, $00, $00, $00	; 17EF&lt;br /&gt;
		.byte	$00			; 17FF&lt;br /&gt;
&lt;br /&gt;
; Interpreting the last bytes as a five bit alphabet and using ROT24 - it spells PANBLAST, perhaps it means something to someone.&lt;br /&gt;
&lt;br /&gt;
		IF 0&lt;br /&gt;
&lt;br /&gt;
Smart data report&lt;br /&gt;
=================&lt;br /&gt;
Mode: enabled by -s or /s&lt;br /&gt;
Memory range: $0800-$17FF&lt;br /&gt;
Code bytes: 2630&lt;br /&gt;
Data bytes: 1466&lt;br /&gt;
&lt;br /&gt;
DCI data roots from reachable code:&lt;br /&gt;
  $1333 from $0E7E&lt;br /&gt;
  $1392 from $0EC4&lt;br /&gt;
  $135F from $0E1F&lt;br /&gt;
  $1364 from $0840&lt;br /&gt;
  $1313 from $0DCB&lt;br /&gt;
  $12FB from $0DD8&lt;br /&gt;
  $1331 from $0BEF&lt;br /&gt;
  $132F from $0BF9&lt;br /&gt;
  $132D from $0C00&lt;br /&gt;
  $137A from $0C6D&lt;br /&gt;
  $1251 from $0C97&lt;br /&gt;
  $1381 from $0CB2&lt;br /&gt;
  $125D from $0DB3&lt;br /&gt;
  $135B from $102F&lt;br /&gt;
  $13CF from $0D27&lt;br /&gt;
  $124D from $1232&lt;br /&gt;
  $1268 from $08C7&lt;br /&gt;
  $1297 from $08DA&lt;br /&gt;
&lt;br /&gt;
Data intervals emitted as .byte:&lt;br /&gt;
  $0837-$0839 (3 bytes)&lt;br /&gt;
  $0C40-$0C43 (4 bytes)&lt;br /&gt;
  $124D-$17FF (1459 bytes)&lt;br /&gt;
&lt;br /&gt;
		ENDIF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Disassembly:Videocart_24&amp;diff=788</id>
		<title>Disassembly:Videocart 24</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Disassembly:Videocart_24&amp;diff=788"/>
				<updated>2026-08-27T18:47:42Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the complete disassembly of the [[Channel F]] [[Videocart 24]] made with e5frog's modified [[f8tool]] made by [[Peter Trauner]]'s. Original code is copyright &amp;amp;copy; 1978 (?) [[Zircon International]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;===============================================================================&lt;br /&gt;
; VIDEOCART 24 / PRO FOOTBALL&lt;br /&gt;
; Commented disassembly&lt;br /&gt;
;&lt;br /&gt;
; Original binary copyright Zircon International, approximately 1978.&lt;br /&gt;
; Original disassembly generated with f8tool and reconstructed as compilable&lt;br /&gt;
; DASM/F8 source. This revision preserves all instructions, labels, data bytes,&lt;br /&gt;
; addresses and original address comments. Only explanatory comments and&lt;br /&gt;
; section headings have been added.&lt;br /&gt;
;&lt;br /&gt;
; Confidence terminology used below:&lt;br /&gt;
;   confirmed       directly established by I/O, data flow or control flow&lt;br /&gt;
;   strongly likely supported by several independent code relationships&lt;br /&gt;
;   preliminary     descriptive working name, not an original symbol&lt;br /&gt;
;&lt;br /&gt;
; The range $124D-$17FF is emitted as data because reachable code addresses it&lt;br /&gt;
; through DC0. Routines and tables are described without changing binary data.&lt;br /&gt;
;===============================================================================&lt;br /&gt;
&lt;br /&gt;
		processor f8&lt;br /&gt;
		org $0800&lt;br /&gt;
&lt;br /&gt;
clrscrn		equ	$00D0&lt;br /&gt;
&lt;br /&gt;
		lr	5, A			; 0800 55&lt;br /&gt;
		nop				; 0801 2B&lt;br /&gt;
		li	$D0			; 0802 20 D0&lt;br /&gt;
		lr	3, A			; 0804 53&lt;br /&gt;
		pi	clrscrn			; 0805 28 00 D0&lt;br /&gt;
		lisu	6			; 0808 66&lt;br /&gt;
		lisl	1			; 0809 69&lt;br /&gt;
		li	$21			; 080A 20 21&lt;br /&gt;
		lr	S, A			; 080C 5C&lt;br /&gt;
		lis	1			; 080D 71&lt;br /&gt;
		lr	$A, A			; 080E 5A&lt;br /&gt;
		jmp	L0E68			; 080F 29 0E 68&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; set_isar_2x_r0_plus_10 (confirmed)&lt;br /&gt;
; Convert object index in r0 to the first byte of a two-byte scratchpad entry.&lt;br /&gt;
; Output: ISAR = $10 + 2*r0. A and ISAR are changed; r0 is preserved.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0812:		li	$10			; 0812 20 10&lt;br /&gt;
		as	0			; 0814 C0&lt;br /&gt;
		as	0			; 0815 C0&lt;br /&gt;
		lr	IS, A			; 0816 0B&lt;br /&gt;
		pop				; 0817 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; delay_r5 (confirmed)&lt;br /&gt;
; Blocking two-level delay. A wraps through 256 INC operations for each r5&lt;br /&gt;
; count. r5 is consumed and returns as zero.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0818:		clr				; 0818 70&lt;br /&gt;
L0819:		inc				; 0819 1F&lt;br /&gt;
		bnz	L0819			; 081A 94 FE&lt;br /&gt;
		ds	5			; 081C 35&lt;br /&gt;
		bnz	L0818			; 081D 94 FA&lt;br /&gt;
		pop				; 081F 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Graphics parameter entry points (strongly likely)&lt;br /&gt;
; L0820 reads r3, then L0822 reads r4, r2, r5 and r6 from DC0 before entering&lt;br /&gt;
; the common renderer. Observed use identifies r3/r4 as coordinates, r2 as&lt;br /&gt;
; color/mode, and r5/r6 as width/height counters.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0820:		lm				; 0820 16&lt;br /&gt;
		lr	3, A			; 0821 53&lt;br /&gt;
L0822:		lm				; 0822 16&lt;br /&gt;
		lr	4, A			; 0823 54&lt;br /&gt;
		lm				; 0824 16&lt;br /&gt;
		lr	2, A			; 0825 52&lt;br /&gt;
		lm				; 0826 16&lt;br /&gt;
		lr	5, A			; 0827 55&lt;br /&gt;
		lm				; 0828 16&lt;br /&gt;
		lr	6, A			; 0829 56&lt;br /&gt;
		br	L084A			; 082A 90 1F&lt;br /&gt;
; draw_object_from_scratch: select solid/background mode, then read X/Y pair.&lt;br /&gt;
L082C:		li	$C1			; 082C 20 C1&lt;br /&gt;
		lr	2, A			; 082E 52&lt;br /&gt;
; Read a two-byte coordinate pair through ISAR with post-increment semantics.&lt;br /&gt;
L082F:		lr	A, I			; 082F 4D&lt;br /&gt;
		lr	3, A			; 0830 53&lt;br /&gt;
		ds	3			; 0831 33&lt;br /&gt;
		lr	A, I			; 0832 4D&lt;br /&gt;
		lr	4, A			; 0833 54&lt;br /&gt;
		ds	4			; 0834 34&lt;br /&gt;
		br	L083A			; 0835 90 04&lt;br /&gt;
		.byte	$20, $C1, $52		; 0837&lt;br /&gt;
L083A:		lis	3			; 083A 73&lt;br /&gt;
		lr	5, A			; 083B 55&lt;br /&gt;
; Short fixed-height graphics entry: use three rows.&lt;br /&gt;
L083C:		lis	3			; 083C 73&lt;br /&gt;
		lr	6, A			; 083D 56&lt;br /&gt;
		br	L084A			; 083E 90 0B&lt;br /&gt;
; draw_bitmap_entry (confirmed graphics): select a two-byte glyph/sprite entry&lt;br /&gt;
; at L1364 + 2*r1 and use fixed dimensions 3 by 5.&lt;br /&gt;
L0840:		dci	L1364			; 0840 2A 13 64&lt;br /&gt;
		lr	A, 1			; 0843 41&lt;br /&gt;
		adc				; 0844 8E&lt;br /&gt;
		adc				; 0845 8E&lt;br /&gt;
		lis	3			; 0846 73&lt;br /&gt;
		lr	5, A			; 0847 55&lt;br /&gt;
		lis	5			; 0848 75&lt;br /&gt;
		lr	6, A			; 0849 56&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; draw_bitmap_core (confirmed)&lt;br /&gt;
; Port 0: graphics write/strobe. Port 1: color. Port 4: inverted X.&lt;br /&gt;
; Port 5: inverted Y in low six bits and sound selection in high two bits.&lt;br /&gt;
; r7 is the serial bitmap mask; a new byte is fetched with LM when exhausted.&lt;br /&gt;
; r1 and r6 count columns and rows. Port 0 is cleared before return.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L084A:		clr				; 084A 70&lt;br /&gt;
		lr	7, A			; 084B 57&lt;br /&gt;
		li	$40			; 084C 20 40&lt;br /&gt;
		outs	0			; 084E B0&lt;br /&gt;
		lr	A, 4			; 084F 44&lt;br /&gt;
		oi	$C0			; 0850 22 C0&lt;br /&gt;
		com				; 0852 18&lt;br /&gt;
		outs	5			; 0853 B5&lt;br /&gt;
L0854:		lr	A, 3			; 0854 43&lt;br /&gt;
		com				; 0855 18&lt;br /&gt;
		outs	4			; 0856 B4&lt;br /&gt;
		lr	A, 5			; 0857 45&lt;br /&gt;
		lr	1, A			; 0858 51&lt;br /&gt;
L0859:		lr	A, 2			; 0859 42&lt;br /&gt;
		outs	1			; 085A B1&lt;br /&gt;
		ni	1			; 085B 21 01&lt;br /&gt;
		bnz	L0873			; 085D 94 15&lt;br /&gt;
		com				; 085F 18&lt;br /&gt;
		adc				; 0860 8E&lt;br /&gt;
		lr	A, 7			; 0861 47&lt;br /&gt;
		sr	1			; 0862 12&lt;br /&gt;
		lr	7, A			; 0863 57&lt;br /&gt;
		bnz	L086A			; 0864 94 05&lt;br /&gt;
		lm				; 0866 16&lt;br /&gt;
		li	$80			; 0867 20 80&lt;br /&gt;
		lr	7, A			; 0869 57&lt;br /&gt;
L086A:		nm				; 086A 8A&lt;br /&gt;
		bnz	L0873			; 086B 94 07&lt;br /&gt;
		com				; 086D 18&lt;br /&gt;
		outs	1			; 086E B1&lt;br /&gt;
		lis	2			; 086F 72&lt;br /&gt;
		ns	2			; 0870 F2&lt;br /&gt;
		bnz	L087D			; 0871 94 0B&lt;br /&gt;
L0873:		li	$60			; 0873 20 60&lt;br /&gt;
		outs	0			; 0875 B0&lt;br /&gt;
		li	$40			; 0876 20 40&lt;br /&gt;
		outs	0			; 0878 B0&lt;br /&gt;
L0879:		ai	$F5			; 0879 24 F5&lt;br /&gt;
		bp	L0879			; 087B 81 FD&lt;br /&gt;
L087D:		ins	4			; 087D A4&lt;br /&gt;
		ai	$FF			; 087E 24 FF&lt;br /&gt;
		outs	4			; 0880 B4&lt;br /&gt;
		ds	1			; 0881 31&lt;br /&gt;
		bnz	L0859			; 0882 94 D6&lt;br /&gt;
		ins	5			; 0884 A5&lt;br /&gt;
		ai	$FF			; 0885 24 FF&lt;br /&gt;
		outs	5			; 0887 B5&lt;br /&gt;
		ds	6			; 0888 36&lt;br /&gt;
		bnz	L0854			; 0889 94 CA&lt;br /&gt;
		clr				; 088B 70&lt;br /&gt;
		outs	0			; 088C B0&lt;br /&gt;
		pop				; 088D 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; play_sound_table (confirmed)&lt;br /&gt;
; DC0 points to pairs: repetition/group count followed by delay value. A zero&lt;br /&gt;
; count terminates. The routine alternates $80 (500 Hz) and $00 on port 5;&lt;br /&gt;
; r5 controls both on-time and off-time, while r4/r7 group the pulses.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L088E:		lis	3			; 088E 73&lt;br /&gt;
		lr	4, A			; 088F 54&lt;br /&gt;
L0890:		inc				; 0890 1F&lt;br /&gt;
		bnz	L0890			; 0891 94 FE&lt;br /&gt;
		am				; 0893 88&lt;br /&gt;
		lr	7, A			; 0894 57&lt;br /&gt;
		bz	L08AF			; 0895 84 19&lt;br /&gt;
		lm				; 0897 16&lt;br /&gt;
		lr	5, A			; 0898 55&lt;br /&gt;
L0899:		li	$80			; 0899 20 80&lt;br /&gt;
		outs	5			; 089B B5&lt;br /&gt;
		lr	A, 5			; 089C 45&lt;br /&gt;
L089D:		inc				; 089D 1F&lt;br /&gt;
		bnz	L089D			; 089E 94 FE&lt;br /&gt;
		outs	5			; 08A0 B5&lt;br /&gt;
		lr	A, 5			; 08A1 45&lt;br /&gt;
L08A2:		inc				; 08A2 1F&lt;br /&gt;
		bnz	L08A2			; 08A3 94 FE&lt;br /&gt;
		ds	4			; 08A5 34&lt;br /&gt;
		bnz	L0899			; 08A6 94 F2&lt;br /&gt;
		lis	3			; 08A8 73&lt;br /&gt;
		lr	4, A			; 08A9 54&lt;br /&gt;
		ds	7			; 08AA 37&lt;br /&gt;
		bnz	L0899			; 08AB 94 ED&lt;br /&gt;
		br	L088E			; 08AD 90 E0&lt;br /&gt;
L08AF:		pop				; 08AF 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; read_controller_a / read_controller_b (strongly likely)&lt;br /&gt;
; Select one of two controller I/O paths according to r10 bit 0. The selected&lt;br /&gt;
; input is inverted and stored in O73. L08C1 selects the opposite input path.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L08B0:		lis	1			; 08B0 71&lt;br /&gt;
		ns	$A			; 08B1 FA&lt;br /&gt;
		bz	L08B9			; 08B2 84 06&lt;br /&gt;
L08B4:		clr				; 08B4 70&lt;br /&gt;
		outs	4			; 08B5 B4&lt;br /&gt;
		ins	4			; 08B6 A4&lt;br /&gt;
		br	L08BC			; 08B7 90 04&lt;br /&gt;
L08B9:		clr				; 08B9 70&lt;br /&gt;
		outs	1			; 08BA B1&lt;br /&gt;
		ins	1			; 08BB A1&lt;br /&gt;
L08BC:		com				; 08BC 18&lt;br /&gt;
		lisu	7			; 08BD 67&lt;br /&gt;
		lisl	3			; 08BE 6B&lt;br /&gt;
		lr	S, A			; 08BF 5C&lt;br /&gt;
		pop				; 08C0 1C&lt;br /&gt;
L08C1:		lis	1			; 08C1 71&lt;br /&gt;
		ns	$A			; 08C2 FA&lt;br /&gt;
		bz	L08B4			; 08C3 84 F0&lt;br /&gt;
		br	L08B9			; 08C5 90 F3&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; lookup_table_1268 (confirmed table lookup)&lt;br /&gt;
; Index table L1268 from scratchpad state and accumulate variable-length data.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L08C7:		dci	L1268			; 08C7 2A 12 68&lt;br /&gt;
		lisu	7			; 08CA 67&lt;br /&gt;
		lisl	6			; 08CB 6E&lt;br /&gt;
		lr	A, D			; 08CC 4E&lt;br /&gt;
		adc				; 08CD 8E&lt;br /&gt;
		lm				; 08CE 16&lt;br /&gt;
		adc				; 08CF 8E&lt;br /&gt;
		lr	A, S			; 08D0 4C&lt;br /&gt;
		com				; 08D1 18&lt;br /&gt;
		inc				; 08D2 1F&lt;br /&gt;
		lr	4, A			; 08D3 54&lt;br /&gt;
L08D4:		lm				; 08D4 16&lt;br /&gt;
		as	4			; 08D5 C4&lt;br /&gt;
		lm				; 08D6 16&lt;br /&gt;
		bm	L08D4			; 08D7 91 FC&lt;br /&gt;
		pop				; 08D9 1C&lt;br /&gt;
; lookup_table_1297 (confirmed table lookup)&lt;br /&gt;
; Parallel lookup using L1297, with a three-byte accumulation stride.&lt;br /&gt;
L08DA:		dci	L1297			; 08DA 2A 12 97&lt;br /&gt;
		lisu	7			; 08DD 67&lt;br /&gt;
		lisl	6			; 08DE 6E&lt;br /&gt;
		lr	A, D			; 08DF 4E&lt;br /&gt;
		adc				; 08E0 8E&lt;br /&gt;
		lm				; 08E1 16&lt;br /&gt;
		adc				; 08E2 8E&lt;br /&gt;
		lr	A, S			; 08E3 4C&lt;br /&gt;
		com				; 08E4 18&lt;br /&gt;
		inc				; 08E5 1F&lt;br /&gt;
		lr	4, A			; 08E6 54&lt;br /&gt;
L08E7:		lm				; 08E7 16&lt;br /&gt;
		lm				; 08E8 16&lt;br /&gt;
		as	4			; 08E9 C4&lt;br /&gt;
		lm				; 08EA 16&lt;br /&gt;
		bm	L08E7			; 08EB 91 FB&lt;br /&gt;
		pop				; 08ED 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; calc_small_index_a (preliminary)&lt;br /&gt;
; Return a small class in r5 according to r0 and player/side flag r10 bit 0.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L08EE:		lis	2			; 08EE 72&lt;br /&gt;
		lr	5, A			; 08EF 55&lt;br /&gt;
		lr	A, 0			; 08F0 40&lt;br /&gt;
		ci	6			; 08F1 25 06&lt;br /&gt;
		bm	L08F6			; 08F3 91 02&lt;br /&gt;
		ds	5			; 08F5 35&lt;br /&gt;
L08F6:		lis	1			; 08F6 71&lt;br /&gt;
		ns	$A			; 08F7 FA&lt;br /&gt;
		bz	L08FB			; 08F8 84 02&lt;br /&gt;
		ds	5			; 08FA 35&lt;br /&gt;
L08FB:		ds	5			; 08FB 35&lt;br /&gt;
		pop				; 08FC 1C&lt;br /&gt;
; calc_small_index_b (preliminary)&lt;br /&gt;
; Return a small class in r5 from the relation between r0 and r4.&lt;br /&gt;
L08FD:		lis	2			; 08FD 72&lt;br /&gt;
		lr	5, A			; 08FE 55&lt;br /&gt;
		li	$F9			; 08FF 20 F9&lt;br /&gt;
		as	0			; 0901 C0&lt;br /&gt;
		bm	L0905			; 0902 91 02&lt;br /&gt;
		ds	5			; 0904 35&lt;br /&gt;
L0905:		li	$F9			; 0905 20 F9&lt;br /&gt;
		as	4			; 0907 C4&lt;br /&gt;
		bm	L090B			; 0908 91 02&lt;br /&gt;
		ds	5			; 090A 35&lt;br /&gt;
L090B:		ds	5			; 090B 35&lt;br /&gt;
		pop				; 090C 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; update_motion_or_collision_vector (strongly likely)&lt;br /&gt;
; Compare object coordinate pairs stored at $10 + 2*index. The block computes&lt;br /&gt;
; absolute differences, applies side/direction flags, and records an event in&lt;br /&gt;
; r11 bit 1 when the tested geometric condition is met.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L090D:		lisu	6			; 090D 66&lt;br /&gt;
		lisl	5			; 090E 6D&lt;br /&gt;
		li	$64			; 090F 20 64&lt;br /&gt;
		lr	I, A			; 0911 5D&lt;br /&gt;
		lr	A, 9			; 0912 49&lt;br /&gt;
		lr	S, A			; 0913 5C&lt;br /&gt;
		lisl	4			; 0914 6C&lt;br /&gt;
		lr	A, 4			; 0915 44&lt;br /&gt;
		lr	S, A			; 0916 5C&lt;br /&gt;
		lis	6			; 0917 76&lt;br /&gt;
		lr	9, A			; 0918 59&lt;br /&gt;
L0919:		li	$10			; 0919 20 10&lt;br /&gt;
		as	8			; 091B C8&lt;br /&gt;
		as	8			; 091C C8&lt;br /&gt;
		lr	IS, A			; 091D 0B&lt;br /&gt;
		lr	A, S			; 091E 4C&lt;br /&gt;
		lr	7, A			; 091F 57&lt;br /&gt;
		li	$FE			; 0920 20 FE&lt;br /&gt;
		lr	5, A			; 0922 55&lt;br /&gt;
		li	$10			; 0923 20 10&lt;br /&gt;
		as	9			; 0925 C9&lt;br /&gt;
		as	9			; 0926 C9&lt;br /&gt;
		lr	IS, A			; 0927 0B&lt;br /&gt;
		lr	A, 7			; 0928 47&lt;br /&gt;
		com				; 0929 18&lt;br /&gt;
		inc				; 092A 1F&lt;br /&gt;
		as	S			; 092B CC&lt;br /&gt;
		lr	7, A			; 092C 57&lt;br /&gt;
		bp	L0931			; 092D 81 03&lt;br /&gt;
		com				; 092F 18&lt;br /&gt;
		inc				; 0930 1F&lt;br /&gt;
L0931:		lr	4, A			; 0931 54&lt;br /&gt;
		lis	1			; 0932 71&lt;br /&gt;
		ns	$A			; 0933 FA&lt;br /&gt;
		bz	L093A			; 0934 84 05&lt;br /&gt;
		lr	A, 7			; 0936 47&lt;br /&gt;
		com				; 0937 18&lt;br /&gt;
		inc				; 0938 1F&lt;br /&gt;
		lr	7, A			; 0939 57&lt;br /&gt;
L093A:		lr	A, 5			; 093A 45&lt;br /&gt;
		inc				; 093B 1F&lt;br /&gt;
		inc				; 093C 1F&lt;br /&gt;
		lr	5, A			; 093D 55&lt;br /&gt;
		lr	A, 4			; 093E 44&lt;br /&gt;
		ai	$FD			; 093F 24 FD&lt;br /&gt;
		lr	4, A			; 0941 54&lt;br /&gt;
		bp	L093A			; 0942 81 F7&lt;br /&gt;
		lisu	6			; 0944 66&lt;br /&gt;
		lisl	7			; 0945 6F&lt;br /&gt;
		lis	8			; 0946 78&lt;br /&gt;
		ns	S			; 0947 FC&lt;br /&gt;
		bz	L094E			; 0948 84 05&lt;br /&gt;
		lr	A, 5			; 094A 45&lt;br /&gt;
		com				; 094B 18&lt;br /&gt;
		inc				; 094C 1F&lt;br /&gt;
		lr	5, A			; 094D 55&lt;br /&gt;
L094E:		lis	$C			; 094E 7C&lt;br /&gt;
		ns	S			; 094F FC&lt;br /&gt;
		bnz	L0953			; 0950 94 02&lt;br /&gt;
		lr	5, A			; 0952 55&lt;br /&gt;
L0953:		lis	1			; 0953 71&lt;br /&gt;
		ns	$A			; 0954 FA&lt;br /&gt;
		bnz	L095B			; 0955 94 05&lt;br /&gt;
		lr	A, 5			; 0957 45&lt;br /&gt;
		com				; 0958 18&lt;br /&gt;
		inc				; 0959 1F&lt;br /&gt;
		lr	5, A			; 095A 55&lt;br /&gt;
L095B:		clr				; 095B 70&lt;br /&gt;
		as	7			; 095C C7&lt;br /&gt;
		bm	L0963			; 095D 91 05&lt;br /&gt;
		lr	A, 5			; 095F 45&lt;br /&gt;
		com				; 0960 18&lt;br /&gt;
		inc				; 0961 1F&lt;br /&gt;
		lr	5, A			; 0962 55&lt;br /&gt;
L0963:		li	$11			; 0963 20 11&lt;br /&gt;
		as	8			; 0965 C8&lt;br /&gt;
		as	8			; 0966 C8&lt;br /&gt;
		lr	IS, A			; 0967 0B&lt;br /&gt;
		lr	A, S			; 0968 4C&lt;br /&gt;
		as	5			; 0969 C5&lt;br /&gt;
		com				; 096A 18&lt;br /&gt;
		inc				; 096B 1F&lt;br /&gt;
		lr	5, A			; 096C 55&lt;br /&gt;
		li	$11			; 096D 20 11&lt;br /&gt;
		as	9			; 096F C9&lt;br /&gt;
		as	9			; 0970 C9&lt;br /&gt;
		lr	IS, A			; 0971 0B&lt;br /&gt;
		lr	A, S			; 0972 4C&lt;br /&gt;
		as	5			; 0973 C5&lt;br /&gt;
		bp	L0978			; 0974 81 03&lt;br /&gt;
		com				; 0976 18&lt;br /&gt;
		inc				; 0977 1F&lt;br /&gt;
L0978:		lr	5, A			; 0978 55&lt;br /&gt;
		com				; 0979 18&lt;br /&gt;
		lisu	6			; 097A 66&lt;br /&gt;
		lisl	5			; 097B 6D&lt;br /&gt;
		as	S			; 097C CC&lt;br /&gt;
		bm	L09B3			; 097D 91 35&lt;br /&gt;
		lr	A, 5			; 097F 45&lt;br /&gt;
		lr	S, A			; 0980 5C&lt;br /&gt;
		clr				; 0981 70&lt;br /&gt;
		as	7			; 0982 C7&lt;br /&gt;
		bp	L09AF			; 0983 81 2B&lt;br /&gt;
		lr	A, $B			; 0985 4B&lt;br /&gt;
		ni	$FD			; 0986 21 FD&lt;br /&gt;
		lr	$B, A			; 0988 5B&lt;br /&gt;
		li	$10			; 0989 20 10&lt;br /&gt;
		as	8			; 098B C8&lt;br /&gt;
		as	8			; 098C C8&lt;br /&gt;
		lr	IS, A			; 098D 0B&lt;br /&gt;
		lr	A, S			; 098E 4C&lt;br /&gt;
		sr	1			; 098F 12&lt;br /&gt;
		as	S			; 0990 CC&lt;br /&gt;
		lr	5, A			; 0991 55&lt;br /&gt;
		lisu	2			; 0992 62&lt;br /&gt;
		lisl	6			; 0993 6E&lt;br /&gt;
		lr	A, S			; 0994 4C&lt;br /&gt;
		sr	1			; 0995 12&lt;br /&gt;
		com				; 0996 18&lt;br /&gt;
		inc				; 0997 1F&lt;br /&gt;
		as	5			; 0998 C5&lt;br /&gt;
		lr	5, A			; 0999 55&lt;br /&gt;
		li	$10			; 099A 20 10&lt;br /&gt;
		as	9			; 099C C9&lt;br /&gt;
		as	9			; 099D C9&lt;br /&gt;
		lr	IS, A			; 099E 0B&lt;br /&gt;
		lr	A, S			; 099F 4C&lt;br /&gt;
		com				; 09A0 18&lt;br /&gt;
		inc				; 09A1 1F&lt;br /&gt;
		as	5			; 09A2 C5&lt;br /&gt;
		lr	5, A			; 09A3 55&lt;br /&gt;
		lis	1			; 09A4 71&lt;br /&gt;
		ns	$A			; 09A5 FA&lt;br /&gt;
		bz	L09AC			; 09A6 84 05&lt;br /&gt;
		lr	A, 5			; 09A8 45&lt;br /&gt;
		com				; 09A9 18&lt;br /&gt;
		inc				; 09AA 1F&lt;br /&gt;
		lr	5, A			; 09AB 55&lt;br /&gt;
L09AC:		ds	5			; 09AC 35&lt;br /&gt;
		bp	L09B3			; 09AD 81 05&lt;br /&gt;
L09AF:		lr	A, $B			; 09AF 4B&lt;br /&gt;
		oi	2			; 09B0 22 02&lt;br /&gt;
		lr	$B, A			; 09B2 5B&lt;br /&gt;
L09B3:		ds	9			; 09B3 39&lt;br /&gt;
		lr	A, 9			; 09B4 49&lt;br /&gt;
		ci	3			; 09B5 25 03&lt;br /&gt;
		bp	L09BC			; 09B7 81 04&lt;br /&gt;
		jmp	L0919			; 09B9 29 09 19&lt;br /&gt;
L09BC:		lisu	6			; 09BC 66&lt;br /&gt;
		lisl	6			; 09BD 6E&lt;br /&gt;
		lr	A, S			; 09BE 4C&lt;br /&gt;
		lr	9, A			; 09BF 59&lt;br /&gt;
		lisl	4			; 09C0 6C&lt;br /&gt;
		lr	A, S			; 09C1 4C&lt;br /&gt;
		lr	4, A			; 09C2 54&lt;br /&gt;
		pop				; 09C3 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; draw_player_or_marker (strongly likely)&lt;br /&gt;
; Save the nested return in K, derive a screen position from O61/O62, and draw&lt;br /&gt;
; four component glyphs through L0840. Return through PK.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L09C4:		lr	K, P			; 09C4 08&lt;br /&gt;
		lisu	6			; 09C5 66&lt;br /&gt;
		lisl	1			; 09C6 69&lt;br /&gt;
		lr	A, I			; 09C7 4D&lt;br /&gt;
		ci	$32			; 09C8 25 32&lt;br /&gt;
		li	$3C			; 09CA 20 3C&lt;br /&gt;
		bp	L09D0			; 09CC 81 03&lt;br /&gt;
		li	$19			; 09CE 20 19&lt;br /&gt;
L09D0:		lr	3, A			; 09D0 53&lt;br /&gt;
		clr				; 09D1 70&lt;br /&gt;
		lr	1, A			; 09D2 51&lt;br /&gt;
		as	S			; 09D3 CC&lt;br /&gt;
		lr	8, A			; 09D4 58&lt;br /&gt;
		bz	L09E4			; 09D5 84 0E&lt;br /&gt;
L09D7:		lr	A, 8			; 09D7 48&lt;br /&gt;
		ai	$C4			; 09D8 24 C4&lt;br /&gt;
		ci	$C3			; 09DA 25 C3&lt;br /&gt;
		bnc	L09E4			; 09DC 92 07&lt;br /&gt;
		lr	8, A			; 09DE 58&lt;br /&gt;
		lr	A, 1			; 09DF 41&lt;br /&gt;
		inc				; 09E0 1F&lt;br /&gt;
		lr	1, A			; 09E1 51&lt;br /&gt;
		br	L09D7			; 09E2 90 F4&lt;br /&gt;
L09E4:		lis	7			; 09E4 77&lt;br /&gt;
		lr	4, A			; 09E5 54&lt;br /&gt;
		li	$40			; 09E6 20 40&lt;br /&gt;
		lr	2, A			; 09E8 52&lt;br /&gt;
		pi	L0840			; 09E9 28 08 40&lt;br /&gt;
		lis	4			; 09EC 74&lt;br /&gt;
		as	3			; 09ED C3&lt;br /&gt;
		lr	3, A			; 09EE 53&lt;br /&gt;
		lis	$A			; 09EF 7A&lt;br /&gt;
		lr	1, A			; 09F0 51&lt;br /&gt;
		pi	L0840			; 09F1 28 08 40&lt;br /&gt;
		lis	3			; 09F4 73&lt;br /&gt;
		as	3			; 09F5 C3&lt;br /&gt;
		lr	3, A			; 09F6 53&lt;br /&gt;
		clr				; 09F7 70&lt;br /&gt;
L09F8:		lr	1, A			; 09F8 51&lt;br /&gt;
		lr	A, 8			; 09F9 48&lt;br /&gt;
		ai	$F6			; 09FA 24 F6&lt;br /&gt;
		bm	L0A04			; 09FC 91 07&lt;br /&gt;
		lr	8, A			; 09FE 58&lt;br /&gt;
		lr	A, 1			; 09FF 41&lt;br /&gt;
		inc				; 0A00 1F&lt;br /&gt;
		lr	1, A			; 0A01 51&lt;br /&gt;
		br	L09F8			; 0A02 90 F5&lt;br /&gt;
L0A04:		pi	L0840			; 0A04 28 08 40&lt;br /&gt;
		lis	4			; 0A07 74&lt;br /&gt;
		as	3			; 0A08 C3&lt;br /&gt;
		lr	3, A			; 0A09 53&lt;br /&gt;
		lr	A, 8			; 0A0A 48&lt;br /&gt;
		lr	1, A			; 0A0B 51&lt;br /&gt;
		pi	L0840			; 0A0C 28 08 40&lt;br /&gt;
		pk				; 0A0F 0C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; normalize_control_bits (strongly likely)&lt;br /&gt;
; Copy direction bits from r7 to r4 and mirror selected bits for the active side.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0A10:		lr	A, 7			; 0A10 47&lt;br /&gt;
		lr	4, A			; 0A11 54&lt;br /&gt;
		lis	1			; 0A12 71&lt;br /&gt;
		ns	$A			; 0A13 FA&lt;br /&gt;
		bnz	L0A1D			; 0A14 94 08&lt;br /&gt;
		lis	3			; 0A16 73&lt;br /&gt;
		ns	4			; 0A17 F4&lt;br /&gt;
		bz	L0A1D			; 0A18 84 04&lt;br /&gt;
		lis	3			; 0A1A 73&lt;br /&gt;
		xs	4			; 0A1B E4&lt;br /&gt;
		lr	4, A			; 0A1C 54&lt;br /&gt;
L0A1D:		br	L0A24			; 0A1D 90 06&lt;br /&gt;
; read_control_nibble (strongly likely): load low four bits of O73 into r4.&lt;br /&gt;
L0A1F:		lisu	7			; 0A1F 67&lt;br /&gt;
		lisl	3			; 0A20 6B&lt;br /&gt;
		lis	$F			; 0A21 7F&lt;br /&gt;
		ns	S			; 0A22 FC&lt;br /&gt;
		lr	4, A			; 0A23 54&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; apply_direction_and_move (strongly likely)&lt;br /&gt;
; Decode r4 bits 0-3 into signed horizontal and vertical steps in r3/r6, then&lt;br /&gt;
; apply object-, side- and boundary-specific movement rules.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0A24:		lr	K, P			; 0A24 08&lt;br /&gt;
		clr				; 0A25 70&lt;br /&gt;
		lr	3, A			; 0A26 53&lt;br /&gt;
		lr	6, A			; 0A27 56&lt;br /&gt;
		lis	1			; 0A28 71&lt;br /&gt;
		ns	4			; 0A29 F4&lt;br /&gt;
		bz	L0A2E			; 0A2A 84 03&lt;br /&gt;
		lis	1			; 0A2C 71&lt;br /&gt;
		lr	3, A			; 0A2D 53&lt;br /&gt;
L0A2E:		lis	2			; 0A2E 72&lt;br /&gt;
		ns	4			; 0A2F F4&lt;br /&gt;
		bz	L0A33			; 0A30 84 02&lt;br /&gt;
		ds	3			; 0A32 33&lt;br /&gt;
L0A33:		nop				; 0A33 2B&lt;br /&gt;
		lis	4			; 0A34 74&lt;br /&gt;
		ns	4			; 0A35 F4&lt;br /&gt;
		bz	L0A3A			; 0A36 84 03&lt;br /&gt;
		lis	1			; 0A38 71&lt;br /&gt;
		lr	6, A			; 0A39 56&lt;br /&gt;
L0A3A:		lis	8			; 0A3A 78&lt;br /&gt;
		ns	4			; 0A3B F4&lt;br /&gt;
		bz	L0A3F			; 0A3C 84 02&lt;br /&gt;
		ds	6			; 0A3E 36&lt;br /&gt;
L0A3F:		clr				; 0A3F 70&lt;br /&gt;
		as	0			; 0A40 C0&lt;br /&gt;
		bnz	L0A61			; 0A41 94 1F&lt;br /&gt;
		lr	A, 6			; 0A43 46&lt;br /&gt;
		sl	1			; 0A44 13&lt;br /&gt;
		lr	6, A			; 0A45 56&lt;br /&gt;
		lr	A, 3			; 0A46 43&lt;br /&gt;
		bz	L0A4D			; 0A47 84 05&lt;br /&gt;
		sl	1			; 0A49 13&lt;br /&gt;
		sl	1			; 0A4A 13&lt;br /&gt;
		br	L0A4F			; 0A4B 90 03&lt;br /&gt;
L0A4D:		sl	1			; 0A4D 13&lt;br /&gt;
		as	3			; 0A4E C3&lt;br /&gt;
L0A4F:		lr	3, A			; 0A4F 53&lt;br /&gt;
		lisu	7			; 0A50 67&lt;br /&gt;
		lisl	6			; 0A51 6E&lt;br /&gt;
		lr	A, D			; 0A52 4E&lt;br /&gt;
		ci	6			; 0A53 25 06&lt;br /&gt;
		bp	L0A73			; 0A55 81 1D&lt;br /&gt;
		lis	1			; 0A57 71&lt;br /&gt;
		ns	S			; 0A58 FC&lt;br /&gt;
		bnz	L0A5D			; 0A59 94 03&lt;br /&gt;
		li	$FF			; 0A5B 20 FF&lt;br /&gt;
L0A5D:		as	6			; 0A5D C6&lt;br /&gt;
		lr	6, A			; 0A5E 56&lt;br /&gt;
		br	L0A73			; 0A5F 90 13&lt;br /&gt;
L0A61:		lisu	7			; 0A61 67&lt;br /&gt;
		lisl	6			; 0A62 6E&lt;br /&gt;
		lis	7			; 0A63 77&lt;br /&gt;
		xs	S			; 0A64 EC&lt;br /&gt;
		bnz	L0A73			; 0A65 94 0D&lt;br /&gt;
		lis	3			; 0A67 73&lt;br /&gt;
		xs	9			; 0A68 E9&lt;br /&gt;
		bnz	L0A73			; 0A69 94 09&lt;br /&gt;
		lr	A, 0			; 0A6B 40&lt;br /&gt;
		ci	6			; 0A6C 25 06&lt;br /&gt;
		bm	L0A73			; 0A6E 91 04&lt;br /&gt;
		clr				; 0A70 70&lt;br /&gt;
		lr	3, A			; 0A71 53&lt;br /&gt;
		lr	6, A			; 0A72 56&lt;br /&gt;
L0A73:		lis	2			; 0A73 72&lt;br /&gt;
		ns	$A			; 0A74 FA&lt;br /&gt;
		bnz	L0A9A			; 0A75 94 24&lt;br /&gt;
		lr	A, 0			; 0A77 40&lt;br /&gt;
		ci	6			; 0A78 25 06&lt;br /&gt;
		bp	L0A9A			; 0A7A 81 1F&lt;br /&gt;
		ci	$C			; 0A7C 25 0C&lt;br /&gt;
		bm	L0A9A			; 0A7E 91 1B&lt;br /&gt;
		lis	3			; 0A80 73&lt;br /&gt;
		xs	9			; 0A81 E9&lt;br /&gt;
		bnz	L0A89			; 0A82 94 06&lt;br /&gt;
		li	$20			; 0A84 20 20&lt;br /&gt;
		ns	$A			; 0A86 FA&lt;br /&gt;
		bz	L0A9A			; 0A87 84 12&lt;br /&gt;
L0A89:		lisl	4			; 0A89 6C&lt;br /&gt;
		lr	A, S			; 0A8A 4C&lt;br /&gt;
		sl	4			; 0A8B 15&lt;br /&gt;
		sl	1			; 0A8C 13&lt;br /&gt;
		as	S			; 0A8D CC&lt;br /&gt;
		ai	$73			; 0A8E 24 73&lt;br /&gt;
		lr	S, A			; 0A90 5C&lt;br /&gt;
		lr	A, S			; 0A91 4C&lt;br /&gt;
		sr	4			; 0A92 14&lt;br /&gt;
		sr	1			; 0A93 12&lt;br /&gt;
		sr	1			; 0A94 12&lt;br /&gt;
		bnz	L0A9A			; 0A95 94 04&lt;br /&gt;
		lr	A, 3			; 0A97 43&lt;br /&gt;
		sl	1			; 0A98 13&lt;br /&gt;
		lr	3, A			; 0A99 53&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Central object/collision pass (strongly likely)&lt;br /&gt;
; Iterate two-byte object records, test position limits and collisions, and set&lt;br /&gt;
; event bits in r11. O53/O54 hold a temporary coordinate pair.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0A9A:		clr				; 0A9A 70&lt;br /&gt;
		lr	$B, A			; 0A9B 5B&lt;br /&gt;
L0A9C:		pi	L0812			; 0A9C 28 08 12&lt;br /&gt;
		lr	A, I			; 0A9F 4D&lt;br /&gt;
		as	3			; 0AA0 C3&lt;br /&gt;
		lr	1, A			; 0AA1 51&lt;br /&gt;
		lr	A, S			; 0AA2 4C&lt;br /&gt;
		as	6			; 0AA3 C6&lt;br /&gt;
		lisu	5			; 0AA4 65&lt;br /&gt;
		lisl	3			; 0AA5 6B&lt;br /&gt;
		lr	2, A			; 0AA6 52&lt;br /&gt;
		lr	D, A			; 0AA7 5E&lt;br /&gt;
		lr	A, 1			; 0AA8 41&lt;br /&gt;
		lr	I, A			; 0AA9 5D&lt;br /&gt;
		lr	A, D			; 0AAA 4E&lt;br /&gt;
		ci	$F			; 0AAB 25 0F&lt;br /&gt;
		bp	L0AB3			; 0AAD 81 05&lt;br /&gt;
		ci	$35			; 0AAF 25 35&lt;br /&gt;
		bp	L0AD2			; 0AB1 81 20&lt;br /&gt;
L0AB3:		clr				; 0AB3 70&lt;br /&gt;
		as	0			; 0AB4 C0&lt;br /&gt;
		bz	L0ACE			; 0AB5 84 18&lt;br /&gt;
		lisu	5			; 0AB7 65&lt;br /&gt;
		lisl	4			; 0AB8 6C&lt;br /&gt;
		ci	5			; 0AB9 25 05&lt;br /&gt;
		bnz	L0AC2			; 0ABB 94 06&lt;br /&gt;
		lis	$C			; 0ABD 7C&lt;br /&gt;
		xs	S			; 0ABE EC&lt;br /&gt;
		lr	S, A			; 0ABF 5C&lt;br /&gt;
		br	L0ACA			; 0AC0 90 09&lt;br /&gt;
L0AC2:		ci	6			; 0AC2 25 06&lt;br /&gt;
		bnz	L0ACA			; 0AC4 94 05&lt;br /&gt;
		li	$C0			; 0AC6 20 C0&lt;br /&gt;
		xs	S			; 0AC8 EC&lt;br /&gt;
		lr	S, A			; 0AC9 5C&lt;br /&gt;
L0ACA:		clr				; 0ACA 70&lt;br /&gt;
		lr	6, A			; 0ACB 56&lt;br /&gt;
		br	L0A9C			; 0ACC 90 CF&lt;br /&gt;
L0ACE:		lr	A, $B			; 0ACE 4B&lt;br /&gt;
		oi	$10			; 0ACF 22 10&lt;br /&gt;
		lr	$B, A			; 0AD1 5B&lt;br /&gt;
L0AD2:		lr	A, 1			; 0AD2 41&lt;br /&gt;
		ci	$A			; 0AD3 25 0A&lt;br /&gt;
		bp	L0ADB			; 0AD5 81 05&lt;br /&gt;
		ci	$5F			; 0AD7 25 5F&lt;br /&gt;
		bp	L0AF5			; 0AD9 81 1B&lt;br /&gt;
L0ADB:		clr				; 0ADB 70&lt;br /&gt;
		as	0			; 0ADC C0&lt;br /&gt;
		bnz	L0AE5			; 0ADD 94 07&lt;br /&gt;
		lr	A, $B			; 0ADF 4B&lt;br /&gt;
		oi	$40			; 0AE0 22 40&lt;br /&gt;
		lr	$B, A			; 0AE2 5B&lt;br /&gt;
		br	L0AF5			; 0AE3 90 11&lt;br /&gt;
L0AE5:		lr	A, 0			; 0AE5 40&lt;br /&gt;
		ci	5			; 0AE6 25 05&lt;br /&gt;
		lisu	5			; 0AE8 65&lt;br /&gt;
		lisl	4			; 0AE9 6C&lt;br /&gt;
		bnz	L0AF1			; 0AEA 94 06&lt;br /&gt;
		lis	3			; 0AEC 73&lt;br /&gt;
		xs	S			; 0AED EC&lt;br /&gt;
		lr	S, A			; 0AEE 5C&lt;br /&gt;
		br	L0AF1			; 0AEF 90 01&lt;br /&gt;
L0AF1:		clr				; 0AF1 70&lt;br /&gt;
		lr	3, A			; 0AF2 53&lt;br /&gt;
		br	L0A9C			; 0AF3 90 A8&lt;br /&gt;
L0AF5:		lis	8			; 0AF5 78&lt;br /&gt;
		ns	$A			; 0AF6 FA&lt;br /&gt;
		lis	1			; 0AF7 71&lt;br /&gt;
		bz	L0AFB			; 0AF8 84 02&lt;br /&gt;
		clr				; 0AFA 70&lt;br /&gt;
L0AFB:		lr	4, A			; 0AFB 54&lt;br /&gt;
L0AFC:		lr	A, 4			; 0AFC 44&lt;br /&gt;
		xs	0			; 0AFD E0&lt;br /&gt;
		bz	L0B0B			; 0AFE 84 0C&lt;br /&gt;
		li	$10			; 0B00 20 10&lt;br /&gt;
		as	4			; 0B02 C4&lt;br /&gt;
		as	4			; 0B03 C4&lt;br /&gt;
		lr	IS, A			; 0B04 0B&lt;br /&gt;
		lis	2			; 0B05 72&lt;br /&gt;
		as	I			; 0B06 CD&lt;br /&gt;
		com				; 0B07 18&lt;br /&gt;
		as	1			; 0B08 C1&lt;br /&gt;
		bm	L0B0E			; 0B09 91 04&lt;br /&gt;
L0B0B:		jmp	L0BB1			; 0B0B 29 0B B1&lt;br /&gt;
L0B0E:		ai	5			; 0B0E 24 05&lt;br /&gt;
		bm	L0B0B			; 0B10 91 FA&lt;br /&gt;
		lis	2			; 0B12 72&lt;br /&gt;
		as	I			; 0B13 CD&lt;br /&gt;
		com				; 0B14 18&lt;br /&gt;
		as	2			; 0B15 C2&lt;br /&gt;
		bp	L0B0B			; 0B16 81 F4&lt;br /&gt;
		ai	5			; 0B18 24 05&lt;br /&gt;
		bm	L0B0B			; 0B1A 91 F0&lt;br /&gt;
		lr	A, 0			; 0B1C 40&lt;br /&gt;
		lr	8, A			; 0B1D 58&lt;br /&gt;
		lr	A, 9			; 0B1E 49&lt;br /&gt;
		xs	4			; 0B1F E4&lt;br /&gt;
		bz	L0B28			; 0B20 84 07&lt;br /&gt;
		lr	A, 4			; 0B22 44&lt;br /&gt;
		lr	8, A			; 0B23 58&lt;br /&gt;
		lr	A, 9			; 0B24 49&lt;br /&gt;
		xs	0			; 0B25 E0&lt;br /&gt;
		bnz	L0B8E			; 0B26 94 67&lt;br /&gt;
L0B28:		clr				; 0B28 70&lt;br /&gt;
		as	9			; 0B29 C9&lt;br /&gt;
		bnz	L0B81			; 0B2A 94 56&lt;br /&gt;
		lr	A, $B			; 0B2C 4B&lt;br /&gt;
		ni	$FD			; 0B2D 21 FD&lt;br /&gt;
		lr	$B, A			; 0B2F 5B&lt;br /&gt;
		lisu	7			; 0B30 67&lt;br /&gt;
		lisl	6			; 0B31 6E&lt;br /&gt;
		lr	A, D			; 0B32 4E&lt;br /&gt;
		ci	6			; 0B33 25 06&lt;br /&gt;
		bp	L0B55			; 0B35 81 1F&lt;br /&gt;
		lr	A, S			; 0B37 4C&lt;br /&gt;
		com				; 0B38 18&lt;br /&gt;
		inc				; 0B39 1F&lt;br /&gt;
		lisl	1			; 0B3A 69&lt;br /&gt;
		as	S			; 0B3B CC&lt;br /&gt;
		bp	L0B0B			; 0B3C 81 CE&lt;br /&gt;
		lr	A, 8			; 0B3E 48&lt;br /&gt;
		ci	6			; 0B3F 25 06&lt;br /&gt;
		lr	A, $B			; 0B41 4B&lt;br /&gt;
		bm	L0B49			; 0B42 91 06&lt;br /&gt;
		oi	$E			; 0B44 22 0E&lt;br /&gt;
		lr	$B, A			; 0B46 5B&lt;br /&gt;
		br	L0B4E			; 0B47 90 06&lt;br /&gt;
L0B49:		oi	$A			; 0B49 22 0A&lt;br /&gt;
		lr	$B, A			; 0B4B 5B&lt;br /&gt;
		lr	A, 8			; 0B4C 48&lt;br /&gt;
		lr	9, A			; 0B4D 59&lt;br /&gt;
L0B4E:		lr	A, $A			; 0B4E 4A&lt;br /&gt;
		oi	2			; 0B4F 22 02&lt;br /&gt;
		lr	$A, A			; 0B51 5A&lt;br /&gt;
		jmp	L0BBC			; 0B52 29 0B BC&lt;br /&gt;
L0B55:		lr	A, 8			; 0B55 48&lt;br /&gt;
		ci	3			; 0B56 25 03&lt;br /&gt;
		bp	L0B0B			; 0B58 81 B2&lt;br /&gt;
		ci	$A			; 0B5A 25 0A&lt;br /&gt;
		bm	L0B0B			; 0B5C 91 AE&lt;br /&gt;
		lr	A, $B			; 0B5E 4B&lt;br /&gt;
		oi	2			; 0B5F 22 02&lt;br /&gt;
		lr	$B, A			; 0B61 5B&lt;br /&gt;
		lr	A, 8			; 0B62 48&lt;br /&gt;
		ci	6			; 0B63 25 06&lt;br /&gt;
		bp	L0B6E			; 0B65 81 08&lt;br /&gt;
		pi	L090D			; 0B67 28 09 0D&lt;br /&gt;
		lis	2			; 0B6A 72&lt;br /&gt;
		ns	$B			; 0B6B FB&lt;br /&gt;
		bz	L0BB1			; 0B6C 84 44&lt;br /&gt;
L0B6E:		lr	A, 8			; 0B6E 48&lt;br /&gt;
		lr	9, A			; 0B6F 59&lt;br /&gt;
		lr	A, $B			; 0B70 4B&lt;br /&gt;
		oi	8			; 0B71 22 08&lt;br /&gt;
		ni	$FE			; 0B73 21 FE&lt;br /&gt;
		lr	$B, A			; 0B75 5B&lt;br /&gt;
		lr	A, 8			; 0B76 48&lt;br /&gt;
		ci	6			; 0B77 25 06&lt;br /&gt;
		bp	L0B7F			; 0B79 81 05&lt;br /&gt;
		lr	A, $A			; 0B7B 4A&lt;br /&gt;
		oi	2			; 0B7C 22 02&lt;br /&gt;
		lr	$A, A			; 0B7E 5A&lt;br /&gt;
L0B7F:		br	L0BBC			; 0B7F 90 3C&lt;br /&gt;
L0B81:		pi	L08FD			; 0B81 28 08 FD&lt;br /&gt;
		bnz	L0B8E			; 0B84 94 09&lt;br /&gt;
		lr	A, $B			; 0B86 4B&lt;br /&gt;
		oi	4			; 0B87 22 04&lt;br /&gt;
		ni	$FE			; 0B89 21 FE&lt;br /&gt;
		lr	$B, A			; 0B8B 5B&lt;br /&gt;
		br	L0BBC			; 0B8C 90 2F&lt;br /&gt;
L0B8E:		lr	A, $B			; 0B8E 4B&lt;br /&gt;
		oi	1			; 0B8F 22 01&lt;br /&gt;
		lr	$B, A			; 0B91 5B&lt;br /&gt;
		lr	A, 3			; 0B92 43&lt;br /&gt;
		ci	1			; 0B93 25 01&lt;br /&gt;
		bp	L0B9A			; 0B95 81 04&lt;br /&gt;
		lis	1			; 0B97 71&lt;br /&gt;
		br	L0BA0			; 0B98 90 07&lt;br /&gt;
L0B9A:		ci	$FE			; 0B9A 25 FE&lt;br /&gt;
		bm	L0BA4			; 0B9C 91 07&lt;br /&gt;
		li	$FF			; 0B9E 20 FF&lt;br /&gt;
L0BA0:		lr	3, A			; 0BA0 53&lt;br /&gt;
L0BA1:		jmp	L0A9A			; 0BA1 29 0A 9A&lt;br /&gt;
L0BA4:		pi	L08FD			; 0BA4 28 08 FD&lt;br /&gt;
		bz	L0BB1			; 0BA7 84 09&lt;br /&gt;
		clr				; 0BA9 70&lt;br /&gt;
		as	6			; 0BAA C6&lt;br /&gt;
		bz	L0BBC			; 0BAB 84 10&lt;br /&gt;
		clr				; 0BAD 70&lt;br /&gt;
		lr	6, A			; 0BAE 56&lt;br /&gt;
		br	L0BA1			; 0BAF 90 F1&lt;br /&gt;
L0BB1:		lr	A, 4			; 0BB1 44&lt;br /&gt;
		inc				; 0BB2 1F&lt;br /&gt;
		lr	4, A			; 0BB3 54&lt;br /&gt;
		ci	$C			; 0BB4 25 0C&lt;br /&gt;
		bm	L0BBC			; 0BB6 91 05&lt;br /&gt;
		jmp	L0AFC			; 0BB8 29 0A FC&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Scene/state update entry (preliminary)&lt;br /&gt;
; Preserve nested return in K, redraw changed objects, update packed state and&lt;br /&gt;
; dispatch event sound or phase transitions.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0BBB:		lr	K, P			; 0BBB 08&lt;br /&gt;
L0BBC:		lis	8			; 0BBC 78&lt;br /&gt;
		ns	$B			; 0BBD FB&lt;br /&gt;
		bz	L0BC9			; 0BBE 84 0A&lt;br /&gt;
		lr	A, $A			; 0BC0 4A&lt;br /&gt;
		ni	$F7			; 0BC1 21 F7&lt;br /&gt;
		lr	$A, A			; 0BC3 5A&lt;br /&gt;
		lisu	2			; 0BC4 62&lt;br /&gt;
		lisl	0			; 0BC5 68&lt;br /&gt;
		pi	L082C			; 0BC6 28 08 2C&lt;br /&gt;
L0BC9:		pi	L0812			; 0BC9 28 08 12&lt;br /&gt;
		pi	L082C			; 0BCC 28 08 2C&lt;br /&gt;
		li	$58			; 0BCF 20 58&lt;br /&gt;
		lr	3, A			; 0BD1 53&lt;br /&gt;
		pi	L0812			; 0BD2 28 08 12&lt;br /&gt;
		lr	A, I			; 0BD5 4D&lt;br /&gt;
		ci	$53			; 0BD6 25 53&lt;br /&gt;
		bm	L0BE1			; 0BD8 91 08&lt;br /&gt;
		ci	$17			; 0BDA 25 17&lt;br /&gt;
		bm	L0BEC			; 0BDC 91 0F&lt;br /&gt;
		li	$12			; 0BDE 20 12&lt;br /&gt;
		lr	3, A			; 0BE0 53&lt;br /&gt;
L0BE1:		lr	A, S			; 0BE1 4C&lt;br /&gt;
		lr	4, A			; 0BE2 54&lt;br /&gt;
		ds	4			; 0BE3 34&lt;br /&gt;
		lis	1			; 0BE4 71&lt;br /&gt;
		lr	5, A			; 0BE5 55&lt;br /&gt;
		li	$41			; 0BE6 20 41&lt;br /&gt;
		lr	2, A			; 0BE8 52&lt;br /&gt;
		pi	L083C			; 0BE9 28 08 3C&lt;br /&gt;
L0BEC:		li	$80			; 0BEC 20 80&lt;br /&gt;
		lr	2, A			; 0BEE 52&lt;br /&gt;
		dci	L1331			; 0BEF 2A 13 31&lt;br /&gt;
		pi	L08EE			; 0BF2 28 08 EE&lt;br /&gt;
		bz	L0BFC			; 0BF5 84 06&lt;br /&gt;
		clr				; 0BF7 70&lt;br /&gt;
		lr	2, A			; 0BF8 52&lt;br /&gt;
		dci	L132F			; 0BF9 2A 13 2F&lt;br /&gt;
L0BFC:		clr				; 0BFC 70&lt;br /&gt;
		as	0			; 0BFD C0&lt;br /&gt;
		bnz	L0C0A			; 0BFE 94 0B&lt;br /&gt;
		dci	L132D			; 0C00 2A 13 2D&lt;br /&gt;
		lis	8			; 0C03 78&lt;br /&gt;
		ns	$B			; 0C04 FB&lt;br /&gt;
		bz	L0C0A			; 0C05 84 04&lt;br /&gt;
		jmp	L0C96			; 0C07 29 0C 96&lt;br /&gt;
L0C0A:		lr	A, 9			; 0C0A 49&lt;br /&gt;
		com				; 0C0B 18&lt;br /&gt;
		inc				; 0C0C 1F&lt;br /&gt;
		as	0			; 0C0D C0&lt;br /&gt;
		bnz	L0C13			; 0C0E 94 04&lt;br /&gt;
		li	$40			; 0C10 20 40&lt;br /&gt;
		lr	2, A			; 0C12 52&lt;br /&gt;
L0C13:		lisu	5			; 0C13 65&lt;br /&gt;
		lisl	2			; 0C14 6A&lt;br /&gt;
		lr	A, I			; 0C15 4D&lt;br /&gt;
		lr	3, A			; 0C16 53&lt;br /&gt;
		lr	A, S			; 0C17 4C&lt;br /&gt;
		lr	4, A			; 0C18 54&lt;br /&gt;
		lis	1			; 0C19 71&lt;br /&gt;
		ns	$B			; 0C1A FB&lt;br /&gt;
		bnz	L0C24			; 0C1B 94 08&lt;br /&gt;
		pi	L0812			; 0C1D 28 08 12&lt;br /&gt;
		lr	A, 3			; 0C20 43&lt;br /&gt;
		lr	I, A			; 0C21 5D&lt;br /&gt;
		lr	A, 4			; 0C22 44&lt;br /&gt;
		lr	D, A			; 0C23 5E&lt;br /&gt;
L0C24:		pi	L0812			; 0C24 28 08 12&lt;br /&gt;
		pi	L082F			; 0C27 28 08 2F&lt;br /&gt;
		li	$40			; 0C2A 20 40&lt;br /&gt;
		ns	$B			; 0C2C FB&lt;br /&gt;
		bz	L0C5C			; 0C2D 84 2E&lt;br /&gt;
		lisu	7			; 0C2F 67&lt;br /&gt;
		lisl	6			; 0C30 6E&lt;br /&gt;
		lr	A, S			; 0C31 4C&lt;br /&gt;
		ci	6			; 0C32 25 06&lt;br /&gt;
		bp	L0C68			; 0C34 81 33&lt;br /&gt;
		ci	7			; 0C36 25 07&lt;br /&gt;
		bz	L0C44			; 0C38 84 0B&lt;br /&gt;
L0C3A:		lr	A, $B			; 0C3A 4B&lt;br /&gt;
		oi	6			; 0C3B 22 06&lt;br /&gt;
		lr	$B, A			; 0C3D 5B&lt;br /&gt;
		br	L0C96			; 0C3E 90 57&lt;br /&gt;
		.byte	$5C, $29, $0E, $16	; 0C40&lt;br /&gt;
L0C44:		lisu	2			; 0C44 62&lt;br /&gt;
		lisl	1			; 0C45 69&lt;br /&gt;
		lr	A, S			; 0C46 4C&lt;br /&gt;
		ci	$26			; 0C47 25 26&lt;br /&gt;
		bm	L0C3A			; 0C49 91 F0&lt;br /&gt;
		ci	$1A			; 0C4B 25 1A&lt;br /&gt;
		bp	L0C3A			; 0C4D 81 EC&lt;br /&gt;
		lisu	2			; 0C4F 62&lt;br /&gt;
		lisl	0			; 0C50 68&lt;br /&gt;
		lr	A, S			; 0C51 4C&lt;br /&gt;
		ci	$32			; 0C52 25 32&lt;br /&gt;
		lis	$B			; 0C54 7B&lt;br /&gt;
		bm	L0C58			; 0C55 91 02&lt;br /&gt;
		lis	3			; 0C57 73&lt;br /&gt;
L0C58:		lr	9, A			; 0C58 59&lt;br /&gt;
		jmp	L0D1C			; 0C59 29 0D 1C&lt;br /&gt;
L0C5C:		li	$10			; 0C5C 20 10&lt;br /&gt;
		ns	$B			; 0C5E FB&lt;br /&gt;
		bz	L0C96			; 0C5F 84 36&lt;br /&gt;
		lisu	7			; 0C61 67&lt;br /&gt;
		lisl	6			; 0C62 6E&lt;br /&gt;
		lr	A, S			; 0C63 4C&lt;br /&gt;
		ci	6			; 0C64 25 06&lt;br /&gt;
		bm	L0C3A			; 0C66 91 D3&lt;br /&gt;
L0C68:		li	$10			; 0C68 20 10&lt;br /&gt;
		ns	$A			; 0C6A FA&lt;br /&gt;
		bnz	L0C93			; 0C6B 94 27&lt;br /&gt;
L0C6D:		dci	L137A			; 0C6D 2A 13 7A&lt;br /&gt;
		pi	L088E			; 0C70 28 08 8E&lt;br /&gt;
		lis	1			; 0C73 71&lt;br /&gt;
		ns	$A			; 0C74 FA&lt;br /&gt;
		lisu	6			; 0C75 66&lt;br /&gt;
		lisl	1			; 0C76 69&lt;br /&gt;
		lr	A, S			; 0C77 4C&lt;br /&gt;
		bz	L0C87			; 0C78 84 0E&lt;br /&gt;
		ci	$26			; 0C7A 25 26&lt;br /&gt;
		bp	L0C82			; 0C7C 81 05&lt;br /&gt;
		ai	$F6			; 0C7E 24 F6&lt;br /&gt;
		br	L0C92			; 0C80 90 11&lt;br /&gt;
L0C82:		ai	$12			; 0C82 24 12&lt;br /&gt;
		sr	1			; 0C84 12&lt;br /&gt;
		br	L0C92			; 0C85 90 0C&lt;br /&gt;
L0C87:		ci	$44			; 0C87 25 44&lt;br /&gt;
		bm	L0C8F			; 0C89 91 05&lt;br /&gt;
		ai	$A			; 0C8B 24 0A&lt;br /&gt;
		br	L0C92			; 0C8D 90 04&lt;br /&gt;
L0C8F:		ai	$58			; 0C8F 24 58&lt;br /&gt;
		sr	1			; 0C91 12&lt;br /&gt;
L0C92:		lr	S, A			; 0C92 5C&lt;br /&gt;
L0C93:		jmp	L0E68			; 0C93 29 0E 68&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; play_short_beep_and_update_state (confirmed sound section)&lt;br /&gt;
; Select delay data through L1251, wait, pulse $40 (1 kHz) then $00 on port 5.&lt;br /&gt;
; The following path continues into event/state processing when required.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0C96:		nop				; 0C96 2B&lt;br /&gt;
		dci	L1251			; 0C97 2A 12 51&lt;br /&gt;
		lisu	7			; 0C9A 67&lt;br /&gt;
		lisl	2			; 0C9B 6A&lt;br /&gt;
		lr	A, S			; 0C9C 4C&lt;br /&gt;
		adc				; 0C9D 8E&lt;br /&gt;
		adc				; 0C9E 8E&lt;br /&gt;
		lm				; 0C9F 16&lt;br /&gt;
		lr	5, A			; 0CA0 55&lt;br /&gt;
		lm				; 0CA1 16&lt;br /&gt;
L0CA2:		inc				; 0CA2 1F&lt;br /&gt;
		bnz	L0CA2			; 0CA3 94 FE&lt;br /&gt;
		ds	5			; 0CA5 35&lt;br /&gt;
		bnz	L0CA2			; 0CA6 94 FB&lt;br /&gt;
		li	$40			; 0CA8 20 40&lt;br /&gt;
		outs	5			; 0CAA B5&lt;br /&gt;
		clr				; 0CAB 70&lt;br /&gt;
		outs	5			; 0CAC B5&lt;br /&gt;
		lis	4			; 0CAD 74&lt;br /&gt;
		ns	$B			; 0CAE FB&lt;br /&gt;
		bnz	L0CB2			; 0CAF 94 02&lt;br /&gt;
		pk				; 0CB1 0C&lt;br /&gt;
L0CB2:		dci	L1381			; 0CB2 2A 13 81&lt;br /&gt;
		pi	L088E			; 0CB5 28 08 8E&lt;br /&gt;
		li	$10			; 0CB8 20 10&lt;br /&gt;
		as	9			; 0CBA C9&lt;br /&gt;
		as	9			; 0CBB C9&lt;br /&gt;
		lr	IS, A			; 0CBC 0B&lt;br /&gt;
		lr	A, S			; 0CBD 4C&lt;br /&gt;
		lisu	6			; 0CBE 66&lt;br /&gt;
		lisl	1			; 0CBF 69&lt;br /&gt;
		inc				; 0CC0 1F&lt;br /&gt;
		lr	S, A			; 0CC1 5C&lt;br /&gt;
		lr	A, $B			; 0CC2 4B&lt;br /&gt;
		ni	$FB			; 0CC3 21 FB&lt;br /&gt;
		lr	$B, A			; 0CC5 5B&lt;br /&gt;
		lis	1			; 0CC6 71&lt;br /&gt;
		ns	$A			; 0CC7 FA&lt;br /&gt;
		bz	L0CCD			; 0CC8 84 04&lt;br /&gt;
		lis	4			; 0CCA 74&lt;br /&gt;
		as	$B			; 0CCB CB&lt;br /&gt;
		lr	$B, A			; 0CCC 5B&lt;br /&gt;
L0CCD:		lis	2			; 0CCD 72&lt;br /&gt;
		ns	$A			; 0CCE FA&lt;br /&gt;
		bz	L0CD4			; 0CCF 84 04&lt;br /&gt;
		lis	4			; 0CD1 74&lt;br /&gt;
		xs	$B			; 0CD2 EB&lt;br /&gt;
		lr	$B, A			; 0CD3 5B&lt;br /&gt;
L0CD4:		lis	4			; 0CD4 74&lt;br /&gt;
		ns	$B			; 0CD5 FB&lt;br /&gt;
		bz	L0CF9			; 0CD6 84 22&lt;br /&gt;
		lr	A, S			; 0CD8 4C&lt;br /&gt;
		ci	$58			; 0CD9 25 58&lt;br /&gt;
		bm	L0D13			; 0CDB 91 37&lt;br /&gt;
		ci	$11			; 0CDD 25 11&lt;br /&gt;
		bm	L0CE8			; 0CDF 91 08&lt;br /&gt;
		lis	2			; 0CE1 72&lt;br /&gt;
		ns	$A			; 0CE2 FA&lt;br /&gt;
		bz	L0CF2			; 0CE3 84 0E&lt;br /&gt;
		li	$21			; 0CE5 20 21&lt;br /&gt;
L0CE7:		lr	S, A			; 0CE7 5C&lt;br /&gt;
L0CE8:		lis	2			; 0CE8 72&lt;br /&gt;
		ns	$A			; 0CE9 FA&lt;br /&gt;
		bnz	L0CEF			; 0CEA 94 04&lt;br /&gt;
		jmp	L0E68			; 0CEC 29 0E 68&lt;br /&gt;
L0CEF:		jmp	L0E16			; 0CEF 29 0E 16&lt;br /&gt;
L0CF2:		li	$49			; 0CF2 20 49&lt;br /&gt;
		lr	S, A			; 0CF4 5C&lt;br /&gt;
		lis	2			; 0CF5 72&lt;br /&gt;
L0CF6:		lr	9, A			; 0CF6 59&lt;br /&gt;
		br	L0D27			; 0CF7 90 2F&lt;br /&gt;
L0CF9:		ds	S			; 0CF9 3C&lt;br /&gt;
		ds	S			; 0CFA 3C&lt;br /&gt;
		lr	A, S			; 0CFB 4C&lt;br /&gt;
		ci	$11			; 0CFC 25 11&lt;br /&gt;
		bp	L0D10			; 0CFE 81 11&lt;br /&gt;
		ci	$58			; 0D00 25 58&lt;br /&gt;
		bp	L0CE7			; 0D02 81 E4&lt;br /&gt;
		lis	2			; 0D04 72&lt;br /&gt;
		ns	$A			; 0D05 FA&lt;br /&gt;
		li	$49			; 0D06 20 49&lt;br /&gt;
		bnz	L0CE7			; 0D08 94 DE&lt;br /&gt;
		li	$21			; 0D0A 20 21&lt;br /&gt;
		lr	S, A			; 0D0C 5C&lt;br /&gt;
		lis	$A			; 0D0D 7A&lt;br /&gt;
		br	L0CF6			; 0D0E 90 E7&lt;br /&gt;
L0D10:		lis	7			; 0D10 77&lt;br /&gt;
		br	L0D14			; 0D11 90 02&lt;br /&gt;
L0D13:		lis	$F			; 0D13 7F&lt;br /&gt;
L0D14:		lr	9, A			; 0D14 59&lt;br /&gt;
		lis	2			; 0D15 72&lt;br /&gt;
		ns	$A			; 0D16 FA&lt;br /&gt;
		bz	L0D1C			; 0D17 84 04&lt;br /&gt;
		lis	1			; 0D19 71&lt;br /&gt;
		xs	$A			; 0D1A EA&lt;br /&gt;
		lr	$A, A			; 0D1B 5A&lt;br /&gt;
L0D1C:		lis	8			; 0D1C 78&lt;br /&gt;
		ns	9			; 0D1D F9&lt;br /&gt;
		lisu	6			; 0D1E 66&lt;br /&gt;
		lisl	1			; 0D1F 69&lt;br /&gt;
		li	$49			; 0D20 20 49&lt;br /&gt;
		bnz	L0D26			; 0D22 94 03&lt;br /&gt;
		li	$21			; 0D24 20 21&lt;br /&gt;
L0D26:		lr	S, A			; 0D26 5C&lt;br /&gt;
L0D27:		dci	L13CF			; 0D27 2A 13 CF&lt;br /&gt;
		pi	L088E			; 0D2A 28 08 8E&lt;br /&gt;
		jmp	L0E18			; 0D2D 29 0E 18&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; direction_from_coordinate_delta (strongly likely)&lt;br /&gt;
; Compare coordinate pair r9 with pair r0, form absolute X/Y differences and&lt;br /&gt;
; encode horizontal direction as 1/2 and vertical direction as 4/8 in r4.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0D30:		li	$10			; 0D30 20 10&lt;br /&gt;
		as	9			; 0D32 C9&lt;br /&gt;
		as	9			; 0D33 C9&lt;br /&gt;
		lr	IS, A			; 0D34 0B&lt;br /&gt;
		lr	A, I			; 0D35 4D&lt;br /&gt;
		lr	5, A			; 0D36 55&lt;br /&gt;
		lr	A, S			; 0D37 4C&lt;br /&gt;
		lr	6, A			; 0D38 56&lt;br /&gt;
		li	$10			; 0D39 20 10&lt;br /&gt;
		as	0			; 0D3B C0&lt;br /&gt;
		as	0			; 0D3C C0&lt;br /&gt;
		lr	IS, A			; 0D3D 0B&lt;br /&gt;
		lr	A, I			; 0D3E 4D&lt;br /&gt;
		com				; 0D3F 18&lt;br /&gt;
		inc				; 0D40 1F&lt;br /&gt;
		as	5			; 0D41 C5&lt;br /&gt;
		lr	5, A			; 0D42 55&lt;br /&gt;
		bp	L0D47			; 0D43 81 03&lt;br /&gt;
		com				; 0D45 18&lt;br /&gt;
		inc				; 0D46 1F&lt;br /&gt;
L0D47:		lr	4, A			; 0D47 54&lt;br /&gt;
		lr	A, S			; 0D48 4C&lt;br /&gt;
		com				; 0D49 18&lt;br /&gt;
		inc				; 0D4A 1F&lt;br /&gt;
		as	6			; 0D4B C6&lt;br /&gt;
		lr	6, A			; 0D4C 56&lt;br /&gt;
		bp	L0D51			; 0D4D 81 03&lt;br /&gt;
		com				; 0D4F 18&lt;br /&gt;
		inc				; 0D50 1F&lt;br /&gt;
L0D51:		lr	3, A			; 0D51 53&lt;br /&gt;
		com				; 0D52 18&lt;br /&gt;
		inc				; 0D53 1F&lt;br /&gt;
		as	4			; 0D54 C4&lt;br /&gt;
		clr				; 0D55 70&lt;br /&gt;
		bm	L0D5F			; 0D56 91 08&lt;br /&gt;
		as	5			; 0D58 C5&lt;br /&gt;
		lis	1			; 0D59 71&lt;br /&gt;
		bp	L0D5D			; 0D5A 81 02&lt;br /&gt;
		lis	2			; 0D5C 72&lt;br /&gt;
L0D5D:		br	L0D64			; 0D5D 90 06&lt;br /&gt;
L0D5F:		as	6			; 0D5F C6&lt;br /&gt;
		lis	4			; 0D60 74&lt;br /&gt;
		bp	L0D64			; 0D61 81 02&lt;br /&gt;
		lis	8			; 0D63 78&lt;br /&gt;
L0D64:		lr	4, A			; 0D64 54&lt;br /&gt;
		br	L0D83			; 0D65 90 1D&lt;br /&gt;
L0D67:		li	$10			; 0D67 20 10&lt;br /&gt;
		as	0			; 0D69 C0&lt;br /&gt;
		as	0			; 0D6A C0&lt;br /&gt;
		lr	IS, A			; 0D6B 0B&lt;br /&gt;
		lr	A, I			; 0D6C 4D&lt;br /&gt;
		com				; 0D6D 18&lt;br /&gt;
		inc				; 0D6E 1F&lt;br /&gt;
		as	5			; 0D6F C5&lt;br /&gt;
		bz	L0D76			; 0D70 84 05&lt;br /&gt;
		lis	2			; 0D72 72&lt;br /&gt;
		bm	L0D76			; 0D73 91 02&lt;br /&gt;
		lis	1			; 0D75 71&lt;br /&gt;
L0D76:		lr	4, A			; 0D76 54&lt;br /&gt;
		lr	A, S			; 0D77 4C&lt;br /&gt;
		com				; 0D78 18&lt;br /&gt;
		inc				; 0D79 1F&lt;br /&gt;
		as	6			; 0D7A C6&lt;br /&gt;
		bz	L0D81			; 0D7B 84 05&lt;br /&gt;
		lis	8			; 0D7D 78&lt;br /&gt;
		bm	L0D81			; 0D7E 91 02&lt;br /&gt;
		lis	4			; 0D80 74&lt;br /&gt;
L0D81:		as	4			; 0D81 C4&lt;br /&gt;
		lr	4, A			; 0D82 54&lt;br /&gt;
L0D83:		jmp	L0A24			; 0D83 29 0A 24&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; choose_direction_step (strongly likely)&lt;br /&gt;
; Produce small signed steps, normally 0, 4 or $FC (-4), from side, state and&lt;br /&gt;
; current object coordinates; continue through the direction decoder.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0D86:		clr				; 0D86 70&lt;br /&gt;
		lr	5, A			; 0D87 55&lt;br /&gt;
		lr	6, A			; 0D88 56&lt;br /&gt;
		as	2			; 0D89 C2&lt;br /&gt;
		ci	0			; 0D8A 25 00&lt;br /&gt;
		bnz	L0D98			; 0D8C 94 0B&lt;br /&gt;
		lis	1			; 0D8E 71&lt;br /&gt;
		ns	$A			; 0D8F FA&lt;br /&gt;
		lis	4			; 0D90 74&lt;br /&gt;
		bnz	L0D95			; 0D91 94 03&lt;br /&gt;
		li	$FC			; 0D93 20 FC&lt;br /&gt;
L0D95:		lr	5, A			; 0D95 55&lt;br /&gt;
		br	L0DA6			; 0D96 90 0F&lt;br /&gt;
L0D98:		li	$11			; 0D98 20 11&lt;br /&gt;
		as	7			; 0D9A C7&lt;br /&gt;
		as	7			; 0D9B C7&lt;br /&gt;
		lr	IS, A			; 0D9C 0B&lt;br /&gt;
		lr	A, S			; 0D9D 4C&lt;br /&gt;
		ci	$23			; 0D9E 25 23&lt;br /&gt;
		li	$FC			; 0DA0 20 FC&lt;br /&gt;
		bm	L0DA5			; 0DA2 91 02&lt;br /&gt;
		lis	4			; 0DA4 74&lt;br /&gt;
L0DA5:		lr	6, A			; 0DA5 56&lt;br /&gt;
L0DA6:		li	$10			; 0DA6 20 10&lt;br /&gt;
		as	7			; 0DA8 C7&lt;br /&gt;
		as	7			; 0DA9 C7&lt;br /&gt;
		lr	IS, A			; 0DAA 0B&lt;br /&gt;
		lr	A, I			; 0DAB 4D&lt;br /&gt;
		as	5			; 0DAC C5&lt;br /&gt;
		lr	5, A			; 0DAD 55&lt;br /&gt;
		lr	A, S			; 0DAE 4C&lt;br /&gt;
		as	6			; 0DAF C6&lt;br /&gt;
		lr	6, A			; 0DB0 56&lt;br /&gt;
		br	L0D67			; 0DB1 90 B5&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; lookup_state_table_125d (strongly likely)&lt;br /&gt;
; Replace the current scratchpad state through L125D and choose r0=6 or 12 from&lt;br /&gt;
; ISAR parity before entering the nested update worker.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0DB3:		dci	L125D			; 0DB3 2A 12 5D&lt;br /&gt;
		lr	A, S			; 0DB6 4C&lt;br /&gt;
		adc				; 0DB7 8E&lt;br /&gt;
		lm				; 0DB8 16&lt;br /&gt;
		lr	S, A			; 0DB9 5C&lt;br /&gt;
		lr	A, IS			; 0DBA 0A&lt;br /&gt;
		ni	1			; 0DBB 21 01&lt;br /&gt;
		lis	$C			; 0DBD 7C&lt;br /&gt;
		bnz	L0DC1			; 0DBE 94 02&lt;br /&gt;
		lis	6			; 0DC0 76&lt;br /&gt;
L0DC1:		lr	0, A			; 0DC1 50&lt;br /&gt;
		lisu	6			; 0DC2 66&lt;br /&gt;
		lisl	7			; 0DC3 6F&lt;br /&gt;
		clr				; 0DC4 70&lt;br /&gt;
		lr	S, A			; 0DC5 5C&lt;br /&gt;
; nested_state_update (strongly likely)&lt;br /&gt;
; Save the caller return from K in Q, process state/formation tables L1313 or&lt;br /&gt;
; L12FB, and return explicitly with LR P0,Q at L0E15.&lt;br /&gt;
L0DC6:		lr	K, P			; 0DC6 08&lt;br /&gt;
		lr	A, KU			; 0DC7 00&lt;br /&gt;
		lr	QU, A			; 0DC8 06&lt;br /&gt;
		lr	A, KL			; 0DC9 01&lt;br /&gt;
		lr	QL, A			; 0DCA 07&lt;br /&gt;
L0DCB:		dci	L1313			; 0DCB 2A 13 13&lt;br /&gt;
		lisu	6			; 0DCE 66&lt;br /&gt;
		lisl	1			; 0DCF 69&lt;br /&gt;
		lr	A, S			; 0DD0 4C&lt;br /&gt;
		lr	6, A			; 0DD1 56&lt;br /&gt;
		lisu	6			; 0DD2 66&lt;br /&gt;
		lisl	7			; 0DD3 6F&lt;br /&gt;
		lis	4			; 0DD4 74&lt;br /&gt;
		ns	S			; 0DD5 FC&lt;br /&gt;
		bz	L0DEB			; 0DD6 84 14&lt;br /&gt;
		dci	L12FB			; 0DD8 2A 12 FB&lt;br /&gt;
		lr	A, 0			; 0DDB 40&lt;br /&gt;
		ci	6			; 0DDC 25 06&lt;br /&gt;
		bm	L0DEB			; 0DDE 91 0C&lt;br /&gt;
		lis	$C			; 0DE0 7C&lt;br /&gt;
		adc				; 0DE1 8E&lt;br /&gt;
		lis	1			; 0DE2 71&lt;br /&gt;
		ns	$A			; 0DE3 FA&lt;br /&gt;
		li	$F6			; 0DE4 20 F6&lt;br /&gt;
		bnz	L0DE9			; 0DE6 94 02&lt;br /&gt;
		lis	$A			; 0DE8 7A&lt;br /&gt;
L0DE9:		as	6			; 0DE9 C6&lt;br /&gt;
		lr	6, A			; 0DEA 56&lt;br /&gt;
L0DEB:		lisu	5			; 0DEB 65&lt;br /&gt;
		lisl	3			; 0DEC 6B&lt;br /&gt;
		lr	A, 0			; 0DED 40&lt;br /&gt;
		adc				; 0DEE 8E&lt;br /&gt;
		adc				; 0DEF 8E&lt;br /&gt;
		lm				; 0DF0 16&lt;br /&gt;
		lr	D, A			; 0DF1 5E&lt;br /&gt;
		pi	L08EE			; 0DF2 28 08 EE&lt;br /&gt;
		lm				; 0DF5 16&lt;br /&gt;
		bz	L0DFA			; 0DF6 84 03&lt;br /&gt;
		com				; 0DF8 18&lt;br /&gt;
		inc				; 0DF9 1F&lt;br /&gt;
L0DFA:		as	6			; 0DFA C6&lt;br /&gt;
L0DFB:		lr	S, A			; 0DFB 5C&lt;br /&gt;
		ci	$C			; 0DFC 25 0C&lt;br /&gt;
		bp	L0E06			; 0DFE 81 07&lt;br /&gt;
		ci	$5E			; 0E00 25 5E&lt;br /&gt;
		bp	L0E09			; 0E02 81 06&lt;br /&gt;
		ai	$FE			; 0E04 24 FE&lt;br /&gt;
L0E06:		inc				; 0E06 1F&lt;br /&gt;
		br	L0DFB			; 0E07 90 F3&lt;br /&gt;
L0E09:		clr				; 0E09 70&lt;br /&gt;
		lr	$B, A			; 0E0A 5B&lt;br /&gt;
		pi	L0BBB			; 0E0B 28 0B BB&lt;br /&gt;
		ds	0			; 0E0E 30&lt;br /&gt;
		bz	L0E15			; 0E0F 84 05&lt;br /&gt;
		lis	6			; 0E11 76&lt;br /&gt;
		xs	0			; 0E12 E0&lt;br /&gt;
		bnz	L0DCB			; 0E13 94 B7&lt;br /&gt;
L0E15:		lr	P0, Q			; 0E15 0D&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; start_round_or_screen (strongly likely)&lt;br /&gt;
; Reset phase-local state, toggle r10 bit 0, draw fixed screen components, and&lt;br /&gt;
; initialize players/objects for the next side or round.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0E16:		clr				; 0E16 70&lt;br /&gt;
		lr	9, A			; 0E17 59&lt;br /&gt;
L0E18:		lis	1			; 0E18 71&lt;br /&gt;
		xs	$A			; 0E19 EA&lt;br /&gt;
		lr	$A, A			; 0E1A 5A&lt;br /&gt;
		lisu	6			; 0E1B 66&lt;br /&gt;
		lisl	0			; 0E1C 68&lt;br /&gt;
		clr				; 0E1D 70&lt;br /&gt;
		lr	S, A			; 0E1E 5C&lt;br /&gt;
; draw_fixed_screen_element: render parameter block L135F through L0820.&lt;br /&gt;
L0E1F:		dci	L135F			; 0E1F 2A 13 5F&lt;br /&gt;
		pi	L0820			; 0E22 28 08 20&lt;br /&gt;
L0E25:		lisu	5			; 0E25 65&lt;br /&gt;
		lisl	6			; 0E26 6E&lt;br /&gt;
		li	$12			; 0E27 20 12&lt;br /&gt;
		lr	4, A			; 0E29 54&lt;br /&gt;
		li	$1B			; 0E2A 20 1B&lt;br /&gt;
		lr	3, A			; 0E2C 53&lt;br /&gt;
		clr				; 0E2D 70&lt;br /&gt;
		lr	2, A			; 0E2E 52&lt;br /&gt;
L0E2F:		lr	A, S			; 0E2F 4C&lt;br /&gt;
		sr	4			; 0E30 14&lt;br /&gt;
		lr	1, A			; 0E31 51&lt;br /&gt;
		pi	L0840			; 0E32 28 08 40&lt;br /&gt;
		lr	A, I			; 0E35 4D&lt;br /&gt;
		sl	4			; 0E36 15&lt;br /&gt;
		sr	4			; 0E37 14&lt;br /&gt;
		lr	1, A			; 0E38 51&lt;br /&gt;
		lis	5			; 0E39 75&lt;br /&gt;
		as	3			; 0E3A C3&lt;br /&gt;
		lr	3, A			; 0E3B 53&lt;br /&gt;
		pi	L0840			; 0E3C 28 08 40&lt;br /&gt;
		li	$43			; 0E3F 20 43&lt;br /&gt;
		lr	3, A			; 0E41 53&lt;br /&gt;
		li	$80			; 0E42 20 80&lt;br /&gt;
		lr	2, A			; 0E44 52&lt;br /&gt;
		lr	A, IS			; 0E45 0A&lt;br /&gt;
		ci	$2F			; 0E46 25 2F&lt;br /&gt;
		bz	L0E2F			; 0E48 84 E6&lt;br /&gt;
		lis	7			; 0E4A 77&lt;br /&gt;
		ns	9			; 0E4B F9&lt;br /&gt;
		bz	L0E60			; 0E4C 84 13&lt;br /&gt;
		ds	9			; 0E4E 39&lt;br /&gt;
		lis	8			; 0E4F 78&lt;br /&gt;
		ns	9			; 0E50 F9&lt;br /&gt;
		lisl	6			; 0E51 6E&lt;br /&gt;
		bnz	L0E55			; 0E52 94 02&lt;br /&gt;
		lr	A, I			; 0E54 4D&lt;br /&gt;
L0E55:		li	$67			; 0E55 20 67&lt;br /&gt;
		outs	5			; 0E57 B5&lt;br /&gt;
		lr	5, A			; 0E58 55&lt;br /&gt;
		asd	S			; 0E59 DC&lt;br /&gt;
		lr	S, A			; 0E5A 5C&lt;br /&gt;
		pi	L0818			; 0E5B 28 08 18&lt;br /&gt;
		br	L0E25			; 0E5E 90 C6&lt;br /&gt;
L0E60:		lis	2			; 0E60 72&lt;br /&gt;
		lr	4, A			; 0E61 54&lt;br /&gt;
L0E62:		pi	L0818			; 0E62 28 08 18&lt;br /&gt;
		ds	4			; 0E65 34&lt;br /&gt;
		bnz	L0E62			; 0E66 94 FB&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; advance_init_phase (confirmed counter behavior)&lt;br /&gt;
; Increment O60 and repeat initialization while the phase value is below four.&lt;br /&gt;
; After phase four, build the field and initialize active play state.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0E68:		lisu	6			; 0E68 66&lt;br /&gt;
		lisl	0			; 0E69 68&lt;br /&gt;
		lr	A, S			; 0E6A 4C&lt;br /&gt;
		inc				; 0E6B 1F&lt;br /&gt;
		lr	S, A			; 0E6C 5C&lt;br /&gt;
		ci	4			; 0E6D 25 04&lt;br /&gt;
		bm	L0E16			; 0E6F 91 A6&lt;br /&gt;
		lis	2			; 0E71 72&lt;br /&gt;
		lr	4, A			; 0E72 54&lt;br /&gt;
L0E73:		pi	L0818			; 0E73 28 08 18&lt;br /&gt;
		ds	4			; 0E76 34&lt;br /&gt;
		bnz	L0E73			; 0E77 94 FB&lt;br /&gt;
		lisu	2			; 0E79 62&lt;br /&gt;
		lisl	0			; 0E7A 68&lt;br /&gt;
		pi	L082C			; 0E7B 28 08 2C&lt;br /&gt;
		dci	L1333			; 0E7E 2A 13 33&lt;br /&gt;
		lis	8			; 0E81 78&lt;br /&gt;
		lr	8, A			; 0E82 58&lt;br /&gt;
L0E83:		pi	L0820			; 0E83 28 08 20&lt;br /&gt;
		ds	8			; 0E86 38&lt;br /&gt;
		bnz	L0E83			; 0E87 94 FB&lt;br /&gt;
L0E89:		lis	$D			; 0E89 7D&lt;br /&gt;
		lr	4, A			; 0E8A 54&lt;br /&gt;
		lis	2			; 0E8B 72&lt;br /&gt;
		lr	6, A			; 0E8C 56&lt;br /&gt;
		pi	L084A			; 0E8D 28 08 4A&lt;br /&gt;
		li	$37			; 0E90 20 37&lt;br /&gt;
		lr	4, A			; 0E92 54&lt;br /&gt;
		lis	2			; 0E93 72&lt;br /&gt;
		lr	6, A			; 0E94 56&lt;br /&gt;
		pi	L084A			; 0E95 28 08 4A&lt;br /&gt;
		lis	7			; 0E98 77&lt;br /&gt;
		as	3			; 0E99 C3&lt;br /&gt;
		lr	3, A			; 0E9A 53&lt;br /&gt;
		ci	$55			; 0E9B 25 55&lt;br /&gt;
		bp	L0E89			; 0E9D 81 EB&lt;br /&gt;
		lis	2			; 0E9F 72&lt;br /&gt;
		lr	9, A			; 0EA0 59&lt;br /&gt;
		lr	A, $A			; 0EA1 4A&lt;br /&gt;
		ni	$C5			; 0EA2 21 C5&lt;br /&gt;
		lr	$A, A			; 0EA4 5A&lt;br /&gt;
		lisu	6			; 0EA5 66&lt;br /&gt;
		lisl	1			; 0EA6 69&lt;br /&gt;
		lr	A, D			; 0EA7 4E&lt;br /&gt;
		lr	3, A			; 0EA8 53&lt;br /&gt;
		ds	3			; 0EA9 33&lt;br /&gt;
		lis	7			; 0EAA 77&lt;br /&gt;
		lr	4, A			; 0EAB 54&lt;br /&gt;
		lis	1			; 0EAC 71&lt;br /&gt;
		ns	$A			; 0EAD FA&lt;br /&gt;
		lr	$A, A			; 0EAE 5A&lt;br /&gt;
		clr				; 0EAF 70&lt;br /&gt;
		bnz	L0EB4			; 0EB0 94 03&lt;br /&gt;
		li	$80			; 0EB2 20 80&lt;br /&gt;
L0EB4:		lr	2, A			; 0EB4 52&lt;br /&gt;
		lr	A, S			; 0EB5 4C&lt;br /&gt;
		lr	1, A			; 0EB6 51&lt;br /&gt;
		pi	L0840			; 0EB7 28 08 40&lt;br /&gt;
		pi	L09C4			; 0EBA 28 09 C4&lt;br /&gt;
		clr				; 0EBD 70&lt;br /&gt;
		as	S			; 0EBE CC&lt;br /&gt;
		bnz	L0ED1			; 0EBF 94 11&lt;br /&gt;
		li	$F0			; 0EC1 20 F0&lt;br /&gt;
		lr	S, A			; 0EC3 5C&lt;br /&gt;
		dci	L1392			; 0EC4 2A 13 92&lt;br /&gt;
		pi	L088E			; 0EC7 28 08 8E&lt;br /&gt;
		lisl	0			; 0ECA 68&lt;br /&gt;
		ds	S			; 0ECB 3C&lt;br /&gt;
		clr				; 0ECC 70&lt;br /&gt;
		lr	9, A			; 0ECD 59&lt;br /&gt;
		jmp	L0E1F			; 0ECE 29 0E 1F&lt;br /&gt;
L0ED1:		lisu	2			; 0ED1 62&lt;br /&gt;
		lisl	0			; 0ED2 68&lt;br /&gt;
L0ED3:		lis	4			; 0ED3 74&lt;br /&gt;
		lr	S, A			; 0ED4 5C&lt;br /&gt;
		lr	A, IS			; 0ED5 0A&lt;br /&gt;
		inc				; 0ED6 1F&lt;br /&gt;
		lr	IS, A			; 0ED7 0B&lt;br /&gt;
		ci	$2A			; 0ED8 25 2A&lt;br /&gt;
		bnz	L0ED3			; 0EDA 94 F8&lt;br /&gt;
		lis	$C			; 0EDC 7C&lt;br /&gt;
		lr	0, A			; 0EDD 50&lt;br /&gt;
		lisu	6			; 0EDE 66&lt;br /&gt;
		lisl	7			; 0EDF 6F&lt;br /&gt;
		lis	4			; 0EE0 74&lt;br /&gt;
		lr	S, A			; 0EE1 5C&lt;br /&gt;
		pi	L0DC6			; 0EE2 28 0D C6&lt;br /&gt;
		pi	L0DC6			; 0EE5 28 0D C6&lt;br /&gt;
		lisu	7			; 0EE8 67&lt;br /&gt;
		lisl	6			; 0EE9 6E&lt;br /&gt;
		li	$C0			; 0EEA 20 C0&lt;br /&gt;
		lr	I, A			; 0EEC 5D&lt;br /&gt;
		lr	D, A			; 0EED 5E&lt;br /&gt;
		lisu	2			; 0EEE 62&lt;br /&gt;
		lisl	0			; 0EEF 68&lt;br /&gt;
		li	$60			; 0EF0 20 60&lt;br /&gt;
		lr	S, A			; 0EF2 5C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; main_game_loop (strongly likely)&lt;br /&gt;
; Alternate controller sources, debounce console input, update active objects,&lt;br /&gt;
; evaluate state transitions and invoke the table-driven update worker.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0EF3:		lisu	7			; 0EF3 67&lt;br /&gt;
		lisl	6			; 0EF4 6E&lt;br /&gt;
L0EF5:		li	$B0			; 0EF5 20 B0&lt;br /&gt;
L0EF7:		inc				; 0EF7 1F&lt;br /&gt;
		bnz	L0EF7			; 0EF8 94 FE&lt;br /&gt;
		lis	1			; 0EFA 71&lt;br /&gt;
		lr	4, A			; 0EFB 54&lt;br /&gt;
L0EFC:		lr	A, IS			; 0EFC 0A&lt;br /&gt;
		xi	1			; 0EFD 23 01&lt;br /&gt;
		lr	IS, A			; 0EFF 0B&lt;br /&gt;
		lr	A, IS			; 0F00 0A&lt;br /&gt;
		lr	7, A			; 0F01 57&lt;br /&gt;
		ni	1			; 0F02 21 01&lt;br /&gt;
		bnz	L0F0B			; 0F04 94 06&lt;br /&gt;
		pi	L08B0			; 0F06 28 08 B0&lt;br /&gt;
		br	L0F0E			; 0F09 90 04&lt;br /&gt;
L0F0B:		pi	L08C1			; 0F0B 28 08 C1&lt;br /&gt;
L0F0E:		lr	A, D			; 0F0E 4E&lt;br /&gt;
		lr	6, A			; 0F0F 56&lt;br /&gt;
		clr				; 0F10 70&lt;br /&gt;
		as	S			; 0F11 CC&lt;br /&gt;
		bnz	L0F22			; 0F12 94 0F&lt;br /&gt;
		lis	5			; 0F14 75&lt;br /&gt;
		lr	5, A			; 0F15 55&lt;br /&gt;
		ins	0			; 0F16 A0&lt;br /&gt;
		com				; 0F17 18&lt;br /&gt;
		ni	$F			; 0F18 21 0F&lt;br /&gt;
		bz	L0F22			; 0F1A 84 07&lt;br /&gt;
L0F1C:		ds	5			; 0F1C 35&lt;br /&gt;
		sr	1			; 0F1D 12&lt;br /&gt;
		bnz	L0F1C			; 0F1E 94 FD&lt;br /&gt;
		lr	A, 5			; 0F20 45&lt;br /&gt;
		lr	S, A			; 0F21 5C&lt;br /&gt;
L0F22:		lr	A, 7			; 0F22 47&lt;br /&gt;
		lr	IS, A			; 0F23 0B&lt;br /&gt;
		lr	A, S			; 0F24 4C&lt;br /&gt;
		ni	$C0			; 0F25 21 C0&lt;br /&gt;
		bnz	L0F33			; 0F27 94 0B&lt;br /&gt;
		ds	4			; 0F29 34&lt;br /&gt;
		bnz	L0F8E			; 0F2A 94 63&lt;br /&gt;
		li	$CE			; 0F2C 20 CE&lt;br /&gt;
L0F2E:		inc				; 0F2E 1F&lt;br /&gt;
		bnz	L0F2E			; 0F2F 94 FE&lt;br /&gt;
		br	L0EFC			; 0F31 90 CA&lt;br /&gt;
L0F33:		lisu	7			; 0F33 67&lt;br /&gt;
		lisl	4			; 0F34 6C&lt;br /&gt;
		ds	S			; 0F35 3C&lt;br /&gt;
		clr				; 0F36 70&lt;br /&gt;
		lisu	2			; 0F37 62&lt;br /&gt;
		lisl	0			; 0F38 68&lt;br /&gt;
		as	S			; 0F39 CC&lt;br /&gt;
		bnz	L0F52			; 0F3A 94 17&lt;br /&gt;
		lr	A, 7			; 0F3C 47&lt;br /&gt;
		lr	IS, A			; 0F3D 0B&lt;br /&gt;
		ni	1			; 0F3E 21 01&lt;br /&gt;
		bz	L0F49			; 0F40 84 08&lt;br /&gt;
		lr	A, D			; 0F42 4E&lt;br /&gt;
		li	$C0			; 0F43 20 C0&lt;br /&gt;
		ns	S			; 0F45 FC&lt;br /&gt;
		lr	A, I			; 0F46 4D&lt;br /&gt;
		bnz	L0EF5			; 0F47 94 AD&lt;br /&gt;
L0F49:		lr	A, S			; 0F49 4C&lt;br /&gt;
		ni	$C0			; 0F4A 21 C0&lt;br /&gt;
		bz	L0EF5			; 0F4C 84 A8&lt;br /&gt;
		clr				; 0F4E 70&lt;br /&gt;
		lr	S, A			; 0F4F 5C&lt;br /&gt;
		br	L0F82			; 0F50 90 31&lt;br /&gt;
L0F52:		lisu	2			; 0F52 62&lt;br /&gt;
		lisl	1			; 0F53 69&lt;br /&gt;
		ds	D			; 0F54 3E&lt;br /&gt;
		bnz	L0F58			; 0F55 94 02&lt;br /&gt;
		ds	D			; 0F57 3E&lt;br /&gt;
L0F58:		lr	A, 7			; 0F58 47&lt;br /&gt;
		lr	IS, A			; 0F59 0B&lt;br /&gt;
		lr	A, 6			; 0F5A 46&lt;br /&gt;
		ni	$30			; 0F5B 21 30&lt;br /&gt;
		bnz	L0F64			; 0F5D 94 06&lt;br /&gt;
L0F5F:		lis	$F			; 0F5F 7F&lt;br /&gt;
		ns	6			; 0F60 F6&lt;br /&gt;
		ai	$C0			; 0F61 24 C0&lt;br /&gt;
		lr	S, A			; 0F63 5C&lt;br /&gt;
L0F64:		lr	A, 6			; 0F64 46&lt;br /&gt;
		com				; 0F65 18&lt;br /&gt;
		inc				; 0F66 1F&lt;br /&gt;
		as	S			; 0F67 CC&lt;br /&gt;
		ni	$F			; 0F68 21 0F&lt;br /&gt;
		bnz	L0F5F			; 0F6A 94 F4&lt;br /&gt;
		lr	A, S			; 0F6C 4C&lt;br /&gt;
		ai	$C0			; 0F6D 24 C0&lt;br /&gt;
		lr	S, A			; 0F6F 5C&lt;br /&gt;
		ni	$C0			; 0F70 21 C0&lt;br /&gt;
		bz	L0F77			; 0F72 84 04&lt;br /&gt;
		jmp	L0EF5			; 0F74 29 0E F5&lt;br /&gt;
L0F77:		lr	A, IS			; 0F77 0A&lt;br /&gt;
		ci	$3E			; 0F78 25 3E&lt;br /&gt;
		bnz	L0F82			; 0F7A 94 07&lt;br /&gt;
		lisu	2			; 0F7C 62&lt;br /&gt;
		lisl	0			; 0F7D 68&lt;br /&gt;
		lis	3			; 0F7E 73&lt;br /&gt;
		lr	S, A			; 0F7F 5C&lt;br /&gt;
		lr	A, 7			; 0F80 47&lt;br /&gt;
		lr	IS, A			; 0F81 0B&lt;br /&gt;
L0F82:		pi	L0DB3			; 0F82 28 0D B3&lt;br /&gt;
		lis	6			; 0F85 76&lt;br /&gt;
		as	0			; 0F86 C0&lt;br /&gt;
		lr	0, A			; 0F87 50&lt;br /&gt;
		pi	L0DC6			; 0F88 28 0D C6&lt;br /&gt;
		jmp	L0EF3			; 0F8B 29 0E F3&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Timed game-event handling and extended collision checks (strongly likely).&lt;br /&gt;
; Initializes O20, waits for controller activity or timeout, updates event flags&lt;br /&gt;
; and object state, then dispatches sound/scene handling.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0F8E:		clr				; 0F8E 70&lt;br /&gt;
		lr	5, A			; 0F8F 55&lt;br /&gt;
		lisu	7			; 0F90 67&lt;br /&gt;
		lisl	2			; 0F91 6A&lt;br /&gt;
		as	S			; 0F92 CC&lt;br /&gt;
		bnz	L0F97			; 0F93 94 03&lt;br /&gt;
		lis	5			; 0F95 75&lt;br /&gt;
		lr	S, A			; 0F96 5C&lt;br /&gt;
L0F97:		lisu	2			; 0F97 62&lt;br /&gt;
		lisl	0			; 0F98 68&lt;br /&gt;
		li	$B0			; 0F99 20 B0&lt;br /&gt;
		lr	S, A			; 0F9B 5C&lt;br /&gt;
		pi	L0818			; 0F9C 28 08 18&lt;br /&gt;
L0F9F:		lisu	2			; 0F9F 62&lt;br /&gt;
		lisl	1			; 0FA0 69&lt;br /&gt;
		ds	D			; 0FA1 3E&lt;br /&gt;
		bnz	L0FAD			; 0FA2 94 0A&lt;br /&gt;
		ds	S			; 0FA4 3C&lt;br /&gt;
		bnz	L0FAD			; 0FA5 94 07&lt;br /&gt;
		lisu	6			; 0FA7 66&lt;br /&gt;
		lisl	0			; 0FA8 68&lt;br /&gt;
		ds	S			; 0FA9 3C&lt;br /&gt;
		jmp	L0C6D			; 0FAA 29 0C 6D&lt;br /&gt;
L0FAD:		pi	L08B0			; 0FAD 28 08 B0&lt;br /&gt;
		bz	L0F9F			; 0FB0 84 EE&lt;br /&gt;
		lisl	5			; 0FB2 6D&lt;br /&gt;
		lis	2			; 0FB3 72&lt;br /&gt;
		lr	S, A			; 0FB4 5C&lt;br /&gt;
		lisu	7			; 0FB5 67&lt;br /&gt;
		lisl	7			; 0FB6 6F&lt;br /&gt;
		clr				; 0FB7 70&lt;br /&gt;
		as	S			; 0FB8 CC&lt;br /&gt;
		bnz	L0FBF			; 0FB9 94 05&lt;br /&gt;
		lr	A, $A			; 0FBB 4A&lt;br /&gt;
		oi	$40			; 0FBC 22 40&lt;br /&gt;
		lr	$A, A			; 0FBE 5A&lt;br /&gt;
L0FBF:		lis	3			; 0FBF 73&lt;br /&gt;
		lr	9, A			; 0FC0 59&lt;br /&gt;
		lisu	5			; 0FC1 65&lt;br /&gt;
		lisl	4			; 0FC2 6C&lt;br /&gt;
		li	$11			; 0FC3 20 11&lt;br /&gt;
		lr	I, A			; 0FC5 5D&lt;br /&gt;
		clr				; 0FC6 70&lt;br /&gt;
		lr	S, A			; 0FC7 5C&lt;br /&gt;
		lisu	7			; 0FC8 67&lt;br /&gt;
		lisl	1			; 0FC9 69&lt;br /&gt;
		li	$77			; 0FCA 20 77&lt;br /&gt;
		lr	S, A			; 0FCC 5C&lt;br /&gt;
L0FCD:		li	$FD			; 0FCD 20 FD&lt;br /&gt;
		lr	6, A			; 0FCF 56&lt;br /&gt;
		lis	2			; 0FD0 72&lt;br /&gt;
		lr	5, A			; 0FD1 55&lt;br /&gt;
		lisu	6			; 0FD2 66&lt;br /&gt;
		lisl	1			; 0FD3 69&lt;br /&gt;
		lr	A, S			; 0FD4 4C&lt;br /&gt;
		com				; 0FD5 18&lt;br /&gt;
		inc				; 0FD6 1F&lt;br /&gt;
		lisu	2			; 0FD7 62&lt;br /&gt;
		lisl	6			; 0FD8 6E&lt;br /&gt;
		as	S			; 0FD9 CC&lt;br /&gt;
		bz	L0FE9			; 0FDA 84 0E&lt;br /&gt;
		bp	L0FDF			; 0FDC 81 02&lt;br /&gt;
		ds	5			; 0FDE 35&lt;br /&gt;
L0FDF:		lis	1			; 0FDF 71&lt;br /&gt;
		ns	$A			; 0FE0 FA&lt;br /&gt;
		bz	L0FE6			; 0FE1 84 04&lt;br /&gt;
		ds	5			; 0FE3 35&lt;br /&gt;
		lis	3			; 0FE4 73&lt;br /&gt;
		lr	6, A			; 0FE5 56&lt;br /&gt;
L0FE6:		ds	5			; 0FE6 35&lt;br /&gt;
		bnz	L0FEF			; 0FE7 94 07&lt;br /&gt;
L0FE9:		lr	A, $A			; 0FE9 4A&lt;br /&gt;
		oi	$20			; 0FEA 22 20&lt;br /&gt;
		lr	$A, A			; 0FEC 5A&lt;br /&gt;
		br	L1035			; 0FED 90 47&lt;br /&gt;
L0FEF:		lisu	7			; 0FEF 67&lt;br /&gt;
		lisl	4			; 0FF0 6C&lt;br /&gt;
		lr	A, I			; 0FF1 4D&lt;br /&gt;
		sr	4			; 0FF2 14&lt;br /&gt;
		sr	1			; 0FF3 12&lt;br /&gt;
		ai	$11			; 0FF4 24 11&lt;br /&gt;
		com				; 0FF6 18&lt;br /&gt;
		as	S			; 0FF7 CC&lt;br /&gt;
		bnz	L1035			; 0FF8 94 3C&lt;br /&gt;
		lis	3			; 0FFA 73&lt;br /&gt;
		xs	9			; 0FFB E9&lt;br /&gt;
		bnz	L1035			; 0FFC 94 38&lt;br /&gt;
		lisl	6			; 0FFE 6E&lt;br /&gt;
		lis	4			; 0FFF 74&lt;br /&gt;
		xs	S			; 1000 EC&lt;br /&gt;
		bz	L1035			; 1001 84 33&lt;br /&gt;
		lis	5			; 1003 75&lt;br /&gt;
		xs	S			; 1004 EC&lt;br /&gt;
		bz	L1035			; 1005 84 2F&lt;br /&gt;
		lisu	4			; 1007 64&lt;br /&gt;
		lisl	7			; 1008 6F&lt;br /&gt;
		lr	A, S			; 1009 4C&lt;br /&gt;
		ci	$19			; 100A 25 19&lt;br /&gt;
		bp	L1035			; 100C 81 28&lt;br /&gt;
		lisu	5			; 100E 65&lt;br /&gt;
		lisl	1			; 100F 69&lt;br /&gt;
		lr	A, S			; 1010 4C&lt;br /&gt;
		ci	$23			; 1011 25 23&lt;br /&gt;
		bm	L1035			; 1013 91 21&lt;br /&gt;
		lisu	2			; 1015 62&lt;br /&gt;
		lisl	2			; 1016 6A&lt;br /&gt;
		lr	A, S			; 1017 4C&lt;br /&gt;
		as	6			; 1018 C6&lt;br /&gt;
		lr	S, A			; 1019 5C&lt;br /&gt;
		lisl	4			; 101A 6C&lt;br /&gt;
		lr	S, A			; 101B 5C&lt;br /&gt;
		lr	A, 6			; 101C 46&lt;br /&gt;
		com				; 101D 18&lt;br /&gt;
		inc				; 101E 1F&lt;br /&gt;
		lr	6, A			; 101F 56&lt;br /&gt;
		lisu	4			; 1020 64&lt;br /&gt;
		lisl	6			; 1021 6E&lt;br /&gt;
		as	S			; 1022 CC&lt;br /&gt;
		lr	S, A			; 1023 5C&lt;br /&gt;
		lisu	5			; 1024 65&lt;br /&gt;
		lisl	0			; 1025 68&lt;br /&gt;
		lr	A, 6			; 1026 46&lt;br /&gt;
		as	S			; 1027 CC&lt;br /&gt;
		lr	S, A			; 1028 5C&lt;br /&gt;
		lisu	6			; 1029 66&lt;br /&gt;
		lisl	1			; 102A 69&lt;br /&gt;
		lr	A, S			; 102B 4C&lt;br /&gt;
		ai	$FC			; 102C 24 FC&lt;br /&gt;
		lr	3, A			; 102E 53&lt;br /&gt;
		dci	L135B			; 102F 2A 13 5B&lt;br /&gt;
		pi	L0822			; 1032 28 08 22&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Repositioning and formation/zone tests (strongly likely).&lt;br /&gt;
; Copies coordinate state, evaluates object zones and finds minimum distances&lt;br /&gt;
; against object records O30-O33. r10 bit 4 records the proximity condition.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L1035:		pi	L08B0			; 1035 28 08 B0&lt;br /&gt;
		lis	8			; 1038 78&lt;br /&gt;
		ns	$A			; 1039 FA&lt;br /&gt;
		bnz	L10B9			; 103A 94 7E&lt;br /&gt;
		lisu	2			; 103C 62&lt;br /&gt;
		lisl	6			; 103D 6E&lt;br /&gt;
		lr	A, I			; 103E 4D&lt;br /&gt;
		lr	7, A			; 103F 57&lt;br /&gt;
		lr	A, I			; 1040 4D&lt;br /&gt;
		lisu	2			; 1041 62&lt;br /&gt;
		lisl	1			; 1042 69&lt;br /&gt;
		lr	D, A			; 1043 5E&lt;br /&gt;
		lr	A, 7			; 1044 47&lt;br /&gt;
		lr	S, A			; 1045 5C&lt;br /&gt;
		li	$20			; 1046 20 20&lt;br /&gt;
		ns	$A			; 1048 FA&lt;br /&gt;
		bz	L104E			; 1049 84 04&lt;br /&gt;
L104B:		jmp	L10E0			; 104B 29 10 E0&lt;br /&gt;
L104E:		lisu	7			; 104E 67&lt;br /&gt;
		lisl	3			; 104F 6B&lt;br /&gt;
		as	S			; 1050 CC&lt;br /&gt;
		bp	L104B			; 1051 81 F9&lt;br /&gt;
		lis	3			; 1053 73&lt;br /&gt;
		xs	9			; 1054 E9&lt;br /&gt;
		bnz	L104B			; 1055 94 F5&lt;br /&gt;
		lr	9, A			; 1057 59&lt;br /&gt;
		lis	8			; 1058 78&lt;br /&gt;
		as	$A			; 1059 CA&lt;br /&gt;
		lr	$A, A			; 105A 5A&lt;br /&gt;
		lisl	6			; 105B 6E&lt;br /&gt;
		lr	A, S			; 105C 4C&lt;br /&gt;
		ci	6			; 105D 25 06&lt;br /&gt;
		bp	L1096			; 105F 81 36&lt;br /&gt;
		lr	A, $A			; 1061 4A&lt;br /&gt;
		oi	2			; 1062 22 02&lt;br /&gt;
		lr	$A, A			; 1064 5A&lt;br /&gt;
		lisl	4			; 1065 6C&lt;br /&gt;
		lr	A, I			; 1066 4D&lt;br /&gt;
		sr	4			; 1067 14&lt;br /&gt;
		sr	1			; 1068 12&lt;br /&gt;
		ai	$A			; 1069 24 0A&lt;br /&gt;
		as	S			; 106B CC&lt;br /&gt;
		lisl	1			; 106C 69&lt;br /&gt;
		lr	S, A			; 106D 5C&lt;br /&gt;
		lisl	6			; 106E 6E&lt;br /&gt;
		lis	7			; 106F 77&lt;br /&gt;
		xs	S			; 1070 EC&lt;br /&gt;
		bnz	L1096			; 1071 94 24&lt;br /&gt;
		lisl	1			; 1073 69&lt;br /&gt;
		lr	A, S			; 1074 4C&lt;br /&gt;
		ai	$FD			; 1075 24 FD&lt;br /&gt;
		lr	S, A			; 1077 5C&lt;br /&gt;
		lis	1			; 1078 71&lt;br /&gt;
		ns	$A			; 1079 FA&lt;br /&gt;
		lisu	2			; 107A 62&lt;br /&gt;
		lisl	0			; 107B 68&lt;br /&gt;
		bnz	L1083			; 107C 94 06&lt;br /&gt;
		li	$F6			; 107E 20 F6&lt;br /&gt;
		as	S			; 1080 CC&lt;br /&gt;
		br	L1087			; 1081 90 05&lt;br /&gt;
L1083:		lr	A, S			; 1083 4C&lt;br /&gt;
		com				; 1084 18&lt;br /&gt;
		ai	$61			; 1085 24 61&lt;br /&gt;
L1087:		lr	5, A			; 1087 55&lt;br /&gt;
		lisu	7			; 1088 67&lt;br /&gt;
		lisl	4			; 1089 6C&lt;br /&gt;
		li	$3F			; 108A 20 3F&lt;br /&gt;
		ns	D			; 108C FE&lt;br /&gt;
		as	5			; 108D C5&lt;br /&gt;
		ci	$39			; 108E 25 39&lt;br /&gt;
		clr				; 1090 70&lt;br /&gt;
		bp	L1095			; 1091 81 03&lt;br /&gt;
		li	$20			; 1093 20 20&lt;br /&gt;
L1095:		lr	S, A			; 1095 5C&lt;br /&gt;
L1096:		lr	A, $A			; 1096 4A&lt;br /&gt;
		oi	$40			; 1097 22 40&lt;br /&gt;
		lr	$A, A			; 1099 5A&lt;br /&gt;
		lisu	7			; 109A 67&lt;br /&gt;
		lisl	3			; 109B 6B&lt;br /&gt;
		li	$10			; 109C 20 10&lt;br /&gt;
		ns	S			; 109E FC&lt;br /&gt;
		lis	6			; 109F 76&lt;br /&gt;
		bnz	L10A9			; 10A0 94 08&lt;br /&gt;
		li	$20			; 10A2 20 20&lt;br /&gt;
		ns	S			; 10A4 FC&lt;br /&gt;
		lis	$A			; 10A5 7A&lt;br /&gt;
		bnz	L10A9			; 10A6 94 02&lt;br /&gt;
		lis	2			; 10A8 72&lt;br /&gt;
L10A9:		lr	7, A			; 10A9 57&lt;br /&gt;
		lis	1			; 10AA 71&lt;br /&gt;
		ns	$A			; 10AB FA&lt;br /&gt;
		bz	L10B5			; 10AC 84 08&lt;br /&gt;
		li	$30			; 10AE 20 30&lt;br /&gt;
		ns	S			; 10B0 FC&lt;br /&gt;
		lis	$F			; 10B1 7F&lt;br /&gt;
		bnz	L10B5			; 10B2 94 02&lt;br /&gt;
		lis	3			; 10B4 73&lt;br /&gt;
L10B5:		lisu	6			; 10B5 66&lt;br /&gt;
		lisl	7			; 10B6 6F&lt;br /&gt;
		xs	7			; 10B7 E7&lt;br /&gt;
		lr	S, A			; 10B8 5C&lt;br /&gt;
L10B9:		lisu	2			; 10B9 62&lt;br /&gt;
		lisl	0			; 10BA 68&lt;br /&gt;
		lr	A, I			; 10BB 4D&lt;br /&gt;
		com				; 10BC 18&lt;br /&gt;
		inc				; 10BD 1F&lt;br /&gt;
		lr	4, A			; 10BE 54&lt;br /&gt;
		lr	A, D			; 10BF 4E&lt;br /&gt;
		com				; 10C0 18&lt;br /&gt;
		inc				; 10C1 1F&lt;br /&gt;
		lr	5, A			; 10C2 55&lt;br /&gt;
		lisu	3			; 10C3 63&lt;br /&gt;
		lisl	0			; 10C4 68&lt;br /&gt;
L10C5:		lr	A, I			; 10C5 4D&lt;br /&gt;
		as	4			; 10C6 C4&lt;br /&gt;
		bp	L10CB			; 10C7 81 03&lt;br /&gt;
		com				; 10C9 18&lt;br /&gt;
		inc				; 10CA 1F&lt;br /&gt;
L10CB:		lr	2, A			; 10CB 52&lt;br /&gt;
		lr	A, I			; 10CC 4D&lt;br /&gt;
		as	5			; 10CD C5&lt;br /&gt;
		bp	L10D2			; 10CE 81 03&lt;br /&gt;
		com				; 10D0 18&lt;br /&gt;
		inc				; 10D1 1F&lt;br /&gt;
L10D2:		as	2			; 10D2 C2&lt;br /&gt;
		ci	$F			; 10D3 25 0F&lt;br /&gt;
		bnc	L10DB			; 10D5 92 05&lt;br /&gt;
		lr	A, $A			; 10D7 4A&lt;br /&gt;
		oi	$10			; 10D8 22 10&lt;br /&gt;
		lr	$A, A			; 10DA 5A&lt;br /&gt;
L10DB:		lr	A, IS			; 10DB 0A&lt;br /&gt;
		ci	$1C			; 10DC 25 1C&lt;br /&gt;
		bp	L10C5			; 10DE 81 E6&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Player/object turn and automatic movement selection (strongly likely).&lt;br /&gt;
; Select control- or table-driven movement, iterate object groups and route the&lt;br /&gt;
; resulting event to the common frame/state handlers.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L10E0:		lisu	7			; 10E0 67&lt;br /&gt;
		lisl	5			; 10E1 6D&lt;br /&gt;
		lr	A, S			; 10E2 4C&lt;br /&gt;
		com				; 10E3 18&lt;br /&gt;
		inc				; 10E4 1F&lt;br /&gt;
		lisl	1			; 10E5 69&lt;br /&gt;
		as	S			; 10E6 CC&lt;br /&gt;
		clr				; 10E7 70&lt;br /&gt;
		lr	0, A			; 10E8 50&lt;br /&gt;
		bm	L10EE			; 10E9 91 04&lt;br /&gt;
		lisu	6			; 10EB 66&lt;br /&gt;
		lisl	7			; 10EC 6F&lt;br /&gt;
		lr	A, S			; 10ED 4C&lt;br /&gt;
L10EE:		lr	4, A			; 10EE 54&lt;br /&gt;
		lis	8			; 10EF 78&lt;br /&gt;
		ns	$A			; 10F0 FA&lt;br /&gt;
		bz	L10F6			; 10F1 84 04&lt;br /&gt;
		pi	L0A24			; 10F3 28 0A 24&lt;br /&gt;
L10F6:		lis	2			; 10F6 72&lt;br /&gt;
		ns	$A			; 10F7 FA&lt;br /&gt;
		bnz	L10FD			; 10F8 94 04&lt;br /&gt;
		jmp	L1137			; 10FA 29 11 37&lt;br /&gt;
L10FD:		lis	6			; 10FD 76&lt;br /&gt;
		lr	0, A			; 10FE 50&lt;br /&gt;
L10FF:		pi	L0A1F			; 10FF 28 0A 1F&lt;br /&gt;
		ds	0			; 1102 30&lt;br /&gt;
		bnz	L10FF			; 1103 94 FB&lt;br /&gt;
		pi	L08C1			; 1105 28 08 C1&lt;br /&gt;
		lis	$C			; 1108 7C&lt;br /&gt;
		lr	0, A			; 1109 50&lt;br /&gt;
		lis	8			; 110A 78&lt;br /&gt;
		ns	$A			; 110B FA&lt;br /&gt;
		bz	L111A			; 110C 84 0D&lt;br /&gt;
L110E:		pi	L0A1F			; 110E 28 0A 1F&lt;br /&gt;
		ds	0			; 1111 30&lt;br /&gt;
		lr	A, 0			; 1112 40&lt;br /&gt;
		ci	6			; 1113 25 06&lt;br /&gt;
		bm	L110E			; 1115 91 F8&lt;br /&gt;
		jmp	L1227			; 1117 29 12 27&lt;br /&gt;
L111A:		com				; 111A 18&lt;br /&gt;
		inc				; 111B 1F&lt;br /&gt;
		as	9			; 111C C9&lt;br /&gt;
		bnz	L1124			; 111D 94 06&lt;br /&gt;
		pi	L0A1F			; 111F 28 0A 1F&lt;br /&gt;
		br	L112E			; 1122 90 0B&lt;br /&gt;
L1124:		lis	1			; 1124 71&lt;br /&gt;
		ns	$A			; 1125 FA&lt;br /&gt;
		lis	2			; 1126 72&lt;br /&gt;
		bnz	L112A			; 1127 94 02&lt;br /&gt;
		lis	1			; 1129 71&lt;br /&gt;
L112A:		lr	4, A			; 112A 54&lt;br /&gt;
		pi	L0A24			; 112B 28 0A 24&lt;br /&gt;
L112E:		ds	0			; 112E 30&lt;br /&gt;
		lr	A, 0			; 112F 40&lt;br /&gt;
		ci	6			; 1130 25 06&lt;br /&gt;
		bm	L111A			; 1132 91 E7&lt;br /&gt;
		jmp	L1200			; 1134 29 12 00&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Formation lookup and object movement (strongly likely).&lt;br /&gt;
; Split L08C7 results into nibbles, normalize direction bits, read L1297-based&lt;br /&gt;
; formation records through L08DA and apply resulting moves.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L1137:		lis	2			; 1137 72&lt;br /&gt;
		lr	0, A			; 1138 50&lt;br /&gt;
		pi	L08C7			; 1139 28 08 C7&lt;br /&gt;
		ni	$F0			; 113C 21 F0&lt;br /&gt;
		sr	4			; 113E 14&lt;br /&gt;
		lr	7, A			; 113F 57&lt;br /&gt;
		pi	L0A10			; 1140 28 0A 10&lt;br /&gt;
		ds	0			; 1143 30&lt;br /&gt;
		pi	L08C7			; 1144 28 08 C7&lt;br /&gt;
		ni	$F			; 1147 21 0F&lt;br /&gt;
		lr	7, A			; 1149 57&lt;br /&gt;
		pi	L0A10			; 114A 28 0A 10&lt;br /&gt;
		lis	3			; 114D 73&lt;br /&gt;
		lr	0, A			; 114E 50&lt;br /&gt;
		xs	9			; 114F E9&lt;br /&gt;
		bz	L1159			; 1150 84 08&lt;br /&gt;
		clr				; 1152 70&lt;br /&gt;
		lr	4, A			; 1153 54&lt;br /&gt;
		pi	L0A24			; 1154 28 0A 24&lt;br /&gt;
		br	L1189			; 1157 90 31&lt;br /&gt;
L1159:		pi	L0A1F			; 1159 28 0A 1F&lt;br /&gt;
		lis	6			; 115C 76&lt;br /&gt;
		lr	0, A			; 115D 50&lt;br /&gt;
		pi	L08DA			; 115E 28 08 DA&lt;br /&gt;
		lisu	5			; 1161 65&lt;br /&gt;
		lisl	4			; 1162 6C&lt;br /&gt;
		bnz	L1166			; 1163 94 02&lt;br /&gt;
		lr	S, A			; 1165 5C&lt;br /&gt;
L1166:		li	$F0			; 1166 20 F0&lt;br /&gt;
		ns	S			; 1168 FC&lt;br /&gt;
		sr	4			; 1169 14&lt;br /&gt;
		lr	7, A			; 116A 57&lt;br /&gt;
		pi	L0A10			; 116B 28 0A 10&lt;br /&gt;
		ds	0			; 116E 30&lt;br /&gt;
		lisu	5			; 116F 65&lt;br /&gt;
		lisl	4			; 1170 6C&lt;br /&gt;
		lis	$F			; 1171 7F&lt;br /&gt;
		ns	S			; 1172 FC&lt;br /&gt;
		lr	7, A			; 1173 57&lt;br /&gt;
		pi	L0A10			; 1174 28 0A 10&lt;br /&gt;
		ds	0			; 1177 30&lt;br /&gt;
		pi	L08DA			; 1178 28 08 DA&lt;br /&gt;
		lm				; 117B 16&lt;br /&gt;
		lisu	5			; 117C 65&lt;br /&gt;
		lisl	5			; 117D 6D&lt;br /&gt;
		bnz	L1181			; 117E 94 02&lt;br /&gt;
		lr	S, A			; 1180 5C&lt;br /&gt;
L1181:		lis	$F			; 1181 7F&lt;br /&gt;
		ns	S			; 1182 FC&lt;br /&gt;
		lr	7, A			; 1183 57&lt;br /&gt;
		pi	L0A10			; 1184 28 0A 10&lt;br /&gt;
		br	L1194			; 1187 90 0C&lt;br /&gt;
L1189:		lis	6			; 1189 76&lt;br /&gt;
		lr	0, A			; 118A 50&lt;br /&gt;
L118B:		pi	L0A1F			; 118B 28 0A 1F&lt;br /&gt;
		ds	0			; 118E 30&lt;br /&gt;
		lr	A, 0			; 118F 40&lt;br /&gt;
		ci	3			; 1190 25 03&lt;br /&gt;
		bnz	L118B			; 1192 94 F8&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Multi-object update and event evaluation (strongly likely).&lt;br /&gt;
; Compare object 12 and 11, read the opposing controller and update objects 10&lt;br /&gt;
; through 7 using direct controls or generated direction steps.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L1194:		lis	$C			; 1194 7C&lt;br /&gt;
		lr	0, A			; 1195 50&lt;br /&gt;
		pi	L0D30			; 1196 28 0D 30&lt;br /&gt;
		ds	0			; 1199 30&lt;br /&gt;
		pi	L0D30			; 119A 28 0D 30&lt;br /&gt;
		pi	L08C1			; 119D 28 08 C1&lt;br /&gt;
		li	$30			; 11A0 20 30&lt;br /&gt;
		ns	S			; 11A2 FC&lt;br /&gt;
		bz	L11A9			; 11A3 84 05&lt;br /&gt;
		lr	A, $A			; 11A5 4A&lt;br /&gt;
		oi	$40			; 11A6 22 40&lt;br /&gt;
		lr	$A, A			; 11A8 5A&lt;br /&gt;
L11A9:		lis	$A			; 11A9 7A&lt;br /&gt;
		lr	0, A			; 11AA 50&lt;br /&gt;
		pi	L0A1F			; 11AB 28 0A 1F&lt;br /&gt;
		ds	0			; 11AE 30&lt;br /&gt;
L11AF:		li	$40			; 11AF 20 40&lt;br /&gt;
		ns	$A			; 11B1 FA&lt;br /&gt;
		bnz	L11CF			; 11B2 94 1C&lt;br /&gt;
		lr	A, 0			; 11B4 40&lt;br /&gt;
		ci	8			; 11B5 25 08&lt;br /&gt;
		bnz	L11BD			; 11B7 94 05&lt;br /&gt;
		lis	6			; 11B9 76&lt;br /&gt;
		lr	7, A			; 11BA 57&lt;br /&gt;
		br	L11BF			; 11BB 90 03&lt;br /&gt;
L11BD:		lis	5			; 11BD 75&lt;br /&gt;
		lr	7, A			; 11BE 57&lt;br /&gt;
L11BF:		lis	1			; 11BF 71&lt;br /&gt;
		lisu	7			; 11C0 67&lt;br /&gt;
		lisl	7			; 11C1 6F&lt;br /&gt;
		ns	S			; 11C2 FC&lt;br /&gt;
		lr	2, A			; 11C3 52&lt;br /&gt;
		lr	A, S			; 11C4 4C&lt;br /&gt;
		ai	$FF			; 11C5 24 FF&lt;br /&gt;
		ni	2			; 11C7 21 02&lt;br /&gt;
		sr	1			; 11C9 12&lt;br /&gt;
		as	0			; 11CA C0&lt;br /&gt;
		ni	1			; 11CB 21 01&lt;br /&gt;
		bnz	L11D4			; 11CD 94 06&lt;br /&gt;
L11CF:		pi	L0A1F			; 11CF 28 0A 1F&lt;br /&gt;
		br	L11D7			; 11D2 90 04&lt;br /&gt;
L11D4:		pi	L0D86			; 11D4 28 0D 86&lt;br /&gt;
L11D7:		ds	0			; 11D7 30&lt;br /&gt;
		lr	A, 0			; 11D8 40&lt;br /&gt;
		ci	7			; 11D9 25 07&lt;br /&gt;
		bm	L11AF			; 11DB 91 D3&lt;br /&gt;
		lisu	7			; 11DD 67&lt;br /&gt;
		lisl	3			; 11DE 6B&lt;br /&gt;
		li	$40			; 11DF 20 40&lt;br /&gt;
		ns	S			; 11E1 FC&lt;br /&gt;
		bnz	L11FD			; 11E2 94 1A&lt;br /&gt;
		lisl	7			; 11E4 6F&lt;br /&gt;
		lr	A, D			; 11E5 4E&lt;br /&gt;
		ci	4			; 11E6 25 04&lt;br /&gt;
		bp	L11F8			; 11E8 81 0F&lt;br /&gt;
		lisu	7			; 11EA 67&lt;br /&gt;
		lisl	5			; 11EB 6D&lt;br /&gt;
		lr	A, S			; 11EC 4C&lt;br /&gt;
		ci	$A			; 11ED 25 0A&lt;br /&gt;
		bm	L11F8			; 11EF 91 08&lt;br /&gt;
		lis	6			; 11F1 76&lt;br /&gt;
		lr	7, A			; 11F2 57&lt;br /&gt;
		pi	L0A10			; 11F3 28 0A 10&lt;br /&gt;
		br	L1200			; 11F6 90 09&lt;br /&gt;
L11F8:		pi	L0D30			; 11F8 28 0D 30&lt;br /&gt;
		br	L1200			; 11FB 90 04&lt;br /&gt;
L11FD:		pi	L0A1F			; 11FD 28 0A 1F&lt;br /&gt;
L1200:		lis	2			; 1200 72&lt;br /&gt;
		lr	5, A			; 1201 55&lt;br /&gt;
		clr				; 1202 70&lt;br /&gt;
		as	9			; 1203 C9&lt;br /&gt;
		bz	L1227			; 1204 84 22&lt;br /&gt;
		ci	6			; 1206 25 06&lt;br /&gt;
		bm	L120B			; 1208 91 02&lt;br /&gt;
		ds	5			; 120A 35&lt;br /&gt;
L120B:		lis	1			; 120B 71&lt;br /&gt;
		ns	$A			; 120C FA&lt;br /&gt;
		bz	L1210			; 120D 84 02&lt;br /&gt;
		ds	5			; 120F 35&lt;br /&gt;
L1210:		li	$10			; 1210 20 10&lt;br /&gt;
		as	9			; 1212 C9&lt;br /&gt;
		as	9			; 1213 C9&lt;br /&gt;
		lr	IS, A			; 1214 0B&lt;br /&gt;
		lr	A, S			; 1215 4C&lt;br /&gt;
		ds	5			; 1216 35&lt;br /&gt;
		bz	L1220			; 1217 84 08&lt;br /&gt;
		ci	$57			; 1219 25 57&lt;br /&gt;
		bp	L1227			; 121B 81 0B&lt;br /&gt;
		jmp	L0D13			; 121D 29 0D 13&lt;br /&gt;
L1220:		ci	$12			; 1220 25 12&lt;br /&gt;
		bm	L1227			; 1222 91 04&lt;br /&gt;
		jmp	L0D10			; 1224 29 0D 10&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Frame/time update (strongly likely)&lt;br /&gt;
; Advance O75, apply timing increment from L124D to O63, propagate carry into&lt;br /&gt;
; O62, optionally redraw, then re-enter the active update path at L0FCD.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L1227:		lisu	7			; 1227 67&lt;br /&gt;
		lisl	5			; 1228 6D&lt;br /&gt;
		lr	A, S			; 1229 4C&lt;br /&gt;
		inc				; 122A 1F&lt;br /&gt;
		lr	S, A			; 122B 5C&lt;br /&gt;
		ci	$60			; 122C 25 60&lt;br /&gt;
		bp	L1232			; 122E 81 03&lt;br /&gt;
		ds	S			; 1230 3C&lt;br /&gt;
		ds	S			; 1231 3C&lt;br /&gt;
L1232:		dci	L124D			; 1232 2A 12 4D&lt;br /&gt;
		lisu	7			; 1235 67&lt;br /&gt;
		lisl	2			; 1236 6A&lt;br /&gt;
		lr	A, S			; 1237 4C&lt;br /&gt;
		adc				; 1238 8E&lt;br /&gt;
		lm				; 1239 16&lt;br /&gt;
		lisu	6			; 123A 66&lt;br /&gt;
		lisl	3			; 123B 6B&lt;br /&gt;
		as	S			; 123C CC&lt;br /&gt;
		lr	S, A			; 123D 5C&lt;br /&gt;
		bnc	L124A			; 123E 92 0B&lt;br /&gt;
		lisu	6			; 1240 66&lt;br /&gt;
		lisl	2			; 1241 6A&lt;br /&gt;
		clr				; 1242 70&lt;br /&gt;
		as	S			; 1243 CC&lt;br /&gt;
		bz	L1247			; 1244 84 02&lt;br /&gt;
		ds	S			; 1246 3C&lt;br /&gt;
L1247:		pi	L09C4			; 1247 28 09 C4&lt;br /&gt;
L124A:		jmp	L0FCD			; 124A 29 0F CD&lt;br /&gt;
;===============================================================================&lt;br /&gt;
; DATA TABLES $124D-$13E9&lt;br /&gt;
; This range is addressed from reachable code through DCI. It must remain raw&lt;br /&gt;
; data. Labels below describe known consumers; contents are preserved exactly.&lt;br /&gt;
;===============================================================================&lt;br /&gt;
; frame/tempo increment table used at L1232&lt;br /&gt;
L124D:		.byte	$50, $14, $1D, $38	; 124D&lt;br /&gt;
; Delay/parameter table used by the short 1 kHz beep at L0C96.&lt;br /&gt;
L1251:		.byte	$48, $29, $01, $FF, $01, $00, $04, $00, $06, $00, $02, $00			; 1251&lt;br /&gt;
; State lookup table used by L0DB3.&lt;br /&gt;
L125D:		.byte	$00, $03, $07, $AB, $05, $04, $06, $AB, $01, $02, $08				; 125D&lt;br /&gt;
; Variable-length lookup/formation data consumed by L08C7.&lt;br /&gt;
L1268:		.byte	$08, $09, $0A, $0B, $0C, $17, $22, $23, $24, $77, $00, $77, $00, $77, $00, $77	; 1268&lt;br /&gt;
		.byte	$00, $08, $00, $0C, $88, $0F, $81, $11, $80, $13, $01, $77, $11, $03, $00, $07	; 1278&lt;br /&gt;
		.byte	$44, $0A, $50, $0C, $00, $0E, $00, $77, $11, $77, $00, $77, $00, $77, $00	; 1288&lt;br /&gt;
; Variable-length lookup/formation data consumed by L08DA.&lt;br /&gt;
L1297:		.byte	$0A, $1C, $25, $34, $40, $52, $5B, $67, $67, $77, $11, $03, $03, $11, $01, $06	; 1297&lt;br /&gt;
		.byte	$45, $01, $0F, $48, $01, $12, $08, $01, $17, $01, $01, $1B, $01, $04, $77, $06	; 12A7&lt;br /&gt;
		.byte	$11, $01, $0A, $11, $00, $0C, $95, $00, $77, $03, $11, $01, $0E, $49, $00, $14	; 12B7&lt;br /&gt;
		.byte	$04, $00, $19, $92, $01, $20, $98, $04, $77, $03, $51, $01, $12, $52, $01, $16	; 12C7&lt;br /&gt;
		.byte	$14, $01, $1B, $91, $01, $77, $03, $11, $05, $07, $51, $05, $0A, $51, $05, $0D	; 12D7&lt;br /&gt;
		.byte	$12, $09, $0E, $15, $09, $21, $A5, $04, $77, $08, $15, $01, $0C, $55, $01, $10	; 12E7&lt;br /&gt;
		.byte	$84, $01, $77, $02	; 12F7&lt;br /&gt;
; Alternate state/formation table selected inside L0DCB.&lt;br /&gt;
L12FB:		.byte	$11, $08, $07, $11, $09, $0B, $58, $09, $0D, $15, $00, $77, $77, $77, $1E, $0A	; 12FB&lt;br /&gt;
		.byte	$22, $0A, $1C, $06, $24, $06, $1E, $02						; 130B&lt;br /&gt;
; Primary state/formation table selected inside L0DCB.&lt;br /&gt;
L1313:		.byte	$22, $02, $1C, $02, $20, $02, $20, $07, $23, $0A, $2C, $03, $16, $02, $20, $08	; 1313&lt;br /&gt;
		.byte	$16, $0B, $2C, $0C, $1C, $14, $1C, $02, $20, $02				; 1323&lt;br /&gt;
; Three short selector/bitmap records chosen near L0BEC.&lt;br /&gt;
L132D:		.byte	$FF, $80		; 132D&lt;br /&gt;
L132F:		.byte	$AA, $80		; 132F&lt;br /&gt;
L1331:		.byte	$F7, $80		; 1331&lt;br /&gt;
; Eight consecutive graphics parameter records rendered from L0E83.&lt;br /&gt;
L1333:		.byte	$09, $37, $41, $59, $01, $09, $0E, $41, $01, $2A, $09, $0E, $41, $59, $01, $61	; 1333&lt;br /&gt;
		.byte	$0E, $41, $01, $2A, $0A, $0F, $C1, $57, $28, $58, $0C, $41, $01, $2E, $0A, $07	; 1343&lt;br /&gt;
		.byte	$C1, $61, $05, $12, $0C, $41, $01, $2E						; 1353&lt;br /&gt;
; Graphics parameter block entered through L0822 at $102F.&lt;br /&gt;
L135B:		.byte	$17, $C1, $09, $11	; 135B&lt;br /&gt;
; Fixed screen graphics parameter block entered through L0820 at $0E1F.&lt;br /&gt;
L135F:		.byte	$19, $11, $C1, $33, $07								; 135F&lt;br /&gt;
; Packed sprite/glyph data indexed as L1364 + 2*r1 by L0840.&lt;br /&gt;
L1364:		.byte	$F6, $DE, $59, $2E, $E7, $CE, $E7, $9E, $B7, $92, $F3, $9E, $F3, $DE, $E5, $24	; 1364&lt;br /&gt;
		.byte	$F7, $DE, $F7, $9E, $08, $20							; 1374&lt;br /&gt;
; Sound-effect table consumed by L088E from $0C6D.&lt;br /&gt;
L137A:		.byte	$27, $67, $25, $47, $23, $27, $00						; 137A&lt;br /&gt;
; Sound-effect table consumed by L088E from $0CB2.&lt;br /&gt;
L1381:		.byte	$04, $22, $07, $AB, $03, $BB, $08, $CC, $03, $34, $06, $12, $0D, $12, $0D, $12	; 1381&lt;br /&gt;
		.byte	$00			; 1391&lt;br /&gt;
; Sound-effect table consumed by L088E from $0EC4.&lt;br /&gt;
L1392:		.byte	$37, $6A, $1A, $61, $1B, $6A, $0E, $73, $1D, $73, $0D, $6A, $1D, $73, $0E, $73	; 1392&lt;br /&gt;
		.byte	$1D, $73, $0E, $73, $1B, $6A, $1D, $73, $10, $82, $20, $82, $0F, $7B, $31, $82	; 13A2&lt;br /&gt;
		.byte	$24, $90, $2B, $A2, $29, $9D, $24, $90, $20, $82, $1B, $6A, $16, $43, $18, $58	; 13B2&lt;br /&gt;
		.byte	$0D, $6A, $20, $82, $0E, $73, $1B, $6A, $18, $58, $2B, $43, $00			; 13C2&lt;br /&gt;
; Sound-effect table consumed by L088E from $0D27. The terminating zero is&lt;br /&gt;
; followed by unused ROM fill; retain all bytes to preserve the original image.&lt;br /&gt;
L13CF:		.byte	$31, $82, $0F, $7B, $24, $90, $20, $82, $41, $A2, $14, $9D, $31, $AD, $2B, $A2	; 13CF&lt;br /&gt;
		.byte	$36, $B6, $36, $B6, $36, $B6, $36, $B6, $6D, $B6, $00, $FF, $FF, $FF, $FF, $FF	; 13DF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 13EF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 13FF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 140F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 141F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 142F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 143F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 144F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 145F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 146F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 147F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 148F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 149F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14AF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14BF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14CF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14DF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14EF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14FF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 150F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 151F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 152F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 153F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 154F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 155F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 156F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 157F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 158F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 159F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15AF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15BF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15CF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15DF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15EF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15FF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 160F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 161F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 162F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 163F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 164F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 165F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 166F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 167F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 168F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 169F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16AF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16BF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16CF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16DF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16EF&lt;br /&gt;
		.byte	$FF, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16FF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 170F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 171F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 172F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 173F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 174F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 175F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 176F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 177F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 178F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 179F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 17AF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 17BF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 17CF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 17DF&lt;br /&gt;
		.byte	$FF, $00, $10, $E9, $1B, $DD, $E5, $00, $00, $00, $00, $00, $00, $00, $00, $00	; 17EF&lt;br /&gt;
		.byte	$00			; 17FF&lt;br /&gt;
&lt;br /&gt;
		IF 0&lt;br /&gt;
&lt;br /&gt;
Smart data report&lt;br /&gt;
=================&lt;br /&gt;
Mode: enabled by -s or /s&lt;br /&gt;
Memory range: $0800-$17FF&lt;br /&gt;
Code bytes: 2630&lt;br /&gt;
Data bytes: 1466&lt;br /&gt;
&lt;br /&gt;
DCI data roots from reachable code:&lt;br /&gt;
  $1333 from $0E7E&lt;br /&gt;
  $1392 from $0EC4&lt;br /&gt;
  $135F from $0E1F&lt;br /&gt;
  $1364 from $0840&lt;br /&gt;
  $1313 from $0DCB&lt;br /&gt;
  $12FB from $0DD8&lt;br /&gt;
  $1331 from $0BEF&lt;br /&gt;
  $132F from $0BF9&lt;br /&gt;
  $132D from $0C00&lt;br /&gt;
  $137A from $0C6D&lt;br /&gt;
  $1251 from $0C97&lt;br /&gt;
  $1381 from $0CB2&lt;br /&gt;
  $125D from $0DB3&lt;br /&gt;
  $135B from $102F&lt;br /&gt;
  $13CF from $0D27&lt;br /&gt;
  $124D from $1232&lt;br /&gt;
  $1268 from $08C7&lt;br /&gt;
  $1297 from $08DA&lt;br /&gt;
&lt;br /&gt;
Data intervals emitted as .byte:&lt;br /&gt;
  $0837-$0839 (3 bytes)&lt;br /&gt;
  $0C40-$0C43 (4 bytes)&lt;br /&gt;
  $124D-$17FF (1459 bytes)&lt;br /&gt;
&lt;br /&gt;
		ENDIF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Disassembly:Videocart_24&amp;diff=787</id>
		<title>Disassembly:Videocart 24</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Disassembly:Videocart_24&amp;diff=787"/>
				<updated>2026-08-27T18:41:38Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Incomplete Disassembly}}&lt;br /&gt;
&lt;br /&gt;
This is the complete disassembly of the [[Channel F]] [[Videocart 24]] made with Peter Trauner's [[f8tool]]. Original code is copyright &amp;amp;copy; 1978 (?) Zircon International.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;===============================================================================&lt;br /&gt;
; VIDEOCART 24 / PRO FOOTBALL&lt;br /&gt;
; Commented disassembly&lt;br /&gt;
;&lt;br /&gt;
; Original binary copyright Zircon International, approximately 1978.&lt;br /&gt;
; Original disassembly generated with f8tool and reconstructed as compilable&lt;br /&gt;
; DASM/F8 source. This revision preserves all instructions, labels, data bytes,&lt;br /&gt;
; addresses and original address comments. Only explanatory comments and&lt;br /&gt;
; section headings have been added.&lt;br /&gt;
;&lt;br /&gt;
; Confidence terminology used below:&lt;br /&gt;
;   confirmed       directly established by I/O, data flow or control flow&lt;br /&gt;
;   strongly likely supported by several independent code relationships&lt;br /&gt;
;   preliminary     descriptive working name, not an original symbol&lt;br /&gt;
;&lt;br /&gt;
; The range $124D-$17FF is emitted as data because reachable code addresses it&lt;br /&gt;
; through DC0. Routines and tables are described without changing binary data.&lt;br /&gt;
;===============================================================================&lt;br /&gt;
&lt;br /&gt;
		processor f8&lt;br /&gt;
		org $0800&lt;br /&gt;
&lt;br /&gt;
clrscrn		equ	$00D0&lt;br /&gt;
&lt;br /&gt;
		lr	5, A			; 0800 55&lt;br /&gt;
		nop				; 0801 2B&lt;br /&gt;
		li	$D0			; 0802 20 D0&lt;br /&gt;
		lr	3, A			; 0804 53&lt;br /&gt;
		pi	clrscrn			; 0805 28 00 D0&lt;br /&gt;
		lisu	6			; 0808 66&lt;br /&gt;
		lisl	1			; 0809 69&lt;br /&gt;
		li	$21			; 080A 20 21&lt;br /&gt;
		lr	S, A			; 080C 5C&lt;br /&gt;
		lis	1			; 080D 71&lt;br /&gt;
		lr	$A, A			; 080E 5A&lt;br /&gt;
		jmp	L0E68			; 080F 29 0E 68&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; set_isar_2x_r0_plus_10 (confirmed)&lt;br /&gt;
; Convert object index in r0 to the first byte of a two-byte scratchpad entry.&lt;br /&gt;
; Output: ISAR = $10 + 2*r0. A and ISAR are changed; r0 is preserved.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0812:		li	$10			; 0812 20 10&lt;br /&gt;
		as	0			; 0814 C0&lt;br /&gt;
		as	0			; 0815 C0&lt;br /&gt;
		lr	IS, A			; 0816 0B&lt;br /&gt;
		pop				; 0817 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; delay_r5 (confirmed)&lt;br /&gt;
; Blocking two-level delay. A wraps through 256 INC operations for each r5&lt;br /&gt;
; count. r5 is consumed and returns as zero.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0818:		clr				; 0818 70&lt;br /&gt;
L0819:		inc				; 0819 1F&lt;br /&gt;
		bnz	L0819			; 081A 94 FE&lt;br /&gt;
		ds	5			; 081C 35&lt;br /&gt;
		bnz	L0818			; 081D 94 FA&lt;br /&gt;
		pop				; 081F 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Graphics parameter entry points (strongly likely)&lt;br /&gt;
; L0820 reads r3, then L0822 reads r4, r2, r5 and r6 from DC0 before entering&lt;br /&gt;
; the common renderer. Observed use identifies r3/r4 as coordinates, r2 as&lt;br /&gt;
; color/mode, and r5/r6 as width/height counters.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0820:		lm				; 0820 16&lt;br /&gt;
		lr	3, A			; 0821 53&lt;br /&gt;
L0822:		lm				; 0822 16&lt;br /&gt;
		lr	4, A			; 0823 54&lt;br /&gt;
		lm				; 0824 16&lt;br /&gt;
		lr	2, A			; 0825 52&lt;br /&gt;
		lm				; 0826 16&lt;br /&gt;
		lr	5, A			; 0827 55&lt;br /&gt;
		lm				; 0828 16&lt;br /&gt;
		lr	6, A			; 0829 56&lt;br /&gt;
		br	L084A			; 082A 90 1F&lt;br /&gt;
; draw_object_from_scratch: select solid/background mode, then read X/Y pair.&lt;br /&gt;
L082C:		li	$C1			; 082C 20 C1&lt;br /&gt;
		lr	2, A			; 082E 52&lt;br /&gt;
; Read a two-byte coordinate pair through ISAR with post-increment semantics.&lt;br /&gt;
L082F:		lr	A, I			; 082F 4D&lt;br /&gt;
		lr	3, A			; 0830 53&lt;br /&gt;
		ds	3			; 0831 33&lt;br /&gt;
		lr	A, I			; 0832 4D&lt;br /&gt;
		lr	4, A			; 0833 54&lt;br /&gt;
		ds	4			; 0834 34&lt;br /&gt;
		br	L083A			; 0835 90 04&lt;br /&gt;
		.byte	$20, $C1, $52		; 0837&lt;br /&gt;
L083A:		lis	3			; 083A 73&lt;br /&gt;
		lr	5, A			; 083B 55&lt;br /&gt;
; Short fixed-height graphics entry: use three rows.&lt;br /&gt;
L083C:		lis	3			; 083C 73&lt;br /&gt;
		lr	6, A			; 083D 56&lt;br /&gt;
		br	L084A			; 083E 90 0B&lt;br /&gt;
; draw_bitmap_entry (confirmed graphics): select a two-byte glyph/sprite entry&lt;br /&gt;
; at L1364 + 2*r1 and use fixed dimensions 3 by 5.&lt;br /&gt;
L0840:		dci	L1364			; 0840 2A 13 64&lt;br /&gt;
		lr	A, 1			; 0843 41&lt;br /&gt;
		adc				; 0844 8E&lt;br /&gt;
		adc				; 0845 8E&lt;br /&gt;
		lis	3			; 0846 73&lt;br /&gt;
		lr	5, A			; 0847 55&lt;br /&gt;
		lis	5			; 0848 75&lt;br /&gt;
		lr	6, A			; 0849 56&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; draw_bitmap_core (confirmed)&lt;br /&gt;
; Port 0: graphics write/strobe. Port 1: color. Port 4: inverted X.&lt;br /&gt;
; Port 5: inverted Y in low six bits and sound selection in high two bits.&lt;br /&gt;
; r7 is the serial bitmap mask; a new byte is fetched with LM when exhausted.&lt;br /&gt;
; r1 and r6 count columns and rows. Port 0 is cleared before return.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L084A:		clr				; 084A 70&lt;br /&gt;
		lr	7, A			; 084B 57&lt;br /&gt;
		li	$40			; 084C 20 40&lt;br /&gt;
		outs	0			; 084E B0&lt;br /&gt;
		lr	A, 4			; 084F 44&lt;br /&gt;
		oi	$C0			; 0850 22 C0&lt;br /&gt;
		com				; 0852 18&lt;br /&gt;
		outs	5			; 0853 B5&lt;br /&gt;
L0854:		lr	A, 3			; 0854 43&lt;br /&gt;
		com				; 0855 18&lt;br /&gt;
		outs	4			; 0856 B4&lt;br /&gt;
		lr	A, 5			; 0857 45&lt;br /&gt;
		lr	1, A			; 0858 51&lt;br /&gt;
L0859:		lr	A, 2			; 0859 42&lt;br /&gt;
		outs	1			; 085A B1&lt;br /&gt;
		ni	1			; 085B 21 01&lt;br /&gt;
		bnz	L0873			; 085D 94 15&lt;br /&gt;
		com				; 085F 18&lt;br /&gt;
		adc				; 0860 8E&lt;br /&gt;
		lr	A, 7			; 0861 47&lt;br /&gt;
		sr	1			; 0862 12&lt;br /&gt;
		lr	7, A			; 0863 57&lt;br /&gt;
		bnz	L086A			; 0864 94 05&lt;br /&gt;
		lm				; 0866 16&lt;br /&gt;
		li	$80			; 0867 20 80&lt;br /&gt;
		lr	7, A			; 0869 57&lt;br /&gt;
L086A:		nm				; 086A 8A&lt;br /&gt;
		bnz	L0873			; 086B 94 07&lt;br /&gt;
		com				; 086D 18&lt;br /&gt;
		outs	1			; 086E B1&lt;br /&gt;
		lis	2			; 086F 72&lt;br /&gt;
		ns	2			; 0870 F2&lt;br /&gt;
		bnz	L087D			; 0871 94 0B&lt;br /&gt;
L0873:		li	$60			; 0873 20 60&lt;br /&gt;
		outs	0			; 0875 B0&lt;br /&gt;
		li	$40			; 0876 20 40&lt;br /&gt;
		outs	0			; 0878 B0&lt;br /&gt;
L0879:		ai	$F5			; 0879 24 F5&lt;br /&gt;
		bp	L0879			; 087B 81 FD&lt;br /&gt;
L087D:		ins	4			; 087D A4&lt;br /&gt;
		ai	$FF			; 087E 24 FF&lt;br /&gt;
		outs	4			; 0880 B4&lt;br /&gt;
		ds	1			; 0881 31&lt;br /&gt;
		bnz	L0859			; 0882 94 D6&lt;br /&gt;
		ins	5			; 0884 A5&lt;br /&gt;
		ai	$FF			; 0885 24 FF&lt;br /&gt;
		outs	5			; 0887 B5&lt;br /&gt;
		ds	6			; 0888 36&lt;br /&gt;
		bnz	L0854			; 0889 94 CA&lt;br /&gt;
		clr				; 088B 70&lt;br /&gt;
		outs	0			; 088C B0&lt;br /&gt;
		pop				; 088D 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; play_sound_table (confirmed)&lt;br /&gt;
; DC0 points to pairs: repetition/group count followed by delay value. A zero&lt;br /&gt;
; count terminates. The routine alternates $80 (500 Hz) and $00 on port 5;&lt;br /&gt;
; r5 controls both on-time and off-time, while r4/r7 group the pulses.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L088E:		lis	3			; 088E 73&lt;br /&gt;
		lr	4, A			; 088F 54&lt;br /&gt;
L0890:		inc				; 0890 1F&lt;br /&gt;
		bnz	L0890			; 0891 94 FE&lt;br /&gt;
		am				; 0893 88&lt;br /&gt;
		lr	7, A			; 0894 57&lt;br /&gt;
		bz	L08AF			; 0895 84 19&lt;br /&gt;
		lm				; 0897 16&lt;br /&gt;
		lr	5, A			; 0898 55&lt;br /&gt;
L0899:		li	$80			; 0899 20 80&lt;br /&gt;
		outs	5			; 089B B5&lt;br /&gt;
		lr	A, 5			; 089C 45&lt;br /&gt;
L089D:		inc				; 089D 1F&lt;br /&gt;
		bnz	L089D			; 089E 94 FE&lt;br /&gt;
		outs	5			; 08A0 B5&lt;br /&gt;
		lr	A, 5			; 08A1 45&lt;br /&gt;
L08A2:		inc				; 08A2 1F&lt;br /&gt;
		bnz	L08A2			; 08A3 94 FE&lt;br /&gt;
		ds	4			; 08A5 34&lt;br /&gt;
		bnz	L0899			; 08A6 94 F2&lt;br /&gt;
		lis	3			; 08A8 73&lt;br /&gt;
		lr	4, A			; 08A9 54&lt;br /&gt;
		ds	7			; 08AA 37&lt;br /&gt;
		bnz	L0899			; 08AB 94 ED&lt;br /&gt;
		br	L088E			; 08AD 90 E0&lt;br /&gt;
L08AF:		pop				; 08AF 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; read_controller_a / read_controller_b (strongly likely)&lt;br /&gt;
; Select one of two controller I/O paths according to r10 bit 0. The selected&lt;br /&gt;
; input is inverted and stored in O73. L08C1 selects the opposite input path.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L08B0:		lis	1			; 08B0 71&lt;br /&gt;
		ns	$A			; 08B1 FA&lt;br /&gt;
		bz	L08B9			; 08B2 84 06&lt;br /&gt;
L08B4:		clr				; 08B4 70&lt;br /&gt;
		outs	4			; 08B5 B4&lt;br /&gt;
		ins	4			; 08B6 A4&lt;br /&gt;
		br	L08BC			; 08B7 90 04&lt;br /&gt;
L08B9:		clr				; 08B9 70&lt;br /&gt;
		outs	1			; 08BA B1&lt;br /&gt;
		ins	1			; 08BB A1&lt;br /&gt;
L08BC:		com				; 08BC 18&lt;br /&gt;
		lisu	7			; 08BD 67&lt;br /&gt;
		lisl	3			; 08BE 6B&lt;br /&gt;
		lr	S, A			; 08BF 5C&lt;br /&gt;
		pop				; 08C0 1C&lt;br /&gt;
L08C1:		lis	1			; 08C1 71&lt;br /&gt;
		ns	$A			; 08C2 FA&lt;br /&gt;
		bz	L08B4			; 08C3 84 F0&lt;br /&gt;
		br	L08B9			; 08C5 90 F3&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; lookup_table_1268 (confirmed table lookup)&lt;br /&gt;
; Index table L1268 from scratchpad state and accumulate variable-length data.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L08C7:		dci	L1268			; 08C7 2A 12 68&lt;br /&gt;
		lisu	7			; 08CA 67&lt;br /&gt;
		lisl	6			; 08CB 6E&lt;br /&gt;
		lr	A, D			; 08CC 4E&lt;br /&gt;
		adc				; 08CD 8E&lt;br /&gt;
		lm				; 08CE 16&lt;br /&gt;
		adc				; 08CF 8E&lt;br /&gt;
		lr	A, S			; 08D0 4C&lt;br /&gt;
		com				; 08D1 18&lt;br /&gt;
		inc				; 08D2 1F&lt;br /&gt;
		lr	4, A			; 08D3 54&lt;br /&gt;
L08D4:		lm				; 08D4 16&lt;br /&gt;
		as	4			; 08D5 C4&lt;br /&gt;
		lm				; 08D6 16&lt;br /&gt;
		bm	L08D4			; 08D7 91 FC&lt;br /&gt;
		pop				; 08D9 1C&lt;br /&gt;
; lookup_table_1297 (confirmed table lookup)&lt;br /&gt;
; Parallel lookup using L1297, with a three-byte accumulation stride.&lt;br /&gt;
L08DA:		dci	L1297			; 08DA 2A 12 97&lt;br /&gt;
		lisu	7			; 08DD 67&lt;br /&gt;
		lisl	6			; 08DE 6E&lt;br /&gt;
		lr	A, D			; 08DF 4E&lt;br /&gt;
		adc				; 08E0 8E&lt;br /&gt;
		lm				; 08E1 16&lt;br /&gt;
		adc				; 08E2 8E&lt;br /&gt;
		lr	A, S			; 08E3 4C&lt;br /&gt;
		com				; 08E4 18&lt;br /&gt;
		inc				; 08E5 1F&lt;br /&gt;
		lr	4, A			; 08E6 54&lt;br /&gt;
L08E7:		lm				; 08E7 16&lt;br /&gt;
		lm				; 08E8 16&lt;br /&gt;
		as	4			; 08E9 C4&lt;br /&gt;
		lm				; 08EA 16&lt;br /&gt;
		bm	L08E7			; 08EB 91 FB&lt;br /&gt;
		pop				; 08ED 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; calc_small_index_a (preliminary)&lt;br /&gt;
; Return a small class in r5 according to r0 and player/side flag r10 bit 0.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L08EE:		lis	2			; 08EE 72&lt;br /&gt;
		lr	5, A			; 08EF 55&lt;br /&gt;
		lr	A, 0			; 08F0 40&lt;br /&gt;
		ci	6			; 08F1 25 06&lt;br /&gt;
		bm	L08F6			; 08F3 91 02&lt;br /&gt;
		ds	5			; 08F5 35&lt;br /&gt;
L08F6:		lis	1			; 08F6 71&lt;br /&gt;
		ns	$A			; 08F7 FA&lt;br /&gt;
		bz	L08FB			; 08F8 84 02&lt;br /&gt;
		ds	5			; 08FA 35&lt;br /&gt;
L08FB:		ds	5			; 08FB 35&lt;br /&gt;
		pop				; 08FC 1C&lt;br /&gt;
; calc_small_index_b (preliminary)&lt;br /&gt;
; Return a small class in r5 from the relation between r0 and r4.&lt;br /&gt;
L08FD:		lis	2			; 08FD 72&lt;br /&gt;
		lr	5, A			; 08FE 55&lt;br /&gt;
		li	$F9			; 08FF 20 F9&lt;br /&gt;
		as	0			; 0901 C0&lt;br /&gt;
		bm	L0905			; 0902 91 02&lt;br /&gt;
		ds	5			; 0904 35&lt;br /&gt;
L0905:		li	$F9			; 0905 20 F9&lt;br /&gt;
		as	4			; 0907 C4&lt;br /&gt;
		bm	L090B			; 0908 91 02&lt;br /&gt;
		ds	5			; 090A 35&lt;br /&gt;
L090B:		ds	5			; 090B 35&lt;br /&gt;
		pop				; 090C 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; update_motion_or_collision_vector (strongly likely)&lt;br /&gt;
; Compare object coordinate pairs stored at $10 + 2*index. The block computes&lt;br /&gt;
; absolute differences, applies side/direction flags, and records an event in&lt;br /&gt;
; r11 bit 1 when the tested geometric condition is met.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L090D:		lisu	6			; 090D 66&lt;br /&gt;
		lisl	5			; 090E 6D&lt;br /&gt;
		li	$64			; 090F 20 64&lt;br /&gt;
		lr	I, A			; 0911 5D&lt;br /&gt;
		lr	A, 9			; 0912 49&lt;br /&gt;
		lr	S, A			; 0913 5C&lt;br /&gt;
		lisl	4			; 0914 6C&lt;br /&gt;
		lr	A, 4			; 0915 44&lt;br /&gt;
		lr	S, A			; 0916 5C&lt;br /&gt;
		lis	6			; 0917 76&lt;br /&gt;
		lr	9, A			; 0918 59&lt;br /&gt;
L0919:		li	$10			; 0919 20 10&lt;br /&gt;
		as	8			; 091B C8&lt;br /&gt;
		as	8			; 091C C8&lt;br /&gt;
		lr	IS, A			; 091D 0B&lt;br /&gt;
		lr	A, S			; 091E 4C&lt;br /&gt;
		lr	7, A			; 091F 57&lt;br /&gt;
		li	$FE			; 0920 20 FE&lt;br /&gt;
		lr	5, A			; 0922 55&lt;br /&gt;
		li	$10			; 0923 20 10&lt;br /&gt;
		as	9			; 0925 C9&lt;br /&gt;
		as	9			; 0926 C9&lt;br /&gt;
		lr	IS, A			; 0927 0B&lt;br /&gt;
		lr	A, 7			; 0928 47&lt;br /&gt;
		com				; 0929 18&lt;br /&gt;
		inc				; 092A 1F&lt;br /&gt;
		as	S			; 092B CC&lt;br /&gt;
		lr	7, A			; 092C 57&lt;br /&gt;
		bp	L0931			; 092D 81 03&lt;br /&gt;
		com				; 092F 18&lt;br /&gt;
		inc				; 0930 1F&lt;br /&gt;
L0931:		lr	4, A			; 0931 54&lt;br /&gt;
		lis	1			; 0932 71&lt;br /&gt;
		ns	$A			; 0933 FA&lt;br /&gt;
		bz	L093A			; 0934 84 05&lt;br /&gt;
		lr	A, 7			; 0936 47&lt;br /&gt;
		com				; 0937 18&lt;br /&gt;
		inc				; 0938 1F&lt;br /&gt;
		lr	7, A			; 0939 57&lt;br /&gt;
L093A:		lr	A, 5			; 093A 45&lt;br /&gt;
		inc				; 093B 1F&lt;br /&gt;
		inc				; 093C 1F&lt;br /&gt;
		lr	5, A			; 093D 55&lt;br /&gt;
		lr	A, 4			; 093E 44&lt;br /&gt;
		ai	$FD			; 093F 24 FD&lt;br /&gt;
		lr	4, A			; 0941 54&lt;br /&gt;
		bp	L093A			; 0942 81 F7&lt;br /&gt;
		lisu	6			; 0944 66&lt;br /&gt;
		lisl	7			; 0945 6F&lt;br /&gt;
		lis	8			; 0946 78&lt;br /&gt;
		ns	S			; 0947 FC&lt;br /&gt;
		bz	L094E			; 0948 84 05&lt;br /&gt;
		lr	A, 5			; 094A 45&lt;br /&gt;
		com				; 094B 18&lt;br /&gt;
		inc				; 094C 1F&lt;br /&gt;
		lr	5, A			; 094D 55&lt;br /&gt;
L094E:		lis	$C			; 094E 7C&lt;br /&gt;
		ns	S			; 094F FC&lt;br /&gt;
		bnz	L0953			; 0950 94 02&lt;br /&gt;
		lr	5, A			; 0952 55&lt;br /&gt;
L0953:		lis	1			; 0953 71&lt;br /&gt;
		ns	$A			; 0954 FA&lt;br /&gt;
		bnz	L095B			; 0955 94 05&lt;br /&gt;
		lr	A, 5			; 0957 45&lt;br /&gt;
		com				; 0958 18&lt;br /&gt;
		inc				; 0959 1F&lt;br /&gt;
		lr	5, A			; 095A 55&lt;br /&gt;
L095B:		clr				; 095B 70&lt;br /&gt;
		as	7			; 095C C7&lt;br /&gt;
		bm	L0963			; 095D 91 05&lt;br /&gt;
		lr	A, 5			; 095F 45&lt;br /&gt;
		com				; 0960 18&lt;br /&gt;
		inc				; 0961 1F&lt;br /&gt;
		lr	5, A			; 0962 55&lt;br /&gt;
L0963:		li	$11			; 0963 20 11&lt;br /&gt;
		as	8			; 0965 C8&lt;br /&gt;
		as	8			; 0966 C8&lt;br /&gt;
		lr	IS, A			; 0967 0B&lt;br /&gt;
		lr	A, S			; 0968 4C&lt;br /&gt;
		as	5			; 0969 C5&lt;br /&gt;
		com				; 096A 18&lt;br /&gt;
		inc				; 096B 1F&lt;br /&gt;
		lr	5, A			; 096C 55&lt;br /&gt;
		li	$11			; 096D 20 11&lt;br /&gt;
		as	9			; 096F C9&lt;br /&gt;
		as	9			; 0970 C9&lt;br /&gt;
		lr	IS, A			; 0971 0B&lt;br /&gt;
		lr	A, S			; 0972 4C&lt;br /&gt;
		as	5			; 0973 C5&lt;br /&gt;
		bp	L0978			; 0974 81 03&lt;br /&gt;
		com				; 0976 18&lt;br /&gt;
		inc				; 0977 1F&lt;br /&gt;
L0978:		lr	5, A			; 0978 55&lt;br /&gt;
		com				; 0979 18&lt;br /&gt;
		lisu	6			; 097A 66&lt;br /&gt;
		lisl	5			; 097B 6D&lt;br /&gt;
		as	S			; 097C CC&lt;br /&gt;
		bm	L09B3			; 097D 91 35&lt;br /&gt;
		lr	A, 5			; 097F 45&lt;br /&gt;
		lr	S, A			; 0980 5C&lt;br /&gt;
		clr				; 0981 70&lt;br /&gt;
		as	7			; 0982 C7&lt;br /&gt;
		bp	L09AF			; 0983 81 2B&lt;br /&gt;
		lr	A, $B			; 0985 4B&lt;br /&gt;
		ni	$FD			; 0986 21 FD&lt;br /&gt;
		lr	$B, A			; 0988 5B&lt;br /&gt;
		li	$10			; 0989 20 10&lt;br /&gt;
		as	8			; 098B C8&lt;br /&gt;
		as	8			; 098C C8&lt;br /&gt;
		lr	IS, A			; 098D 0B&lt;br /&gt;
		lr	A, S			; 098E 4C&lt;br /&gt;
		sr	1			; 098F 12&lt;br /&gt;
		as	S			; 0990 CC&lt;br /&gt;
		lr	5, A			; 0991 55&lt;br /&gt;
		lisu	2			; 0992 62&lt;br /&gt;
		lisl	6			; 0993 6E&lt;br /&gt;
		lr	A, S			; 0994 4C&lt;br /&gt;
		sr	1			; 0995 12&lt;br /&gt;
		com				; 0996 18&lt;br /&gt;
		inc				; 0997 1F&lt;br /&gt;
		as	5			; 0998 C5&lt;br /&gt;
		lr	5, A			; 0999 55&lt;br /&gt;
		li	$10			; 099A 20 10&lt;br /&gt;
		as	9			; 099C C9&lt;br /&gt;
		as	9			; 099D C9&lt;br /&gt;
		lr	IS, A			; 099E 0B&lt;br /&gt;
		lr	A, S			; 099F 4C&lt;br /&gt;
		com				; 09A0 18&lt;br /&gt;
		inc				; 09A1 1F&lt;br /&gt;
		as	5			; 09A2 C5&lt;br /&gt;
		lr	5, A			; 09A3 55&lt;br /&gt;
		lis	1			; 09A4 71&lt;br /&gt;
		ns	$A			; 09A5 FA&lt;br /&gt;
		bz	L09AC			; 09A6 84 05&lt;br /&gt;
		lr	A, 5			; 09A8 45&lt;br /&gt;
		com				; 09A9 18&lt;br /&gt;
		inc				; 09AA 1F&lt;br /&gt;
		lr	5, A			; 09AB 55&lt;br /&gt;
L09AC:		ds	5			; 09AC 35&lt;br /&gt;
		bp	L09B3			; 09AD 81 05&lt;br /&gt;
L09AF:		lr	A, $B			; 09AF 4B&lt;br /&gt;
		oi	2			; 09B0 22 02&lt;br /&gt;
		lr	$B, A			; 09B2 5B&lt;br /&gt;
L09B3:		ds	9			; 09B3 39&lt;br /&gt;
		lr	A, 9			; 09B4 49&lt;br /&gt;
		ci	3			; 09B5 25 03&lt;br /&gt;
		bp	L09BC			; 09B7 81 04&lt;br /&gt;
		jmp	L0919			; 09B9 29 09 19&lt;br /&gt;
L09BC:		lisu	6			; 09BC 66&lt;br /&gt;
		lisl	6			; 09BD 6E&lt;br /&gt;
		lr	A, S			; 09BE 4C&lt;br /&gt;
		lr	9, A			; 09BF 59&lt;br /&gt;
		lisl	4			; 09C0 6C&lt;br /&gt;
		lr	A, S			; 09C1 4C&lt;br /&gt;
		lr	4, A			; 09C2 54&lt;br /&gt;
		pop				; 09C3 1C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; draw_player_or_marker (strongly likely)&lt;br /&gt;
; Save the nested return in K, derive a screen position from O61/O62, and draw&lt;br /&gt;
; four component glyphs through L0840. Return through PK.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L09C4:		lr	K, P			; 09C4 08&lt;br /&gt;
		lisu	6			; 09C5 66&lt;br /&gt;
		lisl	1			; 09C6 69&lt;br /&gt;
		lr	A, I			; 09C7 4D&lt;br /&gt;
		ci	$32			; 09C8 25 32&lt;br /&gt;
		li	$3C			; 09CA 20 3C&lt;br /&gt;
		bp	L09D0			; 09CC 81 03&lt;br /&gt;
		li	$19			; 09CE 20 19&lt;br /&gt;
L09D0:		lr	3, A			; 09D0 53&lt;br /&gt;
		clr				; 09D1 70&lt;br /&gt;
		lr	1, A			; 09D2 51&lt;br /&gt;
		as	S			; 09D3 CC&lt;br /&gt;
		lr	8, A			; 09D4 58&lt;br /&gt;
		bz	L09E4			; 09D5 84 0E&lt;br /&gt;
L09D7:		lr	A, 8			; 09D7 48&lt;br /&gt;
		ai	$C4			; 09D8 24 C4&lt;br /&gt;
		ci	$C3			; 09DA 25 C3&lt;br /&gt;
		bnc	L09E4			; 09DC 92 07&lt;br /&gt;
		lr	8, A			; 09DE 58&lt;br /&gt;
		lr	A, 1			; 09DF 41&lt;br /&gt;
		inc				; 09E0 1F&lt;br /&gt;
		lr	1, A			; 09E1 51&lt;br /&gt;
		br	L09D7			; 09E2 90 F4&lt;br /&gt;
L09E4:		lis	7			; 09E4 77&lt;br /&gt;
		lr	4, A			; 09E5 54&lt;br /&gt;
		li	$40			; 09E6 20 40&lt;br /&gt;
		lr	2, A			; 09E8 52&lt;br /&gt;
		pi	L0840			; 09E9 28 08 40&lt;br /&gt;
		lis	4			; 09EC 74&lt;br /&gt;
		as	3			; 09ED C3&lt;br /&gt;
		lr	3, A			; 09EE 53&lt;br /&gt;
		lis	$A			; 09EF 7A&lt;br /&gt;
		lr	1, A			; 09F0 51&lt;br /&gt;
		pi	L0840			; 09F1 28 08 40&lt;br /&gt;
		lis	3			; 09F4 73&lt;br /&gt;
		as	3			; 09F5 C3&lt;br /&gt;
		lr	3, A			; 09F6 53&lt;br /&gt;
		clr				; 09F7 70&lt;br /&gt;
L09F8:		lr	1, A			; 09F8 51&lt;br /&gt;
		lr	A, 8			; 09F9 48&lt;br /&gt;
		ai	$F6			; 09FA 24 F6&lt;br /&gt;
		bm	L0A04			; 09FC 91 07&lt;br /&gt;
		lr	8, A			; 09FE 58&lt;br /&gt;
		lr	A, 1			; 09FF 41&lt;br /&gt;
		inc				; 0A00 1F&lt;br /&gt;
		lr	1, A			; 0A01 51&lt;br /&gt;
		br	L09F8			; 0A02 90 F5&lt;br /&gt;
L0A04:		pi	L0840			; 0A04 28 08 40&lt;br /&gt;
		lis	4			; 0A07 74&lt;br /&gt;
		as	3			; 0A08 C3&lt;br /&gt;
		lr	3, A			; 0A09 53&lt;br /&gt;
		lr	A, 8			; 0A0A 48&lt;br /&gt;
		lr	1, A			; 0A0B 51&lt;br /&gt;
		pi	L0840			; 0A0C 28 08 40&lt;br /&gt;
		pk				; 0A0F 0C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; normalize_control_bits (strongly likely)&lt;br /&gt;
; Copy direction bits from r7 to r4 and mirror selected bits for the active side.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0A10:		lr	A, 7			; 0A10 47&lt;br /&gt;
		lr	4, A			; 0A11 54&lt;br /&gt;
		lis	1			; 0A12 71&lt;br /&gt;
		ns	$A			; 0A13 FA&lt;br /&gt;
		bnz	L0A1D			; 0A14 94 08&lt;br /&gt;
		lis	3			; 0A16 73&lt;br /&gt;
		ns	4			; 0A17 F4&lt;br /&gt;
		bz	L0A1D			; 0A18 84 04&lt;br /&gt;
		lis	3			; 0A1A 73&lt;br /&gt;
		xs	4			; 0A1B E4&lt;br /&gt;
		lr	4, A			; 0A1C 54&lt;br /&gt;
L0A1D:		br	L0A24			; 0A1D 90 06&lt;br /&gt;
; read_control_nibble (strongly likely): load low four bits of O73 into r4.&lt;br /&gt;
L0A1F:		lisu	7			; 0A1F 67&lt;br /&gt;
		lisl	3			; 0A20 6B&lt;br /&gt;
		lis	$F			; 0A21 7F&lt;br /&gt;
		ns	S			; 0A22 FC&lt;br /&gt;
		lr	4, A			; 0A23 54&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; apply_direction_and_move (strongly likely)&lt;br /&gt;
; Decode r4 bits 0-3 into signed horizontal and vertical steps in r3/r6, then&lt;br /&gt;
; apply object-, side- and boundary-specific movement rules.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0A24:		lr	K, P			; 0A24 08&lt;br /&gt;
		clr				; 0A25 70&lt;br /&gt;
		lr	3, A			; 0A26 53&lt;br /&gt;
		lr	6, A			; 0A27 56&lt;br /&gt;
		lis	1			; 0A28 71&lt;br /&gt;
		ns	4			; 0A29 F4&lt;br /&gt;
		bz	L0A2E			; 0A2A 84 03&lt;br /&gt;
		lis	1			; 0A2C 71&lt;br /&gt;
		lr	3, A			; 0A2D 53&lt;br /&gt;
L0A2E:		lis	2			; 0A2E 72&lt;br /&gt;
		ns	4			; 0A2F F4&lt;br /&gt;
		bz	L0A33			; 0A30 84 02&lt;br /&gt;
		ds	3			; 0A32 33&lt;br /&gt;
L0A33:		nop				; 0A33 2B&lt;br /&gt;
		lis	4			; 0A34 74&lt;br /&gt;
		ns	4			; 0A35 F4&lt;br /&gt;
		bz	L0A3A			; 0A36 84 03&lt;br /&gt;
		lis	1			; 0A38 71&lt;br /&gt;
		lr	6, A			; 0A39 56&lt;br /&gt;
L0A3A:		lis	8			; 0A3A 78&lt;br /&gt;
		ns	4			; 0A3B F4&lt;br /&gt;
		bz	L0A3F			; 0A3C 84 02&lt;br /&gt;
		ds	6			; 0A3E 36&lt;br /&gt;
L0A3F:		clr				; 0A3F 70&lt;br /&gt;
		as	0			; 0A40 C0&lt;br /&gt;
		bnz	L0A61			; 0A41 94 1F&lt;br /&gt;
		lr	A, 6			; 0A43 46&lt;br /&gt;
		sl	1			; 0A44 13&lt;br /&gt;
		lr	6, A			; 0A45 56&lt;br /&gt;
		lr	A, 3			; 0A46 43&lt;br /&gt;
		bz	L0A4D			; 0A47 84 05&lt;br /&gt;
		sl	1			; 0A49 13&lt;br /&gt;
		sl	1			; 0A4A 13&lt;br /&gt;
		br	L0A4F			; 0A4B 90 03&lt;br /&gt;
L0A4D:		sl	1			; 0A4D 13&lt;br /&gt;
		as	3			; 0A4E C3&lt;br /&gt;
L0A4F:		lr	3, A			; 0A4F 53&lt;br /&gt;
		lisu	7			; 0A50 67&lt;br /&gt;
		lisl	6			; 0A51 6E&lt;br /&gt;
		lr	A, D			; 0A52 4E&lt;br /&gt;
		ci	6			; 0A53 25 06&lt;br /&gt;
		bp	L0A73			; 0A55 81 1D&lt;br /&gt;
		lis	1			; 0A57 71&lt;br /&gt;
		ns	S			; 0A58 FC&lt;br /&gt;
		bnz	L0A5D			; 0A59 94 03&lt;br /&gt;
		li	$FF			; 0A5B 20 FF&lt;br /&gt;
L0A5D:		as	6			; 0A5D C6&lt;br /&gt;
		lr	6, A			; 0A5E 56&lt;br /&gt;
		br	L0A73			; 0A5F 90 13&lt;br /&gt;
L0A61:		lisu	7			; 0A61 67&lt;br /&gt;
		lisl	6			; 0A62 6E&lt;br /&gt;
		lis	7			; 0A63 77&lt;br /&gt;
		xs	S			; 0A64 EC&lt;br /&gt;
		bnz	L0A73			; 0A65 94 0D&lt;br /&gt;
		lis	3			; 0A67 73&lt;br /&gt;
		xs	9			; 0A68 E9&lt;br /&gt;
		bnz	L0A73			; 0A69 94 09&lt;br /&gt;
		lr	A, 0			; 0A6B 40&lt;br /&gt;
		ci	6			; 0A6C 25 06&lt;br /&gt;
		bm	L0A73			; 0A6E 91 04&lt;br /&gt;
		clr				; 0A70 70&lt;br /&gt;
		lr	3, A			; 0A71 53&lt;br /&gt;
		lr	6, A			; 0A72 56&lt;br /&gt;
L0A73:		lis	2			; 0A73 72&lt;br /&gt;
		ns	$A			; 0A74 FA&lt;br /&gt;
		bnz	L0A9A			; 0A75 94 24&lt;br /&gt;
		lr	A, 0			; 0A77 40&lt;br /&gt;
		ci	6			; 0A78 25 06&lt;br /&gt;
		bp	L0A9A			; 0A7A 81 1F&lt;br /&gt;
		ci	$C			; 0A7C 25 0C&lt;br /&gt;
		bm	L0A9A			; 0A7E 91 1B&lt;br /&gt;
		lis	3			; 0A80 73&lt;br /&gt;
		xs	9			; 0A81 E9&lt;br /&gt;
		bnz	L0A89			; 0A82 94 06&lt;br /&gt;
		li	$20			; 0A84 20 20&lt;br /&gt;
		ns	$A			; 0A86 FA&lt;br /&gt;
		bz	L0A9A			; 0A87 84 12&lt;br /&gt;
L0A89:		lisl	4			; 0A89 6C&lt;br /&gt;
		lr	A, S			; 0A8A 4C&lt;br /&gt;
		sl	4			; 0A8B 15&lt;br /&gt;
		sl	1			; 0A8C 13&lt;br /&gt;
		as	S			; 0A8D CC&lt;br /&gt;
		ai	$73			; 0A8E 24 73&lt;br /&gt;
		lr	S, A			; 0A90 5C&lt;br /&gt;
		lr	A, S			; 0A91 4C&lt;br /&gt;
		sr	4			; 0A92 14&lt;br /&gt;
		sr	1			; 0A93 12&lt;br /&gt;
		sr	1			; 0A94 12&lt;br /&gt;
		bnz	L0A9A			; 0A95 94 04&lt;br /&gt;
		lr	A, 3			; 0A97 43&lt;br /&gt;
		sl	1			; 0A98 13&lt;br /&gt;
		lr	3, A			; 0A99 53&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Central object/collision pass (strongly likely)&lt;br /&gt;
; Iterate two-byte object records, test position limits and collisions, and set&lt;br /&gt;
; event bits in r11. O53/O54 hold a temporary coordinate pair.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0A9A:		clr				; 0A9A 70&lt;br /&gt;
		lr	$B, A			; 0A9B 5B&lt;br /&gt;
L0A9C:		pi	L0812			; 0A9C 28 08 12&lt;br /&gt;
		lr	A, I			; 0A9F 4D&lt;br /&gt;
		as	3			; 0AA0 C3&lt;br /&gt;
		lr	1, A			; 0AA1 51&lt;br /&gt;
		lr	A, S			; 0AA2 4C&lt;br /&gt;
		as	6			; 0AA3 C6&lt;br /&gt;
		lisu	5			; 0AA4 65&lt;br /&gt;
		lisl	3			; 0AA5 6B&lt;br /&gt;
		lr	2, A			; 0AA6 52&lt;br /&gt;
		lr	D, A			; 0AA7 5E&lt;br /&gt;
		lr	A, 1			; 0AA8 41&lt;br /&gt;
		lr	I, A			; 0AA9 5D&lt;br /&gt;
		lr	A, D			; 0AAA 4E&lt;br /&gt;
		ci	$F			; 0AAB 25 0F&lt;br /&gt;
		bp	L0AB3			; 0AAD 81 05&lt;br /&gt;
		ci	$35			; 0AAF 25 35&lt;br /&gt;
		bp	L0AD2			; 0AB1 81 20&lt;br /&gt;
L0AB3:		clr				; 0AB3 70&lt;br /&gt;
		as	0			; 0AB4 C0&lt;br /&gt;
		bz	L0ACE			; 0AB5 84 18&lt;br /&gt;
		lisu	5			; 0AB7 65&lt;br /&gt;
		lisl	4			; 0AB8 6C&lt;br /&gt;
		ci	5			; 0AB9 25 05&lt;br /&gt;
		bnz	L0AC2			; 0ABB 94 06&lt;br /&gt;
		lis	$C			; 0ABD 7C&lt;br /&gt;
		xs	S			; 0ABE EC&lt;br /&gt;
		lr	S, A			; 0ABF 5C&lt;br /&gt;
		br	L0ACA			; 0AC0 90 09&lt;br /&gt;
L0AC2:		ci	6			; 0AC2 25 06&lt;br /&gt;
		bnz	L0ACA			; 0AC4 94 05&lt;br /&gt;
		li	$C0			; 0AC6 20 C0&lt;br /&gt;
		xs	S			; 0AC8 EC&lt;br /&gt;
		lr	S, A			; 0AC9 5C&lt;br /&gt;
L0ACA:		clr				; 0ACA 70&lt;br /&gt;
		lr	6, A			; 0ACB 56&lt;br /&gt;
		br	L0A9C			; 0ACC 90 CF&lt;br /&gt;
L0ACE:		lr	A, $B			; 0ACE 4B&lt;br /&gt;
		oi	$10			; 0ACF 22 10&lt;br /&gt;
		lr	$B, A			; 0AD1 5B&lt;br /&gt;
L0AD2:		lr	A, 1			; 0AD2 41&lt;br /&gt;
		ci	$A			; 0AD3 25 0A&lt;br /&gt;
		bp	L0ADB			; 0AD5 81 05&lt;br /&gt;
		ci	$5F			; 0AD7 25 5F&lt;br /&gt;
		bp	L0AF5			; 0AD9 81 1B&lt;br /&gt;
L0ADB:		clr				; 0ADB 70&lt;br /&gt;
		as	0			; 0ADC C0&lt;br /&gt;
		bnz	L0AE5			; 0ADD 94 07&lt;br /&gt;
		lr	A, $B			; 0ADF 4B&lt;br /&gt;
		oi	$40			; 0AE0 22 40&lt;br /&gt;
		lr	$B, A			; 0AE2 5B&lt;br /&gt;
		br	L0AF5			; 0AE3 90 11&lt;br /&gt;
L0AE5:		lr	A, 0			; 0AE5 40&lt;br /&gt;
		ci	5			; 0AE6 25 05&lt;br /&gt;
		lisu	5			; 0AE8 65&lt;br /&gt;
		lisl	4			; 0AE9 6C&lt;br /&gt;
		bnz	L0AF1			; 0AEA 94 06&lt;br /&gt;
		lis	3			; 0AEC 73&lt;br /&gt;
		xs	S			; 0AED EC&lt;br /&gt;
		lr	S, A			; 0AEE 5C&lt;br /&gt;
		br	L0AF1			; 0AEF 90 01&lt;br /&gt;
L0AF1:		clr				; 0AF1 70&lt;br /&gt;
		lr	3, A			; 0AF2 53&lt;br /&gt;
		br	L0A9C			; 0AF3 90 A8&lt;br /&gt;
L0AF5:		lis	8			; 0AF5 78&lt;br /&gt;
		ns	$A			; 0AF6 FA&lt;br /&gt;
		lis	1			; 0AF7 71&lt;br /&gt;
		bz	L0AFB			; 0AF8 84 02&lt;br /&gt;
		clr				; 0AFA 70&lt;br /&gt;
L0AFB:		lr	4, A			; 0AFB 54&lt;br /&gt;
L0AFC:		lr	A, 4			; 0AFC 44&lt;br /&gt;
		xs	0			; 0AFD E0&lt;br /&gt;
		bz	L0B0B			; 0AFE 84 0C&lt;br /&gt;
		li	$10			; 0B00 20 10&lt;br /&gt;
		as	4			; 0B02 C4&lt;br /&gt;
		as	4			; 0B03 C4&lt;br /&gt;
		lr	IS, A			; 0B04 0B&lt;br /&gt;
		lis	2			; 0B05 72&lt;br /&gt;
		as	I			; 0B06 CD&lt;br /&gt;
		com				; 0B07 18&lt;br /&gt;
		as	1			; 0B08 C1&lt;br /&gt;
		bm	L0B0E			; 0B09 91 04&lt;br /&gt;
L0B0B:		jmp	L0BB1			; 0B0B 29 0B B1&lt;br /&gt;
L0B0E:		ai	5			; 0B0E 24 05&lt;br /&gt;
		bm	L0B0B			; 0B10 91 FA&lt;br /&gt;
		lis	2			; 0B12 72&lt;br /&gt;
		as	I			; 0B13 CD&lt;br /&gt;
		com				; 0B14 18&lt;br /&gt;
		as	2			; 0B15 C2&lt;br /&gt;
		bp	L0B0B			; 0B16 81 F4&lt;br /&gt;
		ai	5			; 0B18 24 05&lt;br /&gt;
		bm	L0B0B			; 0B1A 91 F0&lt;br /&gt;
		lr	A, 0			; 0B1C 40&lt;br /&gt;
		lr	8, A			; 0B1D 58&lt;br /&gt;
		lr	A, 9			; 0B1E 49&lt;br /&gt;
		xs	4			; 0B1F E4&lt;br /&gt;
		bz	L0B28			; 0B20 84 07&lt;br /&gt;
		lr	A, 4			; 0B22 44&lt;br /&gt;
		lr	8, A			; 0B23 58&lt;br /&gt;
		lr	A, 9			; 0B24 49&lt;br /&gt;
		xs	0			; 0B25 E0&lt;br /&gt;
		bnz	L0B8E			; 0B26 94 67&lt;br /&gt;
L0B28:		clr				; 0B28 70&lt;br /&gt;
		as	9			; 0B29 C9&lt;br /&gt;
		bnz	L0B81			; 0B2A 94 56&lt;br /&gt;
		lr	A, $B			; 0B2C 4B&lt;br /&gt;
		ni	$FD			; 0B2D 21 FD&lt;br /&gt;
		lr	$B, A			; 0B2F 5B&lt;br /&gt;
		lisu	7			; 0B30 67&lt;br /&gt;
		lisl	6			; 0B31 6E&lt;br /&gt;
		lr	A, D			; 0B32 4E&lt;br /&gt;
		ci	6			; 0B33 25 06&lt;br /&gt;
		bp	L0B55			; 0B35 81 1F&lt;br /&gt;
		lr	A, S			; 0B37 4C&lt;br /&gt;
		com				; 0B38 18&lt;br /&gt;
		inc				; 0B39 1F&lt;br /&gt;
		lisl	1			; 0B3A 69&lt;br /&gt;
		as	S			; 0B3B CC&lt;br /&gt;
		bp	L0B0B			; 0B3C 81 CE&lt;br /&gt;
		lr	A, 8			; 0B3E 48&lt;br /&gt;
		ci	6			; 0B3F 25 06&lt;br /&gt;
		lr	A, $B			; 0B41 4B&lt;br /&gt;
		bm	L0B49			; 0B42 91 06&lt;br /&gt;
		oi	$E			; 0B44 22 0E&lt;br /&gt;
		lr	$B, A			; 0B46 5B&lt;br /&gt;
		br	L0B4E			; 0B47 90 06&lt;br /&gt;
L0B49:		oi	$A			; 0B49 22 0A&lt;br /&gt;
		lr	$B, A			; 0B4B 5B&lt;br /&gt;
		lr	A, 8			; 0B4C 48&lt;br /&gt;
		lr	9, A			; 0B4D 59&lt;br /&gt;
L0B4E:		lr	A, $A			; 0B4E 4A&lt;br /&gt;
		oi	2			; 0B4F 22 02&lt;br /&gt;
		lr	$A, A			; 0B51 5A&lt;br /&gt;
		jmp	L0BBC			; 0B52 29 0B BC&lt;br /&gt;
L0B55:		lr	A, 8			; 0B55 48&lt;br /&gt;
		ci	3			; 0B56 25 03&lt;br /&gt;
		bp	L0B0B			; 0B58 81 B2&lt;br /&gt;
		ci	$A			; 0B5A 25 0A&lt;br /&gt;
		bm	L0B0B			; 0B5C 91 AE&lt;br /&gt;
		lr	A, $B			; 0B5E 4B&lt;br /&gt;
		oi	2			; 0B5F 22 02&lt;br /&gt;
		lr	$B, A			; 0B61 5B&lt;br /&gt;
		lr	A, 8			; 0B62 48&lt;br /&gt;
		ci	6			; 0B63 25 06&lt;br /&gt;
		bp	L0B6E			; 0B65 81 08&lt;br /&gt;
		pi	L090D			; 0B67 28 09 0D&lt;br /&gt;
		lis	2			; 0B6A 72&lt;br /&gt;
		ns	$B			; 0B6B FB&lt;br /&gt;
		bz	L0BB1			; 0B6C 84 44&lt;br /&gt;
L0B6E:		lr	A, 8			; 0B6E 48&lt;br /&gt;
		lr	9, A			; 0B6F 59&lt;br /&gt;
		lr	A, $B			; 0B70 4B&lt;br /&gt;
		oi	8			; 0B71 22 08&lt;br /&gt;
		ni	$FE			; 0B73 21 FE&lt;br /&gt;
		lr	$B, A			; 0B75 5B&lt;br /&gt;
		lr	A, 8			; 0B76 48&lt;br /&gt;
		ci	6			; 0B77 25 06&lt;br /&gt;
		bp	L0B7F			; 0B79 81 05&lt;br /&gt;
		lr	A, $A			; 0B7B 4A&lt;br /&gt;
		oi	2			; 0B7C 22 02&lt;br /&gt;
		lr	$A, A			; 0B7E 5A&lt;br /&gt;
L0B7F:		br	L0BBC			; 0B7F 90 3C&lt;br /&gt;
L0B81:		pi	L08FD			; 0B81 28 08 FD&lt;br /&gt;
		bnz	L0B8E			; 0B84 94 09&lt;br /&gt;
		lr	A, $B			; 0B86 4B&lt;br /&gt;
		oi	4			; 0B87 22 04&lt;br /&gt;
		ni	$FE			; 0B89 21 FE&lt;br /&gt;
		lr	$B, A			; 0B8B 5B&lt;br /&gt;
		br	L0BBC			; 0B8C 90 2F&lt;br /&gt;
L0B8E:		lr	A, $B			; 0B8E 4B&lt;br /&gt;
		oi	1			; 0B8F 22 01&lt;br /&gt;
		lr	$B, A			; 0B91 5B&lt;br /&gt;
		lr	A, 3			; 0B92 43&lt;br /&gt;
		ci	1			; 0B93 25 01&lt;br /&gt;
		bp	L0B9A			; 0B95 81 04&lt;br /&gt;
		lis	1			; 0B97 71&lt;br /&gt;
		br	L0BA0			; 0B98 90 07&lt;br /&gt;
L0B9A:		ci	$FE			; 0B9A 25 FE&lt;br /&gt;
		bm	L0BA4			; 0B9C 91 07&lt;br /&gt;
		li	$FF			; 0B9E 20 FF&lt;br /&gt;
L0BA0:		lr	3, A			; 0BA0 53&lt;br /&gt;
L0BA1:		jmp	L0A9A			; 0BA1 29 0A 9A&lt;br /&gt;
L0BA4:		pi	L08FD			; 0BA4 28 08 FD&lt;br /&gt;
		bz	L0BB1			; 0BA7 84 09&lt;br /&gt;
		clr				; 0BA9 70&lt;br /&gt;
		as	6			; 0BAA C6&lt;br /&gt;
		bz	L0BBC			; 0BAB 84 10&lt;br /&gt;
		clr				; 0BAD 70&lt;br /&gt;
		lr	6, A			; 0BAE 56&lt;br /&gt;
		br	L0BA1			; 0BAF 90 F1&lt;br /&gt;
L0BB1:		lr	A, 4			; 0BB1 44&lt;br /&gt;
		inc				; 0BB2 1F&lt;br /&gt;
		lr	4, A			; 0BB3 54&lt;br /&gt;
		ci	$C			; 0BB4 25 0C&lt;br /&gt;
		bm	L0BBC			; 0BB6 91 05&lt;br /&gt;
		jmp	L0AFC			; 0BB8 29 0A FC&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Scene/state update entry (preliminary)&lt;br /&gt;
; Preserve nested return in K, redraw changed objects, update packed state and&lt;br /&gt;
; dispatch event sound or phase transitions.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0BBB:		lr	K, P			; 0BBB 08&lt;br /&gt;
L0BBC:		lis	8			; 0BBC 78&lt;br /&gt;
		ns	$B			; 0BBD FB&lt;br /&gt;
		bz	L0BC9			; 0BBE 84 0A&lt;br /&gt;
		lr	A, $A			; 0BC0 4A&lt;br /&gt;
		ni	$F7			; 0BC1 21 F7&lt;br /&gt;
		lr	$A, A			; 0BC3 5A&lt;br /&gt;
		lisu	2			; 0BC4 62&lt;br /&gt;
		lisl	0			; 0BC5 68&lt;br /&gt;
		pi	L082C			; 0BC6 28 08 2C&lt;br /&gt;
L0BC9:		pi	L0812			; 0BC9 28 08 12&lt;br /&gt;
		pi	L082C			; 0BCC 28 08 2C&lt;br /&gt;
		li	$58			; 0BCF 20 58&lt;br /&gt;
		lr	3, A			; 0BD1 53&lt;br /&gt;
		pi	L0812			; 0BD2 28 08 12&lt;br /&gt;
		lr	A, I			; 0BD5 4D&lt;br /&gt;
		ci	$53			; 0BD6 25 53&lt;br /&gt;
		bm	L0BE1			; 0BD8 91 08&lt;br /&gt;
		ci	$17			; 0BDA 25 17&lt;br /&gt;
		bm	L0BEC			; 0BDC 91 0F&lt;br /&gt;
		li	$12			; 0BDE 20 12&lt;br /&gt;
		lr	3, A			; 0BE0 53&lt;br /&gt;
L0BE1:		lr	A, S			; 0BE1 4C&lt;br /&gt;
		lr	4, A			; 0BE2 54&lt;br /&gt;
		ds	4			; 0BE3 34&lt;br /&gt;
		lis	1			; 0BE4 71&lt;br /&gt;
		lr	5, A			; 0BE5 55&lt;br /&gt;
		li	$41			; 0BE6 20 41&lt;br /&gt;
		lr	2, A			; 0BE8 52&lt;br /&gt;
		pi	L083C			; 0BE9 28 08 3C&lt;br /&gt;
L0BEC:		li	$80			; 0BEC 20 80&lt;br /&gt;
		lr	2, A			; 0BEE 52&lt;br /&gt;
		dci	L1331			; 0BEF 2A 13 31&lt;br /&gt;
		pi	L08EE			; 0BF2 28 08 EE&lt;br /&gt;
		bz	L0BFC			; 0BF5 84 06&lt;br /&gt;
		clr				; 0BF7 70&lt;br /&gt;
		lr	2, A			; 0BF8 52&lt;br /&gt;
		dci	L132F			; 0BF9 2A 13 2F&lt;br /&gt;
L0BFC:		clr				; 0BFC 70&lt;br /&gt;
		as	0			; 0BFD C0&lt;br /&gt;
		bnz	L0C0A			; 0BFE 94 0B&lt;br /&gt;
		dci	L132D			; 0C00 2A 13 2D&lt;br /&gt;
		lis	8			; 0C03 78&lt;br /&gt;
		ns	$B			; 0C04 FB&lt;br /&gt;
		bz	L0C0A			; 0C05 84 04&lt;br /&gt;
		jmp	L0C96			; 0C07 29 0C 96&lt;br /&gt;
L0C0A:		lr	A, 9			; 0C0A 49&lt;br /&gt;
		com				; 0C0B 18&lt;br /&gt;
		inc				; 0C0C 1F&lt;br /&gt;
		as	0			; 0C0D C0&lt;br /&gt;
		bnz	L0C13			; 0C0E 94 04&lt;br /&gt;
		li	$40			; 0C10 20 40&lt;br /&gt;
		lr	2, A			; 0C12 52&lt;br /&gt;
L0C13:		lisu	5			; 0C13 65&lt;br /&gt;
		lisl	2			; 0C14 6A&lt;br /&gt;
		lr	A, I			; 0C15 4D&lt;br /&gt;
		lr	3, A			; 0C16 53&lt;br /&gt;
		lr	A, S			; 0C17 4C&lt;br /&gt;
		lr	4, A			; 0C18 54&lt;br /&gt;
		lis	1			; 0C19 71&lt;br /&gt;
		ns	$B			; 0C1A FB&lt;br /&gt;
		bnz	L0C24			; 0C1B 94 08&lt;br /&gt;
		pi	L0812			; 0C1D 28 08 12&lt;br /&gt;
		lr	A, 3			; 0C20 43&lt;br /&gt;
		lr	I, A			; 0C21 5D&lt;br /&gt;
		lr	A, 4			; 0C22 44&lt;br /&gt;
		lr	D, A			; 0C23 5E&lt;br /&gt;
L0C24:		pi	L0812			; 0C24 28 08 12&lt;br /&gt;
		pi	L082F			; 0C27 28 08 2F&lt;br /&gt;
		li	$40			; 0C2A 20 40&lt;br /&gt;
		ns	$B			; 0C2C FB&lt;br /&gt;
		bz	L0C5C			; 0C2D 84 2E&lt;br /&gt;
		lisu	7			; 0C2F 67&lt;br /&gt;
		lisl	6			; 0C30 6E&lt;br /&gt;
		lr	A, S			; 0C31 4C&lt;br /&gt;
		ci	6			; 0C32 25 06&lt;br /&gt;
		bp	L0C68			; 0C34 81 33&lt;br /&gt;
		ci	7			; 0C36 25 07&lt;br /&gt;
		bz	L0C44			; 0C38 84 0B&lt;br /&gt;
L0C3A:		lr	A, $B			; 0C3A 4B&lt;br /&gt;
		oi	6			; 0C3B 22 06&lt;br /&gt;
		lr	$B, A			; 0C3D 5B&lt;br /&gt;
		br	L0C96			; 0C3E 90 57&lt;br /&gt;
		.byte	$5C, $29, $0E, $16	; 0C40&lt;br /&gt;
L0C44:		lisu	2			; 0C44 62&lt;br /&gt;
		lisl	1			; 0C45 69&lt;br /&gt;
		lr	A, S			; 0C46 4C&lt;br /&gt;
		ci	$26			; 0C47 25 26&lt;br /&gt;
		bm	L0C3A			; 0C49 91 F0&lt;br /&gt;
		ci	$1A			; 0C4B 25 1A&lt;br /&gt;
		bp	L0C3A			; 0C4D 81 EC&lt;br /&gt;
		lisu	2			; 0C4F 62&lt;br /&gt;
		lisl	0			; 0C50 68&lt;br /&gt;
		lr	A, S			; 0C51 4C&lt;br /&gt;
		ci	$32			; 0C52 25 32&lt;br /&gt;
		lis	$B			; 0C54 7B&lt;br /&gt;
		bm	L0C58			; 0C55 91 02&lt;br /&gt;
		lis	3			; 0C57 73&lt;br /&gt;
L0C58:		lr	9, A			; 0C58 59&lt;br /&gt;
		jmp	L0D1C			; 0C59 29 0D 1C&lt;br /&gt;
L0C5C:		li	$10			; 0C5C 20 10&lt;br /&gt;
		ns	$B			; 0C5E FB&lt;br /&gt;
		bz	L0C96			; 0C5F 84 36&lt;br /&gt;
		lisu	7			; 0C61 67&lt;br /&gt;
		lisl	6			; 0C62 6E&lt;br /&gt;
		lr	A, S			; 0C63 4C&lt;br /&gt;
		ci	6			; 0C64 25 06&lt;br /&gt;
		bm	L0C3A			; 0C66 91 D3&lt;br /&gt;
L0C68:		li	$10			; 0C68 20 10&lt;br /&gt;
		ns	$A			; 0C6A FA&lt;br /&gt;
		bnz	L0C93			; 0C6B 94 27&lt;br /&gt;
L0C6D:		dci	L137A			; 0C6D 2A 13 7A&lt;br /&gt;
		pi	L088E			; 0C70 28 08 8E&lt;br /&gt;
		lis	1			; 0C73 71&lt;br /&gt;
		ns	$A			; 0C74 FA&lt;br /&gt;
		lisu	6			; 0C75 66&lt;br /&gt;
		lisl	1			; 0C76 69&lt;br /&gt;
		lr	A, S			; 0C77 4C&lt;br /&gt;
		bz	L0C87			; 0C78 84 0E&lt;br /&gt;
		ci	$26			; 0C7A 25 26&lt;br /&gt;
		bp	L0C82			; 0C7C 81 05&lt;br /&gt;
		ai	$F6			; 0C7E 24 F6&lt;br /&gt;
		br	L0C92			; 0C80 90 11&lt;br /&gt;
L0C82:		ai	$12			; 0C82 24 12&lt;br /&gt;
		sr	1			; 0C84 12&lt;br /&gt;
		br	L0C92			; 0C85 90 0C&lt;br /&gt;
L0C87:		ci	$44			; 0C87 25 44&lt;br /&gt;
		bm	L0C8F			; 0C89 91 05&lt;br /&gt;
		ai	$A			; 0C8B 24 0A&lt;br /&gt;
		br	L0C92			; 0C8D 90 04&lt;br /&gt;
L0C8F:		ai	$58			; 0C8F 24 58&lt;br /&gt;
		sr	1			; 0C91 12&lt;br /&gt;
L0C92:		lr	S, A			; 0C92 5C&lt;br /&gt;
L0C93:		jmp	L0E68			; 0C93 29 0E 68&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; play_short_beep_and_update_state (confirmed sound section)&lt;br /&gt;
; Select delay data through L1251, wait, pulse $40 (1 kHz) then $00 on port 5.&lt;br /&gt;
; The following path continues into event/state processing when required.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0C96:		nop				; 0C96 2B&lt;br /&gt;
		dci	L1251			; 0C97 2A 12 51&lt;br /&gt;
		lisu	7			; 0C9A 67&lt;br /&gt;
		lisl	2			; 0C9B 6A&lt;br /&gt;
		lr	A, S			; 0C9C 4C&lt;br /&gt;
		adc				; 0C9D 8E&lt;br /&gt;
		adc				; 0C9E 8E&lt;br /&gt;
		lm				; 0C9F 16&lt;br /&gt;
		lr	5, A			; 0CA0 55&lt;br /&gt;
		lm				; 0CA1 16&lt;br /&gt;
L0CA2:		inc				; 0CA2 1F&lt;br /&gt;
		bnz	L0CA2			; 0CA3 94 FE&lt;br /&gt;
		ds	5			; 0CA5 35&lt;br /&gt;
		bnz	L0CA2			; 0CA6 94 FB&lt;br /&gt;
		li	$40			; 0CA8 20 40&lt;br /&gt;
		outs	5			; 0CAA B5&lt;br /&gt;
		clr				; 0CAB 70&lt;br /&gt;
		outs	5			; 0CAC B5&lt;br /&gt;
		lis	4			; 0CAD 74&lt;br /&gt;
		ns	$B			; 0CAE FB&lt;br /&gt;
		bnz	L0CB2			; 0CAF 94 02&lt;br /&gt;
		pk				; 0CB1 0C&lt;br /&gt;
L0CB2:		dci	L1381			; 0CB2 2A 13 81&lt;br /&gt;
		pi	L088E			; 0CB5 28 08 8E&lt;br /&gt;
		li	$10			; 0CB8 20 10&lt;br /&gt;
		as	9			; 0CBA C9&lt;br /&gt;
		as	9			; 0CBB C9&lt;br /&gt;
		lr	IS, A			; 0CBC 0B&lt;br /&gt;
		lr	A, S			; 0CBD 4C&lt;br /&gt;
		lisu	6			; 0CBE 66&lt;br /&gt;
		lisl	1			; 0CBF 69&lt;br /&gt;
		inc				; 0CC0 1F&lt;br /&gt;
		lr	S, A			; 0CC1 5C&lt;br /&gt;
		lr	A, $B			; 0CC2 4B&lt;br /&gt;
		ni	$FB			; 0CC3 21 FB&lt;br /&gt;
		lr	$B, A			; 0CC5 5B&lt;br /&gt;
		lis	1			; 0CC6 71&lt;br /&gt;
		ns	$A			; 0CC7 FA&lt;br /&gt;
		bz	L0CCD			; 0CC8 84 04&lt;br /&gt;
		lis	4			; 0CCA 74&lt;br /&gt;
		as	$B			; 0CCB CB&lt;br /&gt;
		lr	$B, A			; 0CCC 5B&lt;br /&gt;
L0CCD:		lis	2			; 0CCD 72&lt;br /&gt;
		ns	$A			; 0CCE FA&lt;br /&gt;
		bz	L0CD4			; 0CCF 84 04&lt;br /&gt;
		lis	4			; 0CD1 74&lt;br /&gt;
		xs	$B			; 0CD2 EB&lt;br /&gt;
		lr	$B, A			; 0CD3 5B&lt;br /&gt;
L0CD4:		lis	4			; 0CD4 74&lt;br /&gt;
		ns	$B			; 0CD5 FB&lt;br /&gt;
		bz	L0CF9			; 0CD6 84 22&lt;br /&gt;
		lr	A, S			; 0CD8 4C&lt;br /&gt;
		ci	$58			; 0CD9 25 58&lt;br /&gt;
		bm	L0D13			; 0CDB 91 37&lt;br /&gt;
		ci	$11			; 0CDD 25 11&lt;br /&gt;
		bm	L0CE8			; 0CDF 91 08&lt;br /&gt;
		lis	2			; 0CE1 72&lt;br /&gt;
		ns	$A			; 0CE2 FA&lt;br /&gt;
		bz	L0CF2			; 0CE3 84 0E&lt;br /&gt;
		li	$21			; 0CE5 20 21&lt;br /&gt;
L0CE7:		lr	S, A			; 0CE7 5C&lt;br /&gt;
L0CE8:		lis	2			; 0CE8 72&lt;br /&gt;
		ns	$A			; 0CE9 FA&lt;br /&gt;
		bnz	L0CEF			; 0CEA 94 04&lt;br /&gt;
		jmp	L0E68			; 0CEC 29 0E 68&lt;br /&gt;
L0CEF:		jmp	L0E16			; 0CEF 29 0E 16&lt;br /&gt;
L0CF2:		li	$49			; 0CF2 20 49&lt;br /&gt;
		lr	S, A			; 0CF4 5C&lt;br /&gt;
		lis	2			; 0CF5 72&lt;br /&gt;
L0CF6:		lr	9, A			; 0CF6 59&lt;br /&gt;
		br	L0D27			; 0CF7 90 2F&lt;br /&gt;
L0CF9:		ds	S			; 0CF9 3C&lt;br /&gt;
		ds	S			; 0CFA 3C&lt;br /&gt;
		lr	A, S			; 0CFB 4C&lt;br /&gt;
		ci	$11			; 0CFC 25 11&lt;br /&gt;
		bp	L0D10			; 0CFE 81 11&lt;br /&gt;
		ci	$58			; 0D00 25 58&lt;br /&gt;
		bp	L0CE7			; 0D02 81 E4&lt;br /&gt;
		lis	2			; 0D04 72&lt;br /&gt;
		ns	$A			; 0D05 FA&lt;br /&gt;
		li	$49			; 0D06 20 49&lt;br /&gt;
		bnz	L0CE7			; 0D08 94 DE&lt;br /&gt;
		li	$21			; 0D0A 20 21&lt;br /&gt;
		lr	S, A			; 0D0C 5C&lt;br /&gt;
		lis	$A			; 0D0D 7A&lt;br /&gt;
		br	L0CF6			; 0D0E 90 E7&lt;br /&gt;
L0D10:		lis	7			; 0D10 77&lt;br /&gt;
		br	L0D14			; 0D11 90 02&lt;br /&gt;
L0D13:		lis	$F			; 0D13 7F&lt;br /&gt;
L0D14:		lr	9, A			; 0D14 59&lt;br /&gt;
		lis	2			; 0D15 72&lt;br /&gt;
		ns	$A			; 0D16 FA&lt;br /&gt;
		bz	L0D1C			; 0D17 84 04&lt;br /&gt;
		lis	1			; 0D19 71&lt;br /&gt;
		xs	$A			; 0D1A EA&lt;br /&gt;
		lr	$A, A			; 0D1B 5A&lt;br /&gt;
L0D1C:		lis	8			; 0D1C 78&lt;br /&gt;
		ns	9			; 0D1D F9&lt;br /&gt;
		lisu	6			; 0D1E 66&lt;br /&gt;
		lisl	1			; 0D1F 69&lt;br /&gt;
		li	$49			; 0D20 20 49&lt;br /&gt;
		bnz	L0D26			; 0D22 94 03&lt;br /&gt;
		li	$21			; 0D24 20 21&lt;br /&gt;
L0D26:		lr	S, A			; 0D26 5C&lt;br /&gt;
L0D27:		dci	L13CF			; 0D27 2A 13 CF&lt;br /&gt;
		pi	L088E			; 0D2A 28 08 8E&lt;br /&gt;
		jmp	L0E18			; 0D2D 29 0E 18&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; direction_from_coordinate_delta (strongly likely)&lt;br /&gt;
; Compare coordinate pair r9 with pair r0, form absolute X/Y differences and&lt;br /&gt;
; encode horizontal direction as 1/2 and vertical direction as 4/8 in r4.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0D30:		li	$10			; 0D30 20 10&lt;br /&gt;
		as	9			; 0D32 C9&lt;br /&gt;
		as	9			; 0D33 C9&lt;br /&gt;
		lr	IS, A			; 0D34 0B&lt;br /&gt;
		lr	A, I			; 0D35 4D&lt;br /&gt;
		lr	5, A			; 0D36 55&lt;br /&gt;
		lr	A, S			; 0D37 4C&lt;br /&gt;
		lr	6, A			; 0D38 56&lt;br /&gt;
		li	$10			; 0D39 20 10&lt;br /&gt;
		as	0			; 0D3B C0&lt;br /&gt;
		as	0			; 0D3C C0&lt;br /&gt;
		lr	IS, A			; 0D3D 0B&lt;br /&gt;
		lr	A, I			; 0D3E 4D&lt;br /&gt;
		com				; 0D3F 18&lt;br /&gt;
		inc				; 0D40 1F&lt;br /&gt;
		as	5			; 0D41 C5&lt;br /&gt;
		lr	5, A			; 0D42 55&lt;br /&gt;
		bp	L0D47			; 0D43 81 03&lt;br /&gt;
		com				; 0D45 18&lt;br /&gt;
		inc				; 0D46 1F&lt;br /&gt;
L0D47:		lr	4, A			; 0D47 54&lt;br /&gt;
		lr	A, S			; 0D48 4C&lt;br /&gt;
		com				; 0D49 18&lt;br /&gt;
		inc				; 0D4A 1F&lt;br /&gt;
		as	6			; 0D4B C6&lt;br /&gt;
		lr	6, A			; 0D4C 56&lt;br /&gt;
		bp	L0D51			; 0D4D 81 03&lt;br /&gt;
		com				; 0D4F 18&lt;br /&gt;
		inc				; 0D50 1F&lt;br /&gt;
L0D51:		lr	3, A			; 0D51 53&lt;br /&gt;
		com				; 0D52 18&lt;br /&gt;
		inc				; 0D53 1F&lt;br /&gt;
		as	4			; 0D54 C4&lt;br /&gt;
		clr				; 0D55 70&lt;br /&gt;
		bm	L0D5F			; 0D56 91 08&lt;br /&gt;
		as	5			; 0D58 C5&lt;br /&gt;
		lis	1			; 0D59 71&lt;br /&gt;
		bp	L0D5D			; 0D5A 81 02&lt;br /&gt;
		lis	2			; 0D5C 72&lt;br /&gt;
L0D5D:		br	L0D64			; 0D5D 90 06&lt;br /&gt;
L0D5F:		as	6			; 0D5F C6&lt;br /&gt;
		lis	4			; 0D60 74&lt;br /&gt;
		bp	L0D64			; 0D61 81 02&lt;br /&gt;
		lis	8			; 0D63 78&lt;br /&gt;
L0D64:		lr	4, A			; 0D64 54&lt;br /&gt;
		br	L0D83			; 0D65 90 1D&lt;br /&gt;
L0D67:		li	$10			; 0D67 20 10&lt;br /&gt;
		as	0			; 0D69 C0&lt;br /&gt;
		as	0			; 0D6A C0&lt;br /&gt;
		lr	IS, A			; 0D6B 0B&lt;br /&gt;
		lr	A, I			; 0D6C 4D&lt;br /&gt;
		com				; 0D6D 18&lt;br /&gt;
		inc				; 0D6E 1F&lt;br /&gt;
		as	5			; 0D6F C5&lt;br /&gt;
		bz	L0D76			; 0D70 84 05&lt;br /&gt;
		lis	2			; 0D72 72&lt;br /&gt;
		bm	L0D76			; 0D73 91 02&lt;br /&gt;
		lis	1			; 0D75 71&lt;br /&gt;
L0D76:		lr	4, A			; 0D76 54&lt;br /&gt;
		lr	A, S			; 0D77 4C&lt;br /&gt;
		com				; 0D78 18&lt;br /&gt;
		inc				; 0D79 1F&lt;br /&gt;
		as	6			; 0D7A C6&lt;br /&gt;
		bz	L0D81			; 0D7B 84 05&lt;br /&gt;
		lis	8			; 0D7D 78&lt;br /&gt;
		bm	L0D81			; 0D7E 91 02&lt;br /&gt;
		lis	4			; 0D80 74&lt;br /&gt;
L0D81:		as	4			; 0D81 C4&lt;br /&gt;
		lr	4, A			; 0D82 54&lt;br /&gt;
L0D83:		jmp	L0A24			; 0D83 29 0A 24&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; choose_direction_step (strongly likely)&lt;br /&gt;
; Produce small signed steps, normally 0, 4 or $FC (-4), from side, state and&lt;br /&gt;
; current object coordinates; continue through the direction decoder.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0D86:		clr				; 0D86 70&lt;br /&gt;
		lr	5, A			; 0D87 55&lt;br /&gt;
		lr	6, A			; 0D88 56&lt;br /&gt;
		as	2			; 0D89 C2&lt;br /&gt;
		ci	0			; 0D8A 25 00&lt;br /&gt;
		bnz	L0D98			; 0D8C 94 0B&lt;br /&gt;
		lis	1			; 0D8E 71&lt;br /&gt;
		ns	$A			; 0D8F FA&lt;br /&gt;
		lis	4			; 0D90 74&lt;br /&gt;
		bnz	L0D95			; 0D91 94 03&lt;br /&gt;
		li	$FC			; 0D93 20 FC&lt;br /&gt;
L0D95:		lr	5, A			; 0D95 55&lt;br /&gt;
		br	L0DA6			; 0D96 90 0F&lt;br /&gt;
L0D98:		li	$11			; 0D98 20 11&lt;br /&gt;
		as	7			; 0D9A C7&lt;br /&gt;
		as	7			; 0D9B C7&lt;br /&gt;
		lr	IS, A			; 0D9C 0B&lt;br /&gt;
		lr	A, S			; 0D9D 4C&lt;br /&gt;
		ci	$23			; 0D9E 25 23&lt;br /&gt;
		li	$FC			; 0DA0 20 FC&lt;br /&gt;
		bm	L0DA5			; 0DA2 91 02&lt;br /&gt;
		lis	4			; 0DA4 74&lt;br /&gt;
L0DA5:		lr	6, A			; 0DA5 56&lt;br /&gt;
L0DA6:		li	$10			; 0DA6 20 10&lt;br /&gt;
		as	7			; 0DA8 C7&lt;br /&gt;
		as	7			; 0DA9 C7&lt;br /&gt;
		lr	IS, A			; 0DAA 0B&lt;br /&gt;
		lr	A, I			; 0DAB 4D&lt;br /&gt;
		as	5			; 0DAC C5&lt;br /&gt;
		lr	5, A			; 0DAD 55&lt;br /&gt;
		lr	A, S			; 0DAE 4C&lt;br /&gt;
		as	6			; 0DAF C6&lt;br /&gt;
		lr	6, A			; 0DB0 56&lt;br /&gt;
		br	L0D67			; 0DB1 90 B5&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; lookup_state_table_125d (strongly likely)&lt;br /&gt;
; Replace the current scratchpad state through L125D and choose r0=6 or 12 from&lt;br /&gt;
; ISAR parity before entering the nested update worker.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0DB3:		dci	L125D			; 0DB3 2A 12 5D&lt;br /&gt;
		lr	A, S			; 0DB6 4C&lt;br /&gt;
		adc				; 0DB7 8E&lt;br /&gt;
		lm				; 0DB8 16&lt;br /&gt;
		lr	S, A			; 0DB9 5C&lt;br /&gt;
		lr	A, IS			; 0DBA 0A&lt;br /&gt;
		ni	1			; 0DBB 21 01&lt;br /&gt;
		lis	$C			; 0DBD 7C&lt;br /&gt;
		bnz	L0DC1			; 0DBE 94 02&lt;br /&gt;
		lis	6			; 0DC0 76&lt;br /&gt;
L0DC1:		lr	0, A			; 0DC1 50&lt;br /&gt;
		lisu	6			; 0DC2 66&lt;br /&gt;
		lisl	7			; 0DC3 6F&lt;br /&gt;
		clr				; 0DC4 70&lt;br /&gt;
		lr	S, A			; 0DC5 5C&lt;br /&gt;
; nested_state_update (strongly likely)&lt;br /&gt;
; Save the caller return from K in Q, process state/formation tables L1313 or&lt;br /&gt;
; L12FB, and return explicitly with LR P0,Q at L0E15.&lt;br /&gt;
L0DC6:		lr	K, P			; 0DC6 08&lt;br /&gt;
		lr	A, KU			; 0DC7 00&lt;br /&gt;
		lr	QU, A			; 0DC8 06&lt;br /&gt;
		lr	A, KL			; 0DC9 01&lt;br /&gt;
		lr	QL, A			; 0DCA 07&lt;br /&gt;
L0DCB:		dci	L1313			; 0DCB 2A 13 13&lt;br /&gt;
		lisu	6			; 0DCE 66&lt;br /&gt;
		lisl	1			; 0DCF 69&lt;br /&gt;
		lr	A, S			; 0DD0 4C&lt;br /&gt;
		lr	6, A			; 0DD1 56&lt;br /&gt;
		lisu	6			; 0DD2 66&lt;br /&gt;
		lisl	7			; 0DD3 6F&lt;br /&gt;
		lis	4			; 0DD4 74&lt;br /&gt;
		ns	S			; 0DD5 FC&lt;br /&gt;
		bz	L0DEB			; 0DD6 84 14&lt;br /&gt;
		dci	L12FB			; 0DD8 2A 12 FB&lt;br /&gt;
		lr	A, 0			; 0DDB 40&lt;br /&gt;
		ci	6			; 0DDC 25 06&lt;br /&gt;
		bm	L0DEB			; 0DDE 91 0C&lt;br /&gt;
		lis	$C			; 0DE0 7C&lt;br /&gt;
		adc				; 0DE1 8E&lt;br /&gt;
		lis	1			; 0DE2 71&lt;br /&gt;
		ns	$A			; 0DE3 FA&lt;br /&gt;
		li	$F6			; 0DE4 20 F6&lt;br /&gt;
		bnz	L0DE9			; 0DE6 94 02&lt;br /&gt;
		lis	$A			; 0DE8 7A&lt;br /&gt;
L0DE9:		as	6			; 0DE9 C6&lt;br /&gt;
		lr	6, A			; 0DEA 56&lt;br /&gt;
L0DEB:		lisu	5			; 0DEB 65&lt;br /&gt;
		lisl	3			; 0DEC 6B&lt;br /&gt;
		lr	A, 0			; 0DED 40&lt;br /&gt;
		adc				; 0DEE 8E&lt;br /&gt;
		adc				; 0DEF 8E&lt;br /&gt;
		lm				; 0DF0 16&lt;br /&gt;
		lr	D, A			; 0DF1 5E&lt;br /&gt;
		pi	L08EE			; 0DF2 28 08 EE&lt;br /&gt;
		lm				; 0DF5 16&lt;br /&gt;
		bz	L0DFA			; 0DF6 84 03&lt;br /&gt;
		com				; 0DF8 18&lt;br /&gt;
		inc				; 0DF9 1F&lt;br /&gt;
L0DFA:		as	6			; 0DFA C6&lt;br /&gt;
L0DFB:		lr	S, A			; 0DFB 5C&lt;br /&gt;
		ci	$C			; 0DFC 25 0C&lt;br /&gt;
		bp	L0E06			; 0DFE 81 07&lt;br /&gt;
		ci	$5E			; 0E00 25 5E&lt;br /&gt;
		bp	L0E09			; 0E02 81 06&lt;br /&gt;
		ai	$FE			; 0E04 24 FE&lt;br /&gt;
L0E06:		inc				; 0E06 1F&lt;br /&gt;
		br	L0DFB			; 0E07 90 F3&lt;br /&gt;
L0E09:		clr				; 0E09 70&lt;br /&gt;
		lr	$B, A			; 0E0A 5B&lt;br /&gt;
		pi	L0BBB			; 0E0B 28 0B BB&lt;br /&gt;
		ds	0			; 0E0E 30&lt;br /&gt;
		bz	L0E15			; 0E0F 84 05&lt;br /&gt;
		lis	6			; 0E11 76&lt;br /&gt;
		xs	0			; 0E12 E0&lt;br /&gt;
		bnz	L0DCB			; 0E13 94 B7&lt;br /&gt;
L0E15:		lr	P0, Q			; 0E15 0D&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; start_round_or_screen (strongly likely)&lt;br /&gt;
; Reset phase-local state, toggle r10 bit 0, draw fixed screen components, and&lt;br /&gt;
; initialize players/objects for the next side or round.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0E16:		clr				; 0E16 70&lt;br /&gt;
		lr	9, A			; 0E17 59&lt;br /&gt;
L0E18:		lis	1			; 0E18 71&lt;br /&gt;
		xs	$A			; 0E19 EA&lt;br /&gt;
		lr	$A, A			; 0E1A 5A&lt;br /&gt;
		lisu	6			; 0E1B 66&lt;br /&gt;
		lisl	0			; 0E1C 68&lt;br /&gt;
		clr				; 0E1D 70&lt;br /&gt;
		lr	S, A			; 0E1E 5C&lt;br /&gt;
; draw_fixed_screen_element: render parameter block L135F through L0820.&lt;br /&gt;
L0E1F:		dci	L135F			; 0E1F 2A 13 5F&lt;br /&gt;
		pi	L0820			; 0E22 28 08 20&lt;br /&gt;
L0E25:		lisu	5			; 0E25 65&lt;br /&gt;
		lisl	6			; 0E26 6E&lt;br /&gt;
		li	$12			; 0E27 20 12&lt;br /&gt;
		lr	4, A			; 0E29 54&lt;br /&gt;
		li	$1B			; 0E2A 20 1B&lt;br /&gt;
		lr	3, A			; 0E2C 53&lt;br /&gt;
		clr				; 0E2D 70&lt;br /&gt;
		lr	2, A			; 0E2E 52&lt;br /&gt;
L0E2F:		lr	A, S			; 0E2F 4C&lt;br /&gt;
		sr	4			; 0E30 14&lt;br /&gt;
		lr	1, A			; 0E31 51&lt;br /&gt;
		pi	L0840			; 0E32 28 08 40&lt;br /&gt;
		lr	A, I			; 0E35 4D&lt;br /&gt;
		sl	4			; 0E36 15&lt;br /&gt;
		sr	4			; 0E37 14&lt;br /&gt;
		lr	1, A			; 0E38 51&lt;br /&gt;
		lis	5			; 0E39 75&lt;br /&gt;
		as	3			; 0E3A C3&lt;br /&gt;
		lr	3, A			; 0E3B 53&lt;br /&gt;
		pi	L0840			; 0E3C 28 08 40&lt;br /&gt;
		li	$43			; 0E3F 20 43&lt;br /&gt;
		lr	3, A			; 0E41 53&lt;br /&gt;
		li	$80			; 0E42 20 80&lt;br /&gt;
		lr	2, A			; 0E44 52&lt;br /&gt;
		lr	A, IS			; 0E45 0A&lt;br /&gt;
		ci	$2F			; 0E46 25 2F&lt;br /&gt;
		bz	L0E2F			; 0E48 84 E6&lt;br /&gt;
		lis	7			; 0E4A 77&lt;br /&gt;
		ns	9			; 0E4B F9&lt;br /&gt;
		bz	L0E60			; 0E4C 84 13&lt;br /&gt;
		ds	9			; 0E4E 39&lt;br /&gt;
		lis	8			; 0E4F 78&lt;br /&gt;
		ns	9			; 0E50 F9&lt;br /&gt;
		lisl	6			; 0E51 6E&lt;br /&gt;
		bnz	L0E55			; 0E52 94 02&lt;br /&gt;
		lr	A, I			; 0E54 4D&lt;br /&gt;
L0E55:		li	$67			; 0E55 20 67&lt;br /&gt;
		outs	5			; 0E57 B5&lt;br /&gt;
		lr	5, A			; 0E58 55&lt;br /&gt;
		asd	S			; 0E59 DC&lt;br /&gt;
		lr	S, A			; 0E5A 5C&lt;br /&gt;
		pi	L0818			; 0E5B 28 08 18&lt;br /&gt;
		br	L0E25			; 0E5E 90 C6&lt;br /&gt;
L0E60:		lis	2			; 0E60 72&lt;br /&gt;
		lr	4, A			; 0E61 54&lt;br /&gt;
L0E62:		pi	L0818			; 0E62 28 08 18&lt;br /&gt;
		ds	4			; 0E65 34&lt;br /&gt;
		bnz	L0E62			; 0E66 94 FB&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; advance_init_phase (confirmed counter behavior)&lt;br /&gt;
; Increment O60 and repeat initialization while the phase value is below four.&lt;br /&gt;
; After phase four, build the field and initialize active play state.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0E68:		lisu	6			; 0E68 66&lt;br /&gt;
		lisl	0			; 0E69 68&lt;br /&gt;
		lr	A, S			; 0E6A 4C&lt;br /&gt;
		inc				; 0E6B 1F&lt;br /&gt;
		lr	S, A			; 0E6C 5C&lt;br /&gt;
		ci	4			; 0E6D 25 04&lt;br /&gt;
		bm	L0E16			; 0E6F 91 A6&lt;br /&gt;
		lis	2			; 0E71 72&lt;br /&gt;
		lr	4, A			; 0E72 54&lt;br /&gt;
L0E73:		pi	L0818			; 0E73 28 08 18&lt;br /&gt;
		ds	4			; 0E76 34&lt;br /&gt;
		bnz	L0E73			; 0E77 94 FB&lt;br /&gt;
		lisu	2			; 0E79 62&lt;br /&gt;
		lisl	0			; 0E7A 68&lt;br /&gt;
		pi	L082C			; 0E7B 28 08 2C&lt;br /&gt;
		dci	L1333			; 0E7E 2A 13 33&lt;br /&gt;
		lis	8			; 0E81 78&lt;br /&gt;
		lr	8, A			; 0E82 58&lt;br /&gt;
L0E83:		pi	L0820			; 0E83 28 08 20&lt;br /&gt;
		ds	8			; 0E86 38&lt;br /&gt;
		bnz	L0E83			; 0E87 94 FB&lt;br /&gt;
L0E89:		lis	$D			; 0E89 7D&lt;br /&gt;
		lr	4, A			; 0E8A 54&lt;br /&gt;
		lis	2			; 0E8B 72&lt;br /&gt;
		lr	6, A			; 0E8C 56&lt;br /&gt;
		pi	L084A			; 0E8D 28 08 4A&lt;br /&gt;
		li	$37			; 0E90 20 37&lt;br /&gt;
		lr	4, A			; 0E92 54&lt;br /&gt;
		lis	2			; 0E93 72&lt;br /&gt;
		lr	6, A			; 0E94 56&lt;br /&gt;
		pi	L084A			; 0E95 28 08 4A&lt;br /&gt;
		lis	7			; 0E98 77&lt;br /&gt;
		as	3			; 0E99 C3&lt;br /&gt;
		lr	3, A			; 0E9A 53&lt;br /&gt;
		ci	$55			; 0E9B 25 55&lt;br /&gt;
		bp	L0E89			; 0E9D 81 EB&lt;br /&gt;
		lis	2			; 0E9F 72&lt;br /&gt;
		lr	9, A			; 0EA0 59&lt;br /&gt;
		lr	A, $A			; 0EA1 4A&lt;br /&gt;
		ni	$C5			; 0EA2 21 C5&lt;br /&gt;
		lr	$A, A			; 0EA4 5A&lt;br /&gt;
		lisu	6			; 0EA5 66&lt;br /&gt;
		lisl	1			; 0EA6 69&lt;br /&gt;
		lr	A, D			; 0EA7 4E&lt;br /&gt;
		lr	3, A			; 0EA8 53&lt;br /&gt;
		ds	3			; 0EA9 33&lt;br /&gt;
		lis	7			; 0EAA 77&lt;br /&gt;
		lr	4, A			; 0EAB 54&lt;br /&gt;
		lis	1			; 0EAC 71&lt;br /&gt;
		ns	$A			; 0EAD FA&lt;br /&gt;
		lr	$A, A			; 0EAE 5A&lt;br /&gt;
		clr				; 0EAF 70&lt;br /&gt;
		bnz	L0EB4			; 0EB0 94 03&lt;br /&gt;
		li	$80			; 0EB2 20 80&lt;br /&gt;
L0EB4:		lr	2, A			; 0EB4 52&lt;br /&gt;
		lr	A, S			; 0EB5 4C&lt;br /&gt;
		lr	1, A			; 0EB6 51&lt;br /&gt;
		pi	L0840			; 0EB7 28 08 40&lt;br /&gt;
		pi	L09C4			; 0EBA 28 09 C4&lt;br /&gt;
		clr				; 0EBD 70&lt;br /&gt;
		as	S			; 0EBE CC&lt;br /&gt;
		bnz	L0ED1			; 0EBF 94 11&lt;br /&gt;
		li	$F0			; 0EC1 20 F0&lt;br /&gt;
		lr	S, A			; 0EC3 5C&lt;br /&gt;
		dci	L1392			; 0EC4 2A 13 92&lt;br /&gt;
		pi	L088E			; 0EC7 28 08 8E&lt;br /&gt;
		lisl	0			; 0ECA 68&lt;br /&gt;
		ds	S			; 0ECB 3C&lt;br /&gt;
		clr				; 0ECC 70&lt;br /&gt;
		lr	9, A			; 0ECD 59&lt;br /&gt;
		jmp	L0E1F			; 0ECE 29 0E 1F&lt;br /&gt;
L0ED1:		lisu	2			; 0ED1 62&lt;br /&gt;
		lisl	0			; 0ED2 68&lt;br /&gt;
L0ED3:		lis	4			; 0ED3 74&lt;br /&gt;
		lr	S, A			; 0ED4 5C&lt;br /&gt;
		lr	A, IS			; 0ED5 0A&lt;br /&gt;
		inc				; 0ED6 1F&lt;br /&gt;
		lr	IS, A			; 0ED7 0B&lt;br /&gt;
		ci	$2A			; 0ED8 25 2A&lt;br /&gt;
		bnz	L0ED3			; 0EDA 94 F8&lt;br /&gt;
		lis	$C			; 0EDC 7C&lt;br /&gt;
		lr	0, A			; 0EDD 50&lt;br /&gt;
		lisu	6			; 0EDE 66&lt;br /&gt;
		lisl	7			; 0EDF 6F&lt;br /&gt;
		lis	4			; 0EE0 74&lt;br /&gt;
		lr	S, A			; 0EE1 5C&lt;br /&gt;
		pi	L0DC6			; 0EE2 28 0D C6&lt;br /&gt;
		pi	L0DC6			; 0EE5 28 0D C6&lt;br /&gt;
		lisu	7			; 0EE8 67&lt;br /&gt;
		lisl	6			; 0EE9 6E&lt;br /&gt;
		li	$C0			; 0EEA 20 C0&lt;br /&gt;
		lr	I, A			; 0EEC 5D&lt;br /&gt;
		lr	D, A			; 0EED 5E&lt;br /&gt;
		lisu	2			; 0EEE 62&lt;br /&gt;
		lisl	0			; 0EEF 68&lt;br /&gt;
		li	$60			; 0EF0 20 60&lt;br /&gt;
		lr	S, A			; 0EF2 5C&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; main_game_loop (strongly likely)&lt;br /&gt;
; Alternate controller sources, debounce console input, update active objects,&lt;br /&gt;
; evaluate state transitions and invoke the table-driven update worker.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0EF3:		lisu	7			; 0EF3 67&lt;br /&gt;
		lisl	6			; 0EF4 6E&lt;br /&gt;
L0EF5:		li	$B0			; 0EF5 20 B0&lt;br /&gt;
L0EF7:		inc				; 0EF7 1F&lt;br /&gt;
		bnz	L0EF7			; 0EF8 94 FE&lt;br /&gt;
		lis	1			; 0EFA 71&lt;br /&gt;
		lr	4, A			; 0EFB 54&lt;br /&gt;
L0EFC:		lr	A, IS			; 0EFC 0A&lt;br /&gt;
		xi	1			; 0EFD 23 01&lt;br /&gt;
		lr	IS, A			; 0EFF 0B&lt;br /&gt;
		lr	A, IS			; 0F00 0A&lt;br /&gt;
		lr	7, A			; 0F01 57&lt;br /&gt;
		ni	1			; 0F02 21 01&lt;br /&gt;
		bnz	L0F0B			; 0F04 94 06&lt;br /&gt;
		pi	L08B0			; 0F06 28 08 B0&lt;br /&gt;
		br	L0F0E			; 0F09 90 04&lt;br /&gt;
L0F0B:		pi	L08C1			; 0F0B 28 08 C1&lt;br /&gt;
L0F0E:		lr	A, D			; 0F0E 4E&lt;br /&gt;
		lr	6, A			; 0F0F 56&lt;br /&gt;
		clr				; 0F10 70&lt;br /&gt;
		as	S			; 0F11 CC&lt;br /&gt;
		bnz	L0F22			; 0F12 94 0F&lt;br /&gt;
		lis	5			; 0F14 75&lt;br /&gt;
		lr	5, A			; 0F15 55&lt;br /&gt;
		ins	0			; 0F16 A0&lt;br /&gt;
		com				; 0F17 18&lt;br /&gt;
		ni	$F			; 0F18 21 0F&lt;br /&gt;
		bz	L0F22			; 0F1A 84 07&lt;br /&gt;
L0F1C:		ds	5			; 0F1C 35&lt;br /&gt;
		sr	1			; 0F1D 12&lt;br /&gt;
		bnz	L0F1C			; 0F1E 94 FD&lt;br /&gt;
		lr	A, 5			; 0F20 45&lt;br /&gt;
		lr	S, A			; 0F21 5C&lt;br /&gt;
L0F22:		lr	A, 7			; 0F22 47&lt;br /&gt;
		lr	IS, A			; 0F23 0B&lt;br /&gt;
		lr	A, S			; 0F24 4C&lt;br /&gt;
		ni	$C0			; 0F25 21 C0&lt;br /&gt;
		bnz	L0F33			; 0F27 94 0B&lt;br /&gt;
		ds	4			; 0F29 34&lt;br /&gt;
		bnz	L0F8E			; 0F2A 94 63&lt;br /&gt;
		li	$CE			; 0F2C 20 CE&lt;br /&gt;
L0F2E:		inc				; 0F2E 1F&lt;br /&gt;
		bnz	L0F2E			; 0F2F 94 FE&lt;br /&gt;
		br	L0EFC			; 0F31 90 CA&lt;br /&gt;
L0F33:		lisu	7			; 0F33 67&lt;br /&gt;
		lisl	4			; 0F34 6C&lt;br /&gt;
		ds	S			; 0F35 3C&lt;br /&gt;
		clr				; 0F36 70&lt;br /&gt;
		lisu	2			; 0F37 62&lt;br /&gt;
		lisl	0			; 0F38 68&lt;br /&gt;
		as	S			; 0F39 CC&lt;br /&gt;
		bnz	L0F52			; 0F3A 94 17&lt;br /&gt;
		lr	A, 7			; 0F3C 47&lt;br /&gt;
		lr	IS, A			; 0F3D 0B&lt;br /&gt;
		ni	1			; 0F3E 21 01&lt;br /&gt;
		bz	L0F49			; 0F40 84 08&lt;br /&gt;
		lr	A, D			; 0F42 4E&lt;br /&gt;
		li	$C0			; 0F43 20 C0&lt;br /&gt;
		ns	S			; 0F45 FC&lt;br /&gt;
		lr	A, I			; 0F46 4D&lt;br /&gt;
		bnz	L0EF5			; 0F47 94 AD&lt;br /&gt;
L0F49:		lr	A, S			; 0F49 4C&lt;br /&gt;
		ni	$C0			; 0F4A 21 C0&lt;br /&gt;
		bz	L0EF5			; 0F4C 84 A8&lt;br /&gt;
		clr				; 0F4E 70&lt;br /&gt;
		lr	S, A			; 0F4F 5C&lt;br /&gt;
		br	L0F82			; 0F50 90 31&lt;br /&gt;
L0F52:		lisu	2			; 0F52 62&lt;br /&gt;
		lisl	1			; 0F53 69&lt;br /&gt;
		ds	D			; 0F54 3E&lt;br /&gt;
		bnz	L0F58			; 0F55 94 02&lt;br /&gt;
		ds	D			; 0F57 3E&lt;br /&gt;
L0F58:		lr	A, 7			; 0F58 47&lt;br /&gt;
		lr	IS, A			; 0F59 0B&lt;br /&gt;
		lr	A, 6			; 0F5A 46&lt;br /&gt;
		ni	$30			; 0F5B 21 30&lt;br /&gt;
		bnz	L0F64			; 0F5D 94 06&lt;br /&gt;
L0F5F:		lis	$F			; 0F5F 7F&lt;br /&gt;
		ns	6			; 0F60 F6&lt;br /&gt;
		ai	$C0			; 0F61 24 C0&lt;br /&gt;
		lr	S, A			; 0F63 5C&lt;br /&gt;
L0F64:		lr	A, 6			; 0F64 46&lt;br /&gt;
		com				; 0F65 18&lt;br /&gt;
		inc				; 0F66 1F&lt;br /&gt;
		as	S			; 0F67 CC&lt;br /&gt;
		ni	$F			; 0F68 21 0F&lt;br /&gt;
		bnz	L0F5F			; 0F6A 94 F4&lt;br /&gt;
		lr	A, S			; 0F6C 4C&lt;br /&gt;
		ai	$C0			; 0F6D 24 C0&lt;br /&gt;
		lr	S, A			; 0F6F 5C&lt;br /&gt;
		ni	$C0			; 0F70 21 C0&lt;br /&gt;
		bz	L0F77			; 0F72 84 04&lt;br /&gt;
		jmp	L0EF5			; 0F74 29 0E F5&lt;br /&gt;
L0F77:		lr	A, IS			; 0F77 0A&lt;br /&gt;
		ci	$3E			; 0F78 25 3E&lt;br /&gt;
		bnz	L0F82			; 0F7A 94 07&lt;br /&gt;
		lisu	2			; 0F7C 62&lt;br /&gt;
		lisl	0			; 0F7D 68&lt;br /&gt;
		lis	3			; 0F7E 73&lt;br /&gt;
		lr	S, A			; 0F7F 5C&lt;br /&gt;
		lr	A, 7			; 0F80 47&lt;br /&gt;
		lr	IS, A			; 0F81 0B&lt;br /&gt;
L0F82:		pi	L0DB3			; 0F82 28 0D B3&lt;br /&gt;
		lis	6			; 0F85 76&lt;br /&gt;
		as	0			; 0F86 C0&lt;br /&gt;
		lr	0, A			; 0F87 50&lt;br /&gt;
		pi	L0DC6			; 0F88 28 0D C6&lt;br /&gt;
		jmp	L0EF3			; 0F8B 29 0E F3&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Timed game-event handling and extended collision checks (strongly likely).&lt;br /&gt;
; Initializes O20, waits for controller activity or timeout, updates event flags&lt;br /&gt;
; and object state, then dispatches sound/scene handling.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L0F8E:		clr				; 0F8E 70&lt;br /&gt;
		lr	5, A			; 0F8F 55&lt;br /&gt;
		lisu	7			; 0F90 67&lt;br /&gt;
		lisl	2			; 0F91 6A&lt;br /&gt;
		as	S			; 0F92 CC&lt;br /&gt;
		bnz	L0F97			; 0F93 94 03&lt;br /&gt;
		lis	5			; 0F95 75&lt;br /&gt;
		lr	S, A			; 0F96 5C&lt;br /&gt;
L0F97:		lisu	2			; 0F97 62&lt;br /&gt;
		lisl	0			; 0F98 68&lt;br /&gt;
		li	$B0			; 0F99 20 B0&lt;br /&gt;
		lr	S, A			; 0F9B 5C&lt;br /&gt;
		pi	L0818			; 0F9C 28 08 18&lt;br /&gt;
L0F9F:		lisu	2			; 0F9F 62&lt;br /&gt;
		lisl	1			; 0FA0 69&lt;br /&gt;
		ds	D			; 0FA1 3E&lt;br /&gt;
		bnz	L0FAD			; 0FA2 94 0A&lt;br /&gt;
		ds	S			; 0FA4 3C&lt;br /&gt;
		bnz	L0FAD			; 0FA5 94 07&lt;br /&gt;
		lisu	6			; 0FA7 66&lt;br /&gt;
		lisl	0			; 0FA8 68&lt;br /&gt;
		ds	S			; 0FA9 3C&lt;br /&gt;
		jmp	L0C6D			; 0FAA 29 0C 6D&lt;br /&gt;
L0FAD:		pi	L08B0			; 0FAD 28 08 B0&lt;br /&gt;
		bz	L0F9F			; 0FB0 84 EE&lt;br /&gt;
		lisl	5			; 0FB2 6D&lt;br /&gt;
		lis	2			; 0FB3 72&lt;br /&gt;
		lr	S, A			; 0FB4 5C&lt;br /&gt;
		lisu	7			; 0FB5 67&lt;br /&gt;
		lisl	7			; 0FB6 6F&lt;br /&gt;
		clr				; 0FB7 70&lt;br /&gt;
		as	S			; 0FB8 CC&lt;br /&gt;
		bnz	L0FBF			; 0FB9 94 05&lt;br /&gt;
		lr	A, $A			; 0FBB 4A&lt;br /&gt;
		oi	$40			; 0FBC 22 40&lt;br /&gt;
		lr	$A, A			; 0FBE 5A&lt;br /&gt;
L0FBF:		lis	3			; 0FBF 73&lt;br /&gt;
		lr	9, A			; 0FC0 59&lt;br /&gt;
		lisu	5			; 0FC1 65&lt;br /&gt;
		lisl	4			; 0FC2 6C&lt;br /&gt;
		li	$11			; 0FC3 20 11&lt;br /&gt;
		lr	I, A			; 0FC5 5D&lt;br /&gt;
		clr				; 0FC6 70&lt;br /&gt;
		lr	S, A			; 0FC7 5C&lt;br /&gt;
		lisu	7			; 0FC8 67&lt;br /&gt;
		lisl	1			; 0FC9 69&lt;br /&gt;
		li	$77			; 0FCA 20 77&lt;br /&gt;
		lr	S, A			; 0FCC 5C&lt;br /&gt;
L0FCD:		li	$FD			; 0FCD 20 FD&lt;br /&gt;
		lr	6, A			; 0FCF 56&lt;br /&gt;
		lis	2			; 0FD0 72&lt;br /&gt;
		lr	5, A			; 0FD1 55&lt;br /&gt;
		lisu	6			; 0FD2 66&lt;br /&gt;
		lisl	1			; 0FD3 69&lt;br /&gt;
		lr	A, S			; 0FD4 4C&lt;br /&gt;
		com				; 0FD5 18&lt;br /&gt;
		inc				; 0FD6 1F&lt;br /&gt;
		lisu	2			; 0FD7 62&lt;br /&gt;
		lisl	6			; 0FD8 6E&lt;br /&gt;
		as	S			; 0FD9 CC&lt;br /&gt;
		bz	L0FE9			; 0FDA 84 0E&lt;br /&gt;
		bp	L0FDF			; 0FDC 81 02&lt;br /&gt;
		ds	5			; 0FDE 35&lt;br /&gt;
L0FDF:		lis	1			; 0FDF 71&lt;br /&gt;
		ns	$A			; 0FE0 FA&lt;br /&gt;
		bz	L0FE6			; 0FE1 84 04&lt;br /&gt;
		ds	5			; 0FE3 35&lt;br /&gt;
		lis	3			; 0FE4 73&lt;br /&gt;
		lr	6, A			; 0FE5 56&lt;br /&gt;
L0FE6:		ds	5			; 0FE6 35&lt;br /&gt;
		bnz	L0FEF			; 0FE7 94 07&lt;br /&gt;
L0FE9:		lr	A, $A			; 0FE9 4A&lt;br /&gt;
		oi	$20			; 0FEA 22 20&lt;br /&gt;
		lr	$A, A			; 0FEC 5A&lt;br /&gt;
		br	L1035			; 0FED 90 47&lt;br /&gt;
L0FEF:		lisu	7			; 0FEF 67&lt;br /&gt;
		lisl	4			; 0FF0 6C&lt;br /&gt;
		lr	A, I			; 0FF1 4D&lt;br /&gt;
		sr	4			; 0FF2 14&lt;br /&gt;
		sr	1			; 0FF3 12&lt;br /&gt;
		ai	$11			; 0FF4 24 11&lt;br /&gt;
		com				; 0FF6 18&lt;br /&gt;
		as	S			; 0FF7 CC&lt;br /&gt;
		bnz	L1035			; 0FF8 94 3C&lt;br /&gt;
		lis	3			; 0FFA 73&lt;br /&gt;
		xs	9			; 0FFB E9&lt;br /&gt;
		bnz	L1035			; 0FFC 94 38&lt;br /&gt;
		lisl	6			; 0FFE 6E&lt;br /&gt;
		lis	4			; 0FFF 74&lt;br /&gt;
		xs	S			; 1000 EC&lt;br /&gt;
		bz	L1035			; 1001 84 33&lt;br /&gt;
		lis	5			; 1003 75&lt;br /&gt;
		xs	S			; 1004 EC&lt;br /&gt;
		bz	L1035			; 1005 84 2F&lt;br /&gt;
		lisu	4			; 1007 64&lt;br /&gt;
		lisl	7			; 1008 6F&lt;br /&gt;
		lr	A, S			; 1009 4C&lt;br /&gt;
		ci	$19			; 100A 25 19&lt;br /&gt;
		bp	L1035			; 100C 81 28&lt;br /&gt;
		lisu	5			; 100E 65&lt;br /&gt;
		lisl	1			; 100F 69&lt;br /&gt;
		lr	A, S			; 1010 4C&lt;br /&gt;
		ci	$23			; 1011 25 23&lt;br /&gt;
		bm	L1035			; 1013 91 21&lt;br /&gt;
		lisu	2			; 1015 62&lt;br /&gt;
		lisl	2			; 1016 6A&lt;br /&gt;
		lr	A, S			; 1017 4C&lt;br /&gt;
		as	6			; 1018 C6&lt;br /&gt;
		lr	S, A			; 1019 5C&lt;br /&gt;
		lisl	4			; 101A 6C&lt;br /&gt;
		lr	S, A			; 101B 5C&lt;br /&gt;
		lr	A, 6			; 101C 46&lt;br /&gt;
		com				; 101D 18&lt;br /&gt;
		inc				; 101E 1F&lt;br /&gt;
		lr	6, A			; 101F 56&lt;br /&gt;
		lisu	4			; 1020 64&lt;br /&gt;
		lisl	6			; 1021 6E&lt;br /&gt;
		as	S			; 1022 CC&lt;br /&gt;
		lr	S, A			; 1023 5C&lt;br /&gt;
		lisu	5			; 1024 65&lt;br /&gt;
		lisl	0			; 1025 68&lt;br /&gt;
		lr	A, 6			; 1026 46&lt;br /&gt;
		as	S			; 1027 CC&lt;br /&gt;
		lr	S, A			; 1028 5C&lt;br /&gt;
		lisu	6			; 1029 66&lt;br /&gt;
		lisl	1			; 102A 69&lt;br /&gt;
		lr	A, S			; 102B 4C&lt;br /&gt;
		ai	$FC			; 102C 24 FC&lt;br /&gt;
		lr	3, A			; 102E 53&lt;br /&gt;
		dci	L135B			; 102F 2A 13 5B&lt;br /&gt;
		pi	L0822			; 1032 28 08 22&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Repositioning and formation/zone tests (strongly likely).&lt;br /&gt;
; Copies coordinate state, evaluates object zones and finds minimum distances&lt;br /&gt;
; against object records O30-O33. r10 bit 4 records the proximity condition.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L1035:		pi	L08B0			; 1035 28 08 B0&lt;br /&gt;
		lis	8			; 1038 78&lt;br /&gt;
		ns	$A			; 1039 FA&lt;br /&gt;
		bnz	L10B9			; 103A 94 7E&lt;br /&gt;
		lisu	2			; 103C 62&lt;br /&gt;
		lisl	6			; 103D 6E&lt;br /&gt;
		lr	A, I			; 103E 4D&lt;br /&gt;
		lr	7, A			; 103F 57&lt;br /&gt;
		lr	A, I			; 1040 4D&lt;br /&gt;
		lisu	2			; 1041 62&lt;br /&gt;
		lisl	1			; 1042 69&lt;br /&gt;
		lr	D, A			; 1043 5E&lt;br /&gt;
		lr	A, 7			; 1044 47&lt;br /&gt;
		lr	S, A			; 1045 5C&lt;br /&gt;
		li	$20			; 1046 20 20&lt;br /&gt;
		ns	$A			; 1048 FA&lt;br /&gt;
		bz	L104E			; 1049 84 04&lt;br /&gt;
L104B:		jmp	L10E0			; 104B 29 10 E0&lt;br /&gt;
L104E:		lisu	7			; 104E 67&lt;br /&gt;
		lisl	3			; 104F 6B&lt;br /&gt;
		as	S			; 1050 CC&lt;br /&gt;
		bp	L104B			; 1051 81 F9&lt;br /&gt;
		lis	3			; 1053 73&lt;br /&gt;
		xs	9			; 1054 E9&lt;br /&gt;
		bnz	L104B			; 1055 94 F5&lt;br /&gt;
		lr	9, A			; 1057 59&lt;br /&gt;
		lis	8			; 1058 78&lt;br /&gt;
		as	$A			; 1059 CA&lt;br /&gt;
		lr	$A, A			; 105A 5A&lt;br /&gt;
		lisl	6			; 105B 6E&lt;br /&gt;
		lr	A, S			; 105C 4C&lt;br /&gt;
		ci	6			; 105D 25 06&lt;br /&gt;
		bp	L1096			; 105F 81 36&lt;br /&gt;
		lr	A, $A			; 1061 4A&lt;br /&gt;
		oi	2			; 1062 22 02&lt;br /&gt;
		lr	$A, A			; 1064 5A&lt;br /&gt;
		lisl	4			; 1065 6C&lt;br /&gt;
		lr	A, I			; 1066 4D&lt;br /&gt;
		sr	4			; 1067 14&lt;br /&gt;
		sr	1			; 1068 12&lt;br /&gt;
		ai	$A			; 1069 24 0A&lt;br /&gt;
		as	S			; 106B CC&lt;br /&gt;
		lisl	1			; 106C 69&lt;br /&gt;
		lr	S, A			; 106D 5C&lt;br /&gt;
		lisl	6			; 106E 6E&lt;br /&gt;
		lis	7			; 106F 77&lt;br /&gt;
		xs	S			; 1070 EC&lt;br /&gt;
		bnz	L1096			; 1071 94 24&lt;br /&gt;
		lisl	1			; 1073 69&lt;br /&gt;
		lr	A, S			; 1074 4C&lt;br /&gt;
		ai	$FD			; 1075 24 FD&lt;br /&gt;
		lr	S, A			; 1077 5C&lt;br /&gt;
		lis	1			; 1078 71&lt;br /&gt;
		ns	$A			; 1079 FA&lt;br /&gt;
		lisu	2			; 107A 62&lt;br /&gt;
		lisl	0			; 107B 68&lt;br /&gt;
		bnz	L1083			; 107C 94 06&lt;br /&gt;
		li	$F6			; 107E 20 F6&lt;br /&gt;
		as	S			; 1080 CC&lt;br /&gt;
		br	L1087			; 1081 90 05&lt;br /&gt;
L1083:		lr	A, S			; 1083 4C&lt;br /&gt;
		com				; 1084 18&lt;br /&gt;
		ai	$61			; 1085 24 61&lt;br /&gt;
L1087:		lr	5, A			; 1087 55&lt;br /&gt;
		lisu	7			; 1088 67&lt;br /&gt;
		lisl	4			; 1089 6C&lt;br /&gt;
		li	$3F			; 108A 20 3F&lt;br /&gt;
		ns	D			; 108C FE&lt;br /&gt;
		as	5			; 108D C5&lt;br /&gt;
		ci	$39			; 108E 25 39&lt;br /&gt;
		clr				; 1090 70&lt;br /&gt;
		bp	L1095			; 1091 81 03&lt;br /&gt;
		li	$20			; 1093 20 20&lt;br /&gt;
L1095:		lr	S, A			; 1095 5C&lt;br /&gt;
L1096:		lr	A, $A			; 1096 4A&lt;br /&gt;
		oi	$40			; 1097 22 40&lt;br /&gt;
		lr	$A, A			; 1099 5A&lt;br /&gt;
		lisu	7			; 109A 67&lt;br /&gt;
		lisl	3			; 109B 6B&lt;br /&gt;
		li	$10			; 109C 20 10&lt;br /&gt;
		ns	S			; 109E FC&lt;br /&gt;
		lis	6			; 109F 76&lt;br /&gt;
		bnz	L10A9			; 10A0 94 08&lt;br /&gt;
		li	$20			; 10A2 20 20&lt;br /&gt;
		ns	S			; 10A4 FC&lt;br /&gt;
		lis	$A			; 10A5 7A&lt;br /&gt;
		bnz	L10A9			; 10A6 94 02&lt;br /&gt;
		lis	2			; 10A8 72&lt;br /&gt;
L10A9:		lr	7, A			; 10A9 57&lt;br /&gt;
		lis	1			; 10AA 71&lt;br /&gt;
		ns	$A			; 10AB FA&lt;br /&gt;
		bz	L10B5			; 10AC 84 08&lt;br /&gt;
		li	$30			; 10AE 20 30&lt;br /&gt;
		ns	S			; 10B0 FC&lt;br /&gt;
		lis	$F			; 10B1 7F&lt;br /&gt;
		bnz	L10B5			; 10B2 94 02&lt;br /&gt;
		lis	3			; 10B4 73&lt;br /&gt;
L10B5:		lisu	6			; 10B5 66&lt;br /&gt;
		lisl	7			; 10B6 6F&lt;br /&gt;
		xs	7			; 10B7 E7&lt;br /&gt;
		lr	S, A			; 10B8 5C&lt;br /&gt;
L10B9:		lisu	2			; 10B9 62&lt;br /&gt;
		lisl	0			; 10BA 68&lt;br /&gt;
		lr	A, I			; 10BB 4D&lt;br /&gt;
		com				; 10BC 18&lt;br /&gt;
		inc				; 10BD 1F&lt;br /&gt;
		lr	4, A			; 10BE 54&lt;br /&gt;
		lr	A, D			; 10BF 4E&lt;br /&gt;
		com				; 10C0 18&lt;br /&gt;
		inc				; 10C1 1F&lt;br /&gt;
		lr	5, A			; 10C2 55&lt;br /&gt;
		lisu	3			; 10C3 63&lt;br /&gt;
		lisl	0			; 10C4 68&lt;br /&gt;
L10C5:		lr	A, I			; 10C5 4D&lt;br /&gt;
		as	4			; 10C6 C4&lt;br /&gt;
		bp	L10CB			; 10C7 81 03&lt;br /&gt;
		com				; 10C9 18&lt;br /&gt;
		inc				; 10CA 1F&lt;br /&gt;
L10CB:		lr	2, A			; 10CB 52&lt;br /&gt;
		lr	A, I			; 10CC 4D&lt;br /&gt;
		as	5			; 10CD C5&lt;br /&gt;
		bp	L10D2			; 10CE 81 03&lt;br /&gt;
		com				; 10D0 18&lt;br /&gt;
		inc				; 10D1 1F&lt;br /&gt;
L10D2:		as	2			; 10D2 C2&lt;br /&gt;
		ci	$F			; 10D3 25 0F&lt;br /&gt;
		bnc	L10DB			; 10D5 92 05&lt;br /&gt;
		lr	A, $A			; 10D7 4A&lt;br /&gt;
		oi	$10			; 10D8 22 10&lt;br /&gt;
		lr	$A, A			; 10DA 5A&lt;br /&gt;
L10DB:		lr	A, IS			; 10DB 0A&lt;br /&gt;
		ci	$1C			; 10DC 25 1C&lt;br /&gt;
		bp	L10C5			; 10DE 81 E6&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Player/object turn and automatic movement selection (strongly likely).&lt;br /&gt;
; Select control- or table-driven movement, iterate object groups and route the&lt;br /&gt;
; resulting event to the common frame/state handlers.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L10E0:		lisu	7			; 10E0 67&lt;br /&gt;
		lisl	5			; 10E1 6D&lt;br /&gt;
		lr	A, S			; 10E2 4C&lt;br /&gt;
		com				; 10E3 18&lt;br /&gt;
		inc				; 10E4 1F&lt;br /&gt;
		lisl	1			; 10E5 69&lt;br /&gt;
		as	S			; 10E6 CC&lt;br /&gt;
		clr				; 10E7 70&lt;br /&gt;
		lr	0, A			; 10E8 50&lt;br /&gt;
		bm	L10EE			; 10E9 91 04&lt;br /&gt;
		lisu	6			; 10EB 66&lt;br /&gt;
		lisl	7			; 10EC 6F&lt;br /&gt;
		lr	A, S			; 10ED 4C&lt;br /&gt;
L10EE:		lr	4, A			; 10EE 54&lt;br /&gt;
		lis	8			; 10EF 78&lt;br /&gt;
		ns	$A			; 10F0 FA&lt;br /&gt;
		bz	L10F6			; 10F1 84 04&lt;br /&gt;
		pi	L0A24			; 10F3 28 0A 24&lt;br /&gt;
L10F6:		lis	2			; 10F6 72&lt;br /&gt;
		ns	$A			; 10F7 FA&lt;br /&gt;
		bnz	L10FD			; 10F8 94 04&lt;br /&gt;
		jmp	L1137			; 10FA 29 11 37&lt;br /&gt;
L10FD:		lis	6			; 10FD 76&lt;br /&gt;
		lr	0, A			; 10FE 50&lt;br /&gt;
L10FF:		pi	L0A1F			; 10FF 28 0A 1F&lt;br /&gt;
		ds	0			; 1102 30&lt;br /&gt;
		bnz	L10FF			; 1103 94 FB&lt;br /&gt;
		pi	L08C1			; 1105 28 08 C1&lt;br /&gt;
		lis	$C			; 1108 7C&lt;br /&gt;
		lr	0, A			; 1109 50&lt;br /&gt;
		lis	8			; 110A 78&lt;br /&gt;
		ns	$A			; 110B FA&lt;br /&gt;
		bz	L111A			; 110C 84 0D&lt;br /&gt;
L110E:		pi	L0A1F			; 110E 28 0A 1F&lt;br /&gt;
		ds	0			; 1111 30&lt;br /&gt;
		lr	A, 0			; 1112 40&lt;br /&gt;
		ci	6			; 1113 25 06&lt;br /&gt;
		bm	L110E			; 1115 91 F8&lt;br /&gt;
		jmp	L1227			; 1117 29 12 27&lt;br /&gt;
L111A:		com				; 111A 18&lt;br /&gt;
		inc				; 111B 1F&lt;br /&gt;
		as	9			; 111C C9&lt;br /&gt;
		bnz	L1124			; 111D 94 06&lt;br /&gt;
		pi	L0A1F			; 111F 28 0A 1F&lt;br /&gt;
		br	L112E			; 1122 90 0B&lt;br /&gt;
L1124:		lis	1			; 1124 71&lt;br /&gt;
		ns	$A			; 1125 FA&lt;br /&gt;
		lis	2			; 1126 72&lt;br /&gt;
		bnz	L112A			; 1127 94 02&lt;br /&gt;
		lis	1			; 1129 71&lt;br /&gt;
L112A:		lr	4, A			; 112A 54&lt;br /&gt;
		pi	L0A24			; 112B 28 0A 24&lt;br /&gt;
L112E:		ds	0			; 112E 30&lt;br /&gt;
		lr	A, 0			; 112F 40&lt;br /&gt;
		ci	6			; 1130 25 06&lt;br /&gt;
		bm	L111A			; 1132 91 E7&lt;br /&gt;
		jmp	L1200			; 1134 29 12 00&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Formation lookup and object movement (strongly likely).&lt;br /&gt;
; Split L08C7 results into nibbles, normalize direction bits, read L1297-based&lt;br /&gt;
; formation records through L08DA and apply resulting moves.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L1137:		lis	2			; 1137 72&lt;br /&gt;
		lr	0, A			; 1138 50&lt;br /&gt;
		pi	L08C7			; 1139 28 08 C7&lt;br /&gt;
		ni	$F0			; 113C 21 F0&lt;br /&gt;
		sr	4			; 113E 14&lt;br /&gt;
		lr	7, A			; 113F 57&lt;br /&gt;
		pi	L0A10			; 1140 28 0A 10&lt;br /&gt;
		ds	0			; 1143 30&lt;br /&gt;
		pi	L08C7			; 1144 28 08 C7&lt;br /&gt;
		ni	$F			; 1147 21 0F&lt;br /&gt;
		lr	7, A			; 1149 57&lt;br /&gt;
		pi	L0A10			; 114A 28 0A 10&lt;br /&gt;
		lis	3			; 114D 73&lt;br /&gt;
		lr	0, A			; 114E 50&lt;br /&gt;
		xs	9			; 114F E9&lt;br /&gt;
		bz	L1159			; 1150 84 08&lt;br /&gt;
		clr				; 1152 70&lt;br /&gt;
		lr	4, A			; 1153 54&lt;br /&gt;
		pi	L0A24			; 1154 28 0A 24&lt;br /&gt;
		br	L1189			; 1157 90 31&lt;br /&gt;
L1159:		pi	L0A1F			; 1159 28 0A 1F&lt;br /&gt;
		lis	6			; 115C 76&lt;br /&gt;
		lr	0, A			; 115D 50&lt;br /&gt;
		pi	L08DA			; 115E 28 08 DA&lt;br /&gt;
		lisu	5			; 1161 65&lt;br /&gt;
		lisl	4			; 1162 6C&lt;br /&gt;
		bnz	L1166			; 1163 94 02&lt;br /&gt;
		lr	S, A			; 1165 5C&lt;br /&gt;
L1166:		li	$F0			; 1166 20 F0&lt;br /&gt;
		ns	S			; 1168 FC&lt;br /&gt;
		sr	4			; 1169 14&lt;br /&gt;
		lr	7, A			; 116A 57&lt;br /&gt;
		pi	L0A10			; 116B 28 0A 10&lt;br /&gt;
		ds	0			; 116E 30&lt;br /&gt;
		lisu	5			; 116F 65&lt;br /&gt;
		lisl	4			; 1170 6C&lt;br /&gt;
		lis	$F			; 1171 7F&lt;br /&gt;
		ns	S			; 1172 FC&lt;br /&gt;
		lr	7, A			; 1173 57&lt;br /&gt;
		pi	L0A10			; 1174 28 0A 10&lt;br /&gt;
		ds	0			; 1177 30&lt;br /&gt;
		pi	L08DA			; 1178 28 08 DA&lt;br /&gt;
		lm				; 117B 16&lt;br /&gt;
		lisu	5			; 117C 65&lt;br /&gt;
		lisl	5			; 117D 6D&lt;br /&gt;
		bnz	L1181			; 117E 94 02&lt;br /&gt;
		lr	S, A			; 1180 5C&lt;br /&gt;
L1181:		lis	$F			; 1181 7F&lt;br /&gt;
		ns	S			; 1182 FC&lt;br /&gt;
		lr	7, A			; 1183 57&lt;br /&gt;
		pi	L0A10			; 1184 28 0A 10&lt;br /&gt;
		br	L1194			; 1187 90 0C&lt;br /&gt;
L1189:		lis	6			; 1189 76&lt;br /&gt;
		lr	0, A			; 118A 50&lt;br /&gt;
L118B:		pi	L0A1F			; 118B 28 0A 1F&lt;br /&gt;
		ds	0			; 118E 30&lt;br /&gt;
		lr	A, 0			; 118F 40&lt;br /&gt;
		ci	3			; 1190 25 03&lt;br /&gt;
		bnz	L118B			; 1192 94 F8&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Multi-object update and event evaluation (strongly likely).&lt;br /&gt;
; Compare object 12 and 11, read the opposing controller and update objects 10&lt;br /&gt;
; through 7 using direct controls or generated direction steps.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L1194:		lis	$C			; 1194 7C&lt;br /&gt;
		lr	0, A			; 1195 50&lt;br /&gt;
		pi	L0D30			; 1196 28 0D 30&lt;br /&gt;
		ds	0			; 1199 30&lt;br /&gt;
		pi	L0D30			; 119A 28 0D 30&lt;br /&gt;
		pi	L08C1			; 119D 28 08 C1&lt;br /&gt;
		li	$30			; 11A0 20 30&lt;br /&gt;
		ns	S			; 11A2 FC&lt;br /&gt;
		bz	L11A9			; 11A3 84 05&lt;br /&gt;
		lr	A, $A			; 11A5 4A&lt;br /&gt;
		oi	$40			; 11A6 22 40&lt;br /&gt;
		lr	$A, A			; 11A8 5A&lt;br /&gt;
L11A9:		lis	$A			; 11A9 7A&lt;br /&gt;
		lr	0, A			; 11AA 50&lt;br /&gt;
		pi	L0A1F			; 11AB 28 0A 1F&lt;br /&gt;
		ds	0			; 11AE 30&lt;br /&gt;
L11AF:		li	$40			; 11AF 20 40&lt;br /&gt;
		ns	$A			; 11B1 FA&lt;br /&gt;
		bnz	L11CF			; 11B2 94 1C&lt;br /&gt;
		lr	A, 0			; 11B4 40&lt;br /&gt;
		ci	8			; 11B5 25 08&lt;br /&gt;
		bnz	L11BD			; 11B7 94 05&lt;br /&gt;
		lis	6			; 11B9 76&lt;br /&gt;
		lr	7, A			; 11BA 57&lt;br /&gt;
		br	L11BF			; 11BB 90 03&lt;br /&gt;
L11BD:		lis	5			; 11BD 75&lt;br /&gt;
		lr	7, A			; 11BE 57&lt;br /&gt;
L11BF:		lis	1			; 11BF 71&lt;br /&gt;
		lisu	7			; 11C0 67&lt;br /&gt;
		lisl	7			; 11C1 6F&lt;br /&gt;
		ns	S			; 11C2 FC&lt;br /&gt;
		lr	2, A			; 11C3 52&lt;br /&gt;
		lr	A, S			; 11C4 4C&lt;br /&gt;
		ai	$FF			; 11C5 24 FF&lt;br /&gt;
		ni	2			; 11C7 21 02&lt;br /&gt;
		sr	1			; 11C9 12&lt;br /&gt;
		as	0			; 11CA C0&lt;br /&gt;
		ni	1			; 11CB 21 01&lt;br /&gt;
		bnz	L11D4			; 11CD 94 06&lt;br /&gt;
L11CF:		pi	L0A1F			; 11CF 28 0A 1F&lt;br /&gt;
		br	L11D7			; 11D2 90 04&lt;br /&gt;
L11D4:		pi	L0D86			; 11D4 28 0D 86&lt;br /&gt;
L11D7:		ds	0			; 11D7 30&lt;br /&gt;
		lr	A, 0			; 11D8 40&lt;br /&gt;
		ci	7			; 11D9 25 07&lt;br /&gt;
		bm	L11AF			; 11DB 91 D3&lt;br /&gt;
		lisu	7			; 11DD 67&lt;br /&gt;
		lisl	3			; 11DE 6B&lt;br /&gt;
		li	$40			; 11DF 20 40&lt;br /&gt;
		ns	S			; 11E1 FC&lt;br /&gt;
		bnz	L11FD			; 11E2 94 1A&lt;br /&gt;
		lisl	7			; 11E4 6F&lt;br /&gt;
		lr	A, D			; 11E5 4E&lt;br /&gt;
		ci	4			; 11E6 25 04&lt;br /&gt;
		bp	L11F8			; 11E8 81 0F&lt;br /&gt;
		lisu	7			; 11EA 67&lt;br /&gt;
		lisl	5			; 11EB 6D&lt;br /&gt;
		lr	A, S			; 11EC 4C&lt;br /&gt;
		ci	$A			; 11ED 25 0A&lt;br /&gt;
		bm	L11F8			; 11EF 91 08&lt;br /&gt;
		lis	6			; 11F1 76&lt;br /&gt;
		lr	7, A			; 11F2 57&lt;br /&gt;
		pi	L0A10			; 11F3 28 0A 10&lt;br /&gt;
		br	L1200			; 11F6 90 09&lt;br /&gt;
L11F8:		pi	L0D30			; 11F8 28 0D 30&lt;br /&gt;
		br	L1200			; 11FB 90 04&lt;br /&gt;
L11FD:		pi	L0A1F			; 11FD 28 0A 1F&lt;br /&gt;
L1200:		lis	2			; 1200 72&lt;br /&gt;
		lr	5, A			; 1201 55&lt;br /&gt;
		clr				; 1202 70&lt;br /&gt;
		as	9			; 1203 C9&lt;br /&gt;
		bz	L1227			; 1204 84 22&lt;br /&gt;
		ci	6			; 1206 25 06&lt;br /&gt;
		bm	L120B			; 1208 91 02&lt;br /&gt;
		ds	5			; 120A 35&lt;br /&gt;
L120B:		lis	1			; 120B 71&lt;br /&gt;
		ns	$A			; 120C FA&lt;br /&gt;
		bz	L1210			; 120D 84 02&lt;br /&gt;
		ds	5			; 120F 35&lt;br /&gt;
L1210:		li	$10			; 1210 20 10&lt;br /&gt;
		as	9			; 1212 C9&lt;br /&gt;
		as	9			; 1213 C9&lt;br /&gt;
		lr	IS, A			; 1214 0B&lt;br /&gt;
		lr	A, S			; 1215 4C&lt;br /&gt;
		ds	5			; 1216 35&lt;br /&gt;
		bz	L1220			; 1217 84 08&lt;br /&gt;
		ci	$57			; 1219 25 57&lt;br /&gt;
		bp	L1227			; 121B 81 0B&lt;br /&gt;
		jmp	L0D13			; 121D 29 0D 13&lt;br /&gt;
L1220:		ci	$12			; 1220 25 12&lt;br /&gt;
		bm	L1227			; 1222 91 04&lt;br /&gt;
		jmp	L0D10			; 1224 29 0D 10&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
; Frame/time update (strongly likely)&lt;br /&gt;
; Advance O75, apply timing increment from L124D to O63, propagate carry into&lt;br /&gt;
; O62, optionally redraw, then re-enter the active update path at L0FCD.&lt;br /&gt;
;-------------------------------------------------------------------------------&lt;br /&gt;
L1227:		lisu	7			; 1227 67&lt;br /&gt;
		lisl	5			; 1228 6D&lt;br /&gt;
		lr	A, S			; 1229 4C&lt;br /&gt;
		inc				; 122A 1F&lt;br /&gt;
		lr	S, A			; 122B 5C&lt;br /&gt;
		ci	$60			; 122C 25 60&lt;br /&gt;
		bp	L1232			; 122E 81 03&lt;br /&gt;
		ds	S			; 1230 3C&lt;br /&gt;
		ds	S			; 1231 3C&lt;br /&gt;
L1232:		dci	L124D			; 1232 2A 12 4D&lt;br /&gt;
		lisu	7			; 1235 67&lt;br /&gt;
		lisl	2			; 1236 6A&lt;br /&gt;
		lr	A, S			; 1237 4C&lt;br /&gt;
		adc				; 1238 8E&lt;br /&gt;
		lm				; 1239 16&lt;br /&gt;
		lisu	6			; 123A 66&lt;br /&gt;
		lisl	3			; 123B 6B&lt;br /&gt;
		as	S			; 123C CC&lt;br /&gt;
		lr	S, A			; 123D 5C&lt;br /&gt;
		bnc	L124A			; 123E 92 0B&lt;br /&gt;
		lisu	6			; 1240 66&lt;br /&gt;
		lisl	2			; 1241 6A&lt;br /&gt;
		clr				; 1242 70&lt;br /&gt;
		as	S			; 1243 CC&lt;br /&gt;
		bz	L1247			; 1244 84 02&lt;br /&gt;
		ds	S			; 1246 3C&lt;br /&gt;
L1247:		pi	L09C4			; 1247 28 09 C4&lt;br /&gt;
L124A:		jmp	L0FCD			; 124A 29 0F CD&lt;br /&gt;
;===============================================================================&lt;br /&gt;
; DATA TABLES $124D-$13E9&lt;br /&gt;
; This range is addressed from reachable code through DCI. It must remain raw&lt;br /&gt;
; data. Labels below describe known consumers; contents are preserved exactly.&lt;br /&gt;
;===============================================================================&lt;br /&gt;
; frame/tempo increment table used at L1232&lt;br /&gt;
L124D:		.byte	$50, $14, $1D, $38	; 124D&lt;br /&gt;
; Delay/parameter table used by the short 1 kHz beep at L0C96.&lt;br /&gt;
L1251:		.byte	$48, $29, $01, $FF, $01, $00, $04, $00, $06, $00, $02, $00			; 1251&lt;br /&gt;
; State lookup table used by L0DB3.&lt;br /&gt;
L125D:		.byte	$00, $03, $07, $AB, $05, $04, $06, $AB, $01, $02, $08				; 125D&lt;br /&gt;
; Variable-length lookup/formation data consumed by L08C7.&lt;br /&gt;
L1268:		.byte	$08, $09, $0A, $0B, $0C, $17, $22, $23, $24, $77, $00, $77, $00, $77, $00, $77	; 1268&lt;br /&gt;
		.byte	$00, $08, $00, $0C, $88, $0F, $81, $11, $80, $13, $01, $77, $11, $03, $00, $07	; 1278&lt;br /&gt;
		.byte	$44, $0A, $50, $0C, $00, $0E, $00, $77, $11, $77, $00, $77, $00, $77, $00	; 1288&lt;br /&gt;
; Variable-length lookup/formation data consumed by L08DA.&lt;br /&gt;
L1297:		.byte	$0A, $1C, $25, $34, $40, $52, $5B, $67, $67, $77, $11, $03, $03, $11, $01, $06	; 1297&lt;br /&gt;
		.byte	$45, $01, $0F, $48, $01, $12, $08, $01, $17, $01, $01, $1B, $01, $04, $77, $06	; 12A7&lt;br /&gt;
		.byte	$11, $01, $0A, $11, $00, $0C, $95, $00, $77, $03, $11, $01, $0E, $49, $00, $14	; 12B7&lt;br /&gt;
		.byte	$04, $00, $19, $92, $01, $20, $98, $04, $77, $03, $51, $01, $12, $52, $01, $16	; 12C7&lt;br /&gt;
		.byte	$14, $01, $1B, $91, $01, $77, $03, $11, $05, $07, $51, $05, $0A, $51, $05, $0D	; 12D7&lt;br /&gt;
		.byte	$12, $09, $0E, $15, $09, $21, $A5, $04, $77, $08, $15, $01, $0C, $55, $01, $10	; 12E7&lt;br /&gt;
		.byte	$84, $01, $77, $02	; 12F7&lt;br /&gt;
; Alternate state/formation table selected inside L0DCB.&lt;br /&gt;
L12FB:		.byte	$11, $08, $07, $11, $09, $0B, $58, $09, $0D, $15, $00, $77, $77, $77, $1E, $0A	; 12FB&lt;br /&gt;
		.byte	$22, $0A, $1C, $06, $24, $06, $1E, $02						; 130B&lt;br /&gt;
; Primary state/formation table selected inside L0DCB.&lt;br /&gt;
L1313:		.byte	$22, $02, $1C, $02, $20, $02, $20, $07, $23, $0A, $2C, $03, $16, $02, $20, $08	; 1313&lt;br /&gt;
		.byte	$16, $0B, $2C, $0C, $1C, $14, $1C, $02, $20, $02				; 1323&lt;br /&gt;
; Three short selector/bitmap records chosen near L0BEC.&lt;br /&gt;
L132D:		.byte	$FF, $80		; 132D&lt;br /&gt;
L132F:		.byte	$AA, $80		; 132F&lt;br /&gt;
L1331:		.byte	$F7, $80		; 1331&lt;br /&gt;
; Eight consecutive graphics parameter records rendered from L0E83.&lt;br /&gt;
L1333:		.byte	$09, $37, $41, $59, $01, $09, $0E, $41, $01, $2A, $09, $0E, $41, $59, $01, $61	; 1333&lt;br /&gt;
		.byte	$0E, $41, $01, $2A, $0A, $0F, $C1, $57, $28, $58, $0C, $41, $01, $2E, $0A, $07	; 1343&lt;br /&gt;
		.byte	$C1, $61, $05, $12, $0C, $41, $01, $2E						; 1353&lt;br /&gt;
; Graphics parameter block entered through L0822 at $102F.&lt;br /&gt;
L135B:		.byte	$17, $C1, $09, $11	; 135B&lt;br /&gt;
; Fixed screen graphics parameter block entered through L0820 at $0E1F.&lt;br /&gt;
L135F:		.byte	$19, $11, $C1, $33, $07								; 135F&lt;br /&gt;
; Packed sprite/glyph data indexed as L1364 + 2*r1 by L0840.&lt;br /&gt;
L1364:		.byte	$F6, $DE, $59, $2E, $E7, $CE, $E7, $9E, $B7, $92, $F3, $9E, $F3, $DE, $E5, $24	; 1364&lt;br /&gt;
		.byte	$F7, $DE, $F7, $9E, $08, $20							; 1374&lt;br /&gt;
; Sound-effect table consumed by L088E from $0C6D.&lt;br /&gt;
L137A:		.byte	$27, $67, $25, $47, $23, $27, $00						; 137A&lt;br /&gt;
; Sound-effect table consumed by L088E from $0CB2.&lt;br /&gt;
L1381:		.byte	$04, $22, $07, $AB, $03, $BB, $08, $CC, $03, $34, $06, $12, $0D, $12, $0D, $12	; 1381&lt;br /&gt;
		.byte	$00			; 1391&lt;br /&gt;
; Sound-effect table consumed by L088E from $0EC4.&lt;br /&gt;
L1392:		.byte	$37, $6A, $1A, $61, $1B, $6A, $0E, $73, $1D, $73, $0D, $6A, $1D, $73, $0E, $73	; 1392&lt;br /&gt;
		.byte	$1D, $73, $0E, $73, $1B, $6A, $1D, $73, $10, $82, $20, $82, $0F, $7B, $31, $82	; 13A2&lt;br /&gt;
		.byte	$24, $90, $2B, $A2, $29, $9D, $24, $90, $20, $82, $1B, $6A, $16, $43, $18, $58	; 13B2&lt;br /&gt;
		.byte	$0D, $6A, $20, $82, $0E, $73, $1B, $6A, $18, $58, $2B, $43, $00			; 13C2&lt;br /&gt;
; Sound-effect table consumed by L088E from $0D27. The terminating zero is&lt;br /&gt;
; followed by unused ROM fill; retain all bytes to preserve the original image.&lt;br /&gt;
L13CF:		.byte	$31, $82, $0F, $7B, $24, $90, $20, $82, $41, $A2, $14, $9D, $31, $AD, $2B, $A2	; 13CF&lt;br /&gt;
		.byte	$36, $B6, $36, $B6, $36, $B6, $36, $B6, $6D, $B6, $00, $FF, $FF, $FF, $FF, $FF	; 13DF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 13EF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 13FF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 140F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 141F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 142F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 143F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 144F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 145F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 146F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 147F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 148F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 149F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14AF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14BF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14CF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14DF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14EF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 14FF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 150F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 151F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 152F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 153F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 154F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 155F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 156F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 157F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 158F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 159F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15AF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15BF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15CF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15DF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15EF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 15FF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 160F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 161F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 162F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 163F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 164F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 165F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 166F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 167F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 168F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 169F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16AF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16BF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16CF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16DF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16EF&lt;br /&gt;
		.byte	$FF, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 16FF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 170F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 171F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 172F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 173F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 174F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 175F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 176F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 177F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 178F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 179F&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 17AF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 17BF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 17CF&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 17DF&lt;br /&gt;
		.byte	$FF, $00, $10, $E9, $1B, $DD, $E5, $00, $00, $00, $00, $00, $00, $00, $00, $00	; 17EF&lt;br /&gt;
		.byte	$00			; 17FF&lt;br /&gt;
&lt;br /&gt;
		IF 0&lt;br /&gt;
&lt;br /&gt;
Smart data report&lt;br /&gt;
=================&lt;br /&gt;
Mode: enabled by -s or /s&lt;br /&gt;
Memory range: $0800-$17FF&lt;br /&gt;
Code bytes: 2630&lt;br /&gt;
Data bytes: 1466&lt;br /&gt;
&lt;br /&gt;
DCI data roots from reachable code:&lt;br /&gt;
  $1333 from $0E7E&lt;br /&gt;
  $1392 from $0EC4&lt;br /&gt;
  $135F from $0E1F&lt;br /&gt;
  $1364 from $0840&lt;br /&gt;
  $1313 from $0DCB&lt;br /&gt;
  $12FB from $0DD8&lt;br /&gt;
  $1331 from $0BEF&lt;br /&gt;
  $132F from $0BF9&lt;br /&gt;
  $132D from $0C00&lt;br /&gt;
  $137A from $0C6D&lt;br /&gt;
  $1251 from $0C97&lt;br /&gt;
  $1381 from $0CB2&lt;br /&gt;
  $125D from $0DB3&lt;br /&gt;
  $135B from $102F&lt;br /&gt;
  $13CF from $0D27&lt;br /&gt;
  $124D from $1232&lt;br /&gt;
  $1268 from $08C7&lt;br /&gt;
  $1297 from $08DA&lt;br /&gt;
&lt;br /&gt;
Data intervals emitted as .byte:&lt;br /&gt;
  $0837-$0839 (3 bytes)&lt;br /&gt;
  $0C40-$0C43 (4 bytes)&lt;br /&gt;
  $124D-$17FF (1459 bytes)&lt;br /&gt;
&lt;br /&gt;
		ENDIF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=786</id>
		<title>Opcode</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=786"/>
				<updated>2026-08-07T17:02:44Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CPU of a digital computer responds to a series of ones and zeros read from memory. The pattern of these, that determine what the CPU is supposed to do, are called Operation Codes or '''opcode'''. As an example the opcode $2B on the F8 System means No Operation (NOP). Programs are made up of opcodes which instruct the F8 System to do something, such as load a register with a value, perform arithmetic on a register, change the program counter (jump) or input or output data through the [[port|ports]]. &amp;lt;br&amp;gt;&lt;br /&gt;
Opcodes in the F8 System are each one byte wide, though some may be followed by an address (two bytes) or a value for the opcode to use, these extra bytes are called operands and an opcode with its operand is called an instruction and the complete set for a CPU is called an Instruction Set. &amp;lt;br&amp;gt;&lt;br /&gt;
Instead of programming these numbers directly (Machine Code Programming) programmers came up with the '''mnemonic''' names and wrote programs to translate such code into machine code. This mnemonic form of programming is called Assembly Language. Below is a table showing both types, if you choose Assembly Language then [[DASM]] or [[f8tool]] are free Assemblers for the F8 System.&lt;br /&gt;
&lt;br /&gt;
== The Instruction Set ==&lt;br /&gt;
&lt;br /&gt;
In the information for each opcode, the following notations are used:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode Notations&lt;br /&gt;
|-&lt;br /&gt;
| '''A''' || [[Accumulator]]&lt;br /&gt;
|- &lt;br /&gt;
| '''Ri''' || [[First registers]] i (r0-r11 [HU,HL=r10,11])&lt;br /&gt;
|- &lt;br /&gt;
| '''P0''' || [[Program counter]] (PC0)&lt;br /&gt;
|- &lt;br /&gt;
| '''P''' || Program counter Stack (PC1)&lt;br /&gt;
|- &lt;br /&gt;
| '''DC0''' || [[Data counter]]&lt;br /&gt;
|- &lt;br /&gt;
| '''DC1''' || Data counter storage&lt;br /&gt;
|- &lt;br /&gt;
| '''W''' || [[Status register]] (x,x,x,ICB,O,Z,C,S) Exhange only via&amp;lt;br&amp;gt;the '''J''' register (R9)&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Register alias&lt;br /&gt;
|-&lt;br /&gt;
| || '''HU''' = ISAR r10, '''HL''' = ISAR r11&amp;lt;br&amp;gt;'''KU''' = ISAR r12, '''KL''' = ISAR r13&amp;lt;br&amp;gt;'''QU''' = ISAR r14, '''QL''' = ISAR r15&lt;br /&gt;
|- &lt;br /&gt;
| '''ISAR''' || [[ISAR|Indirect Scratchpad Address Register]]&lt;br /&gt;
|- &lt;br /&gt;
| '''r''' || Scratchpad addressing ONLY as:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| '''0 to 11''' || ISAR registers r0-r11&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' not preferred: '''(IS)''' || Reg. selected by ISAR &amp;lt;br&amp;gt; '''You can't call r12 (KU) using register number'''&lt;br /&gt;
|- &lt;br /&gt;
| '''I''' not preferred: '''(IS)+''' || Reg. selected by ISAR, then (ISAR)++ &amp;lt;br&amp;gt; '''You can't call r13 (KL) using register number''' &lt;br /&gt;
|- &lt;br /&gt;
| '''D''' not preferred: '''(IS)-'''  || Reg. selected by ISAR, then (ISAR)-- &amp;lt;br&amp;gt; '''You can't call r14 (QU) using register number'''&lt;br /&gt;
|}&lt;br /&gt;
|- &lt;br /&gt;
| '''t''' || 3-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''i''' || 4-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''n''' || 8-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''mn''' || 16-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''( &amp;amp;nbsp;)''' || Contents of register (e.g.(R11) or (DC))&lt;br /&gt;
|- &lt;br /&gt;
| '''x''' || Binary value placeholder&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Status Flag Notations&lt;br /&gt;
|- &lt;br /&gt;
| '''ICB''' || Interrupts Allowed Flag, b4 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''O''' || Overflow Flag, b3 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''Z''' || Zero Flag, b2 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''C''' || Carry Flag, b1 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' || Sign Flag, b0 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''0''' || Resets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''1''' || Sets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''X''' || Modifies status flag&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; style=&amp;quot;width: 100%&amp;quot; style=&amp;quot;margin-right: auto&lt;br /&gt;
|+ Table copied from [https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf F8_info]&amp;lt;br /&amp;gt;Extra data added from [http://www.nyx.net/~lturner/public_html/F8_ins.html L. Turner F8 ins]&amp;lt;br&amp;gt;As well as the excellent [https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf User's Guide (1976)]&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Mnemonic&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Length&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Cycles&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; class=&amp;quot;unsortable&amp;quot; | Status Flags&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | Cycle&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | ROMC &amp;lt;br&amp;gt; state&lt;br /&gt;
|-&lt;br /&gt;
! Binary&lt;br /&gt;
! Hex&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Overflow&amp;quot; | O&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Zero&amp;quot; | Z&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Carry&amp;quot; | C&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Signed&amp;quot; | S&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KU || 1 || 1 || A &amp;amp;larr; (KU) || %00000000 || $00 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KL || 1 || 1 || A &amp;amp;larr; (KL) || %00000001 || $01 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- = &lt;br /&gt;
| LR A, QU || 1 || 1 || A &amp;amp;larr; (QU) || %00000010 || $02 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, QL || 1 || 1 || A &amp;amp;larr; (QL) || %00000011 || $03 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KU, A || 1 || 1 || KU &amp;amp;larr; (A) || %00000100 || $04 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KL, A || 1 || 1 || KL &amp;amp;larr; (A) || %00000101 || $05 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QU, A || 1 || 1 || QU &amp;amp;larr; (A) || %00000110 || $06 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QL, A || 1 || 1 || QL &amp;amp;larr; (A) || %00000111 || $07 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR K, P || 1 || 4 || KU &amp;amp;larr; (PC1U)&amp;lt;br&amp;gt;KL &amp;amp;larr; (PC1L) || %00001000 || $08 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 7 &amp;lt;br&amp;gt; B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P, K || 1 || 4 || PC1U &amp;amp;larr; (KU) &amp;lt;br&amp;gt;PC1L &amp;amp;larr; (KL) || %00001001 || $09 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 15 &amp;lt;br&amp;gt; 18 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, IS || 1 || 1 || A &amp;amp;larr; (ISAR) || %00001010 || $0A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR IS, A || 1 || 1 || ISAR &amp;amp;larr; (A) || %00001011 || $0B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| PK || 1 || 2.5 || PC1 &amp;amp;larr; (PC0)&amp;lt;br&amp;gt;PC0L &amp;amp;larr; (KL)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (KU) || %00001100 || $0C ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 12 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P0, Q || 1 || 4 || PC0L &amp;amp;larr; (QL)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (QU) || %00001101 || $0D ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 17 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR Q, DC || 1 || 4 || QU &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;QL &amp;amp;larr; (DC0L) || %00001110 || $0E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, Q || 1 || 4 || DC0U &amp;amp;larr; (QU)&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (QL) || %00001111 || $0F ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, H || 1 || 4 || DC0U &amp;amp;larr; (HU)&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (HL) || %00010000 || $10 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR H, DC || 1 || 4 || HU &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;HL &amp;amp;larr; (DC0L) || %00010001 || $11 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 1 || 1 || 1 || Shift (A) right one bit, fill with %0 || %00010010 || $12 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 1 || 1 || 1 || Shift (A) left one bit, fill with %0 || %00010011 || $13 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 4 || 1 || 1 || Shift (A) right four bits, fill with %0000 || %00010100 || $14 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 4 || 1 || 1 || Shift (A) left four bits, fill with %0000 || %00010101 || $15 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LM || 1 || 2.5 || A &amp;amp;larr; ((DC0))&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010110 || $16 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ST || 1 || 2.5 || ((DC0)) &amp;amp;larr; (A)&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010111 || $17 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 5 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| COM || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;$FF&amp;lt;br&amp;gt;[invert/complement]|| %00011000 || $18 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LNK || 1 || 1 || A &amp;amp;larr; (A)+(C)&amp;lt;br&amp;gt;(add carry from previous operation)|| %00011001 || $19 ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| DI || 1 || 1 || Disable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011010 || $1A ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| EI || 1 || 1 || Enable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011011 || $1B ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| POP || 1 || 2 || PC0 &amp;amp;larr; (PC1)|| %00011100 || $1C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 4 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR W, J || 1 || 1 || W &amp;amp;larr; (R9) || %00011101 || $1D ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR J, W || 1 || 2 || R9 &amp;amp;larr; (W) || %00011110 || $1E ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| INC || 1 || 1 || A &amp;amp;larr; (A)+1 || %00011111 || $1F ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LI n || 2 || 2.5 || A &amp;amp;larr; n || %00100000 %xxxxxxxx || $20 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NI n || 2 || 2.5 || A &amp;amp;larr; (A) AND n || %00100001 %xxxxxxxx || $21 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OI n || 2 || 2.5 || A &amp;amp;larr; (A) OR n || %00100010 %xxxxxxxx || $22 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| XI n || 2 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;n || %00100011 %xxxxxxxx || $23 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| AI n || 2 || 2.5 || A &amp;amp;larr; (A)+n || %00100100 %xxxxxxxx || $24 $xx || X || X || X || X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| CI n || 2 || 2.5 || n+!(A)+1 (n-A)&amp;lt;br&amp;gt;Only set status || %00100101 %xxxxxxxx || $25 $xx ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| IN n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;A &amp;amp;larr; (Port n)|| %00100110 %xxxxxxxx || $26 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OUT n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;Port n &amp;amp;larr; (A)|| %00100111 %xxxxxxxx || $27 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| PI mn|| 3 || 6.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC1 &amp;amp;larr; (PC0)+1&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A is destroyed] || %00101000 %xxxxxxxx %xxxxxxxx || $28 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; D &amp;lt;br&amp;gt; C &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| JMP mn || 3 || 5.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A now contains m] || %00101001 %xxxxxxxx %xxxxxxxx || $29 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; c &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DCI mn || 3 || 6 || DC0U &amp;amp;larr; m&amp;lt;br&amp;gt;PC0+1&amp;lt;br&amp;gt;DC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0+1 || %00101010 %xxxxxxxx %xxxxxxxx || $2A $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S || 11 &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; E &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NOP || 1 || 1 || No operation&amp;lt;br&amp;gt;(cycle waster) || %00101011 || $2B ||- ||- ||- ||-  || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| XDC || 1 || 2 || DC0,DC1 &amp;amp;larr; DC1,DC0 || %00101100 || $2C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1D &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DS r || 1 || 1.5 || r &amp;amp;larr; (r)+$FF&amp;lt;br&amp;gt;[decrease scratchpad byte] || %0011xxxx || $3x ||X ||X ||X ||X || L || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, r || 1 || 1 || A &amp;amp;larr; (r) || %0100xxxx || $4x || - || - || - || - || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HU || 1 || 1 || A &amp;amp;larr; (HU) || %01001010 || $4A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HL || 1 || 1 || A &amp;amp;larr; (HL) || %01001011 || $4B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LR r, A || 1 || 1 || r &amp;amp;larr; (A) || %0101xxxx || $5x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HU, A || 1 || 1 || HU &amp;amp;larr; (A) || %01011010 || $5A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HL, A || 1 || 1 || HL &amp;amp;larr; (A) || %01011011 || $5B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LISU i || 1 || 1 || ISARU &amp;amp;larr; i || %01100xxx || $60-$67 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LISL i || 1 || 1 || ISARL &amp;amp;larr; i || %01101xxx || $68-$6F ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| CLR || 1 || 1 || A&amp;amp;larr;0 || %01110000 || $70 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LIS i || 1 || 1 || A &amp;amp;larr; i || %0111xxxx || $7x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| BT t, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] t with W&amp;lt;br&amp;gt;if result is not 0:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1&amp;lt;br&amp;gt;'''See table below''' || %10000xxx %xxxxxxxx || $8x $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BP n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Positive|POSITIVE]]&amp;lt;br&amp;gt;(sign bit 0):&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000001 %xxxxxxxx || $81 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if CARRY:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000010 %xxxxxxxx || $82 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if ZERO:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000100 %xxxxxxxx || $84 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| AM || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001000 || $88 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| AMD || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;decimal adjusted&amp;lt;br&amp;gt;DC0+1 || %10001001 || $89 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| NM || 1 || 2.5 || A &amp;amp;larr; (A)AND((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001010 || $8A ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || &lt;br /&gt;
2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| OM || 1 || 2.5 || A &amp;amp;larr; (A)OR((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001011 || $8B ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XM || 1 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001100 || $8C ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| CM || 1 || 2.5 || ((DC0))-A only set status&amp;lt;br&amp;gt;DC0+1|| %10001101 || $8D ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ADC || 1 || 2.5 || DC0 &amp;amp;larr; (DC0)+(A) || %10001110 || $8E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BR7 n || 2 || 2 (no branch)&amp;lt;br&amp;gt;2.5 (branch) || if (ISAR &amp;amp; 7)!=7: PC0 &amp;amp;larr; (PC0) + n +1 || %10001111 %xxxxxxxx || $8F $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| BR n || 2 || 3.5 || PC0 &amp;amp;larr; (PC0)+n+1 || %10010000 %xxxxxxxx || $90 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BF i, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] i with W&amp;lt;br&amp;gt;if result = FALSE:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1&amp;lt;br&amp;gt;'''See table below''' || %1001xxxx %xxxxxxxx || $9x $xx ||- ||- ||- ||- ||S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S|| 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BM n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Negative|NEGATIVE]]:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010001 %xxxxxxxx || $91 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO CARRY:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010010 %xxxxxxxx || $92 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NOT ZERO:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010100 %xxxxxxxx || $94 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNO n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO OVERFLOW:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10011000 %xxxxxxxx || $98 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| INS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || A &amp;amp;larr; (Port i)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;A &amp;amp;larr; (Port i) || %1010xxxx || $Ax ||0 ||X ||0 ||X || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1B, 0&lt;br /&gt;
|- &lt;br /&gt;
| OUTS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || Port i &amp;amp;larr; (A)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;Port i &amp;amp;larr; (A) || %1011xxxx || $Bx ||- ||- ||- ||- || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1A, 0&lt;br /&gt;
|- &lt;br /&gt;
| AS r || 1 || 1 || A &amp;amp;larr; (A)+(r) || %1100xxxx || $Cx || X || X || X || X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| ASD r || 1 || 2 || A &amp;amp;larr; (A)+(r)&amp;lt;br&amp;gt;(decimal) || %1101xxxx || $Dx ||X ||X ||X ||X || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XS r || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;(r) || %1110xxxx || $Ex ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| NS r || 1 || 1 || A &amp;amp;larr; (A)AND(r) || %1111xxxx || $Fx ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: IRQ || 5.5 || PC0L &amp;amp;larr; Int address(l)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; Int.Address(u)&amp;lt;br&amp;gt;PC1&amp;lt;-PC0 ||  ||  ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0F &amp;lt;br&amp;gt; 13 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: RESET || 3.5 || PC0 &amp;amp;larr; 0&amp;lt;br&amp;gt;PC1 &amp;amp;larr; PC0 || || ||- ||- ||- ||- || S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 8 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The BT instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;| Branch conditions for BT instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|'''zero'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Do not branch &lt;br /&gt;
| An effective 3&amp;lt;br&amp;gt;cycle NO-OP&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Positive&lt;br /&gt;
| Same as '''BP'''&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch on Carry&lt;br /&gt;
| Same as '''BC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Carry&amp;lt;br&amp;gt;or on Positive&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero&lt;br /&gt;
| Same as '''BZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero&amp;lt;br&amp;gt;or Positive&lt;br /&gt;
| Same as t=1&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero or &amp;lt;br&amp;gt;on Carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero,&amp;lt;br&amp;gt;Carry or Positive&lt;br /&gt;
| Same as t=3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== The BF instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;7&amp;quot;| Branch conditions for BF instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;'''ovf'''&amp;amp;nbsp;&lt;br /&gt;
|'''zero&amp;amp;nbsp;'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign&amp;amp;nbsp;'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Unconditional branch&amp;lt;br&amp;gt;relative&lt;br /&gt;
| Same as '''BR'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch on negative&lt;br /&gt;
| Same as '''BM'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&lt;br /&gt;
| Same as '''BNC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt; and negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if not zero&lt;br /&gt;
| Same as '''BNZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=1&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=3&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 8 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if there is no&amp;lt;br&amp;gt;overflow&lt;br /&gt;
| Same as '''BNO'''&lt;br /&gt;
|-&lt;br /&gt;
| 9 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if negative and&amp;lt;br&amp;gt;no overflow&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| A &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and no carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| B &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| C &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| D &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=9&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| E &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| F &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=B&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=785</id>
		<title>Opcode</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=785"/>
				<updated>2026-08-07T16:57:14Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CPU of a digital computer responds to a series of ones and zeros read from memory. The pattern of these, that determine what the CPU is supposed to do, are called Operation Codes or '''opcode'''. As an example the opcode $2B on the F8 System means No Operation (NOP). Programs are made up of opcodes which instruct the F8 System to do something, such as load a register with a value, perform arithmetic on a register, change the program counter (jump) or input or output data through the [[port|ports]]. &amp;lt;br&amp;gt;&lt;br /&gt;
Opcodes in the F8 System are each one byte wide, though some may be followed by an address (two bytes) or a value for the opcode to use, these extra bytes are called operands and an opcode with its operand is called an instruction and the complete set for a CPU is called an Instruction Set. &amp;lt;br&amp;gt;&lt;br /&gt;
Instead of programming these numbers directly (Machine Code Programming) programmers came up with the '''mnemonic''' names and wrote programs to translate such code into machine code. This mnemonic form of programming is called Assembly Language. Below is a table showing both types, if you choose Assembly Language then [[DASM]] or [[f8tool]] are free Assemblers for the F8 System.&lt;br /&gt;
&lt;br /&gt;
== The Instruction Set ==&lt;br /&gt;
&lt;br /&gt;
In the information for each opcode, the following notations are used:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode Notations&lt;br /&gt;
|-&lt;br /&gt;
| '''A''' || [[Accumulator]]&lt;br /&gt;
|- &lt;br /&gt;
| '''Ri''' || [[First registers]] i (r0-r11 [HU,HL=r10,11])&lt;br /&gt;
|- &lt;br /&gt;
| '''P0''' || [[Program counter]] (PC0)&lt;br /&gt;
|- &lt;br /&gt;
| '''P''' || Program counter Stack (PC1)&lt;br /&gt;
|- &lt;br /&gt;
| '''DC0''' || [[Data counter]]&lt;br /&gt;
|- &lt;br /&gt;
| '''DC1''' || Data counter storage&lt;br /&gt;
|- &lt;br /&gt;
| '''W''' || [[Status register]] (x,x,x,ICB,O,Z,C,S) Exhange only via&amp;lt;br&amp;gt;the '''J''' register (R9)&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Register alias&lt;br /&gt;
|-&lt;br /&gt;
| || '''HU''' = ISAR r10, '''HL''' = ISAR r11&amp;lt;br&amp;gt;'''KU''' = ISAR r12, '''KL''' = ISAR r13&amp;lt;br&amp;gt;'''QU''' = ISAR r14, '''QL''' = ISAR r15&lt;br /&gt;
|- &lt;br /&gt;
| '''ISAR''' || [[ISAR|Indirect Scratchpad Address Register]]&lt;br /&gt;
|- &lt;br /&gt;
| '''r''' || Scratchpad addressing ONLY as:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| '''0 to 11''' || ISAR registers r0-r11&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' not preferred: '''(IS)''' || Reg. selected by ISAR &amp;lt;br&amp;gt; '''You can't call r12 (KU) using register number'''&lt;br /&gt;
|- &lt;br /&gt;
| '''I''' not preferred: '''(IS)+''' || Reg. selected by ISAR, then (ISAR)++ &amp;lt;br&amp;gt; '''You can't call r13 (KL) using register number''' &lt;br /&gt;
|- &lt;br /&gt;
| '''D''' not preferred: '''(IS)-'''  || Reg. selected by ISAR, then (ISAR)-- &amp;lt;br&amp;gt; '''You can't call r14 (QU) using register number'''&lt;br /&gt;
|}&lt;br /&gt;
|- &lt;br /&gt;
| '''t''' || 3-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''i''' || 4-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''n''' || 8-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''mn''' || 16-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''( &amp;amp;nbsp;)''' || Contents of register (e.g.(R11) or (DC))&lt;br /&gt;
|- &lt;br /&gt;
| '''x''' || Binary value placeholder&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Status Flag Notations&lt;br /&gt;
|- &lt;br /&gt;
| '''ICB''' || Interrupts Allowed Flag, b4 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''O''' || Overflow Flag, b3 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''Z''' || Zero Flag, b2 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''C''' || Carry Flag, b1 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' || Sign Flag, b0 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''0''' || Resets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''1''' || Sets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''X''' || Modifies status flag&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; style=&amp;quot;width: 100%&amp;quot; style=&amp;quot;margin-right: auto&lt;br /&gt;
|+ Table copied from [https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf F8_info]&amp;lt;br /&amp;gt;Extra data added from [http://www.nyx.net/~lturner/public_html/F8_ins.html L. Turner F8 ins]&amp;lt;br&amp;gt;As well as the excellent [https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf User's Guide (1976)]&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Mnemonic&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Length&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Cycles&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; class=&amp;quot;unsortable&amp;quot; | Status Flags&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | Cycle&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | ROMC &amp;lt;br&amp;gt; state&lt;br /&gt;
|-&lt;br /&gt;
! Binary&lt;br /&gt;
! Hex&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Overflow&amp;quot; | O&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Zero&amp;quot; | Z&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Carry&amp;quot; | C&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Signed&amp;quot; | S&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KU || 1 || 1 || A &amp;amp;larr; (KU) || %00000000 || $00 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KL || 1 || 1 || A &amp;amp;larr; (KL) || %00000001 || $01 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- = &lt;br /&gt;
| LR A, QU || 1 || 1 || A &amp;amp;larr; (QU) || %00000010 || $02 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, QL || 1 || 1 || A &amp;amp;larr; (QL) || %00000011 || $03 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KU, A || 1 || 1 || KU &amp;amp;larr; (A) || %00000100 || $04 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KL, A || 1 || 1 || KL &amp;amp;larr; (A) || %00000101 || $05 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QU, A || 1 || 1 || QU &amp;amp;larr; (A) || %00000110 || $06 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QL, A || 1 || 1 || QL &amp;amp;larr; (A) || %00000111 || $07 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR K, P || 1 || 4 || KU &amp;amp;larr; (PC1U)&amp;lt;br&amp;gt;KL &amp;amp;larr; (PC1L) || %00001000 || $08 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 7 &amp;lt;br&amp;gt; B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P, K || 1 || 4 || PC1U &amp;amp;larr; (KU) &amp;lt;br&amp;gt;PC1L &amp;amp;larr; (KL) || %00001001 || $09 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 15 &amp;lt;br&amp;gt; 18 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, IS || 1 || 1 || A &amp;amp;larr; (ISAR) || %00001010 || $0A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR IS, A || 1 || 1 || ISAR &amp;amp;larr; (A) || %00001011 || $0B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| PK || 1 || 2.5 || PC1 &amp;amp;larr; (PC0)&amp;lt;br&amp;gt;PC0L &amp;amp;larr; (KL)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (KU) || %00001100 || $0C ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 12 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P0, Q || 1 || 4 || PC0L &amp;amp;larr; (QL)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (QU) || %00001101 || $0D ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 17 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR Q, DC || 1 || 4 || QU &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;QL &amp;amp;larr; (DC0L) || %00001110 || $0E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, Q || 1 || 4 || DC0U &amp;amp;larr; (QU)&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (QL) || %00001111 || $0F ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, H || 1 || 4 || DC0U &amp;amp;larr; (HU)&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (HL) || %00010000 || $10 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR H, DC || 1 || 4 || HU &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;HL &amp;amp;larr; (DC0L) || %00010001 || $11 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 1 || 1 || 1 || Shift (A) right one bit, fill with %0 || %00010010 || $12 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 1 || 1 || 1 || Shift (A) left one bit, fill with %0 || %00010011 || $13 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 4 || 1 || 1 || Shift (A) right four bits, fill with %0000 || %00010100 || $14 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 4 || 1 || 1 || Shift (A) left four bits, fill with %0000 || %00010101 || $15 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LM || 1 || 2.5 || A &amp;amp;larr; ((DC0))&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010110 || $16 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ST || 1 || 2.5 || ((DC0)) &amp;amp;larr; (A)&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010111 || $17 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 5 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| COM || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;$FF&amp;lt;br&amp;gt;[invert/complement]|| %00011000 || $18 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LNK || 1 || 1 || A &amp;amp;larr; (A)+(C)&amp;lt;br&amp;gt;(add carry from previous operation)|| %00011001 || $19 ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| DI || 1 || 1 || Disable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011010 || $1A ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| EI || 1 || 1 || Enable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011011 || $1B ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| POP || 1 || 2 || PC0 &amp;amp;larr; (PC1)|| %00011100 || $1C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 4 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR W, J || 1 || 1 || W &amp;amp;larr; (R9) || %00011101 || $1D ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR J, W || 1 || 2 || R9 &amp;amp;larr; (W) || %00011110 || $1E ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| INC || 1 || 1 || A &amp;amp;larr; (A)+1 || %00011111 || $1F ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LI n || 2 || 2.5 || A &amp;amp;larr; n || %00100000 %xxxxxxxx || $20 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NI n || 2 || 2.5 || A &amp;amp;larr; (A) AND n || %00100001 %xxxxxxxx || $21 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OI n || 2 || 2.5 || A &amp;amp;larr; (A) OR n || %00100010 %xxxxxxxx || $22 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| XI n || 2 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;n || %00100011 %xxxxxxxx || $23 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| AI n || 2 || 2.5 || A &amp;amp;larr; (A)+n || %00100100 %xxxxxxxx || $24 $xx || X || X || X || X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| CI n || 2 || 2.5 || n+!(A)+1 (n-A)&amp;lt;br&amp;gt;Only set status || %00100101 %xxxxxxxx || $25 $xx ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| IN n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;A &amp;amp;larr; (Port n)|| %00100110 %xxxxxxxx || $26 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OUT n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;Port n &amp;amp;larr; (A)|| %00100111 %xxxxxxxx || $27 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| PI mn|| 3 || 6.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC1 &amp;amp;larr; (PC0)+1&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A is destroyed] || %00101000 %xxxxxxxx %xxxxxxxx || $28 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; D &amp;lt;br&amp;gt; C &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| JMP mn || 3 || 5.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A now contains m] || %00101001 %xxxxxxxx %xxxxxxxx || $29 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; c &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DCI mn || 3 || 6 || DC0U &amp;amp;larr; m&amp;lt;br&amp;gt;PC0+1&amp;lt;br&amp;gt;DC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0+1 || %00101010 %xxxxxxxx %xxxxxxxx || $2A $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S || 11 &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; E &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NOP || 1 || 1 || No operation&amp;lt;br&amp;gt;(cycle waster) || %00101011 || $2B ||- ||- ||- ||-  || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| XDC || 1 || 2 || DC0,DC1 &amp;amp;larr; DC1,DC0 || %00101100 || $2C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1D &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DS r || 1 || 1.5 || r &amp;amp;larr; (r)+$FF&amp;lt;br&amp;gt;[decrease scratchpad byte] || %0011xxxx || $3x ||X ||X ||X ||X || L || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, r || 1 || 1 || A &amp;amp;larr; (r) || %0100xxxx || $4x || - || - || - || - || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HU || 1 || 1 || A &amp;amp;larr; (HU) || %01001010 || $4A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HL || 1 || 1 || A &amp;amp;larr; (HL) || %01001011 || $4B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LR r, A || 1 || 1 || r &amp;amp;larr; (A) || %0101xxxx || $5x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HU, A || 1 || 1 || HU &amp;amp;larr; (A) || %01011010 || $5A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HL, A || 1 || 1 || HL &amp;amp;larr; (A) || %01011011 || $5B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LISU i || 1 || 1 || ISARU &amp;amp;larr; i || %01100xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LISL i || 1 || 1 || ISARL &amp;amp;larr; i || %01101xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| CLR || 1 || 1 || A&amp;amp;larr;0 || %01110000 || $70 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LIS i || 1 || 1 || A &amp;amp;larr; i || %0111xxxx || $7x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| BT t, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] t with W&amp;lt;br&amp;gt;if result is not 0:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1&amp;lt;br&amp;gt;'''See table below''' || %10000xxx %xxxxxxxx || $8x $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BP n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Positive|POSITIVE]]&amp;lt;br&amp;gt;(sign bit 0):&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000001 %xxxxxxxx || $81 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if CARRY:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000010 %xxxxxxxx || $82 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if ZERO:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000100 %xxxxxxxx || $84 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| AM || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001000 || $88 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| AMD || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;decimal adjusted&amp;lt;br&amp;gt;DC0+1 || %10001001 || $89 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| NM || 1 || 2.5 || A &amp;amp;larr; (A)AND((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001010 || $8A ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || &lt;br /&gt;
2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| OM || 1 || 2.5 || A &amp;amp;larr; (A)OR((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001011 || $8B ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XM || 1 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001100 || $8C ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| CM || 1 || 2.5 || ((DC0))-A only set status&amp;lt;br&amp;gt;DC0+1|| %10001101 || $8D ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ADC || 1 || 2.5 || DC0 &amp;amp;larr; (DC0)+(A) || %10001110 || $8E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BR7 n || 2 || 2 (no branch)&amp;lt;br&amp;gt;2.5 (branch) || if (ISAR &amp;amp; 7)!=7: PC0 &amp;amp;larr; (PC0) + n +1 || %10001111 %xxxxxxxx || $8F $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| BR n || 2 || 3.5 || PC0 &amp;amp;larr; (PC0)+n+1 || %10010000 %xxxxxxxx || $90 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BF i, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] i with W&amp;lt;br&amp;gt;if result = FALSE:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1&amp;lt;br&amp;gt;'''See table below''' || %1001xxxx %xxxxxxxx || $9x $xx ||- ||- ||- ||- ||S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S|| 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BM n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Negative|NEGATIVE]]:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010001 %xxxxxxxx || $91 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO CARRY:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010010 %xxxxxxxx || $92 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NOT ZERO:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010100 %xxxxxxxx || $94 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNO n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO OVERFLOW:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10011000 %xxxxxxxx || $98 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| INS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || A &amp;amp;larr; (Port i)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;A &amp;amp;larr; (Port i) || %1010xxxx || $Ax ||0 ||X ||0 ||X || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1B, 0&lt;br /&gt;
|- &lt;br /&gt;
| OUTS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || Port i &amp;amp;larr; (A)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;Port i &amp;amp;larr; (A) || %1011xxxx || $Bx ||- ||- ||- ||- || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1A, 0&lt;br /&gt;
|- &lt;br /&gt;
| AS r || 1 || 1 || A &amp;amp;larr; (A)+(r) || %1100xxxx || $Cx || X || X || X || X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| ASD r || 1 || 2 || A &amp;amp;larr; (A)+(r)&amp;lt;br&amp;gt;(decimal) || %1101xxxx || $Dx ||X ||X ||X ||X || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XS r || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;(r) || %1110xxxx || $Ex ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| NS r || 1 || 1 || A &amp;amp;larr; (A)AND(r) || %1111xxxx || $Fx ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: IRQ || 5.5 || PC0L &amp;amp;larr; Int address(l)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; Int.Address(u)&amp;lt;br&amp;gt;PC1&amp;lt;-PC0 ||  ||  ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0F &amp;lt;br&amp;gt; 13 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: RESET || 3.5 || PC0 &amp;amp;larr; 0&amp;lt;br&amp;gt;PC1 &amp;amp;larr; PC0 || || ||- ||- ||- ||- || S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 8 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The BT instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;| Branch conditions for BT instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|'''zero'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Do not branch &lt;br /&gt;
| An effective 3&amp;lt;br&amp;gt;cycle NO-OP&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Positive&lt;br /&gt;
| Same as '''BP'''&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch on Carry&lt;br /&gt;
| Same as '''BC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Carry&amp;lt;br&amp;gt;or on Positive&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero&lt;br /&gt;
| Same as '''BZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero&amp;lt;br&amp;gt;or Positive&lt;br /&gt;
| Same as t=1&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero or &amp;lt;br&amp;gt;on Carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero,&amp;lt;br&amp;gt;Carry or Positive&lt;br /&gt;
| Same as t=3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== The BF instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;7&amp;quot;| Branch conditions for BF instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;'''ovf'''&amp;amp;nbsp;&lt;br /&gt;
|'''zero&amp;amp;nbsp;'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign&amp;amp;nbsp;'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Unconditional branch&amp;lt;br&amp;gt;relative&lt;br /&gt;
| Same as '''BR'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch on negative&lt;br /&gt;
| Same as '''BM'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&lt;br /&gt;
| Same as '''BNC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt; and negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if not zero&lt;br /&gt;
| Same as '''BNZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=1&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=3&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 8 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if there is no&amp;lt;br&amp;gt;overflow&lt;br /&gt;
| Same as '''BNO'''&lt;br /&gt;
|-&lt;br /&gt;
| 9 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if negative and&amp;lt;br&amp;gt;no overflow&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| A &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and no carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| B &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| C &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| D &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=9&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| E &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| F &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=B&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Snippet:KStack&amp;diff=784</id>
		<title>Snippet:KStack</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Snippet:KStack&amp;diff=784"/>
				<updated>2026-08-05T18:25:46Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
;===========================================================================&lt;br /&gt;
; KStack Functions&lt;br /&gt;
;===========================================================================&lt;br /&gt;
; the K stack implements a stack using the registers. it uses r63 as a stack&lt;br /&gt;
; pointer that holds the register number of the top of the stack.&lt;br /&gt;
; When called, K is pushed to the first two registers on the stack, and the &lt;br /&gt;
; pointer is increased.&lt;br /&gt;
;&lt;br /&gt;
; at startup, the stack pointer (r63) should be set to 62 ($3E)&lt;br /&gt;
&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
; KStack Push&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
; pushes register K onto the stack using r63 as the stack pointer&lt;br /&gt;
; destroys ISAR data&lt;br /&gt;
&lt;br /&gt;
pushk:&lt;br /&gt;
		lisu	7				; get the top of the stack&lt;br /&gt;
		lisl	7				; r63, stack pointer&lt;br /&gt;
		lr	A,S&lt;br /&gt;
		lr	IS, A				; load the referenced register	&lt;br /&gt;
		lr	A,KU&lt;br /&gt;
		lr	I,A				; push high byte of K&lt;br /&gt;
		lr	A,KL&lt;br /&gt;
		lr	I,A				; push low byte of K&lt;br /&gt;
		lr	A,IS&lt;br /&gt;
		lisu	7&lt;br /&gt;
		lisl	3&lt;br /&gt;
		lr	S,A				; save the register number to the stack pointer&lt;br /&gt;
		pop&lt;br /&gt;
&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
; KStack Pop&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
; pops register K from the stack using r63 as the stack pointer&lt;br /&gt;
; destroys ISAR&lt;br /&gt;
                &lt;br /&gt;
popk:&lt;br /&gt;
		lisu	7				; r63, stack pointer&lt;br /&gt;
		lisl	7&lt;br /&gt;
		lr	A,S				; A = stack pointer, points to next free&lt;br /&gt;
		ai	$ff				; A = last pushed byte, KL&lt;br /&gt;
		lr	IS,A				; ISAR -&amp;gt; KL&lt;br /&gt;
		lr	A,D				; read KL, then ISAR -&amp;gt; KU&lt;br /&gt;
		lr	KL,A&lt;br /&gt;
		lr	A,S				; read KU&lt;br /&gt;
		lr	KU,A&lt;br /&gt;
		lr	A,IS				; ISAR now points to new stack pointer&lt;br /&gt;
		lisu	7&lt;br /&gt;
		lisl	3&lt;br /&gt;
		lr	S,A				; store new stack pointer in r59&lt;br /&gt;
		pop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Disassembly:Videocart_4&amp;diff=783</id>
		<title>Disassembly:Videocart 4</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Disassembly:Videocart_4&amp;diff=783"/>
				<updated>2026-08-05T18:20:52Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is the disassembly (made with help from Peter Trauner's [[f8tool]]) of the [[Channel F]] [[Videocart 4]]. Original code is copyright &amp;amp;copy; 1977 Fairchild Semiconductor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;		processor f8&lt;br /&gt;
		org $0800&lt;br /&gt;
&lt;br /&gt;
delay		equ	$008F&lt;br /&gt;
prompt		equ	$0099&lt;br /&gt;
clrscrn		equ	$00D0&lt;br /&gt;
drawchar	equ	$0679&lt;br /&gt;
&lt;br /&gt;
CartridgeStart:&lt;br /&gt;
		.byte	$55,$2B&lt;br /&gt;
&lt;br /&gt;
L0802:&lt;br /&gt;
		clr				; 0802 70	Set ports to 0&lt;br /&gt;
		outs	0			; 0803 B0&lt;br /&gt;
		outs	1			; 0804 B1&lt;br /&gt;
		outs	4			; 0805 B4&lt;br /&gt;
		outs	5			; 0806 B5&lt;br /&gt;
		lisu	7			; 0807 67	Set ISAR tp 'O'73&lt;br /&gt;
		lisl	3			; 0808 6B&lt;br /&gt;
		li	$3C			; 0809 20 3C&lt;br /&gt;
		lr	S,A			; 080B 5C	register 'O'73 = $3C&lt;br /&gt;
		li	$D0			; 080C 20 D0&lt;br /&gt;
		lr	3,A			; 080E 53&lt;br /&gt;
		pi	clrscrn			; 080F 28 00 D0	Calls BIOS clear screen routine, clear to grey background&lt;br /&gt;
L0812:&lt;br /&gt;
		li	$8A			; 0812 20 8A	Loads character $8A in r0&lt;br /&gt;
		lr	0,A			; 0814 50&lt;br /&gt;
		pi	prompt			; 0815 28 00 99	Calls BIOS prompt, draws character and waits for keypress&lt;br /&gt;
		lr	A,4			; 0818 44	Button result returned in r4&lt;br /&gt;
		ci	4			; 0819 25 04	Compare to %00000100 - Button 3&lt;br /&gt;
		bnz	L0820			; 081B 94 04&lt;br /&gt;
		jmp	L0E99			; 081D 29 0E 99	Button 3 makes a jump to A0e99&lt;br /&gt;
&lt;br /&gt;
L0820:&lt;br /&gt;
		lr	A,4			; 0820 44	Not button 3...&lt;br /&gt;
		ci	1			; 0821 25 01	Button 1?&lt;br /&gt;
		bz	L082D			; 0823 84 09	If it is, jump&lt;br /&gt;
		ci	2			; 0825 25 02	Button 2?&lt;br /&gt;
		bnz	L0812			; 0827 94 EA	If not, go back to wait for button press A0812&lt;br /&gt;
		lr	A,HL			; 0829 4B	Game 2 selected&lt;br /&gt;
		oi	$20			; 082A 22 20&lt;br /&gt;
		lr	HL,A			; 082C 5B	Change bit 5 in r11 to 1&lt;br /&gt;
L082D:&lt;br /&gt;
		li	$93			; 082D 20 93&lt;br /&gt;
		lr	3,A			; 082F 53&lt;br /&gt;
		pi	clrscrn			; 0830 28 00 D0	Clear screen to lt.blue using BIOS routine.&lt;br /&gt;
		br	L0861			; 0833 90 2D&lt;br /&gt;
L0835:&lt;br /&gt;
		lr	K,P			; 0835 08&lt;br /&gt;
		lis	3			; 0836 73&lt;br /&gt;
		lr	9,A			; 0837 59&lt;br /&gt;
		dci	L0DD7			; 0838 2A 0D D7&lt;br /&gt;
		br	L083E			; 083B 90 02&lt;br /&gt;
L083D:&lt;br /&gt;
		lr	DC,Q			; 083D 0F&lt;br /&gt;
L083E:&lt;br /&gt;
		li	8			; 083E 20 08&lt;br /&gt;
		lr	3,A			; 0840 53&lt;br /&gt;
		lr	6,A			; 0841 56&lt;br /&gt;
		lr	5,A			; 0842 55&lt;br /&gt;
		lm				; 0843 16&lt;br /&gt;
		lr	0,A			; 0844 50&lt;br /&gt;
		lm				; 0845 16&lt;br /&gt;
		lr	1,A			; 0846 51&lt;br /&gt;
		lm				; 0847 16&lt;br /&gt;
		lr	2,A			; 0848 52&lt;br /&gt;
		lr	Q,DC			; 0849 0E&lt;br /&gt;
		li	$C0			; 084A 20 C0&lt;br /&gt;
		lr	4,A			; 084C 54&lt;br /&gt;
		dci	L0E60			; 084D 2A 0E 60&lt;br /&gt;
		lr	A,HL			; 0850 4B&lt;br /&gt;
		sl	1			; 0851 13&lt;br /&gt;
		bp	L0859			; 0852 81 06&lt;br /&gt;
		clr				; 0854 70&lt;br /&gt;
		lr	0,A			; 0855 50&lt;br /&gt;
		dci	L0E88			; 0856 2A 0E 88&lt;br /&gt;
L0859:&lt;br /&gt;
		pi	L0CA8			; 0859 28 0C A8&lt;br /&gt;
		ds	9			; 085C 39&lt;br /&gt;
		bnz	L083D			; 085D 94 DF&lt;br /&gt;
		lr	P,K			; 085F 09&lt;br /&gt;
		pop				; 0860 1C&lt;br /&gt;
&lt;br /&gt;
L0861:&lt;br /&gt;
		lisu	2			; 0861 62&lt;br /&gt;
		lisl	0			; 0862 68&lt;br /&gt;
		li	$18			; 0863 20 18&lt;br /&gt;
		lr	I,A			; 0865 5D&lt;br /&gt;
		li	$5A			; 0866 20 5A&lt;br /&gt;
		lr	I,A			; 0868 5D&lt;br /&gt;
		li	$34			; 0869 20 34&lt;br /&gt;
		lr	I,A			; 086B 5D&lt;br /&gt;
		lisu	3			; 086C 63&lt;br /&gt;
		clr				; 086D 70&lt;br /&gt;
		lr	I,A			; 086E 5D&lt;br /&gt;
		li	9			; 086F 20 09&lt;br /&gt;
		lr	I,A			; 0871 5D&lt;br /&gt;
		li	$34			; 0872 20 34&lt;br /&gt;
		lr	I,A			; 0874 5D&lt;br /&gt;
		pi	L0835			; 0875 28 08 35&lt;br /&gt;
		dci	L0DE0			; 0878 2A 0D E0&lt;br /&gt;
		pi	L0C8E			; 087B 28 0C 8E&lt;br /&gt;
		pi	L0CA8			; 087E 28 0C A8&lt;br /&gt;
		lis	8			; 0881 78&lt;br /&gt;
		sl	4			; 0882 15&lt;br /&gt;
		pi	L0C9F			; 0883 28 0C 9F&lt;br /&gt;
		dci	L0DE0			; 0886 2A 0D E0&lt;br /&gt;
		pi	L0CA8			; 0889 28 0C A8&lt;br /&gt;
		lr	A,HL			; 088C 4B&lt;br /&gt;
		ni	$F7			; 088D 21 F7&lt;br /&gt;
		lr	HL,A			; 088F 5B&lt;br /&gt;
		lisu	6			; 0890 66&lt;br /&gt;
		lisl	0			; 0891 68&lt;br /&gt;
		li	$FF			; 0892 20 FF&lt;br /&gt;
		lr	S,A			; 0894 5C&lt;br /&gt;
		lisl	3			; 0895 6B&lt;br /&gt;
		lr	S,A			; 0896 5C&lt;br /&gt;
		lr	A,HL			; 0897 4B&lt;br /&gt;
		sl	4			; 0898 15&lt;br /&gt;
		sr	1			; 0899 12&lt;br /&gt;
		sl	4			; 089A 15&lt;br /&gt;
		bp	L08A0			; 089B 81 04&lt;br /&gt;
		jmp	L0BDE			; 089D 29 0B DE&lt;br /&gt;
&lt;br /&gt;
L08A0:&lt;br /&gt;
		lisu	7			; 08A0 67&lt;br /&gt;
		lisl	0			; 08A1 68&lt;br /&gt;
		lis	$F			; 08A2 7F&lt;br /&gt;
		lr	S,A			; 08A3 5C&lt;br /&gt;
		lr	A,HL			; 08A4 4B&lt;br /&gt;
		sl	1			; 08A5 13&lt;br /&gt;
		sl	1			; 08A6 13&lt;br /&gt;
		bm	L08D1			; 08A7 91 29&lt;br /&gt;
L08A9:&lt;br /&gt;
		li	$85			; 08A9 20 85&lt;br /&gt;
		lr	0,A			; 08AB 50&lt;br /&gt;
		pi	prompt			; 08AC 28 00 99&lt;br /&gt;
		lr	A,4			; 08AF 44&lt;br /&gt;
		ci	8			; 08B0 25 08&lt;br /&gt;
		bnz	L08B6			; 08B2 94 03&lt;br /&gt;
		br	L08D1			; 08B4 90 1C&lt;br /&gt;
L08B6:&lt;br /&gt;
		ci	2			; 08B6 25 02&lt;br /&gt;
		bnz	L08A9			; 08B8 94 F0&lt;br /&gt;
		li	$8E			; 08BA 20 8E&lt;br /&gt;
		lr	0,A			; 08BC 50&lt;br /&gt;
		pi	prompt			; 08BD 28 00 99&lt;br /&gt;
		lisu	7			; 08C0 67&lt;br /&gt;
		lisl	0			; 08C1 68&lt;br /&gt;
		dci	L0E90			; 08C2 2A 0E 90&lt;br /&gt;
		lr	A,4			; 08C5 44&lt;br /&gt;
		sr	1			; 08C6 12&lt;br /&gt;
		adc				; 08C7 8E&lt;br /&gt;
		lm				; 08C8 16&lt;br /&gt;
		lr	S,A			; 08C9 5C&lt;br /&gt;
		br	L08A9			; 08CA 90 DE&lt;br /&gt;
		.byte	$4B,$13,$13,$91,$01								; 08CC&lt;br /&gt;
L08D1:&lt;br /&gt;
		li	$83			; 08D1 20 83&lt;br /&gt;
		lisu	7			; 08D3 67&lt;br /&gt;
		lisl	2			; 08D4 6A&lt;br /&gt;
		lr	S,A			; 08D5 5C&lt;br /&gt;
L08D6:&lt;br /&gt;
		lr	A,S			; 08D6 4C&lt;br /&gt;
		lr	0,A			; 08D7 50&lt;br /&gt;
		li	$33			; 08D8 20 33&lt;br /&gt;
		lr	1,A			; 08DA 51&lt;br /&gt;
		li	$13			; 08DB 20 13&lt;br /&gt;
		lr	2,A			; 08DD 52&lt;br /&gt;
		pi	drawchar		; 08DE 28 06 79&lt;br /&gt;
		clr				; 08E1 70&lt;br /&gt;
		lr	6,A			; 08E2 56&lt;br /&gt;
		pi	delay			; 08E3 28 00 8F&lt;br /&gt;
		ds	S			; 08E6 3C&lt;br /&gt;
		lr	A,S			; 08E7 4C&lt;br /&gt;
		sl	1			; 08E8 13&lt;br /&gt;
		bnz	L08D6			; 08E9 94 EC&lt;br /&gt;
		li	$D			; 08EB 20 0D&lt;br /&gt;
		lr	0,A			; 08ED 50&lt;br /&gt;
		li	$33			; 08EE 20 33&lt;br /&gt;
		lr	1,A			; 08F0 51&lt;br /&gt;
		li	$13			; 08F1 20 13&lt;br /&gt;
		lr	2,A			; 08F3 52&lt;br /&gt;
		pi	drawchar		; 08F4 28 06 79&lt;br /&gt;
L08F7:&lt;br /&gt;
		lr	A,HL			; 08F7 4B&lt;br /&gt;
		sl	4			; 08F8 15&lt;br /&gt;
		lisu	2			; 08F9 62&lt;br /&gt;
		lisl	0			; 08FA 68&lt;br /&gt;
		bp	L08FF			; 08FB 81 03&lt;br /&gt;
		lisu	3			; 08FD 63&lt;br /&gt;
		lisl	3			; 08FE 6B&lt;br /&gt;
L08FF:&lt;br /&gt;
		pi	L0C56			; 08FF 28 0C 56&lt;br /&gt;
		lr	A,S			; 0902 4C&lt;br /&gt;
		ci	$7F			; 0903 25 7F&lt;br /&gt;
		bnz	L090B			; 0905 94 05&lt;br /&gt;
		li	$68			; 0907 20 68&lt;br /&gt;
		br	L091B			; 0909 90 11&lt;br /&gt;
L090B:&lt;br /&gt;
		ci	$69			; 090B 25 69&lt;br /&gt;
		bnz	L0913			; 090D 94 05&lt;br /&gt;
		li	0			; 090F 20 00&lt;br /&gt;
		br	L091B			; 0911 90 09&lt;br /&gt;
L0913:&lt;br /&gt;
		dci	L0DE0			; 0913 2A 0D E0&lt;br /&gt;
		lr	A,S			; 0916 4C&lt;br /&gt;
		lr	9,A			; 0917 59&lt;br /&gt;
		lis	1			; 0918 71&lt;br /&gt;
		br	L0920			; 0919 90 06&lt;br /&gt;
L091B:&lt;br /&gt;
		lr	9,A			; 091B 59&lt;br /&gt;
		dci	L0E88			; 091C 2A 0E 88&lt;br /&gt;
		clr				; 091F 70&lt;br /&gt;
L0920:&lt;br /&gt;
		lr	7,A			; 0920 57&lt;br /&gt;
		lr	A,HL			; 0921 4B&lt;br /&gt;
		sl	4			; 0922 15&lt;br /&gt;
		pi	L0C9F			; 0923 28 0C 9F&lt;br /&gt;
		lr	A,9			; 0926 49&lt;br /&gt;
		lr	S,A			; 0927 5C&lt;br /&gt;
		clr				; 0928 70&lt;br /&gt;
		as	7			; 0929 C7&lt;br /&gt;
		bnz	L092D			; 092A 94 02&lt;br /&gt;
		lr	0,A			; 092C 50&lt;br /&gt;
L092D:&lt;br /&gt;
		pi	L0CA8			; 092D 28 0C A8&lt;br /&gt;
		lr	A,HL			; 0930 4B&lt;br /&gt;
		xi	8			; 0931 23 08&lt;br /&gt;
		lr	HL,A			; 0933 5B&lt;br /&gt;
		sl	4			; 0934 15&lt;br /&gt;
		bm	L08F7			; 0935 91 C1&lt;br /&gt;
		lr	A,HL			; 0937 4B&lt;br /&gt;
		sl	1			; 0938 13&lt;br /&gt;
		bm	L0954			; 0939 91 1A&lt;br /&gt;
		lisu	2			; 093B 62&lt;br /&gt;
		lisl	2			; 093C 6A&lt;br /&gt;
		lr	A,S			; 093D 4C&lt;br /&gt;
		com				; 093E 18&lt;br /&gt;
		inc				; 093F 1F&lt;br /&gt;
		ai	$2E			; 0940 24 2E&lt;br /&gt;
		bp	L094D			; 0942 81 0A&lt;br /&gt;
		lisu	3			; 0944 63&lt;br /&gt;
		lisl	5			; 0945 6D&lt;br /&gt;
		lr	A,S			; 0946 4C&lt;br /&gt;
		com				; 0947 18&lt;br /&gt;
		inc				; 0948 1F&lt;br /&gt;
		ai	$2E			; 0949 24 2E&lt;br /&gt;
		bm	L0954			; 094B 91 08&lt;br /&gt;
L094D:&lt;br /&gt;
		lr	A,HL			; 094D 4B&lt;br /&gt;
		oi	$40			; 094E 22 40&lt;br /&gt;
		lr	HL,A			; 0950 5B&lt;br /&gt;
		pi	L0835			; 0951 28 08 35&lt;br /&gt;
L0954:&lt;br /&gt;
		lisu	7			; 0954 67&lt;br /&gt;
		lisl	0			; 0955 68&lt;br /&gt;
		lr	A,S			; 0956 4C&lt;br /&gt;
		ni	$F			; 0957 21 0F&lt;br /&gt;
		lr	5,A			; 0959 55&lt;br /&gt;
		pi	delay			; 095A 28 00 8F&lt;br /&gt;
		ins	0			; 095D A0&lt;br /&gt;
		ci	$B			; 095E 25 0B&lt;br /&gt;
		bnz	L0965			; 0960 94 04&lt;br /&gt;
		jmp	L08A9			; 0962 29 08 A9&lt;br /&gt;
&lt;br /&gt;
L0965:&lt;br /&gt;
		lr	A,HL			; 0965 4B&lt;br /&gt;
		xi	$80			; 0966 23 80&lt;br /&gt;
		lr	HL,A			; 0968 5B&lt;br /&gt;
		lisu	7			; 0969 67&lt;br /&gt;
		lisl	1			; 096A 69&lt;br /&gt;
		lr	A,S			; 096B 4C&lt;br /&gt;
		inc				; 096C 1F&lt;br /&gt;
		ci	3			; 096D 25 03&lt;br /&gt;
		bz	L0974			; 096F 84 04&lt;br /&gt;
		lr	S,A			; 0971 5C&lt;br /&gt;
		br	L09BF			; 0972 90 4C&lt;br /&gt;
L0974:&lt;br /&gt;
		clr				; 0974 70&lt;br /&gt;
		lr	S,A			; 0975 5C&lt;br /&gt;
		lr	A,HL			; 0976 4B&lt;br /&gt;
		sl	1			; 0977 13&lt;br /&gt;
		sl	1			; 0978 13&lt;br /&gt;
		bp	L097E			; 0979 81 04&lt;br /&gt;
		jmp	L0D02			; 097B 29 0D 02&lt;br /&gt;
&lt;br /&gt;
L097E:&lt;br /&gt;
		clr				; 097E 70&lt;br /&gt;
		outs	0			; 097F B0&lt;br /&gt;
		outs	1			; 0980 B1&lt;br /&gt;
		outs	4			; 0981 B4&lt;br /&gt;
		outs	5			; 0982 B5&lt;br /&gt;
		ins	1			; 0983 A1&lt;br /&gt;
		lisu	6			; 0984 66&lt;br /&gt;
		lisl	0			; 0985 68&lt;br /&gt;
		lr	S,A			; 0986 5C&lt;br /&gt;
		lisl	3			; 0987 6B&lt;br /&gt;
		lr	A,HL			; 0988 4B&lt;br /&gt;
		sl	1			; 0989 13&lt;br /&gt;
		sl	1			; 098A 13&lt;br /&gt;
		bm	L098F			; 098B 91 03&lt;br /&gt;
		ins	4			; 098D A4&lt;br /&gt;
		lr	S,A			; 098E 5C&lt;br /&gt;
L098F:&lt;br /&gt;
		lr	A,S			; 098F 4C&lt;br /&gt;
		sl	4			; 0990 15&lt;br /&gt;
		bm	L099B			; 0991 91 09&lt;br /&gt;
		lisu	3			; 0993 63&lt;br /&gt;
		ds	S			; 0994 3C&lt;br /&gt;
		lr	A,S			; 0995 4C&lt;br /&gt;
		ni	$F			; 0996 21 0F&lt;br /&gt;
		lr	S,A			; 0998 5C&lt;br /&gt;
		br	L09A4			; 0999 90 0A&lt;br /&gt;
L099B:&lt;br /&gt;
		sl	1			; 099B 13&lt;br /&gt;
		bm	L09A4			; 099C 91 07&lt;br /&gt;
		lisu	3			; 099E 63&lt;br /&gt;
		lr	A,S			; 099F 4C&lt;br /&gt;
		inc				; 09A0 1F&lt;br /&gt;
		ni	$F			; 09A1 21 0F&lt;br /&gt;
		lr	S,A			; 09A3 5C&lt;br /&gt;
L09A4:&lt;br /&gt;
		lisu	6			; 09A4 66&lt;br /&gt;
		lisl	0			; 09A5 68&lt;br /&gt;
		lr	A,S			; 09A6 4C&lt;br /&gt;
		sl	4			; 09A7 15&lt;br /&gt;
		bm	L09B4			; 09A8 91 0B&lt;br /&gt;
		lisu	2			; 09AA 62&lt;br /&gt;
		ds	S			; 09AB 3C&lt;br /&gt;
		lr	A,S			; 09AC 4C&lt;br /&gt;
		ni	$F			; 09AD 21 0F&lt;br /&gt;
		oi	$10			; 09AF 22 10&lt;br /&gt;
		lr	S,A			; 09B1 5C&lt;br /&gt;
L09B2:&lt;br /&gt;
		br	L09BF			; 09B2 90 0C&lt;br /&gt;
L09B4:&lt;br /&gt;
		sl	1			; 09B4 13&lt;br /&gt;
		bm	L09B2			; 09B5 91 FC&lt;br /&gt;
		lisu	2			; 09B7 62&lt;br /&gt;
		lr	A,S			; 09B8 4C&lt;br /&gt;
		inc				; 09B9 1F&lt;br /&gt;
		ni	$F			; 09BA 21 0F&lt;br /&gt;
		oi	$10			; 09BC 22 10&lt;br /&gt;
		lr	S,A			; 09BE 5C&lt;br /&gt;
L09BF:&lt;br /&gt;
		lr	A,HL			; 09BF 4B&lt;br /&gt;
		sl	1			; 09C0 13&lt;br /&gt;
		bm	L09C6			; 09C1 91 04&lt;br /&gt;
		jmp	L08F7			; 09C3 29 08 F7&lt;br /&gt;
&lt;br /&gt;
L09C6:&lt;br /&gt;
		lisu	6			; 09C6 66&lt;br /&gt;
		lisl	1			; 09C7 69&lt;br /&gt;
		clr				; 09C8 70&lt;br /&gt;
		as	D			; 09C9 CE&lt;br /&gt;
		bm	L0A0C			; 09CA 91 41&lt;br /&gt;
		clr				; 09CC 70&lt;br /&gt;
		as	I			; 09CD CD&lt;br /&gt;
		bp	L09D5			; 09CE 81 06&lt;br /&gt;
		clr				; 09D0 70&lt;br /&gt;
		lr	I,A			; 09D1 5D&lt;br /&gt;
L09D2:&lt;br /&gt;
		jmp	L0B6B			; 09D2 29 0B 6B&lt;br /&gt;
&lt;br /&gt;
L09D5:&lt;br /&gt;
		lr	A,S			; 09D5 4C&lt;br /&gt;
		sl	1			; 09D6 13&lt;br /&gt;
		bm	L09D2			; 09D7 91 FA&lt;br /&gt;
		li	$80			; 09D9 20 80&lt;br /&gt;
		as	S			; 09DB CC&lt;br /&gt;
		lr	D,A			; 09DC 5E&lt;br /&gt;
		lisu	2			; 09DD 62&lt;br /&gt;
L09DE:&lt;br /&gt;
		pi	L0C98			; 09DE 28 0C 98&lt;br /&gt;
		lr	A,HL			; 09E1 4B&lt;br /&gt;
		sl	4			; 09E2 15&lt;br /&gt;
		lisl	0			; 09E3 68&lt;br /&gt;
		bm	L09E7			; 09E4 91 02&lt;br /&gt;
		lisl	3			; 09E6 6B&lt;br /&gt;
L09E7:&lt;br /&gt;
		lr	A,0			; 09E7 40&lt;br /&gt;
		lr	I,A			; 09E8 5D&lt;br /&gt;
		lr	A,1			; 09E9 41&lt;br /&gt;
		lr	I,A			; 09EA 5D&lt;br /&gt;
		lr	A,2			; 09EB 42&lt;br /&gt;
		lr	I,A			; 09EC 5D&lt;br /&gt;
		lr	A,HL			; 09ED 4B&lt;br /&gt;
		sl	4			; 09EE 15&lt;br /&gt;
		lisl	0			; 09EF 68&lt;br /&gt;
		bm	L09F3			; 09F0 91 02&lt;br /&gt;
		lisl	3			; 09F2 6B&lt;br /&gt;
L09F3:&lt;br /&gt;
		dci	L0E95			; 09F3 2A 0E 95&lt;br /&gt;
		lr	A,S			; 09F6 4C&lt;br /&gt;
		ni	$10			; 09F7 21 10&lt;br /&gt;
		lr	A,I			; 09F9 4D&lt;br /&gt;
		bz	L09FD			; 09FA 84 02&lt;br /&gt;
		com				; 09FC 18&lt;br /&gt;
L09FD:&lt;br /&gt;
		ni	$F			; 09FD 21 0F&lt;br /&gt;
		sr	1			; 09FF 12&lt;br /&gt;
		sr	1			; 0A00 12&lt;br /&gt;
		adc				; 0A01 8E&lt;br /&gt;
		lm				; 0A02 16&lt;br /&gt;
		lr	8,A			; 0A03 58&lt;br /&gt;
		ni	$F			; 0A04 21 0F&lt;br /&gt;
		as	S			; 0A06 CC&lt;br /&gt;
		lr	I,A			; 0A07 5D&lt;br /&gt;
		lr	A,8			; 0A08 48&lt;br /&gt;
		sr	4			; 0A09 14&lt;br /&gt;
		as	S			; 0A0A CC&lt;br /&gt;
		lr	I,A			; 0A0B 5D&lt;br /&gt;
L0A0C:&lt;br /&gt;
		clr				; 0A0C 70&lt;br /&gt;
		br	L0A54			; 0A0D 90 46&lt;br /&gt;
L0A0F:&lt;br /&gt;
		lr	A,HL			; 0A0F 4B&lt;br /&gt;
		sl	4			; 0A10 15&lt;br /&gt;
		lisu	6			; 0A11 66&lt;br /&gt;
		lisl	1			; 0A12 69&lt;br /&gt;
		bp	L0A16			; 0A13 81 02&lt;br /&gt;
		lisl	2			; 0A15 6A&lt;br /&gt;
L0A16:&lt;br /&gt;
		clr				; 0A16 70&lt;br /&gt;
		as	S			; 0A17 CC&lt;br /&gt;
		bp	L0A7C			; 0A18 81 63&lt;br /&gt;
		lis	$A			; 0A1A 7A&lt;br /&gt;
		lr	5,A			; 0A1B 55&lt;br /&gt;
L0A1C:&lt;br /&gt;
		lr	A,HL			; 0A1C 4B&lt;br /&gt;
		sl	4			; 0A1D 15&lt;br /&gt;
		lisu	2			; 0A1E 62&lt;br /&gt;
		lisl	3			; 0A1F 6B&lt;br /&gt;
		bp	L0A24			; 0A20 81 03&lt;br /&gt;
		lisu	3			; 0A22 63&lt;br /&gt;
		lisl	0			; 0A23 68&lt;br /&gt;
L0A24:&lt;br /&gt;
		pi	L0A8A			; 0A24 28 0A 8A&lt;br /&gt;
		pi	L0C56			; 0A27 28 0C 56&lt;br /&gt;
		lr	A,I			; 0A2A 4D&lt;br /&gt;
		ni	$70			; 0A2B 21 70&lt;br /&gt;
		ci	$70			; 0A2D 25 70&lt;br /&gt;
		bz	L0A36			; 0A2F 84 06&lt;br /&gt;
		lr	A,I			; 0A31 4D&lt;br /&gt;
		ni	$3F			; 0A32 21 3F&lt;br /&gt;
		bnz	L0A4B			; 0A34 94 16&lt;br /&gt;
L0A36:&lt;br /&gt;
		lisu	6			; 0A36 66&lt;br /&gt;
		lr	A,HL			; 0A37 4B&lt;br /&gt;
		sl	4			; 0A38 15&lt;br /&gt;
		lisl	0			; 0A39 68&lt;br /&gt;
		clr				; 0A3A 70&lt;br /&gt;
		bp	L0A41			; 0A3B 81 05&lt;br /&gt;
		lisl	3			; 0A3D 6B&lt;br /&gt;
		as	D			; 0A3E CE&lt;br /&gt;
		br	L0A42			; 0A3F 90 02&lt;br /&gt;
L0A41:&lt;br /&gt;
		as	I			; 0A41 CD&lt;br /&gt;
L0A42:&lt;br /&gt;
		clr				; 0A42 70&lt;br /&gt;
		bm	L0A47			; 0A43 91 03&lt;br /&gt;
		li	$40			; 0A45 20 40&lt;br /&gt;
L0A47:&lt;br /&gt;
		lr	S,A			; 0A47 5C&lt;br /&gt;
		clr				; 0A48 70&lt;br /&gt;
		br	L0A54			; 0A49 90 0A&lt;br /&gt;
L0A4B:&lt;br /&gt;
		lr	A,HL			; 0A4B 4B&lt;br /&gt;
		xi	$80			; 0A4C 23 80&lt;br /&gt;
		lr	HL,A			; 0A4E 5B&lt;br /&gt;
		ds	5			; 0A4F 35&lt;br /&gt;
		bnz	L0A1C			; 0A50 94 CB&lt;br /&gt;
		li	$80			; 0A52 20 80&lt;br /&gt;
L0A54:&lt;br /&gt;
		lr	K,P			; 0A54 08&lt;br /&gt;
		lr	0,A			; 0A55 50&lt;br /&gt;
		lis	1			; 0A56 71&lt;br /&gt;
		lr	5,A			; 0A57 55&lt;br /&gt;
		lr	6,A			; 0A58 56&lt;br /&gt;
		lr	3,A			; 0A59 53&lt;br /&gt;
		lr	A,HL			; 0A5A 4B&lt;br /&gt;
		sl	4			; 0A5B 15&lt;br /&gt;
		lisu	3			; 0A5C 63&lt;br /&gt;
		lisl	1			; 0A5D 69&lt;br /&gt;
		bm	L0A62			; 0A5E 91 03&lt;br /&gt;
		lisu	2			; 0A60 62&lt;br /&gt;
		lisl	4			; 0A61 6C&lt;br /&gt;
L0A62:&lt;br /&gt;
		lr	A,I			; 0A62 4D&lt;br /&gt;
		lr	1,A			; 0A63 51&lt;br /&gt;
		lr	A,D			; 0A64 4E&lt;br /&gt;
		lr	2,A			; 0A65 52&lt;br /&gt;
		li	$C0			; 0A66 20 C0&lt;br /&gt;
		lr	4,A			; 0A68 54&lt;br /&gt;
		lisu	0			; 0A69 60&lt;br /&gt;
		lisl	0			; 0A6A 68&lt;br /&gt;
		pi	L0CC4			; 0A6B 28 0C C4&lt;br /&gt;
		lr	A,HL			; 0A6E 4B&lt;br /&gt;
		sl	4			; 0A6F 15&lt;br /&gt;
		sr	1			; 0A70 12&lt;br /&gt;
		sl	4			; 0A71 15&lt;br /&gt;
		bp	L0A76			; 0A72 81 03&lt;br /&gt;
		lr	P,K			; 0A74 09&lt;br /&gt;
		pop				; 0A75 1C&lt;br /&gt;
&lt;br /&gt;
L0A76:&lt;br /&gt;
		clr				; 0A76 70&lt;br /&gt;
		as	0			; 0A77 C0&lt;br /&gt;
		bm	L0A7C			; 0A78 91 03&lt;br /&gt;
		br	L0A0F			; 0A7A 90 94&lt;br /&gt;
L0A7C:&lt;br /&gt;
		lr	A,HL			; 0A7C 4B&lt;br /&gt;
		sl	4			; 0A7D 15&lt;br /&gt;
		bm	L0A83			; 0A7E 91 04&lt;br /&gt;
		jmp	L0B6B			; 0A80 29 0B 6B&lt;br /&gt;
&lt;br /&gt;
L0A83:&lt;br /&gt;
		lr	A,HL			; 0A83 4B&lt;br /&gt;
		ni	$F7			; 0A84 21 F7&lt;br /&gt;
		lr	HL,A			; 0A86 5B&lt;br /&gt;
		jmp	L08F7			; 0A87 29 08 F7&lt;br /&gt;
&lt;br /&gt;
L0A8A:&lt;br /&gt;
		lr	K,P			; 0A8A 08&lt;br /&gt;
		lr	A,5			; 0A8B 45&lt;br /&gt;
		lr	8,A			; 0A8C 58&lt;br /&gt;
		lr	A,I			; 0A8D 4D&lt;br /&gt;
		lr	A,I			; 0A8E 4D&lt;br /&gt;
		lr	0,A			; 0A8F 50&lt;br /&gt;
		lr	A,D			; 0A90 4E&lt;br /&gt;
		lr	1,A			; 0A91 51&lt;br /&gt;
		lr	A,IS			; 0A92 0A&lt;br /&gt;
		xi	8			; 0A93 23 08&lt;br /&gt;
		lr	IS,A			; 0A95 0B&lt;br /&gt;
		lr	A,I			; 0A96 4D&lt;br /&gt;
		com				; 0A97 18&lt;br /&gt;
		inc				; 0A98 1F&lt;br /&gt;
		as	0			; 0A99 C0&lt;br /&gt;
		bm	L0ACE			; 0A9A 91 33&lt;br /&gt;
		lr	9,A			; 0A9C 59&lt;br /&gt;
		sl	1			; 0A9D 13&lt;br /&gt;
		sr	4			; 0A9E 14&lt;br /&gt;
		bnz	L0ACE			; 0A9F 94 2E&lt;br /&gt;
		lr	A,D			; 0AA1 4E&lt;br /&gt;
		com				; 0AA2 18&lt;br /&gt;
		inc				; 0AA3 1F&lt;br /&gt;
		as	1			; 0AA4 C1&lt;br /&gt;
		bm	L0ACE			; 0AA5 91 28&lt;br /&gt;
		lr	HU,A			; 0AA7 5A&lt;br /&gt;
		sl	1			; 0AA8 13&lt;br /&gt;
		sr	4			; 0AA9 14&lt;br /&gt;
		bnz	L0ACE			; 0AAA 94 23&lt;br /&gt;
		lis	8			; 0AAC 78&lt;br /&gt;
		xs	HL			; 0AAD EB&lt;br /&gt;
		sl	4			; 0AAE 15&lt;br /&gt;
		pi	L0C9F			; 0AAF 28 0C 9F&lt;br /&gt;
		lr	A,D			; 0AB2 4E&lt;br /&gt;
		lr	A,S			; 0AB3 4C&lt;br /&gt;
		sl	4			; 0AB4 15&lt;br /&gt;
		sr	1			; 0AB5 12&lt;br /&gt;
		dci	L0DE0			; 0AB6 2A 0D E0&lt;br /&gt;
		adc				; 0AB9 8E&lt;br /&gt;
		lr	A,S			; 0ABA 4C&lt;br /&gt;
		ni	$10			; 0ABB 21 10&lt;br /&gt;
		lr	A,HU			; 0ABD 4A&lt;br /&gt;
		bz	L0AC2			; 0ABE 84 03&lt;br /&gt;
		xi	7			; 0AC0 23 07&lt;br /&gt;
L0AC2:&lt;br /&gt;
		adc				; 0AC2 8E&lt;br /&gt;
		li	$80			; 0AC3 20 80&lt;br /&gt;
L0AC5:&lt;br /&gt;
		ds	9			; 0AC5 39&lt;br /&gt;
		bm	L0ACB			; 0AC6 91 04&lt;br /&gt;
		sr	1			; 0AC8 12&lt;br /&gt;
		br	L0AC5			; 0AC9 90 FB&lt;br /&gt;
L0ACB:&lt;br /&gt;
		nm				; 0ACB 8A&lt;br /&gt;
		bnz	L0ADA			; 0ACC 94 0D&lt;br /&gt;
L0ACE:&lt;br /&gt;
		lr	A,HL			; 0ACE 4B&lt;br /&gt;
		sl	4			; 0ACF 15&lt;br /&gt;
		lisu	2			; 0AD0 62&lt;br /&gt;
		lisl	3			; 0AD1 6B&lt;br /&gt;
		bp	L0AD6			; 0AD2 81 03&lt;br /&gt;
		lisu	3			; 0AD4 63&lt;br /&gt;
		lisl	0			; 0AD5 68&lt;br /&gt;
L0AD6:&lt;br /&gt;
		lr	A,8			; 0AD6 48&lt;br /&gt;
		lr	5,A			; 0AD7 55&lt;br /&gt;
		lr	P,K			; 0AD8 09&lt;br /&gt;
		pop				; 0AD9 1C&lt;br /&gt;
&lt;br /&gt;
L0ADA:&lt;br /&gt;
		lr	A,HL			; 0ADA 4B&lt;br /&gt;
		ni	$BF			; 0ADB 21 BF&lt;br /&gt;
		lr	HL,A			; 0ADD 5B&lt;br /&gt;
		pi	L0835			; 0ADE 28 08 35&lt;br /&gt;
		lisu	3			; 0AE1 63&lt;br /&gt;
		lisl	0			; 0AE2 68&lt;br /&gt;
		pi	L0C93			; 0AE3 28 0C 93&lt;br /&gt;
		lis	9			; 0AE6 79&lt;br /&gt;
		xs	HL			; 0AE7 EB&lt;br /&gt;
		lr	HL,A			; 0AE8 5B&lt;br /&gt;
		pi	L0A54			; 0AE9 28 0A 54&lt;br /&gt;
		lisu	2			; 0AEC 62&lt;br /&gt;
		lisl	3			; 0AED 6B&lt;br /&gt;
		pi	L0C93			; 0AEE 28 0C 93&lt;br /&gt;
		lis	8			; 0AF1 78&lt;br /&gt;
		xs	HL			; 0AF2 EB&lt;br /&gt;
		lr	HL,A			; 0AF3 5B&lt;br /&gt;
		pi	L0A54			; 0AF4 28 0A 54&lt;br /&gt;
		lis	1			; 0AF7 71&lt;br /&gt;
		xs	HL			; 0AF8 EB&lt;br /&gt;
		lr	HL,A			; 0AF9 5B&lt;br /&gt;
L0AFA:&lt;br /&gt;
		lr	A,HL			; 0AFA 4B&lt;br /&gt;
		sl	4			; 0AFB 15&lt;br /&gt;
		com				; 0AFC 18&lt;br /&gt;
		li	$80			; 0AFD 20 80&lt;br /&gt;
		bp	L0B03			; 0AFF 81 03&lt;br /&gt;
		li	$40			; 0B01 20 40&lt;br /&gt;
L0B03:&lt;br /&gt;
		outs	5			; 0B03 B5&lt;br /&gt;
		pi	L0C9F			; 0B04 28 0C 9F&lt;br /&gt;
		dci	L0DE0			; 0B07 2A 0D E0&lt;br /&gt;
		pi	L0CA8			; 0B0A 28 0C A8&lt;br /&gt;
		lr	A,HL			; 0B0D 4B&lt;br /&gt;
		sl	4			; 0B0E 15&lt;br /&gt;
		lisu	2			; 0B0F 62&lt;br /&gt;
		lisl	0			; 0B10 68&lt;br /&gt;
		bm	L0B15			; 0B11 91 03&lt;br /&gt;
		lisu	3			; 0B13 63&lt;br /&gt;
		lisl	3			; 0B14 6B&lt;br /&gt;
L0B15:&lt;br /&gt;
		lr	A,S			; 0B15 4C&lt;br /&gt;
		inc				; 0B16 1F&lt;br /&gt;
		ni	$F			; 0B17 21 0F&lt;br /&gt;
		lr	0,A			; 0B19 50&lt;br /&gt;
		li	$10			; 0B1A 20 10&lt;br /&gt;
		ns	S			; 0B1C FC&lt;br /&gt;
		as	0			; 0B1D C0&lt;br /&gt;
		lr	S,A			; 0B1E 5C&lt;br /&gt;
		lis	4			; 0B1F 74&lt;br /&gt;
		lr	5,A			; 0B20 55&lt;br /&gt;
		pi	delay			; 0B21 28 00 8F&lt;br /&gt;
		lr	A,HL			; 0B24 4B&lt;br /&gt;
		sl	4			; 0B25 15&lt;br /&gt;
		com				; 0B26 18&lt;br /&gt;
		dci	L0E88			; 0B27 2A 0E 88&lt;br /&gt;
		pi	L0C9F			; 0B2A 28 0C 9F&lt;br /&gt;
		clr				; 0B2D 70&lt;br /&gt;
		lr	0,A			; 0B2E 50&lt;br /&gt;
		outs	5			; 0B2F B5&lt;br /&gt;
		pi	L0CA8			; 0B30 28 0C A8&lt;br /&gt;
		lr	A,HL			; 0B33 4B&lt;br /&gt;
		sl	4			; 0B34 15&lt;br /&gt;
		lisu	2			; 0B35 62&lt;br /&gt;
		lisl	2			; 0B36 6A&lt;br /&gt;
		bm	L0B3B			; 0B37 91 03&lt;br /&gt;
		lisu	3			; 0B39 63&lt;br /&gt;
		lisl	5			; 0B3A 6D&lt;br /&gt;
L0B3B:&lt;br /&gt;
		lr	A,S			; 0B3B 4C&lt;br /&gt;
		ci	$33			; 0B3C 25 33&lt;br /&gt;
		bz	L0B46			; 0B3E 84 07&lt;br /&gt;
		inc				; 0B40 1F&lt;br /&gt;
		ni	$3F			; 0B41 21 3F&lt;br /&gt;
		lr	S,A			; 0B43 5C&lt;br /&gt;
		br	L0AFA			; 0B44 90 B5&lt;br /&gt;
L0B46:&lt;br /&gt;
		lr	A,D			; 0B46 4E&lt;br /&gt;
		lr	A,S			; 0B47 4C&lt;br /&gt;
		ci	$33			; 0B48 25 33&lt;br /&gt;
		bz	L0B55			; 0B4A 84 0A&lt;br /&gt;
		lis	1			; 0B4C 71&lt;br /&gt;
		bp	L0B51			; 0B4D 81 03&lt;br /&gt;
		com				; 0B4F 18&lt;br /&gt;
		inc				; 0B50 1F&lt;br /&gt;
L0B51:&lt;br /&gt;
		as	S			; 0B51 CC&lt;br /&gt;
		lr	S,A			; 0B52 5C&lt;br /&gt;
		br	L0AFA			; 0B53 90 A6&lt;br /&gt;
L0B55:&lt;br /&gt;
		ins	5			; 0B55 A5&lt;br /&gt;
		ni	$3F			; 0B56 21 3F&lt;br /&gt;
		outs	5			; 0B58 B5&lt;br /&gt;
		lisu	6			; 0B59 66&lt;br /&gt;
		lisl	1			; 0B5A 69&lt;br /&gt;
		lr	A,S			; 0B5B 4C&lt;br /&gt;
		sl	1			; 0B5C 13&lt;br /&gt;
		sr	1			; 0B5D 12&lt;br /&gt;
		lr	I,A			; 0B5E 5D&lt;br /&gt;
		lr	A,S			; 0B5F 4C&lt;br /&gt;
		sl	1			; 0B60 13&lt;br /&gt;
		sr	1			; 0B61 12&lt;br /&gt;
		lr	S,A			; 0B62 5C&lt;br /&gt;
		lr	A,HL			; 0B63 4B&lt;br /&gt;
		sl	4			; 0B64 15&lt;br /&gt;
		lisu	2			; 0B65 62&lt;br /&gt;
		bp	L0B69			; 0B66 81 02&lt;br /&gt;
		lisu	3			; 0B68 63&lt;br /&gt;
L0B69:&lt;br /&gt;
		br	L0B91			; 0B69 90 27&lt;br /&gt;
L0B6B:&lt;br /&gt;
		lr	A,HL			; 0B6B 4B&lt;br /&gt;
		oi	8			; 0B6C 22 08&lt;br /&gt;
		lr	HL,A			; 0B6E 5B&lt;br /&gt;
		lisu	6			; 0B6F 66&lt;br /&gt;
		lisl	2			; 0B70 6A&lt;br /&gt;
		clr				; 0B71 70&lt;br /&gt;
		as	I			; 0B72 CD&lt;br /&gt;
		bp	L0B78			; 0B73 81 04&lt;br /&gt;
		jmp	L0A0C			; 0B75 29 0A 0C&lt;br /&gt;
&lt;br /&gt;
L0B78:&lt;br /&gt;
		clr				; 0B78 70&lt;br /&gt;
		as	D			; 0B79 CE&lt;br /&gt;
		bp	L0B85			; 0B7A 81 0A&lt;br /&gt;
		clr				; 0B7C 70&lt;br /&gt;
		lr	S,A			; 0B7D 5C&lt;br /&gt;
L0B7E:&lt;br /&gt;
		lr	A,HL			; 0B7E 4B&lt;br /&gt;
		ni	$F7			; 0B7F 21 F7&lt;br /&gt;
		lr	HL,A			; 0B81 5B&lt;br /&gt;
		jmp	L08F7			; 0B82 29 08 F7&lt;br /&gt;
&lt;br /&gt;
L0B85:&lt;br /&gt;
		lr	A,S			; 0B85 4C&lt;br /&gt;
		sl	1			; 0B86 13&lt;br /&gt;
		bm	L0B7E			; 0B87 91 F6&lt;br /&gt;
		li	$80			; 0B89 20 80&lt;br /&gt;
		as	S			; 0B8B CC&lt;br /&gt;
		lr	I,A			; 0B8C 5D&lt;br /&gt;
		lisu	3			; 0B8D 63&lt;br /&gt;
		jmp	L09DE			; 0B8E 29 09 DE&lt;br /&gt;
&lt;br /&gt;
L0B91:&lt;br /&gt;
		lr	A,IS			; 0B91 0A&lt;br /&gt;
		lr	0,A			; 0B92 50&lt;br /&gt;
		lr	A,HL			; 0B93 4B&lt;br /&gt;
		sl	1			; 0B94 13&lt;br /&gt;
		sl	1			; 0B95 13&lt;br /&gt;
		bp	L0BAF			; 0B96 81 18&lt;br /&gt;
		lr	A,IS			; 0B98 0A&lt;br /&gt;
		sl	1			; 0B99 13&lt;br /&gt;
		sr	4			; 0B9A 14&lt;br /&gt;
		ci	2			; 0B9B 25 02&lt;br /&gt;
		lisu	7			; 0B9D 67&lt;br /&gt;
		lisl	0			; 0B9E 68&lt;br /&gt;
		bnz	L0BA8			; 0B9F 94 08&lt;br /&gt;
		ds	S			; 0BA1 3C&lt;br /&gt;
		bnz	L0BAF			; 0BA2 94 0C&lt;br /&gt;
		lis	1			; 0BA4 71&lt;br /&gt;
		lr	S,A			; 0BA5 5C&lt;br /&gt;
		br	L0BAF			; 0BA6 90 08&lt;br /&gt;
L0BA8:&lt;br /&gt;
		lr	A,S			; 0BA8 4C&lt;br /&gt;
		inc				; 0BA9 1F&lt;br /&gt;
		ci	$10			; 0BAA 25 10&lt;br /&gt;
		bz	L0BAF			; 0BAC 84 02&lt;br /&gt;
		lr	S,A			; 0BAE 5C&lt;br /&gt;
L0BAF:&lt;br /&gt;
		lr	A,0			; 0BAF 40&lt;br /&gt;
		lr	IS,A			; 0BB0 0B&lt;br /&gt;
		lisl	6			; 0BB1 6E&lt;br /&gt;
		li	$67			; 0BB2 20 67&lt;br /&gt;
		asd	S			; 0BB4 DC&lt;br /&gt;
		lr	S,A			; 0BB5 5C&lt;br /&gt;
		ci	0			; 0BB6 25 00&lt;br /&gt;
		bnz	L0BBF			; 0BB8 94 06&lt;br /&gt;
		lr	I,A			; 0BBA 5D&lt;br /&gt;
		li	$67			; 0BBB 20 67&lt;br /&gt;
		asd	S			; 0BBD DC&lt;br /&gt;
		lr	S,A			; 0BBE 5C&lt;br /&gt;
L0BBF:&lt;br /&gt;
		lr	A,HL			; 0BBF 4B&lt;br /&gt;
		oi	1			; 0BC0 22 01&lt;br /&gt;
		lr	HL,A			; 0BC2 5B&lt;br /&gt;
		dci	L0E88			; 0BC3 2A 0E 88&lt;br /&gt;
		pi	L0C8E			; 0BC6 28 0C 8E&lt;br /&gt;
		clr				; 0BC9 70&lt;br /&gt;
		lr	0,A			; 0BCA 50&lt;br /&gt;
		pi	L0CA8			; 0BCB 28 0C A8&lt;br /&gt;
		dci	L0E88			; 0BCE 2A 0E 88&lt;br /&gt;
		lis	8			; 0BD1 78&lt;br /&gt;
		sl	4			; 0BD2 15&lt;br /&gt;
		pi	L0C9F			; 0BD3 28 0C 9F&lt;br /&gt;
		clr				; 0BD6 70&lt;br /&gt;
		lr	0,A			; 0BD7 50&lt;br /&gt;
		pi	L0CA8			; 0BD8 28 0C A8&lt;br /&gt;
		pi	L0861			; 0BDB 28 08 61&lt;br /&gt;
L0BDE:&lt;br /&gt;
		lr	A,HL			; 0BDE 4B&lt;br /&gt;
		ni	$20			; 0BDF 21 20&lt;br /&gt;
		lr	HL,A			; 0BE1 5B&lt;br /&gt;
L0BE2:&lt;br /&gt;
		lr	A,HL			; 0BE2 4B&lt;br /&gt;
		sl	4			; 0BE3 15&lt;br /&gt;
		lisu	7			; 0BE4 67&lt;br /&gt;
		bm	L0BE8			; 0BE5 91 02&lt;br /&gt;
		lisu	3			; 0BE7 63&lt;br /&gt;
L0BE8:&lt;br /&gt;
		lisl	7			; 0BE8 6F&lt;br /&gt;
		li	$1B			; 0BE9 20 1B&lt;br /&gt;
		lr	1,A			; 0BEB 51&lt;br /&gt;
		li	$33			; 0BEC 20 33&lt;br /&gt;
		lr	2,A			; 0BEE 52&lt;br /&gt;
		lr	A,D			; 0BEF 4E&lt;br /&gt;
		ni	$F			; 0BF0 21 0F&lt;br /&gt;
		ai	$80			; 0BF2 24 80&lt;br /&gt;
		lr	0,A			; 0BF4 50&lt;br /&gt;
		pi	drawchar		; 0BF5 28 06 79&lt;br /&gt;
		lr	A,S			; 0BF8 4C&lt;br /&gt;
		sr	4			; 0BF9 14&lt;br /&gt;
		ai	$80			; 0BFA 24 80&lt;br /&gt;
		lr	0,A			; 0BFC 50&lt;br /&gt;
		pi	drawchar		; 0BFD 28 06 79&lt;br /&gt;
		lr	A,S			; 0C00 4C&lt;br /&gt;
		ni	$F			; 0C01 21 0F&lt;br /&gt;
		ai	$80			; 0C03 24 80&lt;br /&gt;
		lr	0,A			; 0C05 50&lt;br /&gt;
		pi	drawchar		; 0C06 28 06 79&lt;br /&gt;
		lr	A,HL			; 0C09 4B&lt;br /&gt;
		sl	4			; 0C0A 15&lt;br /&gt;
		lisu	7			; 0C0B 67&lt;br /&gt;
		bm	L0C0F			; 0C0C 91 02&lt;br /&gt;
		lisu	2			; 0C0E 62&lt;br /&gt;
L0C0F:&lt;br /&gt;
		lisl	7			; 0C0F 6F&lt;br /&gt;
		li	$47			; 0C10 20 47&lt;br /&gt;
		lr	1,A			; 0C12 51&lt;br /&gt;
		li	$33			; 0C13 20 33&lt;br /&gt;
		lr	2,A			; 0C15 52&lt;br /&gt;
		lr	A,D			; 0C16 4E&lt;br /&gt;
		ni	$F			; 0C17 21 0F&lt;br /&gt;
		ai	$40			; 0C19 24 40&lt;br /&gt;
		lr	0,A			; 0C1B 50&lt;br /&gt;
		pi	drawchar		; 0C1C 28 06 79&lt;br /&gt;
		lr	A,S			; 0C1F 4C&lt;br /&gt;
		sr	4			; 0C20 14&lt;br /&gt;
		ai	$40			; 0C21 24 40&lt;br /&gt;
		lr	0,A			; 0C23 50&lt;br /&gt;
		pi	drawchar		; 0C24 28 06 79&lt;br /&gt;
		lr	A,S			; 0C27 4C&lt;br /&gt;
		ni	$F			; 0C28 21 0F&lt;br /&gt;
		ai	$40			; 0C2A 24 40&lt;br /&gt;
		lr	0,A			; 0C2C 50&lt;br /&gt;
		pi	drawchar		; 0C2D 28 06 79&lt;br /&gt;
		lr	A,HL			; 0C30 4B&lt;br /&gt;
		sl	4			; 0C31 15&lt;br /&gt;
		bm	L0C4F			; 0C32 91 1C&lt;br /&gt;
		clr				; 0C34 70&lt;br /&gt;
		lr	6,A			; 0C35 56&lt;br /&gt;
		pi	delay			; 0C36 28 00 8F&lt;br /&gt;
		clr				; 0C39 70&lt;br /&gt;
		lr	6,A			; 0C3A 56&lt;br /&gt;
		pi	delay			; 0C3B 28 00 8F&lt;br /&gt;
		clr				; 0C3E 70&lt;br /&gt;
		lr	6,A			; 0C3F 56&lt;br /&gt;
		pi	delay			; 0C40 28 00 8F&lt;br /&gt;
		lisu	7			; 0C43 67&lt;br /&gt;
		lisl	7			; 0C44 6F&lt;br /&gt;
		li	$DD			; 0C45 20 DD&lt;br /&gt;
		lr	D,A			; 0C47 5E&lt;br /&gt;
		lr	S,A			; 0C48 5C&lt;br /&gt;
		lr	A,HL			; 0C49 4B&lt;br /&gt;
		oi	8			; 0C4A 22 08&lt;br /&gt;
		lr	HL,A			; 0C4C 5B&lt;br /&gt;
		br	L0BE2			; 0C4D 90 94&lt;br /&gt;
L0C4F:&lt;br /&gt;
		lr	A,HL			; 0C4F 4B&lt;br /&gt;
		ni	$20			; 0C50 21 20&lt;br /&gt;
		lr	HL,A			; 0C52 5B&lt;br /&gt;
		jmp	L08D1			; 0C53 29 08 D1&lt;br /&gt;
&lt;br /&gt;
L0C56:&lt;br /&gt;
		dci	L0E78			; 0C56 2A 0E 78&lt;br /&gt;
		lr	A,S			; 0C59 4C&lt;br /&gt;
		ni	$F			; 0C5A 21 0F&lt;br /&gt;
		adc				; 0C5C 8E&lt;br /&gt;
		lr	A,I			; 0C5D 4D&lt;br /&gt;
		ni	$10			; 0C5E 21 10&lt;br /&gt;
		sr	1			; 0C60 12&lt;br /&gt;
		sl	4			; 0C61 15&lt;br /&gt;
		am				; 0C62 88&lt;br /&gt;
		lr	0,A			; 0C63 50&lt;br /&gt;
		lr	A,I			; 0C64 4D&lt;br /&gt;
		lr	J,W			; 0C65 1E&lt;br /&gt;
		clr				; 0C66 70&lt;br /&gt;
		as	HL			; 0C67 CB&lt;br /&gt;
		lr	A,0			; 0C68 40&lt;br /&gt;
		bp	L0C6C			; 0C69 81 02&lt;br /&gt;
		sr	1			; 0C6B 12&lt;br /&gt;
L0C6C:&lt;br /&gt;
		sr	4			; 0C6C 14&lt;br /&gt;
		ni	1			; 0C6D 21 01&lt;br /&gt;
		lr	W,J			; 0C6F 1D&lt;br /&gt;
		bp	L0C74			; 0C70 81 03&lt;br /&gt;
		com				; 0C72 18&lt;br /&gt;
		inc				; 0C73 1F&lt;br /&gt;
L0C74:&lt;br /&gt;
		as	S			; 0C74 CC&lt;br /&gt;
		ni	$3F			; 0C75 21 3F&lt;br /&gt;
		lr	D,A			; 0C77 5E&lt;br /&gt;
		lr	A,0			; 0C78 40&lt;br /&gt;
		sl	4			; 0C79 15&lt;br /&gt;
		lr	J,W			; 0C7A 1E&lt;br /&gt;
		sr	4			; 0C7B 14&lt;br /&gt;
		clr				; 0C7C 70&lt;br /&gt;
		as	HL			; 0C7D CB&lt;br /&gt;
		lr	A,0			; 0C7E 40&lt;br /&gt;
		bp	L0C82			; 0C7F 81 02&lt;br /&gt;
		sr	1			; 0C81 12&lt;br /&gt;
L0C82:&lt;br /&gt;
		ni	1			; 0C82 21 01&lt;br /&gt;
		lr	W,J			; 0C84 1D&lt;br /&gt;
		bp	L0C89			; 0C85 81 03&lt;br /&gt;
		com				; 0C87 18&lt;br /&gt;
		inc				; 0C88 1F&lt;br /&gt;
L0C89:&lt;br /&gt;
		as	S			; 0C89 CC&lt;br /&gt;
		ni	$7F			; 0C8A 21 7F&lt;br /&gt;
		lr	S,A			; 0C8C 5C&lt;br /&gt;
		pop				; 0C8D 1C&lt;br /&gt;
&lt;br /&gt;
L0C8E:&lt;br /&gt;
		li	$40			; 0C8E 20 40&lt;br /&gt;
		lr	4,A			; 0C90 54&lt;br /&gt;
		lisu	2			; 0C91 62&lt;br /&gt;
		lisl	0			; 0C92 68&lt;br /&gt;
L0C93:&lt;br /&gt;
		li	8			; 0C93 20 08&lt;br /&gt;
		lr	5,A			; 0C95 55&lt;br /&gt;
		lr	6,A			; 0C96 56&lt;br /&gt;
		lr	3,A			; 0C97 53&lt;br /&gt;
L0C98:&lt;br /&gt;
		lr	A,I			; 0C98 4D&lt;br /&gt;
		lr	0,A			; 0C99 50&lt;br /&gt;
		lr	A,I			; 0C9A 4D&lt;br /&gt;
		lr	1,A			; 0C9B 51&lt;br /&gt;
		lr	A,D			; 0C9C 4E&lt;br /&gt;
		lr	2,A			; 0C9D 52&lt;br /&gt;
		pop				; 0C9E 1C&lt;br /&gt;
&lt;br /&gt;
L0C9F:&lt;br /&gt;
		bp	L0C8E			; 0C9F 81 EE&lt;br /&gt;
		li	$80			; 0CA1 20 80&lt;br /&gt;
		lr	4,A			; 0CA3 54&lt;br /&gt;
		lisu	3			; 0CA4 63&lt;br /&gt;
		lisl	3			; 0CA5 6B&lt;br /&gt;
		br	L0C93			; 0CA6 90 EC&lt;br /&gt;
L0CA8:&lt;br /&gt;
		lisu	4			; 0CA8 64&lt;br /&gt;
		lisl	0			; 0CA9 68&lt;br /&gt;
		lr	A,0			; 0CAA 40&lt;br /&gt;
		sl	4			; 0CAB 15&lt;br /&gt;
		sr	1			; 0CAC 12&lt;br /&gt;
		adc				; 0CAD 8E&lt;br /&gt;
		lr	A,0			; 0CAE 40&lt;br /&gt;
		ni	$10			; 0CAF 21 10&lt;br /&gt;
		bnz	L0CBB			; 0CB1 94 09&lt;br /&gt;
L0CB3:&lt;br /&gt;
		lm				; 0CB3 16&lt;br /&gt;
		lr	I,A			; 0CB4 5D&lt;br /&gt;
		br7	L0CB3			; 0CB5 8F FD&lt;br /&gt;
		lm				; 0CB7 16&lt;br /&gt;
		lr	I,A			; 0CB8 5D&lt;br /&gt;
		br	L0CC4			; 0CB9 90 0A&lt;br /&gt;
L0CBB:&lt;br /&gt;
		lisl	7			; 0CBB 6F&lt;br /&gt;
L0CBC:&lt;br /&gt;
		lm				; 0CBC 16&lt;br /&gt;
		lr	D,A			; 0CBD 5E&lt;br /&gt;
		br7	L0CBC			; 0CBE 8F FD&lt;br /&gt;
		lisl	0			; 0CC0 68&lt;br /&gt;
		br	L0CC4			; 0CC1 90 02&lt;br /&gt;
L0CC3:&lt;br /&gt;
		lr	5,A			; 0CC3 55&lt;br /&gt;
L0CC4:&lt;br /&gt;
		lr	A,2			; 0CC4 42&lt;br /&gt;
		com				; 0CC5 18&lt;br /&gt;
		ni	$3F			; 0CC6 21 3F&lt;br /&gt;
		lr	8,A			; 0CC8 58&lt;br /&gt;
		ins	5			; 0CC9 A5&lt;br /&gt;
		ni	$C0			; 0CCA 21 C0&lt;br /&gt;
		as	8			; 0CCC C8&lt;br /&gt;
		outs	5			; 0CCD B5&lt;br /&gt;
		lr	A,I			; 0CCE 4D&lt;br /&gt;
		lr	7,A			; 0CCF 57&lt;br /&gt;
L0CD0:&lt;br /&gt;
		lr	A,1			; 0CD0 41&lt;br /&gt;
		com				; 0CD1 18&lt;br /&gt;
		outs	4			; 0CD2 B4&lt;br /&gt;
		lr	A,7			; 0CD3 47&lt;br /&gt;
		oi	0			; 0CD4 22 00&lt;br /&gt;
		lr	A,4			; 0CD6 44&lt;br /&gt;
		bm	L0CDA			; 0CD7 91 02&lt;br /&gt;
		clr				; 0CD9 70&lt;br /&gt;
L0CDA:&lt;br /&gt;
		com				; 0CDA 18&lt;br /&gt;
		outs	1			; 0CDB B1&lt;br /&gt;
		lr	A,7			; 0CDC 47&lt;br /&gt;
		sl	1			; 0CDD 13&lt;br /&gt;
		lr	7,A			; 0CDE 57&lt;br /&gt;
		li	$60			; 0CDF 20 60&lt;br /&gt;
		outs	0			; 0CE1 B0&lt;br /&gt;
		li	$50			; 0CE2 20 50&lt;br /&gt;
		outs	0			; 0CE4 B0&lt;br /&gt;
		lr	A,1			; 0CE5 41&lt;br /&gt;
		inc				; 0CE6 1F&lt;br /&gt;
		lr	1,A			; 0CE7 51&lt;br /&gt;
		lis	4			; 0CE8 74&lt;br /&gt;
		lr	8,A			; 0CE9 58&lt;br /&gt;
L0CEA:&lt;br /&gt;
		ds	8			; 0CEA 38&lt;br /&gt;
		bnz	L0CEA			; 0CEB 94 FE&lt;br /&gt;
		ds	5			; 0CED 35&lt;br /&gt;
		bnz	L0CD0			; 0CEE 94 E1&lt;br /&gt;
		lr	A,2			; 0CF0 42&lt;br /&gt;
		inc				; 0CF1 1F&lt;br /&gt;
		lr	2,A			; 0CF2 52&lt;br /&gt;
		lr	A,3			; 0CF3 43&lt;br /&gt;
		ni	$F			; 0CF4 21 0F&lt;br /&gt;
		com				; 0CF6 18&lt;br /&gt;
		inc				; 0CF7 1F&lt;br /&gt;
		as	1			; 0CF8 C1&lt;br /&gt;
		lr	1,A			; 0CF9 51&lt;br /&gt;
		lr	A,3			; 0CFA 43&lt;br /&gt;
		ds	6			; 0CFB 36&lt;br /&gt;
		bnz	L0CC3			; 0CFC 94 C6&lt;br /&gt;
		clr				; 0CFE 70&lt;br /&gt;
		outs	1			; 0CFF B1&lt;br /&gt;
		outs	0			; 0D00 B0&lt;br /&gt;
		pop				; 0D01 1C&lt;br /&gt;
&lt;br /&gt;
L0D02:&lt;br /&gt;
		lr	A,HL			; 0D02 4B&lt;br /&gt;
		sl	1			; 0D03 13&lt;br /&gt;
		bp	L0D73			; 0D04 81 6E&lt;br /&gt;
		sl	4			; 0D06 15&lt;br /&gt;
		bm	L0D73			; 0D07 91 6B&lt;br /&gt;
		lisu	6			; 0D09 66&lt;br /&gt;
		lisl	2			; 0D0A 6A&lt;br /&gt;
		clr				; 0D0B 70&lt;br /&gt;
		as	I			; 0D0C CD&lt;br /&gt;
		bp	L0D15			; 0D0D 81 07&lt;br /&gt;
		li	$FF			; 0D0F 20 FF&lt;br /&gt;
		lr	S,A			; 0D11 5C&lt;br /&gt;
		jmp	L0DA8			; 0D12 29 0D A8&lt;br /&gt;
&lt;br /&gt;
L0D15:&lt;br /&gt;
		lr	A,HL			; 0D15 4B&lt;br /&gt;
		sl	1			; 0D16 13&lt;br /&gt;
		sl	1			; 0D17 13&lt;br /&gt;
		sl	4			; 0D18 15&lt;br /&gt;
		bp	L0D1E			; 0D19 81 04&lt;br /&gt;
		jmp	L0DBE			; 0D1B 29 0D BE&lt;br /&gt;
&lt;br /&gt;
L0D1E:&lt;br /&gt;
		lisu	3			; 0D1E 63&lt;br /&gt;
		lisl	5			; 0D1F 6D&lt;br /&gt;
		lr	A,D			; 0D20 4E&lt;br /&gt;
		com				; 0D21 18&lt;br /&gt;
		inc				; 0D22 1F&lt;br /&gt;
		lr	0,A			; 0D23 50&lt;br /&gt;
		lr	A,I			; 0D24 4D&lt;br /&gt;
		com				; 0D25 18&lt;br /&gt;
		inc				; 0D26 1F&lt;br /&gt;
		lr	1,A			; 0D27 51&lt;br /&gt;
		lisu	2			; 0D28 62&lt;br /&gt;
		lisl	2			; 0D29 6A&lt;br /&gt;
		lr	A,D			; 0D2A 4E&lt;br /&gt;
		as	0			; 0D2B C0&lt;br /&gt;
		lr	0,A			; 0D2C 50&lt;br /&gt;
		lr	A,D			; 0D2D 4E&lt;br /&gt;
		as	1			; 0D2E C1&lt;br /&gt;
		lr	1,A			; 0D2F 51&lt;br /&gt;
		clr				; 0D30 70&lt;br /&gt;
		as	0			; 0D31 C0&lt;br /&gt;
		bm	L0D36			; 0D32 91 03&lt;br /&gt;
		com				; 0D34 18&lt;br /&gt;
		inc				; 0D35 1F&lt;br /&gt;
L0D36:&lt;br /&gt;
		ai	2			; 0D36 24 02&lt;br /&gt;
		bm	L0D40			; 0D38 91 07&lt;br /&gt;
		lisu	3			; 0D3A 63&lt;br /&gt;
		lisl	3			; 0D3B 6B&lt;br /&gt;
		lis	7			; 0D3C 77&lt;br /&gt;
		ns	S			; 0D3D FC&lt;br /&gt;
		bz	L0DAB			; 0D3E 84 6C&lt;br /&gt;
L0D40:&lt;br /&gt;
		clr				; 0D40 70&lt;br /&gt;
		as	1			; 0D41 C1&lt;br /&gt;
		bm	L0D46			; 0D42 91 03&lt;br /&gt;
		com				; 0D44 18&lt;br /&gt;
		inc				; 0D45 1F&lt;br /&gt;
L0D46:&lt;br /&gt;
		ai	2			; 0D46 24 02&lt;br /&gt;
		bm	L0D54			; 0D48 91 0B&lt;br /&gt;
		lisu	3			; 0D4A 63&lt;br /&gt;
		lisl	3			; 0D4B 6B&lt;br /&gt;
		lis	4			; 0D4C 74&lt;br /&gt;
		xs	S			; 0D4D EC&lt;br /&gt;
		lis	$C			; 0D4E 7C&lt;br /&gt;
		bz	L0DAB			; 0D4F 84 5B&lt;br /&gt;
		xs	S			; 0D51 EC&lt;br /&gt;
		bz	L0DAB			; 0D52 84 58&lt;br /&gt;
L0D54:&lt;br /&gt;
		lisl	0			; 0D54 68&lt;br /&gt;
		lisu	5			; 0D55 65&lt;br /&gt;
		lr	A,0			; 0D56 40&lt;br /&gt;
		lr	I,A			; 0D57 5D&lt;br /&gt;
		lr	A,1			; 0D58 41&lt;br /&gt;
		lr	D,A			; 0D59 5E&lt;br /&gt;
		clr				; 0D5A 70&lt;br /&gt;
		as	I			; 0D5B CD&lt;br /&gt;
		lis	4			; 0D5C 74&lt;br /&gt;
		bp	L0D84			; 0D5D 81 26&lt;br /&gt;
		lr	0,A			; 0D5F 50&lt;br /&gt;
		clr				; 0D60 70&lt;br /&gt;
		as	S			; 0D61 CC&lt;br /&gt;
		lr	J,W			; 0D62 1E&lt;br /&gt;
		com				; 0D63 18&lt;br /&gt;
		inc				; 0D64 1F&lt;br /&gt;
		lr	D,A			; 0D65 5E&lt;br /&gt;
		lr	W,J			; 0D66 1D&lt;br /&gt;
		lis	2			; 0D67 72&lt;br /&gt;
		bm	L0D95			; 0D68 91 2C&lt;br /&gt;
		lr	A,S			; 0D6A 4C&lt;br /&gt;
		com				; 0D6B 18&lt;br /&gt;
		inc				; 0D6C 1F&lt;br /&gt;
		lr	S,A			; 0D6D 5C&lt;br /&gt;
		lis	2			; 0D6E 72&lt;br /&gt;
		com				; 0D6F 18&lt;br /&gt;
		inc				; 0D70 1F&lt;br /&gt;
		br	L0D95			; 0D71 90 23&lt;br /&gt;
L0D73:&lt;br /&gt;
		lr	A,HL			; 0D73 4B&lt;br /&gt;
		oi	4			; 0D74 22 04&lt;br /&gt;
		lr	HL,A			; 0D76 5B&lt;br /&gt;
		clr				; 0D77 70&lt;br /&gt;
		lr	0,A			; 0D78 50&lt;br /&gt;
		lisu	3			; 0D79 63&lt;br /&gt;
		lisl	1			; 0D7A 69&lt;br /&gt;
		lr	A,S			; 0D7B 4C&lt;br /&gt;
		asd	I			; 0D7C DD&lt;br /&gt;
		as	S			; 0D7D CC&lt;br /&gt;
		lisu	1			; 0D7E 61&lt;br /&gt;
		as	S			; 0D7F CC&lt;br /&gt;
		ni	$F			; 0D80 21 0F&lt;br /&gt;
		br	L0D95			; 0D82 90 12&lt;br /&gt;
L0D84:&lt;br /&gt;
		lis	$C			; 0D84 7C&lt;br /&gt;
		lr	0,A			; 0D85 50&lt;br /&gt;
		clr				; 0D86 70&lt;br /&gt;
		as	D			; 0D87 CE&lt;br /&gt;
		lr	J,W			; 0D88 1E&lt;br /&gt;
		lr	A,S			; 0D89 4C&lt;br /&gt;
		com				; 0D8A 18&lt;br /&gt;
		inc				; 0D8B 1F&lt;br /&gt;
		lr	W,J			; 0D8C 1D&lt;br /&gt;
		bm	L0D90			; 0D8D 91 02&lt;br /&gt;
		lr	S,A			; 0D8F 5C&lt;br /&gt;
L0D90:&lt;br /&gt;
		lis	2			; 0D90 72&lt;br /&gt;
		bp	L0D95			; 0D91 81 03&lt;br /&gt;
		com				; 0D93 18&lt;br /&gt;
		inc				; 0D94 1F&lt;br /&gt;
L0D95:&lt;br /&gt;
		as	0			; 0D95 C0&lt;br /&gt;
		lisu	5			; 0D96 65&lt;br /&gt;
		lisl	3			; 0D97 6B&lt;br /&gt;
		lr	S,A			; 0D98 5C&lt;br /&gt;
		com				; 0D99 18&lt;br /&gt;
		inc				; 0D9A 1F&lt;br /&gt;
		lisu	3			; 0D9B 63&lt;br /&gt;
		as	S			; 0D9C CC&lt;br /&gt;
		bz	L0DAB			; 0D9D 84 0D&lt;br /&gt;
		sl	4			; 0D9F 15&lt;br /&gt;
		li	$F7			; 0DA0 20 F7&lt;br /&gt;
		bp	L0DA6			; 0DA2 81 03&lt;br /&gt;
		xi	$C			; 0DA4 23 0C&lt;br /&gt;
L0DA6:&lt;br /&gt;
		lisu	6			; 0DA6 66&lt;br /&gt;
		lr	S,A			; 0DA7 5C&lt;br /&gt;
L0DA8:&lt;br /&gt;
		jmp	L097E			; 0DA8 29 09 7E&lt;br /&gt;
&lt;br /&gt;
L0DAB:&lt;br /&gt;
		lr	A,HL			; 0DAB 4B&lt;br /&gt;
		sl	1			; 0DAC 13&lt;br /&gt;
		sl	4			; 0DAD 15&lt;br /&gt;
		lr	A,HL			; 0DAE 4B&lt;br /&gt;
		bm	L0DB9			; 0DAF 91 09&lt;br /&gt;
		lisu	6			; 0DB1 66&lt;br /&gt;
		lisl	3			; 0DB2 6B&lt;br /&gt;
		li	$7F			; 0DB3 20 7F&lt;br /&gt;
		lr	S,A			; 0DB5 5C&lt;br /&gt;
		lr	A,HL			; 0DB6 4B&lt;br /&gt;
		oi	2			; 0DB7 22 02&lt;br /&gt;
L0DB9:&lt;br /&gt;
		ni	$FB			; 0DB9 21 FB&lt;br /&gt;
		lr	HL,A			; 0DBB 5B&lt;br /&gt;
		br	L0DA8			; 0DBC 90 EB&lt;br /&gt;
L0DBE:&lt;br /&gt;
		lisu	5			; 0DBE 65&lt;br /&gt;
		lisl	0			; 0DBF 68&lt;br /&gt;
		lr	A,I			; 0DC0 4D&lt;br /&gt;
		as	S			; 0DC1 CC&lt;br /&gt;
		lis	1			; 0DC2 71&lt;br /&gt;
		bp	L0DC7			; 0DC3 81 03&lt;br /&gt;
		com				; 0DC5 18&lt;br /&gt;
		inc				; 0DC6 1F&lt;br /&gt;
L0DC7:&lt;br /&gt;
		lisu	3			; 0DC7 63&lt;br /&gt;
		lisl	3			; 0DC8 6B&lt;br /&gt;
		as	S			; 0DC9 CC&lt;br /&gt;
		ni	$F			; 0DCA 21 0F&lt;br /&gt;
		lr	S,A			; 0DCC 5C&lt;br /&gt;
		lisu	6			; 0DCD 66&lt;br /&gt;
		li	$7F			; 0DCE 20 7F&lt;br /&gt;
		lr	S,A			; 0DD0 5C&lt;br /&gt;
		lr	A,HL			; 0DD1 4B&lt;br /&gt;
		ni	$FD			; 0DD2 21 FD&lt;br /&gt;
		lr	HL,A			; 0DD4 5B&lt;br /&gt;
		br	L0DA8			; 0DD5 90 D2&lt;br /&gt;
&lt;br /&gt;
L0DD7:&lt;br /&gt;
		.byte	$00, $30, $2E, $01, $33, $2E, $02, $31, $33					; 0DD7	object/parameter triples&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		; aeroplane sprites 8x8, full loop &lt;br /&gt;
&lt;br /&gt;
L0DE0:&lt;br /&gt;
		.byte	%00000000			; 0DE0 00	right&lt;br /&gt;
		.byte	%01000000&lt;br /&gt;
		.byte	%01100000&lt;br /&gt;
		.byte	%01111101&lt;br /&gt;
		.byte	%01111111&lt;br /&gt;
		.byte	%01111101&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00000000			; 0DE8 00	first angle up&lt;br /&gt;
		.byte	%00000010&lt;br /&gt;
		.byte	%00001111&lt;br /&gt;
		.byte	%01011101&lt;br /&gt;
		.byte	%01111000&lt;br /&gt;
		.byte	%01110000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00000100			; 0DF0 04	second angle up&lt;br /&gt;
		.byte	%00000010&lt;br /&gt;
		.byte	%00001101&lt;br /&gt;
		.byte	%01011100&lt;br /&gt;
		.byte	%01111000&lt;br /&gt;
		.byte	%01110000&lt;br /&gt;
		.byte	%00100000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00001100			; 0DF8 0C	third angle up&lt;br /&gt;
		.byte	%00000110&lt;br /&gt;
		.byte	%00001100&lt;br /&gt;
		.byte	%00011100&lt;br /&gt;
		.byte	%01011000&lt;br /&gt;
		.byte	%01111000&lt;br /&gt;
		.byte	%00110000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00011100			; 0E00 1C	up&lt;br /&gt;
		.byte	%00001000&lt;br /&gt;
		.byte	%00011100&lt;br /&gt;
		.byte	%00011100&lt;br /&gt;
		.byte	%00011100&lt;br /&gt;
		.byte	%00111100&lt;br /&gt;
		.byte	%01111100&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00110000			; 0E08 30	loop 3&lt;br /&gt;
		.byte	%01100000&lt;br /&gt;
		.byte	%00110000&lt;br /&gt;
		.byte	%00111000&lt;br /&gt;
		.byte	%00011100&lt;br /&gt;
		.byte	%00001100&lt;br /&gt;
		.byte	%00011100&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00100000			; 0E10 20	loop 3&lt;br /&gt;
		.byte	%01000000&lt;br /&gt;
		.byte	%10110000&lt;br /&gt;
		.byte	%00111000&lt;br /&gt;
		.byte	%00011100&lt;br /&gt;
		.byte	%00001110&lt;br /&gt;
		.byte	%00011100&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00000000			; 0E18 00	loop 3&lt;br /&gt;
		.byte	%01000000&lt;br /&gt;
		.byte	%11110000&lt;br /&gt;
		.byte	%10111100&lt;br /&gt;
		.byte	%00011110&lt;br /&gt;
		.byte	%00001110&lt;br /&gt;
		.byte	%00011100&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00000000			; 0E20 00	left up-side-down&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
		.byte	%10111110&lt;br /&gt;
		.byte	%11111110&lt;br /&gt;
		.byte	%10111110&lt;br /&gt;
		.byte	%00000110&lt;br /&gt;
		.byte	%00000010&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00000000			; 0E28 00	loop down 1&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
		.byte	%00001110&lt;br /&gt;
		.byte	%00011110&lt;br /&gt;
		.byte	%10111010&lt;br /&gt;
		.byte	%11110000&lt;br /&gt;
		.byte	%01000000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00000000			; 0E30 00	loop down 2&lt;br /&gt;
		.byte	%00000100&lt;br /&gt;
		.byte	%00001110&lt;br /&gt;
		.byte	%00011110&lt;br /&gt;
		.byte	%00111010&lt;br /&gt;
		.byte	%10110000&lt;br /&gt;
		.byte	%01000000&lt;br /&gt;
		.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00000000			; 0E38 00	loop down 3&lt;br /&gt;
		.byte	%00001100&lt;br /&gt;
		.byte	%00011110&lt;br /&gt;
		.byte	%00011010&lt;br /&gt;
		.byte	%00111000&lt;br /&gt;
		.byte	%00110000&lt;br /&gt;
		.byte	%01100000&lt;br /&gt;
		.byte	%00110000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00000000			; 0E40 00	straight down&lt;br /&gt;
		.byte	%00111110&lt;br /&gt;
		.byte	%00111100&lt;br /&gt;
		.byte	%00111000&lt;br /&gt;
		.byte	%00111000&lt;br /&gt;
		.byte	%00111000&lt;br /&gt;
		.byte	%00010000&lt;br /&gt;
		.byte	%00111000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00000000			; 0E48 00	loop up 1&lt;br /&gt;
		.byte	%00111000&lt;br /&gt;
		.byte	%00110000&lt;br /&gt;
		.byte	%00111000&lt;br /&gt;
		.byte	%00011100&lt;br /&gt;
		.byte	%00001100&lt;br /&gt;
		.byte	%00000110&lt;br /&gt;
		.byte	%00001100&lt;br /&gt;
&lt;br /&gt;
		.byte	%00000000			; 0E50 00	loop up 2&lt;br /&gt;
		.byte	%00111000&lt;br /&gt;
		.byte	%01110000&lt;br /&gt;
		.byte	%00111000&lt;br /&gt;
		.byte	%00011100&lt;br /&gt;
		.byte	%00001101&lt;br /&gt;
		.byte	%00000010&lt;br /&gt;
		.byte	%00000100&lt;br /&gt;
&lt;br /&gt;
		.byte	%00000000			; 0E58 00	loop up 3&lt;br /&gt;
		.byte	%00110000&lt;br /&gt;
		.byte	%01100000&lt;br /&gt;
		.byte	%01111000&lt;br /&gt;
		.byte	%00111101&lt;br /&gt;
		.byte	%00001111&lt;br /&gt;
		.byte	%00000010&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		; flight tower image 8x8 parts&lt;br /&gt;
&lt;br /&gt;
L0E60:&lt;br /&gt;
L0E60:&lt;br /&gt;
		.byte	%00001110			; 0E60 0E&lt;br /&gt;
		.byte	%11111111&lt;br /&gt;
		.byte	%11111111&lt;br /&gt;
		.byte	%00111111&lt;br /&gt;
		.byte	%00101010&lt;br /&gt;
		.byte	%00101110&lt;br /&gt;
		.byte	%00101010&lt;br /&gt;
		.byte	%00101110&lt;br /&gt;
&lt;br /&gt;
		.byte	%01110000			; 0E68 70&lt;br /&gt;
		.byte	%11111111&lt;br /&gt;
		.byte	%11111111&lt;br /&gt;
		.byte	%11111100&lt;br /&gt;
		.byte	%01010100&lt;br /&gt;
		.byte	%01110100&lt;br /&gt;
		.byte	%01010100&lt;br /&gt;
		.byte	%01110100&lt;br /&gt;
&lt;br /&gt;
		.byte	%01011101			; 0E70 5D&lt;br /&gt;
		.byte	%01010101&lt;br /&gt;
		.byte	%01011101&lt;br /&gt;
		.byte	%01010101&lt;br /&gt;
		.byte	%01011101&lt;br /&gt;
		.byte	%01010101&lt;br /&gt;
		.byte	%01011101&lt;br /&gt;
		.byte	%01010101&lt;br /&gt;
&lt;br /&gt;
L0E78:&lt;br /&gt;
		.byte	$03, $A3, $B3, $B2, $B0, $BA, $BB, $AB, $0B, $2B, $3B, $3A, $30, $32, $33, $23	; 0E78	16 byte look-up&lt;br /&gt;
&lt;br /&gt;
L0E88:&lt;br /&gt;
		.byte	$00, $00, $00, $00, $00, $00, $00, $00						; 0E88	clear sprite&lt;br /&gt;
&lt;br /&gt;
L0E90:&lt;br /&gt;
		.byte	$0C, $09, $06, $2B, $03								; 0E90	parameter table&lt;br /&gt;
&lt;br /&gt;
L0E95:&lt;br /&gt;
		.byte	$43, $33, $34, $44								; 0E95	lookup table&lt;br /&gt;
&lt;br /&gt;
L0E99:&lt;br /&gt;
		dci	L0FD0			; 0E99 2A 0F D0	Jumps here after button 3 is pressed at prompt, set keypress data pointer&lt;br /&gt;
L0E9C:&lt;br /&gt;
		li	$8A			; 0E9C 20 8A&lt;br /&gt;
		lr	0,A			; 0E9E 50	$8A in r0 (RED G)&lt;br /&gt;
		lr	Q,DC			; 0E9F 0E	Load DC0 address in Q,backup address&lt;br /&gt;
		pi	prompt			; 0EA0 28 00 99	Jump to BIOS subroutine prompt + read buttons&lt;br /&gt;
		lr	DC,Q			; 0EA3 0F	Restore address to DC again&lt;br /&gt;
		lr	A,4			; 0EA4 44	Fetch collected button press&lt;br /&gt;
		cm				; 0EA5 8D	Compare memory and A by doing ((DC0))-A but only set flags, A is untouched. DC0 is increased&lt;br /&gt;
		bnz	L0ED3			; 0EA6 94 2C	If they're not the same, reboot the cartridge&lt;br /&gt;
		lr	H,DC			; 0EA8 11	Store current DC0 address in H this time (r10 and r11)&lt;br /&gt;
		lr	A,HU			; 0EA9 4A	Load upper part of H in A&lt;br /&gt;
		ci	$10			; 0EAA 25 10	Check if DC0 address rolled over from $0F to $10&lt;br /&gt;
		bnz	L0E9C			; 0EAC 94 EF	If it didn't, repeat the above (press the button same as the data) until you do.&lt;br /&gt;
		li	$10			; 0EAE 20 10	***** DRAW SECRET MESSAGE *****&lt;br /&gt;
		lr	1,A			; 0EB0 51	X coordinate $10 in r1&lt;br /&gt;
		li	$13			; 0EB1 20 13&lt;br /&gt;
		lr	2,A			; 0EB3 52	Y coordinate $13 in r2&lt;br /&gt;
		dci	L0ED6			; 0EB4 2A 0E D6	Point data counter to graphics&lt;br /&gt;
		lis	7			; 0EB7 77&lt;br /&gt;
		lr	4,A			; 0EB8 54	8 letters, amount in r4 (DONE BY )&lt;br /&gt;
L0EB9:&lt;br /&gt;
		li	$80			; 0EB9 20 80&lt;br /&gt;
		lr	0,A			; 0EBB 50	$80 in 0 - RED color&lt;br /&gt;
		pi	$067C			; 0EBC 28 06 7C	Subroutine jump to BIOS drawchar...&lt;br /&gt;
		ds	4			; 0EBF 34&lt;br /&gt;
		bnz	L0EB9			; 0EC0 94 F8	Loop if there's letters left&lt;br /&gt;
		li	$10			; 0EC2 20 10&lt;br /&gt;
		lr	1,A			; 0EC4 51	X coordinate $10&lt;br /&gt;
		li	$1A			; 0EC5 20 1A&lt;br /&gt;
		lr	2,A			; 0EC7 52	Y coordinate $1A&lt;br /&gt;
		lis	$F			; 0EC8 7F&lt;br /&gt;
		lr	4,A			; 0EC9 54	16 letters to write, loaded in r4 (MICHAEL K GLASS)&lt;br /&gt;
L0ECA:&lt;br /&gt;
		li	$40			; 0ECA 20 40&lt;br /&gt;
		lr	0,A			; 0ECC 50	Blue color set in r0&lt;br /&gt;
		pi	$067C			; 0ECD 28 06 7C	Subroutine jump to BIOS drawchar...&lt;br /&gt;
		ds	4			; 0ED0 34	Decrease r4&lt;br /&gt;
		bnz	L0ECA			; 0ED1 94 F8	Repeat if not yet 0&lt;br /&gt;
L0ED3:&lt;br /&gt;
		jmp	L0802			; 0ED3 29 08 02	Reboot cartridge&lt;br /&gt;
&lt;br /&gt;
		; Graphics data starts here 5x5 pixels, one row per byte.&lt;br /&gt;
L0ED6:&lt;br /&gt;
		.byte	%11100000		; 0ED6 E0	; D&lt;br /&gt;
		.byte	%10010000&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
		.byte	%10010000&lt;br /&gt;
		.byte	%11100000&lt;br /&gt;
&lt;br /&gt;
		.byte	%11111000		; 0EDB F8	; O&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
		.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
		.byte	%10001000		; 0EE0 88	; N&lt;br /&gt;
		.byte	%11001000&lt;br /&gt;
		.byte	%10101000&lt;br /&gt;
		.byte	%10011000&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
&lt;br /&gt;
		.byte	%11111000		; 0EE5 F8	; E&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%11100000&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00000000		; 0EEA 00	; space&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
		.byte	%11110000		; 0EEF F0	; B&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
		.byte	%11110000&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
		.byte	%11110000&lt;br /&gt;
&lt;br /&gt;
		.byte	%10001000		; 0EF4 88	; Y&lt;br /&gt;
		.byte	%01010000&lt;br /&gt;
		.byte	%00100000&lt;br /&gt;
		.byte	%00100000&lt;br /&gt;
		.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
		.byte	%10001000		; 0EF9 88	; M&lt;br /&gt;
		.byte	%11011000&lt;br /&gt;
		.byte	%10101000&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
&lt;br /&gt;
		.byte	%11111000		; 0EFE F8	; I&lt;br /&gt;
		.byte	%00100000&lt;br /&gt;
		.byte	%00100000&lt;br /&gt;
		.byte	%00100000&lt;br /&gt;
		.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
		.byte	%11111000		; 0F03 F8	; C&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
		.byte	%10001000		; 0F08 88	; H&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
		.byte	%11111000&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
&lt;br /&gt;
		.byte	%11111000		; 0F0D F8	; A&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
		.byte	%11111000&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
&lt;br /&gt;
		.byte	%11111000		; 0F12 F8	; E&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%11100000&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
		.byte	%10000000		; 0F17 80	; L&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00000000		; 0F1C 00	; space&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
		.byte	%10010000		; 0F21 90	; K&lt;br /&gt;
		.byte	%10100000&lt;br /&gt;
		.byte	%11000000&lt;br /&gt;
		.byte	%10100000&lt;br /&gt;
		.byte	%10010000&lt;br /&gt;
&lt;br /&gt;
		.byte	%00000000		; 0F26 00	; space&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
		.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
		.byte	%11111000		; 0F2B F8	; G&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%10111000&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
		.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
		.byte	%10000000		; 0F30 80	; L&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%11110000&lt;br /&gt;
&lt;br /&gt;
		.byte	%11111000		; 0F35 F8	; A&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
		.byte	%11111000&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
		.byte	%10001000&lt;br /&gt;
&lt;br /&gt;
		.byte	%11111000		; 0F3A F8	; S&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%11111000&lt;br /&gt;
		.byte	%00001000&lt;br /&gt;
		.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
		.byte	%11111000		; 0F3F F8	; S&lt;br /&gt;
		.byte	%10000000&lt;br /&gt;
		.byte	%11111000&lt;br /&gt;
		.byte	%00001000&lt;br /&gt;
		.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
		.byte	%11111111		; 0F44 FF	; filler&lt;br /&gt;
		.byte	%11111111&lt;br /&gt;
		.byte	%11111111&lt;br /&gt;
		.byte	%11111111&lt;br /&gt;
		.byte	%11111111&lt;br /&gt;
&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0F49&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0F59&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0F69&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0F79&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0F89&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0F99&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0FA9&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0FB9&lt;br /&gt;
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF						; 0FC9&lt;br /&gt;
&lt;br /&gt;
	; Easter Egg keypresses needed after selecting the backdoor option with button 3&lt;br /&gt;
	; $01 means button 1, $02 means button 2, $04 means button 3, $08 means button 4&lt;br /&gt;
&lt;br /&gt;
L0FD0:		.byte	$04, $08, $04, $02, $08, $02, $01, $02, $08, $01, $04, $04, $02, $04, $01, $08	; 0FD0&lt;br /&gt;
		.byte	$04, $02, $01, $08, $02, $04, $01, $08, $04, $02, $02, $01, $04, $02, $04, $08	; 0FE0&lt;br /&gt;
		.byte	$02, $04, $04, $08, $01, $01, $01, $02, $02, $04, $04, $02, $08, $08, $08, $04	; 0FF0&lt;br /&gt;
&lt;br /&gt;
	; Decodes to sequence: 343 242 124 133 231 432 142 314 322 132 342 334 111 223 324 443 (after first pressing button 3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		IF 0&lt;br /&gt;
&lt;br /&gt;
Smart data report&lt;br /&gt;
=================&lt;br /&gt;
Mode:&lt;br /&gt;
 enabled by -s or /s&lt;br /&gt;
Memory range: $0800-$0FFF&lt;br /&gt;
Code bytes: 1551&lt;br /&gt;
Data bytes: 497&lt;br /&gt;
&lt;br /&gt;
DCI data roots from reachable code:&lt;br /&gt;
  $0FD0 from $0E99&lt;br /&gt;
  $0ED6 from $0EB4&lt;br /&gt;
  $0DE0 from $0878&lt;br /&gt;
  $0DE0 from $0886&lt;br /&gt;
  $0DD7 from $0838&lt;br /&gt;
  $0E60 from $084D&lt;br /&gt;
  $0E88 from $0856&lt;br /&gt;
  $0E90 from $08C2&lt;br /&gt;
  $0E78 from $0C56&lt;br /&gt;
  $0E88 from $091C&lt;br /&gt;
  $0DE0 from $0913&lt;br /&gt;
  $0E95 from $09F3&lt;br /&gt;
  $0DE0 from $0AB6&lt;br /&gt;
  $0DE0 from $0B07&lt;br /&gt;
  $0E88 from $0B27&lt;br /&gt;
  $0E88 from $0BC3&lt;br /&gt;
  $0E88 from $0BCE&lt;br /&gt;
&lt;br /&gt;
Data intervals emitted as .byte:&lt;br /&gt;
  $08CC-$08D0 (5 bytes)&lt;br /&gt;
  $0DD7-$0E98 (194 bytes)&lt;br /&gt;
  $0ED6-$0FFF (298 bytes)&lt;br /&gt;
&lt;br /&gt;
		ENDIF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's how the plane sprites at $0DE0 looks as well as the following tower parts:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; align-items: flex-start; gap: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div&amp;gt;[[File:L0DE0_bitmap_8x128_scale16.png|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div&amp;gt;[[File:L0E60_bitmap_8x24_scale24.png|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=File:L0E60_bitmap_8x24_scale24.png&amp;diff=782</id>
		<title>File:L0E60 bitmap 8x24 scale24.png</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=File:L0E60_bitmap_8x24_scale24.png&amp;diff=782"/>
				<updated>2026-08-05T18:07:38Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=File:L0DE0_bitmap_8x128_scale16.png&amp;diff=781</id>
		<title>File:L0DE0 bitmap 8x128 scale16.png</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=File:L0DE0_bitmap_8x128_scale16.png&amp;diff=781"/>
				<updated>2026-08-05T18:03:00Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Snippet:KStack&amp;diff=780</id>
		<title>Snippet:KStack</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Snippet:KStack&amp;diff=780"/>
				<updated>2026-08-04T22:44:31Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
;===========================================================================&lt;br /&gt;
; KStack Functions&lt;br /&gt;
;===========================================================================&lt;br /&gt;
; the K stack implements a stack using the registers. it uses r63 as a stack&lt;br /&gt;
; pointer that holds the register number of the top of the stack, starting&lt;br /&gt;
; at r57 and working down. when called, K is pushed to the first two&lt;br /&gt;
; registers on the stack, and the pointer is increased.&lt;br /&gt;
;&lt;br /&gt;
; at startup, the stack pointer (r63) should be set to 62 ($3E)&lt;br /&gt;
&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
; KStack Push&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
; pushes register K onto the stack using r63 as the stack pointer&lt;br /&gt;
; destroys ISAR&lt;br /&gt;
&lt;br /&gt;
kstack.push:&lt;br /&gt;
	; get the top of the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	7			; r63, stack pointer&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	IS, A			; load the referenced register&lt;br /&gt;
	; push K onto the stack&lt;br /&gt;
	lr	A, Ku&lt;br /&gt;
	lr	D, A			; push high byte of K&lt;br /&gt;
	lr	A, Kl&lt;br /&gt;
	lr	S, A			; push low byte of K&lt;br /&gt;
	; adjust the stack pointer&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	ai	$ff			; decrease ISAR&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	7&lt;br /&gt;
	lr	S, A			; store the adjusted stack pointer in r63&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
; KStack Pop&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
; pops register K from the stack using r63 as the stack pointer&lt;br /&gt;
; destroys ISAR&lt;br /&gt;
                &lt;br /&gt;
kstack.pop:&lt;br /&gt;
	; retrieve K from the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	7&lt;br /&gt;
	lr	A, S			; load the stack pointer into A&lt;br /&gt;
	inc				; increment the pointer&lt;br /&gt;
	lr	IS, A			; and set the ISAR&lt;br /&gt;
	lr	A, I&lt;br /&gt;
	lr	Kl, A			; load lower byte of K &lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Ku, A			; load upper byte of K&lt;br /&gt;
	; adjust the stack pointer&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	7&lt;br /&gt;
	lr	S, A			; store the adjusted stack pointer in r63&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Snippet:KStack&amp;diff=779</id>
		<title>Snippet:KStack</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Snippet:KStack&amp;diff=779"/>
				<updated>2026-08-04T22:43:21Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: Created page with &amp;quot;&amp;lt;pre&amp;gt; ;=========================================================================== ; KStack Functions ;========================================================================...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
;===========================================================================&lt;br /&gt;
; KStack Functions&lt;br /&gt;
;===========================================================================&lt;br /&gt;
; the K stack implements a stack using the registers. it uses r63 as a stack&lt;br /&gt;
; pointer that holds the register number of the top of the stack, starting&lt;br /&gt;
; at r57 and working down. when called, K is pushed to the first two&lt;br /&gt;
; registers on the stack, and the pointer is increased.&lt;br /&gt;
;&lt;br /&gt;
; at startup, the stack pointer (r63) should be set to 62 ($3E)&lt;br /&gt;
&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
; KStack Push&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
; pushes register K onto the stack using r63 as the stack pointer&lt;br /&gt;
; destroys ISAR&lt;br /&gt;
&lt;br /&gt;
kstack.push:&lt;br /&gt;
	; get the top of the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	7			; r63, stack pointer&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	IS, A			; load the referenced register&lt;br /&gt;
	; push K onto the stack&lt;br /&gt;
	lr	A, Ku&lt;br /&gt;
	lr	S, A			; push high byte of K&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	ai	$ff			; decrease ISAR&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
	lr	A, Kl&lt;br /&gt;
	lr	S, A			; push low byte of K&lt;br /&gt;
	; adjust the stack pointer&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	ai	$ff			; decrease ISAR&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	7&lt;br /&gt;
	lr	S, A			; store the adjusted stack pointer in r63&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
; KStack Pop&lt;br /&gt;
;---------------------------------------------------------------------------&lt;br /&gt;
; pops register K from the stack using r63 as the stack pointer&lt;br /&gt;
; destroys ISAR&lt;br /&gt;
                &lt;br /&gt;
kstack.pop:&lt;br /&gt;
	; retrieve K from the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	7&lt;br /&gt;
	lr	A, S			; load the stack pointer into A&lt;br /&gt;
	inc				; increment the pointer&lt;br /&gt;
	lr	IS, A			; and set the ISAR&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Kl, A			; load lower byte of K &lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc				; increase ISAR&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Ku, A			; load upper byte of K&lt;br /&gt;
	; adjust the stack pointer&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	7&lt;br /&gt;
	lr	S, A			; store the adjusted stack pointer in r63&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Subroutines&amp;diff=778</id>
		<title>Subroutines</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Subroutines&amp;diff=778"/>
				<updated>2026-08-04T22:41:49Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F8 has no internal stack for the program counter, so you must be careful when calling subroutines.  Using PI/POP only works for one level of subroutines, because the return address for the first PI opcode will be overwritten by subsequent PI opcodes.  Here's a single-level example:&lt;br /&gt;
&lt;br /&gt;
   prog:&lt;br /&gt;
       ; ...code&lt;br /&gt;
       pi sub                  ; Pushes address of next instruction to PC1&lt;br /&gt;
                               ; address of sub is stored in PC0 (jump to subroutine)&lt;br /&gt;
       ; ...code continues&lt;br /&gt;
&lt;br /&gt;
   sub:&lt;br /&gt;
       ; ... often used code&lt;br /&gt;
       pop                     ; Move return address from PC1 to PC0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To have 2 levels of subroutines, you can use the K register to save the first return address:&lt;br /&gt;
&lt;br /&gt;
   prog:&lt;br /&gt;
       ; ...do something...&lt;br /&gt;
       pi sub1                 ; Address of next instruction stored in PC1&lt;br /&gt;
                               ; sub1 is stored in PC0 (jump to subroutine)&lt;br /&gt;
       ; ...do more...&lt;br /&gt;
&lt;br /&gt;
   sub1:&lt;br /&gt;
       lr k,p                  ; Copy PC1 to K, original jump address to K&lt;br /&gt;
       ; ...do something...&lt;br /&gt;
       pi sub2                 ; Pushes address of next instruction to PC1&lt;br /&gt;
                               ; sub1 is stored in PC0 (jump to subroutine)&lt;br /&gt;
       ; ...do more...&lt;br /&gt;
       pk                      ; Store address of next instruction in PC1&lt;br /&gt;
                               ; Copy value in K to PC0 (jump back to main)&lt;br /&gt;
&lt;br /&gt;
   sub2:&lt;br /&gt;
       ; ...do something...&lt;br /&gt;
       pop                     ; Move return address from PC1 to PC0&lt;br /&gt;
&lt;br /&gt;
That's as deep as the processor allows you to go without writing additional code to save return addresses.  In the Channel F BIOS, there are routines which create a simulated [[stack]] for the K register.  The routine at $0107 (known as PUSHK or CALL) can push K to the stack and the routine at $011E (known as POPK or RTRN) can pop K from the stack. For example:&lt;br /&gt;
&lt;br /&gt;
   prog:&lt;br /&gt;
       ; ...do something...&lt;br /&gt;
       pi sub1&lt;br /&gt;
       ; ...do more...&lt;br /&gt;
&lt;br /&gt;
   sub1:&lt;br /&gt;
       lr k,p&lt;br /&gt;
       pi PUSHK&lt;br /&gt;
       ; ...do something...&lt;br /&gt;
       pi sub2&lt;br /&gt;
       ; ...do more...&lt;br /&gt;
       pi POPK&lt;br /&gt;
       pk&lt;br /&gt;
&lt;br /&gt;
   sub2:&lt;br /&gt;
       lr k,p&lt;br /&gt;
       pi PUSHK&lt;br /&gt;
       ; ...do something...&lt;br /&gt;
       pi sub3&lt;br /&gt;
       ; ...do more...&lt;br /&gt;
       pi POPK&lt;br /&gt;
       pk&lt;br /&gt;
&lt;br /&gt;
   sub3:&lt;br /&gt;
       ; ...do something...&lt;br /&gt;
       pop&lt;br /&gt;
&lt;br /&gt;
By using PUSHK/POPK, you can have more than 2 levels of subroutine calls. However, a lot of overhead is added to the code by manipulating the stack. When inside a pushk/popk subroutine it's still possible to use plain pi/pop as it only affects PC0 and PC1. Whenever calling a subroutine one level deep, it's best to use the PI/POP combination; for two levels of subroutines, it's best to use the second example above. If using the K register in a subroutine only simple PI/POP is usable to get there, not to destroy contents of K.&lt;br /&gt;
&lt;br /&gt;
You can use the pushk ($0107) and popk ($011E) routines from BIOS or use these slightly faster versions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;==================;&lt;br /&gt;
; Register K Stack ;&lt;br /&gt;
;==================;&lt;br /&gt;
&lt;br /&gt;
; the K stack is an emulated stack using the register r59&lt;br /&gt;
; as a stack pointer, which holds the register number for&lt;br /&gt;
; the top of the stack, which first points at r40. when&lt;br /&gt;
; pushk is called, K is pushed to the first two registers&lt;br /&gt;
; on the stack, and the pointer is increased.&lt;br /&gt;
;&lt;br /&gt;
; the K stack can hold 9 copies of K (r40-58) before &lt;br /&gt;
; the stack pointer itself is overwritten (r59)&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Push K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; pushes register K (r12-13) onto a stack using r59 as&lt;br /&gt;
; the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
&lt;br /&gt;
		; 26% faster than BIOS (6 cycles)&lt;br /&gt;
pushk:&lt;br /&gt;
		lr	A, IS				; backup ISAR in r7&lt;br /&gt;
		lr	7,A&lt;br /&gt;
		lisu	7				; get the top of the stack&lt;br /&gt;
		lisl	3				; r59, stack pointer&lt;br /&gt;
		lr	A,S&lt;br /&gt;
		lr	IS, A				; load the referenced register	&lt;br /&gt;
		lr	A,KU&lt;br /&gt;
		lr	I,A				; push high byte of K&lt;br /&gt;
		lr	A,KL&lt;br /&gt;
		lr	I,A				; push low byte of K&lt;br /&gt;
		lr	A,IS&lt;br /&gt;
		lisu	7&lt;br /&gt;
		lisl	3&lt;br /&gt;
		lr	S,A				; save the register number to the stack pointer&lt;br /&gt;
		lr	A,7				; restore the ISAR&lt;br /&gt;
		lr	IS,A&lt;br /&gt;
		pop&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Pop K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; retrieves a 16-bit value from the K stack and&lt;br /&gt;
; stores it in K, using r59 as the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
                &lt;br /&gt;
		; 18% faster than BIOS (4.5 cycles)&lt;br /&gt;
popk:&lt;br /&gt;
		lr	A,IS				; backup ISAR in r7&lt;br /&gt;
		lr	7,A&lt;br /&gt;
		lisu	7				; r59, stack pointer&lt;br /&gt;
		lisl	3&lt;br /&gt;
		lr	A,S				; A = stack pointer, points to next free&lt;br /&gt;
		ai	$ff				; A = last pushed byte, KL&lt;br /&gt;
		lr	IS,A				; ISAR -&amp;gt; KL&lt;br /&gt;
		lr	A,D				; read KL, then ISAR -&amp;gt; KU&lt;br /&gt;
		lr	KL,A&lt;br /&gt;
		lr	A,S				; read KU&lt;br /&gt;
		lr	KU,A&lt;br /&gt;
		lr	A,IS				; ISAR now points to new stack pointer&lt;br /&gt;
		lisu	7&lt;br /&gt;
		lisl	3&lt;br /&gt;
		lr	S,A				; store new stack pointer in r59&lt;br /&gt;
		lr	A,7				; restore original ISAR&lt;br /&gt;
		lr	IS,A&lt;br /&gt;
		pop&lt;br /&gt;
&lt;br /&gt;
;===================;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also consider using macros- you have a lot more code space than the original Channel F programmers, so you might as well use it; the time you save can be considerable.&lt;br /&gt;
&lt;br /&gt;
Blackbird is writing more efficient versions of PUSHK/POPK ([[Snippet:KStack]]).  Another idea is to write a version that uses the Schach RAM at $2800 that MESS emulates.  That would free up more scratchpad registers and possibly also be quicker.&lt;br /&gt;
&lt;br /&gt;
Here's a trick from the [https://www.channelf.se/files/channelf/F8_Guide_to_Programming.pdf Guide]: if a subroutine will be called frequently, it's quicker to load its address into the K register and call it using PK than to use PI multiple times. You'll use 4.5 cycles instead of 6.5 cycles to do the same thing. &lt;br /&gt;
&lt;br /&gt;
It's also possible to change the Program Counter (PC0) with &amp;quot;lr P,Q&amp;quot; but there's no opcode for the other direction, address could be copied from A to Q in two steps or K to Q in four steps via Accumulator one byte at the time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== See Also ===&lt;br /&gt;
* [https://www.channelf.se/files/channelf/F8_Guide_to_Programming.pdf F8 Guide to Programming]&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Subroutines&amp;diff=777</id>
		<title>Subroutines</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Subroutines&amp;diff=777"/>
				<updated>2026-08-04T22:38:12Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F8 has no internal stack for the program counter, so you must be careful when calling subroutines.  Using PI/POP only works for one level of subroutines, because the return address for the first PI opcode will be overwritten by subsequent PI opcodes.  Here's a single-level example:&lt;br /&gt;
&lt;br /&gt;
   prog:&lt;br /&gt;
       ; ...code&lt;br /&gt;
       pi sub                  ; Pushes address of next instruction to PC1&lt;br /&gt;
                               ; address of sub is stored in PC0 (jump to subroutine)&lt;br /&gt;
       ; ...code continues&lt;br /&gt;
&lt;br /&gt;
   sub:&lt;br /&gt;
       ; ... often used code&lt;br /&gt;
       pop                     ; Move return address from PC1 to PC0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To have 2 levels of subroutines, you can use the K register to save the first return address:&lt;br /&gt;
&lt;br /&gt;
   prog:&lt;br /&gt;
       ; ...do something...&lt;br /&gt;
       pi sub1                 ; Address of next instruction stored in PC1&lt;br /&gt;
                               ; sub1 is stored in PC0 (jump to subroutine)&lt;br /&gt;
       ; ...do more...&lt;br /&gt;
&lt;br /&gt;
   sub1:&lt;br /&gt;
       lr k,p                  ; Copy PC1 to K, original jump address to K&lt;br /&gt;
       ; ...do something...&lt;br /&gt;
       pi sub2                 ; Pushes address of next instruction to PC1&lt;br /&gt;
                               ; sub1 is stored in PC0 (jump to subroutine)&lt;br /&gt;
       ; ...do more...&lt;br /&gt;
       pk                      ; Store address of next instruction in PC1&lt;br /&gt;
                               ; Copy value in K to PC0 (jump back to main)&lt;br /&gt;
&lt;br /&gt;
   sub2:&lt;br /&gt;
       ; ...do something...&lt;br /&gt;
       pop                     ; Move return address from PC1 to PC0&lt;br /&gt;
&lt;br /&gt;
That's as deep as the processor allows you to go without writing additional code to save return addresses.  In the Channel F BIOS, there are routines which create a simulated [[stack]] for the K register.  The routine at $0107 (known as PUSHK or CALL) can push K to the stack and the routine at $011E (known as POPK or RTRN) can pop K from the stack. For example:&lt;br /&gt;
&lt;br /&gt;
   prog:&lt;br /&gt;
       ; ...do something...&lt;br /&gt;
       pi sub1&lt;br /&gt;
       ; ...do more...&lt;br /&gt;
&lt;br /&gt;
   sub1:&lt;br /&gt;
       lr k,p&lt;br /&gt;
       pi PUSHK&lt;br /&gt;
       ; ...do something...&lt;br /&gt;
       pi sub2&lt;br /&gt;
       ; ...do more...&lt;br /&gt;
       pi POPK&lt;br /&gt;
       pk&lt;br /&gt;
&lt;br /&gt;
   sub2:&lt;br /&gt;
       lr k,p&lt;br /&gt;
       pi PUSHK&lt;br /&gt;
       ; ...do something...&lt;br /&gt;
       pi sub3&lt;br /&gt;
       ; ...do more...&lt;br /&gt;
       pi POPK&lt;br /&gt;
       pk&lt;br /&gt;
&lt;br /&gt;
   sub3:&lt;br /&gt;
       ; ...do something...&lt;br /&gt;
       pop&lt;br /&gt;
&lt;br /&gt;
By using PUSHK/POPK, you can have more than 2 levels of subroutine calls. However, a lot of overhead is added to the code by manipulating the stack. When inside a pushk/popk subroutine it's still possible to use plain pi/pop as it only affects PC0 and PC1. Whenever calling a subroutine one level deep, it's best to use the PI/POP combination; for two levels of subroutines, it's best to use the second example above. If using the K register in a subroutine only simple PI/POP is usable to get there, not to destroy contents of K.&lt;br /&gt;
&lt;br /&gt;
You can use the pushk and popk routines in [BIOS or use these slightly faster versions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;==================;&lt;br /&gt;
; Register K Stack ;&lt;br /&gt;
;==================;&lt;br /&gt;
&lt;br /&gt;
; the K stack is an emulated stack using the register r59&lt;br /&gt;
; as a stack pointer, which holds the register number for&lt;br /&gt;
; the top of the stack, which first points at r40. when&lt;br /&gt;
; pushk is called, K is pushed to the first two registers&lt;br /&gt;
; on the stack, and the pointer is increased.&lt;br /&gt;
;&lt;br /&gt;
; the K stack can hold 9 copies of K (r40-58) before &lt;br /&gt;
; the stack pointer itself is overwritten (r59)&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Push K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; pushes register K (r12-13) onto a stack using r59 as&lt;br /&gt;
; the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
&lt;br /&gt;
		; 26% faster than BIOS (6 cycles)&lt;br /&gt;
pushk:&lt;br /&gt;
		lr	A, IS				; backup ISAR in r7&lt;br /&gt;
		lr	7,A&lt;br /&gt;
		lisu	7				; get the top of the stack&lt;br /&gt;
		lisl	3				; r59, stack pointer&lt;br /&gt;
		lr	A,S&lt;br /&gt;
		lr	IS, A				; load the referenced register	&lt;br /&gt;
		lr	A,KU&lt;br /&gt;
		lr	I,A				; push high byte of K&lt;br /&gt;
		lr	A,KL&lt;br /&gt;
		lr	I,A				; push low byte of K&lt;br /&gt;
		lr	A,IS&lt;br /&gt;
		lisu	7&lt;br /&gt;
		lisl	3&lt;br /&gt;
		lr	S,A				; save the register number to the stack pointer&lt;br /&gt;
		lr	A,7				; restore the ISAR&lt;br /&gt;
		lr	IS,A&lt;br /&gt;
		pop&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Pop K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; retrieves a 16-bit value from the K stack and&lt;br /&gt;
; stores it in K, using r59 as the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
                &lt;br /&gt;
		; 18% faster than BIOS (4.5 cycles)&lt;br /&gt;
popk:&lt;br /&gt;
		lr	A,IS				; backup ISAR in r7&lt;br /&gt;
		lr	7,A&lt;br /&gt;
		lisu	7				; r59, stack pointer&lt;br /&gt;
		lisl	3&lt;br /&gt;
		lr	A,S				; A = stack pointer, points to next free&lt;br /&gt;
		ai	$ff				; A = last pushed byte, KL&lt;br /&gt;
		lr	IS,A				; ISAR -&amp;gt; KL&lt;br /&gt;
		lr	A,D				; read KL, then ISAR -&amp;gt; KU&lt;br /&gt;
		lr	KL,A&lt;br /&gt;
		lr	A,S				; read KU&lt;br /&gt;
		lr	KU,A&lt;br /&gt;
		lr	A,IS				; ISAR now points to new stack pointer&lt;br /&gt;
		lisu	7&lt;br /&gt;
		lisl	3&lt;br /&gt;
		lr	S,A				; store new stack pointer in r59&lt;br /&gt;
		lr	A,7				; restore original ISAR&lt;br /&gt;
		lr	IS,A&lt;br /&gt;
		pop&lt;br /&gt;
&lt;br /&gt;
;===================;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also consider using macros- you have a lot more code space than the original Channel F programmers, so you might as well use it; the time you save can be considerable.&lt;br /&gt;
&lt;br /&gt;
Blackbird is writing more efficient versions of PUSHK/POPK ([[Snippet:KStack]]).  Another idea is to write a version that uses the Schach RAM at $2800 that MESS emulates.  That would free up more scratchpad registers and possibly also be quicker.&lt;br /&gt;
&lt;br /&gt;
Here's a trick from the [https://www.channelf.se/files/channelf/F8_Guide_to_Programming.pdf Guide]: if a subroutine will be called frequently, it's quicker to load its address into the K register and call it using PK than to use PI multiple times. You'll use 4.5 cycles instead of 6.5 cycles to do the same thing. &lt;br /&gt;
&lt;br /&gt;
It's also possible to change the Program Counter (PC0) with &amp;quot;lr P,Q&amp;quot; but there's no opcode for the other direction, address could be copied from A to Q in two steps or K to Q in four steps via Accumulator one byte at the time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== See Also ===&lt;br /&gt;
* [https://www.channelf.se/files/channelf/F8_Guide_to_Programming.pdf F8 Guide to Programming]&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Disassembly:Democart_2&amp;diff=776</id>
		<title>Disassembly:Democart 2</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Disassembly:Democart_2&amp;diff=776"/>
				<updated>2026-08-04T22:34:28Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is a disassembly of the [[Channel F]] [[Democart 2]]. Original code is copyright &amp;amp;copy; 1977 Fairchild Semiconductor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; Annotated and formatted Democart 2 disassembly.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
		processor f8&lt;br /&gt;
		org	$0800&lt;br /&gt;
&lt;br /&gt;
reset				equ	$0000&lt;br /&gt;
delay				equ	$008F&lt;br /&gt;
clrscrn				equ	$00D0&lt;br /&gt;
pushk				equ	$0107&lt;br /&gt;
popk				equ	$011E&lt;br /&gt;
drawchar			equ	$0679&lt;br /&gt;
drawchar_entry			equ	$067C&lt;br /&gt;
b_drawchar_bmp_entry		equ	$068A&lt;br /&gt;
b_score_left			equ	$02AC&lt;br /&gt;
b_score_right			equ	$02B5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cartridge_start:&lt;br /&gt;
		.byte	$55, $2B&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; Main Democart 2 script. Shows multiple demo screens, uses BIOS text and&lt;br /&gt;
; graphics routines, then returns to BIOS reset.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cartridge_entry:&lt;br /&gt;
		lisu	3				; 0802 63&lt;br /&gt;
		lisl	7				; 0803 6F&lt;br /&gt;
		lis	1				; 0804 71&lt;br /&gt;
		lr	S,A				; 0805 5C - store A in selected scratchpad register&lt;br /&gt;
		pi	$0135				; 0806 28 01 35&lt;br /&gt;
		dci	L0BC6				; 0809 2A 0B C6 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_stream			; 080C 28 0B A3&lt;br /&gt;
		lisu	3				; 080F 63&lt;br /&gt;
		lisl	7				; 0810 6F&lt;br /&gt;
		lis	3				; 0811 73&lt;br /&gt;
		lr	S,A				; 0812 5C - store A in selected scratchpad register&lt;br /&gt;
		pi	$0135				; 0813 28 01 35&lt;br /&gt;
		dci	L0BCF				; 0816 2A 0B CF - load DC with data/code pointer&lt;br /&gt;
		pi	draw_stream			; 0819 28 0B A3&lt;br /&gt;
		lis	6				; 081C 76&lt;br /&gt;
		lr	3,A				; 081D 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 081E 28 0F EA&lt;br /&gt;
		li	$26				; 0821 20 26&lt;br /&gt;
		lr	1,A				; 0823 51&lt;br /&gt;
		li	$14				; 0824 20 14&lt;br /&gt;
		lr	2,A				; 0826 52&lt;br /&gt;
		li	$28				; 0827 20 28&lt;br /&gt;
		lr	3,A				; 0829 53&lt;br /&gt;
		pi	draw_entity_wrapper		; 082A 28 0B 76&lt;br /&gt;
		li	$26				; 082D 20 26&lt;br /&gt;
		lr	1,A				; 082F 51&lt;br /&gt;
		li	$21				; 0830 20 21&lt;br /&gt;
		lr	2,A				; 0832 52&lt;br /&gt;
		li	$28				; 0833 20 28&lt;br /&gt;
		lr	3,A				; 0835 53&lt;br /&gt;
		pi	draw_entity_wrapper		; 0836 28 0B 76&lt;br /&gt;
		li	$33				; 0839 20 33&lt;br /&gt;
		lr	1,A				; 083B 51&lt;br /&gt;
		pi	draw_three_markers		; 083C 28 0B 7D&lt;br /&gt;
		li	$41				; 083F 20 41&lt;br /&gt;
		lr	1,A				; 0841 51&lt;br /&gt;
		pi	draw_three_markers		; 0842 28 0B 7D&lt;br /&gt;
		dci	L0BD8				; 0845 2A 0B D8 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_stream			; 0848 28 0B A3&lt;br /&gt;
		clr					; 084B 70&lt;br /&gt;
		lr	3,A				; 084C 53&lt;br /&gt;
		pi	clear_screen_o37_1		; 084D 28 0F ED&lt;br /&gt;
		li	$14				; 0850 20 14&lt;br /&gt;
		lr	1,A				; 0852 51&lt;br /&gt;
		lis	6				; 0853 76&lt;br /&gt;
		lr	2,A				; 0854 52&lt;br /&gt;
		pi	$020E				; 0855 28 02 0E&lt;br /&gt;
		li	$14				; 0858 20 14&lt;br /&gt;
		lr	1,A				; 085A 51&lt;br /&gt;
		li	$2E				; 085B 20 2E&lt;br /&gt;
		lr	2,A				; 085D 52&lt;br /&gt;
		pi	$020E				; 085E 28 02 0E&lt;br /&gt;
		li	$12				; 0861 20 12&lt;br /&gt;
		lr	1,A				; 0863 51&lt;br /&gt;
		lr	2,A				; 0864 52&lt;br /&gt;
		li	$58				; 0865 20 58&lt;br /&gt;
		lr	0,A				; 0867 50&lt;br /&gt;
		pi	drawchar			; 0868 28 06 79 - BIOS draw character routine&lt;br /&gt;
		dci	L0BE6				; 086B 2A 0B E6 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_stream			; 086E 28 0B A3&lt;br /&gt;
		lis	6				; 0871 76&lt;br /&gt;
		lr	3,A				; 0872 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 0873 28 0F EA&lt;br /&gt;
		lis	6				; 0876 76&lt;br /&gt;
		lr	$A,A				; 0877 5A&lt;br /&gt;
		dci	L0C98				; 0878 2A 0C 98 - load DC with data/code pointer&lt;br /&gt;
		li	$20				; 087B 20 20&lt;br /&gt;
		lr	1,A				; 087D 51&lt;br /&gt;
		lr	2,A				; 087E 52&lt;br /&gt;
L087F:&lt;br /&gt;
		li	$80				; 087F 20 80&lt;br /&gt;
		lr	0,A				; 0881 50&lt;br /&gt;
		pi	b_drawchar_bmp_wrapper		; 0882 28 0F CD&lt;br /&gt;
		lis	2				; 0885 72&lt;br /&gt;
		as	1				; 0886 C1&lt;br /&gt;
		lr	1,A				; 0887 51&lt;br /&gt;
		ds	$A				; 0888 3A&lt;br /&gt;
		bnz	L087F				; 0889 94 F5&lt;br /&gt;
		pi	short_delay			; 088B 28 0B 96&lt;br /&gt;
		lis	6				; 088E 76&lt;br /&gt;
		lr	3,A				; 088F 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 0890 28 0F EA&lt;br /&gt;
		li	$18				; 0893 20 18&lt;br /&gt;
		lr	2,A				; 0895 52&lt;br /&gt;
		li	$30				; 0896 20 30&lt;br /&gt;
		lr	1,A				; 0898 51&lt;br /&gt;
		dci	L0CC8				; 0899 2A 0C C8 - load DC with data/code pointer&lt;br /&gt;
		li	$80				; 089C 20 80&lt;br /&gt;
		lr	0,A				; 089E 50&lt;br /&gt;
		pi	b_drawchar_bmp_wrapper		; 089F 28 0F CD&lt;br /&gt;
		lis	2				; 08A2 72&lt;br /&gt;
		as	1				; 08A3 C1&lt;br /&gt;
		lr	1,A				; 08A4 51&lt;br /&gt;
		li	$80				; 08A5 20 80&lt;br /&gt;
		lr	0,A				; 08A7 50&lt;br /&gt;
		dci	L0CC8				; 08A8 2A 0C C8 - load DC with data/code pointer&lt;br /&gt;
		pi	b_drawchar_bmp_wrapper		; 08AB 28 0F CD&lt;br /&gt;
		li	$30				; 08AE 20 30&lt;br /&gt;
		lr	1,A				; 08B0 51&lt;br /&gt;
		li	$20				; 08B1 20 20&lt;br /&gt;
		lr	2,A				; 08B3 52&lt;br /&gt;
		li	$80				; 08B4 20 80&lt;br /&gt;
		lr	0,A				; 08B6 50&lt;br /&gt;
		dci	L0CC8				; 08B7 2A 0C C8 - load DC with data/code pointer&lt;br /&gt;
		pi	b_drawchar_bmp_wrapper		; 08BA 28 0F CD&lt;br /&gt;
		lis	2				; 08BD 72&lt;br /&gt;
		as	1				; 08BE C1&lt;br /&gt;
		lr	1,A				; 08BF 51&lt;br /&gt;
		li	$80				; 08C0 20 80&lt;br /&gt;
		lr	0,A				; 08C2 50&lt;br /&gt;
		dci	L0CC8				; 08C3 2A 0C C8 - load DC with data/code pointer&lt;br /&gt;
		pi	b_drawchar_bmp_wrapper		; 08C6 28 0F CD&lt;br /&gt;
		dci	L0CD0				; 08C9 2A 0C D0 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_stream			; 08CC 28 0B A3&lt;br /&gt;
		lis	6				; 08CF 76&lt;br /&gt;
		lr	3,A				; 08D0 53&lt;br /&gt;
		pi	clear_screen_o37_1		; 08D1 28 0F ED&lt;br /&gt;
		li	$13				; 08D4 20 13&lt;br /&gt;
		lr	1,A				; 08D6 51&lt;br /&gt;
		lis	6				; 08D7 76&lt;br /&gt;
		lr	2,A				; 08D8 52&lt;br /&gt;
		pi	$020E				; 08D9 28 02 0E&lt;br /&gt;
		li	$13				; 08DC 20 13&lt;br /&gt;
		lr	1,A				; 08DE 51&lt;br /&gt;
		li	$2F				; 08DF 20 2F&lt;br /&gt;
		lr	2,A				; 08E1 52&lt;br /&gt;
		pi	$020E				; 08E2 28 02 0E&lt;br /&gt;
		li	$11				; 08E5 20 11&lt;br /&gt;
		lr	1,A				; 08E7 51&lt;br /&gt;
		lis	9				; 08E8 79&lt;br /&gt;
		lr	2,A				; 08E9 52&lt;br /&gt;
		li	$24				; 08EA 20 24&lt;br /&gt;
		lr	3,A				; 08EC 53&lt;br /&gt;
		pi	bios_draw_a01fc_wrapper		; 08ED 28 0F C6&lt;br /&gt;
		li	$5A				; 08F0 20 5A&lt;br /&gt;
		lr	1,A				; 08F2 51&lt;br /&gt;
		lis	9				; 08F3 79&lt;br /&gt;
		lr	2,A				; 08F4 52&lt;br /&gt;
		li	$24				; 08F5 20 24&lt;br /&gt;
		lr	3,A				; 08F7 53&lt;br /&gt;
		pi	bios_draw_a01fc_wrapper		; 08F8 28 0F C6&lt;br /&gt;
		lis	9				; 08FB 79&lt;br /&gt;
		lr	4,A				; 08FC 54&lt;br /&gt;
		dci	L0C00				; 08FD 2A 0C 00 - load DC with data/code pointer&lt;br /&gt;
L0900:&lt;br /&gt;
		lm					; 0900 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 0901 51&lt;br /&gt;
		lm					; 0902 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 0903 52&lt;br /&gt;
		lm					; 0904 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0905 50&lt;br /&gt;
		xdc					; 0906 2C - exchange DC and H pointers&lt;br /&gt;
		dci	$0C1B				; 0907 2A 0C 1B - load DC with data/code pointer&lt;br /&gt;
		pi	drawchar_entry			; 090A 28 06 7C&lt;br /&gt;
		xdc					; 090D 2C - exchange DC and H pointers&lt;br /&gt;
		ds	4				; 090E 34&lt;br /&gt;
		bnz	L0900				; 090F 94 F0&lt;br /&gt;
		pi	bios_score_prompt_wrapper	; 0911 28 0F D6&lt;br /&gt;
		dci	L0BF9				; 0914 2A 0B F9 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_stream			; 0917 28 0B A3&lt;br /&gt;
		lis	6				; 091A 76&lt;br /&gt;
		lr	3,A				; 091B 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 091C 28 0F EA&lt;br /&gt;
		clr					; 091F 70&lt;br /&gt;
		lr	2,A				; 0920 52&lt;br /&gt;
		lr	0,A				; 0921 50&lt;br /&gt;
		lis	$D				; 0922 7D&lt;br /&gt;
		lr	$A,A				; 0923 5A&lt;br /&gt;
L0924:&lt;br /&gt;
		li	$7E				; 0924 20 7E&lt;br /&gt;
		lr	1,A				; 0926 51&lt;br /&gt;
		pi	drawchar			; 0927 28 06 79 - BIOS draw character routine&lt;br /&gt;
		lr	A,2				; 092A 42&lt;br /&gt;
		inc					; 092B 1F&lt;br /&gt;
		lr	2,A				; 092C 52&lt;br /&gt;
		ds	$A				; 092D 3A&lt;br /&gt;
		bnz	L0924				; 092E 94 F5&lt;br /&gt;
L0930:&lt;br /&gt;
		lis	4				; 0930 74&lt;br /&gt;
		as	2				; 0931 C2&lt;br /&gt;
		lr	2,A				; 0932 52&lt;br /&gt;
		lis	3				; 0933 73&lt;br /&gt;
		lr	1,A				; 0934 51&lt;br /&gt;
L0935:&lt;br /&gt;
		li	$C0				; 0935 20 C0&lt;br /&gt;
		lr	0,A				; 0937 50&lt;br /&gt;
		dci	$4000				; 0938 2A 40 00 - load DC with data/code pointer&lt;br /&gt;
; Points data counter to unused area.&lt;br /&gt;
; Hardware holds the proper value.&lt;br /&gt;
&lt;br /&gt;
		pi	drawchar_entry			; 093B 28 06 7C&lt;br /&gt;
		ds	1				; 093E 31&lt;br /&gt;
		lr	A,1				; 093F 41&lt;br /&gt;
		ci	$77				; 0940 25 77&lt;br /&gt;
		bc	L0935				; 0942 82 F2&lt;br /&gt;
		lr	A,2				; 0944 42&lt;br /&gt;
		ci	$28				; 0945 25 28&lt;br /&gt;
		bc	L0930				; 0947 82 E8&lt;br /&gt;
		lis	3				; 0949 73&lt;br /&gt;
		lr	$A,A				; 094A 5A&lt;br /&gt;
		li	$26				; 094B 20 26&lt;br /&gt;
		lr	2,A				; 094D 52&lt;br /&gt;
L094E:&lt;br /&gt;
		lis	8				; 094E 78&lt;br /&gt;
		lr	1,A				; 094F 51&lt;br /&gt;
		clr					; 0950 70&lt;br /&gt;
		lr	0,A				; 0951 50&lt;br /&gt;
L0952:&lt;br /&gt;
		pi	drawchar			; 0952 28 06 79 - BIOS draw character routine&lt;br /&gt;
		lis	2				; 0955 72&lt;br /&gt;
		as	2				; 0956 C2&lt;br /&gt;
		lr	2,A				; 0957 52&lt;br /&gt;
		ds	1				; 0958 31&lt;br /&gt;
		ds	$A				; 0959 3A&lt;br /&gt;
		bnz	L0952				; 095A 94 F7&lt;br /&gt;
		pi	drawchar			; 095C 28 06 79 - BIOS draw character routine&lt;br /&gt;
		lr	A,2				; 095F 42&lt;br /&gt;
		inc					; 0960 1F&lt;br /&gt;
		lr	2,A				; 0961 52&lt;br /&gt;
		ds	1				; 0962 31&lt;br /&gt;
		pi	drawchar			; 0963 28 06 79 - BIOS draw character routine&lt;br /&gt;
		lr	A,2				; 0966 42&lt;br /&gt;
		ci	$31				; 0967 25 31&lt;br /&gt;
		bnc	L0973				; 0969 92 09&lt;br /&gt;
		li	$2B				; 096B 20 2B&lt;br /&gt;
		lr	2,A				; 096D 52&lt;br /&gt;
		lis	3				; 096E 73&lt;br /&gt;
		lr	$A,A				; 096F 5A&lt;br /&gt;
		jmp	L094E				; 0970 29 09 4E - unconditional jump&lt;br /&gt;
&lt;br /&gt;
L0973:&lt;br /&gt;
		nop					; 0973 2B&lt;br /&gt;
		clr					; 0974 70&lt;br /&gt;
		lr	0,A				; 0975 50&lt;br /&gt;
		li	$2D				; 0976 20 2D&lt;br /&gt;
		lr	2,A				; 0978 52&lt;br /&gt;
L0979:&lt;br /&gt;
		li	$53				; 0979 20 53&lt;br /&gt;
		lr	1,A				; 097B 51&lt;br /&gt;
		pi	drawchar			; 097C 28 06 79 - BIOS draw character routine&lt;br /&gt;
		ds	1				; 097F 31&lt;br /&gt;
		ds	2				; 0980 32&lt;br /&gt;
		pi	drawchar			; 0981 28 06 79 - BIOS draw character routine&lt;br /&gt;
		lis	3				; 0984 73&lt;br /&gt;
		lr	$A,A				; 0985 5A&lt;br /&gt;
L0986:&lt;br /&gt;
		ds	2				; 0986 32&lt;br /&gt;
		ds	2				; 0987 32&lt;br /&gt;
		ds	1				; 0988 31&lt;br /&gt;
		pi	drawchar			; 0989 28 06 79 - BIOS draw character routine&lt;br /&gt;
		ds	$A				; 098C 3A&lt;br /&gt;
		bnz	L0986				; 098D 94 F8&lt;br /&gt;
		lr	A,2				; 098F 42&lt;br /&gt;
		ci	$27				; 0990 25 27&lt;br /&gt;
		bnc	L099A				; 0992 92 07&lt;br /&gt;
		li	$30				; 0994 20 30&lt;br /&gt;
		lr	2,A				; 0996 52&lt;br /&gt;
		jmp	L0979				; 0997 29 09 79 - unconditional jump&lt;br /&gt;
&lt;br /&gt;
L099A:&lt;br /&gt;
		pi	bios_score_prompt_wrapper	; 099A 28 0F D6&lt;br /&gt;
		dci	L0C76				; 099D 2A 0C 76 - load DC with data/code pointer&lt;br /&gt;
		li	$69				; 09A0 20 69&lt;br /&gt;
		lr	$A,A				; 09A2 5A&lt;br /&gt;
		pi	draw_stream			; 09A3 28 0B A3&lt;br /&gt;
		pi	draw_stream			; 09A6 28 0B A3&lt;br /&gt;
		clr					; 09A9 70&lt;br /&gt;
		lr	$A,A				; 09AA 5A&lt;br /&gt;
		pi	draw_stream			; 09AB 28 0B A3&lt;br /&gt;
		lis	3				; 09AE 73&lt;br /&gt;
		lr	3,A				; 09AF 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 09B0 28 0F EA&lt;br /&gt;
		dci	L0C34				; 09B3 2A 0C 34 - load DC with data/code pointer&lt;br /&gt;
		xdc					; 09B6 2C - exchange DC and H pointers&lt;br /&gt;
		dci	L0C67				; 09B7 2A 0C 67 - load DC with data/code pointer&lt;br /&gt;
		lis	5				; 09BA 75&lt;br /&gt;
		lr	$A,A				; 09BB 5A&lt;br /&gt;
L09BC:&lt;br /&gt;
		lm					; 09BC 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 09BD 51&lt;br /&gt;
		lm					; 09BE 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 09BF 52&lt;br /&gt;
		lm					; 09C0 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 09C1 50&lt;br /&gt;
		xdc					; 09C2 2C - exchange DC and H pointers&lt;br /&gt;
		pi	b_drawchar_bmp_wrapper		; 09C3 28 0F CD&lt;br /&gt;
		xdc					; 09C6 2C - exchange DC and H pointers&lt;br /&gt;
		ds	$A				; 09C7 3A&lt;br /&gt;
		bnz	L09BC				; 09C8 94 F3&lt;br /&gt;
		dci	L0C5C				; 09CA 2A 0C 5C - load DC with data/code pointer&lt;br /&gt;
		pi	draw_stream			; 09CD 28 0B A3&lt;br /&gt;
		lis	3				; 09D0 73&lt;br /&gt;
		lr	3,A				; 09D1 53&lt;br /&gt;
		pi	clear_screen_o37_1		; 09D2 28 0F ED&lt;br /&gt;
		pi	bios_score_prompt_wrapper	; 09D5 28 0F D6&lt;br /&gt;
		lis	9				; 09D8 79&lt;br /&gt;
		lr	$A,A				; 09D9 5A&lt;br /&gt;
		dci	L0CDE				; 09DA 2A 0C DE - load DC with data/code pointer&lt;br /&gt;
L09DD:&lt;br /&gt;
		lm					; 09DD 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 09DE 51&lt;br /&gt;
		lm					; 09DF 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 09E0 52&lt;br /&gt;
		lm					; 09E1 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 09E2 50&lt;br /&gt;
		xdc					; 09E3 2C - exchange DC and H pointers&lt;br /&gt;
		dci	$0CF9				; 09E4 2A 0C F9 - load DC with data/code pointer&lt;br /&gt;
		pi	drawchar_entry			; 09E7 28 06 7C&lt;br /&gt;
		xdc					; 09EA 2C - exchange DC and H pointers&lt;br /&gt;
		ds	$A				; 09EB 3A&lt;br /&gt;
		bnz	L09DD				; 09EC 94 F0&lt;br /&gt;
		dci	$0D08				; 09EE 2A 0D 08 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_stream			; 09F1 28 0B A3&lt;br /&gt;
		lis	3				; 09F4 73&lt;br /&gt;
		lr	3,A				; 09F5 53&lt;br /&gt;
		pi	clear_screen_o37_1		; 09F6 28 0F ED&lt;br /&gt;
		pi	bios_score_prompt_wrapper	; 09F9 28 0F D6&lt;br /&gt;
		li	$10				; 09FC 20 10&lt;br /&gt;
		lr	1,A				; 09FE 51&lt;br /&gt;
		li	$1A				; 09FF 20 1A&lt;br /&gt;
		lr	2,A				; 0A01 52&lt;br /&gt;
		li	$10				; 0A02 20 10&lt;br /&gt;
		lr	3,A				; 0A04 53&lt;br /&gt;
		pi	draw_entity_wrapper		; 0A05 28 0B 76&lt;br /&gt;
		lis	2				; 0A08 72&lt;br /&gt;
		lr	$A,A				; 0A09 5A&lt;br /&gt;
L0A0A:&lt;br /&gt;
		lis	$F				; 0A0A 7F&lt;br /&gt;
		lr	3,A				; 0A0B 53&lt;br /&gt;
		lis	$F				; 0A0C 7F&lt;br /&gt;
		as	1				; 0A0D C1&lt;br /&gt;
		lr	1,A				; 0A0E 51&lt;br /&gt;
		pi	draw_entity_wrapper		; 0A0F 28 0B 76&lt;br /&gt;
		ds	$A				; 0A12 3A&lt;br /&gt;
		bnz	L0A0A				; 0A13 94 F6&lt;br /&gt;
		li	$69				; 0A15 20 69&lt;br /&gt;
		lr	$A,A				; 0A17 5A&lt;br /&gt;
		dci	L0D14				; 0A18 2A 0D 14 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_stream			; 0A1B 28 0B A3&lt;br /&gt;
		pi	draw_stream			; 0A1E 28 0B A3&lt;br /&gt;
		pi	draw_stream			; 0A21 28 0B A3&lt;br /&gt;
		li	$30				; 0A24 20 30&lt;br /&gt;
		lr	1,A				; 0A26 51&lt;br /&gt;
		li	$28				; 0A27 20 28&lt;br /&gt;
		lr	2,A				; 0A29 52&lt;br /&gt;
		li	$10				; 0A2A 20 10&lt;br /&gt;
		lr	3,A				; 0A2C 53&lt;br /&gt;
		pi	draw_entity_wrapper		; 0A2D 28 0B 76&lt;br /&gt;
		lis	6				; 0A30 76&lt;br /&gt;
		lr	$A,A				; 0A31 5A&lt;br /&gt;
		dci	L0D44				; 0A32 2A 0D 44 - load DC with data/code pointer&lt;br /&gt;
L0A35:&lt;br /&gt;
		lm					; 0A35 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 0A36 51&lt;br /&gt;
		lm					; 0A37 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 0A38 52&lt;br /&gt;
		lm					; 0A39 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0A3A 50&lt;br /&gt;
		xdc					; 0A3B 2C - exchange DC and H pointers&lt;br /&gt;
		pi	drawchar			; 0A3C 28 06 79 - BIOS draw character routine&lt;br /&gt;
		xdc					; 0A3F 2C - exchange DC and H pointers&lt;br /&gt;
		ds	$A				; 0A40 3A&lt;br /&gt;
		bnz	L0A35				; 0A41 94 F3&lt;br /&gt;
		dci	L0D56				; 0A43 2A 0D 56 - load DC with data/code pointer&lt;br /&gt;
		clr					; 0A46 70&lt;br /&gt;
		lr	$A,A				; 0A47 5A&lt;br /&gt;
		pi	draw_stream			; 0A48 28 0B A3&lt;br /&gt;
		lis	6				; 0A4B 76&lt;br /&gt;
		lr	3,A				; 0A4C 53&lt;br /&gt;
		pi	clear_screen_o37_1		; 0A4D 28 0F ED&lt;br /&gt;
		pi	bios_score_prompt_wrapper	; 0A50 28 0F D6&lt;br /&gt;
		dci	L0D61				; 0A53 2A 0D 61 - load DC with data/code pointer&lt;br /&gt;
		li	$69				; 0A56 20 69&lt;br /&gt;
		lr	$A,A				; 0A58 5A&lt;br /&gt;
		pi	draw_stream			; 0A59 28 0B A3&lt;br /&gt;
		pi	draw_stream			; 0A5C 28 0B A3&lt;br /&gt;
		pi	draw_stream			; 0A5F 28 0B A3&lt;br /&gt;
		clr					; 0A62 70&lt;br /&gt;
		lr	$A,A				; 0A63 5A&lt;br /&gt;
		pi	draw_stream			; 0A64 28 0B A3&lt;br /&gt;
		lis	6				; 0A67 76&lt;br /&gt;
		lr	3,A				; 0A68 53&lt;br /&gt;
		pi	clear_screen_o37_1		; 0A69 28 0F ED&lt;br /&gt;
		pi	bios_score_prompt_wrapper	; 0A6C 28 0F D6&lt;br /&gt;
		dci	L0D79				; 0A6F 2A 0D 79 - load DC with data/code pointer&lt;br /&gt;
		lis	6				; 0A72 76&lt;br /&gt;
		lr	$A,A				; 0A73 5A&lt;br /&gt;
L0A74:&lt;br /&gt;
		lm					; 0A74 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 0A75 51&lt;br /&gt;
		lm					; 0A76 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 0A77 52&lt;br /&gt;
		lm					; 0A78 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0A79 50&lt;br /&gt;
		xdc					; 0A7A 2C - exchange DC and H pointers&lt;br /&gt;
		dci	L0D8B				; 0A7B 2A 0D 8B - load DC with data/code pointer&lt;br /&gt;
		pi	b_drawchar_bmp_wrapper		; 0A7E 28 0F CD&lt;br /&gt;
		xdc					; 0A81 2C - exchange DC and H pointers&lt;br /&gt;
		ds	$A				; 0A82 3A&lt;br /&gt;
		bnz	L0A74				; 0A83 94 F0&lt;br /&gt;
		dci	$0D99				; 0A85 2A 0D 99 - load DC with data/code pointer&lt;br /&gt;
		xdc					; 0A88 2C - exchange DC and H pointers&lt;br /&gt;
		dci	L0DA8				; 0A89 2A 0D A8 - load DC with data/code pointer&lt;br /&gt;
		lis	3				; 0A8C 73&lt;br /&gt;
		lr	$A,A				; 0A8D 5A&lt;br /&gt;
L0A8E:&lt;br /&gt;
		lm					; 0A8E 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 0A8F 51&lt;br /&gt;
		lm					; 0A90 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 0A91 52&lt;br /&gt;
		lm					; 0A92 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0A93 50&lt;br /&gt;
		xdc					; 0A94 2C - exchange DC and H pointers&lt;br /&gt;
		pi	drawchar_entry			; 0A95 28 06 7C&lt;br /&gt;
		xdc					; 0A98 2C - exchange DC and H pointers&lt;br /&gt;
		ds	$A				; 0A99 3A&lt;br /&gt;
		bnz	L0A8E				; 0A9A 94 F3&lt;br /&gt;
		dci	L0D93				; 0A9C 2A 0D 93 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_stream			; 0A9F 28 0B A3&lt;br /&gt;
		lis	6				; 0AA2 76&lt;br /&gt;
		lr	3,A				; 0AA3 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 0AA4 28 0F EA&lt;br /&gt;
		dci	L0DB1				; 0AA7 2A 0D B1 - load DC with data/code pointer&lt;br /&gt;
		lis	2				; 0AAA 72&lt;br /&gt;
		lr	$A,A				; 0AAB 5A&lt;br /&gt;
L0AAC:&lt;br /&gt;
		lm					; 0AAC 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 0AAD 51&lt;br /&gt;
		lm					; 0AAE 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 0AAF 52&lt;br /&gt;
		lm					; 0AB0 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0AB1 50&lt;br /&gt;
		xdc					; 0AB2 2C - exchange DC and H pointers&lt;br /&gt;
		dci	$0F58				; 0AB3 2A 0F 58 - load DC with data/code pointer&lt;br /&gt;
		pi	drawchar_entry			; 0AB6 28 06 7C&lt;br /&gt;
		xdc					; 0AB9 2C - exchange DC and H pointers&lt;br /&gt;
		ds	$A				; 0ABA 3A&lt;br /&gt;
		bnz	L0AAC				; 0ABB 94 F0&lt;br /&gt;
		lis	4				; 0ABD 74&lt;br /&gt;
		lr	$A,A				; 0ABE 5A&lt;br /&gt;
		li	$10				; 0ABF 20 10&lt;br /&gt;
		lr	2,A				; 0AC1 52&lt;br /&gt;
L0AC2:&lt;br /&gt;
		li	$17				; 0AC2 20 17&lt;br /&gt;
		lr	1,A				; 0AC4 51&lt;br /&gt;
		li	$81				; 0AC5 20 81&lt;br /&gt;
		lr	0,A				; 0AC7 50&lt;br /&gt;
		pi	drawchar			; 0AC8 28 06 79 - BIOS draw character routine&lt;br /&gt;
		lis	5				; 0ACB 75&lt;br /&gt;
		as	2				; 0ACC C2&lt;br /&gt;
		lr	2,A				; 0ACD 52&lt;br /&gt;
		ci	$27				; 0ACE 25 27&lt;br /&gt;
		bc	L0AC2				; 0AD0 82 F1&lt;br /&gt;
		li	$1A				; 0AD2 20 1A&lt;br /&gt;
		lr	1,A				; 0AD4 51&lt;br /&gt;
		li	$1A				; 0AD5 20 1A&lt;br /&gt;
		lr	2,A				; 0AD7 52&lt;br /&gt;
		dci	L0DC3				; 0AD8 2A 0D C3 - load DC with data/code pointer&lt;br /&gt;
		lis	6				; 0ADB 76&lt;br /&gt;
		lr	$A,A				; 0ADC 5A&lt;br /&gt;
L0ADD:&lt;br /&gt;
		lm					; 0ADD 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0ADE 50&lt;br /&gt;
		xdc					; 0ADF 2C - exchange DC and H pointers&lt;br /&gt;
		dci	L0DC9				; 0AE0 2A 0D C9 - load DC with data/code pointer&lt;br /&gt;
		pi	drawchar_entry			; 0AE3 28 06 7C&lt;br /&gt;
		ds	1				; 0AE6 31&lt;br /&gt;
		ds	1				; 0AE7 31&lt;br /&gt;
		xdc					; 0AE8 2C - exchange DC and H pointers&lt;br /&gt;
		ds	$A				; 0AE9 3A&lt;br /&gt;
		bnz	L0ADD				; 0AEA 94 F2&lt;br /&gt;
		li	$2C				; 0AEC 20 2C&lt;br /&gt;
		lr	2,A				; 0AEE 52&lt;br /&gt;
		li	$12				; 0AEF 20 12&lt;br /&gt;
		lr	1,A				; 0AF1 51&lt;br /&gt;
		li	$80				; 0AF2 20 80&lt;br /&gt;
		lr	0,A				; 0AF4 50&lt;br /&gt;
		dci	L0DCE				; 0AF5 2A 0D CE - load DC with data/code pointer&lt;br /&gt;
		pi	b_drawchar_bmp_wrapper		; 0AF8 28 0F CD&lt;br /&gt;
		li	$43				; 0AFB 20 43&lt;br /&gt;
		lr	1,A				; 0AFD 51&lt;br /&gt;
		li	$40				; 0AFE 20 40&lt;br /&gt;
		lr	0,A				; 0B00 50&lt;br /&gt;
		dci	L0DCE				; 0B01 2A 0D CE - load DC with data/code pointer&lt;br /&gt;
		pi	b_drawchar_bmp_wrapper		; 0B04 28 0F CD&lt;br /&gt;
		pi	bios_score_prompt_wrapper	; 0B07 28 0F D6&lt;br /&gt;
		dci	L0DB7				; 0B0A 2A 0D B7 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_stream			; 0B0D 28 0B A3&lt;br /&gt;
		lis	6				; 0B10 76&lt;br /&gt;
		lr	3,A				; 0B11 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 0B12 28 0F EA&lt;br /&gt;
		dci	L0DD6				; 0B15 2A 0D D6 - load DC with data/code pointer&lt;br /&gt;
		lis	8				; 0B18 78&lt;br /&gt;
		lr	2,A				; 0B19 52&lt;br /&gt;
L0B1A:&lt;br /&gt;
		lis	$F				; 0B1A 7F&lt;br /&gt;
L0B1B:&lt;br /&gt;
		lr	1,A				; 0B1B 51&lt;br /&gt;
		li	$C0				; 0B1C 20 C0&lt;br /&gt;
		lr	0,A				; 0B1E 50&lt;br /&gt;
		lm					; 0B1F 16 - load byte from DC and increment DC&lt;br /&gt;
		xdc					; 0B20 2C - exchange DC and H pointers&lt;br /&gt;
		lr	$A,A				; 0B21 5A&lt;br /&gt;
		sr	4				; 0B22 14&lt;br /&gt;
		sl	4				; 0B23 15&lt;br /&gt;
		sr	1				; 0B24 12&lt;br /&gt;
		lr	$B,A				; 0B25 5B&lt;br /&gt;
		lr	A,$A				; 0B26 4A&lt;br /&gt;
		sl	4				; 0B27 15&lt;br /&gt;
		sr	1				; 0B28 12&lt;br /&gt;
		lr	$A,A				; 0B29 5A&lt;br /&gt;
		dci	L0E26				; 0B2A 2A 0E 26 - load DC with data/code pointer&lt;br /&gt;
		lr	A,$B				; 0B2D 4B&lt;br /&gt;
		adc					; 0B2E 8E&lt;br /&gt;
		pi	b_drawchar_bmp_wrapper		; 0B2F 28 0F CD&lt;br /&gt;
		ds	1				; 0B32 31&lt;br /&gt;
		dci	L0E26				; 0B33 2A 0E 26 - load DC with data/code pointer&lt;br /&gt;
		lr	A,$A				; 0B36 4A&lt;br /&gt;
		adc					; 0B37 8E&lt;br /&gt;
		li	$C0				; 0B38 20 C0&lt;br /&gt;
		lr	0,A				; 0B3A 50&lt;br /&gt;
		pi	b_drawchar_bmp_wrapper		; 0B3B 28 0F CD&lt;br /&gt;
		xdc					; 0B3E 2C - exchange DC and H pointers&lt;br /&gt;
		ds	1				; 0B3F 31&lt;br /&gt;
		lr	A,1				; 0B40 41&lt;br /&gt;
		ci	$5A				; 0B41 25 5A&lt;br /&gt;
		bc	L0B1B				; 0B43 82 D7&lt;br /&gt;
		lis	4				; 0B45 74&lt;br /&gt;
		as	2				; 0B46 C2&lt;br /&gt;
		lr	2,A				; 0B47 52&lt;br /&gt;
		ci	$2F				; 0B48 25 2F&lt;br /&gt;
		bc	L0B1A				; 0B4A 82 CF&lt;br /&gt;
		dci	L0E96				; 0B4C 2A 0E 96 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_stream			; 0B4F 28 0B A3&lt;br /&gt;
		lis	6				; 0B52 76&lt;br /&gt;
		lr	3,A				; 0B53 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 0B54 28 0F EA&lt;br /&gt;
L0B57:&lt;br /&gt;
		dci	L0E9D				; 0B57 2A 0E 9D - load DC with data/code pointer&lt;br /&gt;
		lis	$C				; 0B5A 7C&lt;br /&gt;
L0B5B:&lt;br /&gt;
		lr	$A,A				; 0B5B 5A&lt;br /&gt;
L0B5C:&lt;br /&gt;
		lm					; 0B5C 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 0B5D 51&lt;br /&gt;
		lm					; 0B5E 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 0B5F 52&lt;br /&gt;
		lm					; 0B60 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0B61 50&lt;br /&gt;
		xdc					; 0B62 2C - exchange DC and H pointers&lt;br /&gt;
		dci	L0EC1				; 0B63 2A 0E C1 - load DC with data/code pointer&lt;br /&gt;
		pi	drawchar_entry			; 0B66 28 06 7C&lt;br /&gt;
		xdc					; 0B69 2C - exchange DC and H pointers&lt;br /&gt;
		ds	$A				; 0B6A 3A&lt;br /&gt;
		bnz	L0B5C				; 0B6B 94 F0&lt;br /&gt;
		dci	L0EE4				; 0B6D 2A 0E E4 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_stream			; 0B70 28 0B A3&lt;br /&gt;
		jmp	reset				; 0B73 29 00 00 - unconditional jump&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; Wrapper around BIOS draw routine at $0215. Saves K, then tail-jumps into BIOS&lt;br /&gt;
; code.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
draw_entity_wrapper:&lt;br /&gt;
		lr	K,P				; 0B76 08&lt;br /&gt;
		pi	pushk				; 0B77 28 01 07 - bios pushk - save return address on BIOS K-stack&lt;br /&gt;
		jmp	$0215				; 0B7A 29 02 15 - bios, calls draw char - unconditional jump&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; Draws three repeated BIOS objects at fixed Y positions $0A, $17 and $24 using&lt;br /&gt;
; BIOS routine $01F6.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
draw_three_markers:&lt;br /&gt;
		lr	K,P				; 0B7D 08&lt;br /&gt;
		pi	pushk				; 0B7E 28 01 07 - bios pushk - save return address on BIOS K-stack&lt;br /&gt;
		lis	$A				; 0B81 7A&lt;br /&gt;
		lr	2,A				; 0B82 52&lt;br /&gt;
		pi	$01F6				; 0B83 28 01 F6&lt;br /&gt;
		li	$17				; 0B86 20 17&lt;br /&gt;
		lr	2,A				; 0B88 52&lt;br /&gt;
		pi	$01F6				; 0B89 28 01 F6&lt;br /&gt;
		li	$24				; 0B8C 20 24&lt;br /&gt;
		lr	2,A				; 0B8E 52&lt;br /&gt;
		pi	$01F6				; 0B8F 28 01 F6&lt;br /&gt;
		pi	popk				; 0B92 28 01 1E - restore return address from BIOS K-stack&lt;br /&gt;
		pk					; 0B95 0C - return via K/P after BIOS K-stack restore&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; Short delay helper. Uses r0 as outer counter and r5 as BIOS delay parameter.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
short_delay:&lt;br /&gt;
		lr	K,P				; 0B96 08&lt;br /&gt;
		lis	3				; 0B97 73&lt;br /&gt;
		lr	0,A				; 0B98 50&lt;br /&gt;
		lis	$F				; 0B99 7F&lt;br /&gt;
		lr	5,A				; 0B9A 55&lt;br /&gt;
short_delay_loop:&lt;br /&gt;
		pi	delay				; 0B9B 28 00 8F&lt;br /&gt;
		ds	0				; 0B9E 30&lt;br /&gt;
		bnz	short_delay_loop		; 0B9F 94 FB&lt;br /&gt;
		lr	P,K				; 0BA1 09&lt;br /&gt;
		pop					; 0BA2 1C - return from subroutine&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; Draws a compressed or data-driven text/object stream. DC points at stream&lt;br /&gt;
; header: count, Y, X, then character/object bytes.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
draw_stream:&lt;br /&gt;
		lr	K,P				; 0BA3 08&lt;br /&gt;
		pi	pushk				; 0BA4 28 01 07 - bios pushk - save return address on BIOS K-stack&lt;br /&gt;
		lm					; 0BA7 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	3,A				; 0BA8 53&lt;br /&gt;
		lm					; 0BA9 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 0BAA 52&lt;br /&gt;
		lm					; 0BAB 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 0BAC 51&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; Inner stream loop. Loads one stream item from DC and draws through BIOS&lt;br /&gt;
; drawchar entry with alternate glyph/data pointer.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
draw_stream_next:&lt;br /&gt;
		lm					; 0BAD 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0BAE 50&lt;br /&gt;
		xdc					; 0BAF 2C - exchange DC and H pointers&lt;br /&gt;
		dci	L0EEF				; 0BB0 2A 0E EF - load DC with data/code pointer&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; Calls BIOS drawchar entry for one stream item, advances, and repeats until&lt;br /&gt;
; count expires.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
draw_stream_call:&lt;br /&gt;
		pi	drawchar_entry			; 0BB3 28 06 7C&lt;br /&gt;
		xdc					; 0BB6 2C - exchange DC and H pointers&lt;br /&gt;
		ds	3				; 0BB7 33&lt;br /&gt;
		bnz	draw_stream_next		; 0BB8 94 F4&lt;br /&gt;
		lr	A,$A				; 0BBA 4A&lt;br /&gt;
		ci	$69				; 0BBB 25 69&lt;br /&gt;
		bz	draw_stream_done		; 0BBD 84 04&lt;br /&gt;
		pi	short_delay			; 0BBF 28 0B 96&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; Restores return address from BIOS K-stack and returns from stream drawing&lt;br /&gt;
; routine.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
draw_stream_done:&lt;br /&gt;
		pi	popk				; 0BC2 28 01 1E - restore return address from BIOS K-stack&lt;br /&gt;
		pk					; 0BC5 0C - return via K/P after BIOS K-stack restore&lt;br /&gt;
&lt;br /&gt;
L0BC6:&lt;br /&gt;
		lr	QU,A				; 0BC6 06&lt;br /&gt;
		sl	1				; 0BC7 13&lt;br /&gt;
		out	$91				; 0BC8 27 91&lt;br /&gt;
		bf	9,L0B57				; 0BCA 99 8C&lt;br /&gt;
		bnz	L0B5B				; 0BCC 94 8E&lt;br /&gt;
		db	$A3				; 0BCE A3&lt;br /&gt;
L0BCF:&lt;br /&gt;
		lr	QU,A				; 0BCF 06&lt;br /&gt;
		oi	$26				; 0BD0 22 26&lt;br /&gt;
		lr	D,A				; 0BD2 5E - store A and decrement ISAR&lt;br /&gt;
		lr	A,D				; 0BD3 4E - read selected scratchpad register and decrement ISAR&lt;br /&gt;
		lr	8,A				; 0BD4 58&lt;br /&gt;
		lr	8,A				; 0BD5 58&lt;br /&gt;
		lr	2,A				; 0BD6 52&lt;br /&gt;
		lr	I,A				; 0BD7 5D - store A and increment ISAR&lt;br /&gt;
L0BD8:&lt;br /&gt;
		lr	IS,A				; 0BD8 0B&lt;br /&gt;
		ds	1				; 0BD9 31&lt;br /&gt;
		di					; 0BDA 1A&lt;br /&gt;
		bf	$E, L0B6E			; 0BDB 9E 92&lt;br /&gt;
		xm					; 0BDD 8C&lt;br /&gt;
		lr	A,KU				; 0BDE 00&lt;br /&gt;
		lr	D,A				; 0BDF 5E - store A and decrement ISAR&lt;br /&gt;
		lr	A,$A				; 0BE0 4A&lt;br /&gt;
		lr	A,S				; 0BE1 4C - read selected scratchpad register&lt;br /&gt;
		lr	A,KU				; 0BE2 00&lt;br /&gt;
		asd	D				; 0BE3 DE&lt;br /&gt;
		asd	9				; 0BE4 D9&lt;br /&gt;
		as	D				; 0BE5 CE&lt;br /&gt;
L0BE6:&lt;br /&gt;
		lr	DC,H				; 0BE6 10&lt;br /&gt;
		li	$0A				; 0BE7 20 0A&lt;br /&gt;
		bf	$D, L0B7B			; 0BE9 9D 91&lt;br /&gt;
		bf	9, L0B85			; 0BEB 99 99&lt;br /&gt;
		bf	$E, L0B80			; 0BED 9E 92&lt;br /&gt;
		bno	L0B80				; 0BEF 98 90&lt;br /&gt;
		lr	A,KU				; 0BF1 00&lt;br /&gt;
		br	draw_three_markers		; 0BF2 90 8A - unconditional jump&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; data_tables&lt;br /&gt;
; Smart disassembly marks $0BF4-$0FC5 as data.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
L0BF4:&lt;br /&gt;
		.byte	$96, $96, $8E, $9C, $A3		; 0BF4&lt;br /&gt;
L0BF9:&lt;br /&gt;
		.byte	$04, $2B, $2D, $5E, $4A, $58, $54	; 0BF9&lt;br /&gt;
L0C00:&lt;br /&gt;
		.byte	$2A, $10, $C0, $42, $10, $C0, $36, $1B	; 0C00&lt;br /&gt;
		.byte	$C0, $2A, $25, $C0, $42, $25, $C0, $19	; 0C08&lt;br /&gt;
		.byte	$0D, $83, $52, $28, $84, $17, $0B, $C1	; 0C10&lt;br /&gt;
		.byte	$54, $2A, $42			; 0C18&lt;br /&gt;
L0C1B:&lt;br /&gt;
		.byte	$00, $20, $70, $20, $00, $20, $70, $E0	; 0C1B&lt;br /&gt;
		.byte	$50, $08, $80, $50, $38, $70, $20, $08	; 0C23&lt;br /&gt;
		.byte	$08, $08, $08, $F8, $F8, $80, $80, $80	; 0C2B&lt;br /&gt;
		.byte	$80				; 0C33&lt;br /&gt;
L0C34:&lt;br /&gt;
		.byte	$0E, $FF, $FF, $3F, $2A, $2E, $2A, $2E	; 0C34&lt;br /&gt;
		.byte	$70, $FF, $FF, $FC, $54, $74, $54, $74	; 0C3C&lt;br /&gt;
		.byte	$5D, $55, $5D, $55, $5D, $55, $5D, $55	; 0C44&lt;br /&gt;
		.byte	$00, $40, $60, $7D, $7F, $7D, $00, $00	; 0C4C&lt;br /&gt;
		.byte	$00, $02, $06, $BE, $FE, $BE, $00, $00	; 0C54&lt;br /&gt;
L0C5C:&lt;br /&gt;
		.byte	$08, $13, $1F, $9D, $9A, $92, $9E, $8F	; 0C5C&lt;br /&gt;
		.byte	$92, $9C, $8E			; 0C64&lt;br /&gt;
L0C67:&lt;br /&gt;
		.byte	$30, $2E, $C0, $33, $2E, $C0, $31, $33	; 0C67&lt;br /&gt;
		.byte	$C0, $0B, $32, $80, $5C, $32, $40	; 0C6F&lt;br /&gt;
L0C76:&lt;br /&gt;
		.byte	$0C, $0B, $17, $40, $45, $40, $40, $00	; 0C76&lt;br /&gt;
		.byte	$00, $00, $00, $40, $45, $40, $40, $04	; 0C7E&lt;br /&gt;
		.byte	$33, $2E, $4B, $4E, $5E, $66, $09, $1C	; 0C86&lt;br /&gt;
		.byte	$20, $4B, $56, $4A, $4C, $54, $53, $4A	; 0C8E&lt;br /&gt;
		.byte	$4C, $54			; 0C96&lt;br /&gt;
L0C98:&lt;br /&gt;
		.byte	$F8, $84, $82, $81, $81, $81, $81, $FF	; 0C98&lt;br /&gt;
		.byte	$00, $00, $00, $1C, $23, $22, $22, $DC	; 0CA0&lt;br /&gt;
		.byte	$00, $00, $00, $78, $C7, $44, $44, $38	; 0CA8&lt;br /&gt;
		.byte	$04, $04, $04, $04, $FC, $44, $44, $7F	; 0CB0&lt;br /&gt;
		.byte	$10, $28, $28, $28, $28, $28, $10, $EF	; 0CB8&lt;br /&gt;
		.byte	$00, $00, $00, $08, $14, $14, $08, $F6	; 0CC0&lt;br /&gt;
L0CC8:&lt;br /&gt;
		.byte	$FF, $C3, $A5, $99, $99, $A5, $C3, $FF	; 0CC8&lt;br /&gt;
L0CD0:&lt;br /&gt;
		.byte	$0B, $30, $19, $8A, $DF, $5E, $99, $00	; 0CD0&lt;br /&gt;
		.byte	$4D, $59, $D9, $CD, $56, $8E	; 0CD8&lt;br /&gt;
L0CDE:&lt;br /&gt;
		.byte	$1B, $10, $82, $50, $27, $82, $25, $0D	; 0CDE&lt;br /&gt;
		.byte	$C1, $3D, $10, $C1, $36, $1B, $C1, $2F	; 0CE6&lt;br /&gt;
		.byte	$25, $C1, $47, $28, $C1, $17, $0B, $C0	; 0CEE&lt;br /&gt;
		.byte	$54, $2A, $40			; 0CF6&lt;br /&gt;
L0CF9:&lt;br /&gt;
		.byte	$00, $20, $F8, $70, $00, $00, $50, $20	; 0CF9&lt;br /&gt;
		.byte	$50, $00, $20, $70, $D8, $70, $20	; 0D01&lt;br /&gt;
L0D08:&lt;br /&gt;
		.byte	$09, $16, $1D, $5D, $5A, $4A, $4C, $4E	; 0D08&lt;br /&gt;
		.byte	$00, $61, $4A, $5C		; 0D10&lt;br /&gt;
L0D14:&lt;br /&gt;
		.byte	$0D, $10, $13, $00, $42, $43, $00, $00	; 0D14&lt;br /&gt;
		.byte	$00, $47, $42, $00, $00, $00, $41, $43	; 0D1C&lt;br /&gt;
		.byte	$0D, $16, $13, $E9, $44, $42, $00, $00	; 0D24&lt;br /&gt;
		.byte	$EA, $41, $43, $00, $00, $E2, $00, $43	; 0D2C&lt;br /&gt;
		.byte	$0D, $1E, $13, $00, $46, $45, $00, $00	; 0D34&lt;br /&gt;
		.byte	$00, $45, $49, $00, $00, $00, $43, $49	; 0D3C&lt;br /&gt;
L0D44:&lt;br /&gt;
		.byte	$2E, $2B, $81, $28, $2C, $43, $35, $2C	; 0D44&lt;br /&gt;
		.byte	$46, $3B, $2C, $49, $35, $24, $42, $3B	; 0D4C&lt;br /&gt;
		.byte	$24, $43			; 0D54&lt;br /&gt;
L0D56:&lt;br /&gt;
		.byte	$08, $09, $20, $97, $8A, $9E, $91, $9B	; 0D56&lt;br /&gt;
		.byte	$9F, $92, $A4			; 0D5E&lt;br /&gt;
L0D61:&lt;br /&gt;
		.byte	$03, $27, $14, $40, $40, $40, $01, $2D	; 0D61&lt;br /&gt;
		.byte	$14, $6A, $02, $33, $33, $42, $40, $06	; 0D69&lt;br /&gt;
		.byte	$11, $27, $CB, $CA, $D0, $CE, $D6, $DD	; 0D71&lt;br /&gt;
L0D79:&lt;br /&gt;
		.byte	$14, $19, $80, $1A, $19, $80, $30, $19	; 0D79&lt;br /&gt;
		.byte	$40, $36, $19, $40, $4D, $19, $40, $53	; 0D81&lt;br /&gt;
		.byte	$19, $40			; 0D89&lt;br /&gt;
L0D8B:&lt;br /&gt;
		.byte	$FE, $FE, $FE, $FE, $FE, $FE, $FE, $00	; 0D8B&lt;br /&gt;
L0D93:&lt;br /&gt;
		.byte	$03, $11, $2E, $98, $92, $97	; 0D93&lt;br /&gt;
L0D99:&lt;br /&gt;
		.byte	$D8, $D8, $D8, $D8, $D8, $00, $70, $00	; 0D99&lt;br /&gt;
		.byte	$70, $00, $00, $F0, $00, $7F, $00	; 0DA1&lt;br /&gt;
L0DA8:&lt;br /&gt;
		.byte	$18, $1A, $80, $34, $1A, $40, $51, $1A	; 0DA8&lt;br /&gt;
		.byte	$40				; 0DB0&lt;br /&gt;
L0DB1:&lt;br /&gt;
		.byte	$10, $10, $80, $10, $23, $40	; 0DB1&lt;br /&gt;
L0DB7:&lt;br /&gt;
		.byte	$09, $08, $17, $CD, $DC, $CA, $D0, $00	; 0DB7&lt;br /&gt;
		.byte	$DC, $CA, $CC, $CE		; 0DBF&lt;br /&gt;
L0DC3:&lt;br /&gt;
		.byte	$C0, $80, $40, $C0, $80, $40	; 0DC3&lt;br /&gt;
L0DC9:&lt;br /&gt;
		.byte	$F0, $F0, $F0, $F0, $00		; 0DC9&lt;br /&gt;
L0DCE:&lt;br /&gt;
		.byte	$FF, $FF, $00, $00, $00, $00, $00, $00	; 0DCE&lt;br /&gt;
L0DD6:&lt;br /&gt;
		.byte	$45, $45, $45, $49, $C5, $4C, $54, $C5	; 0DD6&lt;br /&gt;
		.byte	$C7, $63, $DD, $D7, $5D, $D1, $DD, $46	; 0DDE&lt;br /&gt;
		.byte	$D4, $64, $67, $61, $DD, $DD, $DD, $D1	; 0DE6&lt;br /&gt;
		.byte	$87, $57, $CC, $5D, $D7, $6D, $86, $76	; 0DEE&lt;br /&gt;
		.byte	$D4, $6C, $CC, $67, $61, $4B, $64, $92	; 0DF6&lt;br /&gt;
		.byte	$76, $0C, $C5, $14, $CB, $60, $C6, $75	; 0DFE&lt;br /&gt;
		.byte	$05, $4C, $CB, $6D, $42, $54, $54, $5D	; 0E06&lt;br /&gt;
		.byte	$46, $75, $4C, $C6, $D4, $76, $76, $7B	; 0E0E&lt;br /&gt;
		.byte	$8C, $C6, $A4, $54, $67, $54, $54, $51	; 0E16&lt;br /&gt;
		.byte	$7C, $C2, $76, $7B, $CC, $B6, $76, $76	; 0E1E&lt;br /&gt;
L0E26:&lt;br /&gt;
		.byte	$FE, $FE, $C0, $C0, $FE, $FE, $00, $00	; 0E26&lt;br /&gt;
		.byte	$FE, $FE, $C6, $C6, $C6, $C6, $00, $00	; 0E2E&lt;br /&gt;
		.byte	$FE, $FE, $06, $06, $FE, $FE, $00, $00	; 0E36&lt;br /&gt;
		.byte	$C6, $C6, $C6, $C6, $FE, $FE, $00, $00	; 0E3E&lt;br /&gt;
		.byte	$FE, $FE, $C0, $C0, $C6, $C6, $00, $00	; 0E46&lt;br /&gt;
		.byte	$FE, $FE, $06, $06, $C6, $C6, $00, $00	; 0E4E&lt;br /&gt;
		.byte	$C6, $C6, $06, $06, $FE, $FE, $00, $00	; 0E56&lt;br /&gt;
		.byte	$C6, $C6, $C0, $C0, $FE, $FE, $00, $00	; 0E5E&lt;br /&gt;
		.byte	$C6, $C6, $C0, $C0, $C6, $C6, $00, $00	; 0E66&lt;br /&gt;
		.byte	$FE, $FE, $00, $00, $C6, $C6, $00, $00	; 0E6E&lt;br /&gt;
		.byte	$C6, $C6, $06, $06, $C6, $C6, $00, $00	; 0E76&lt;br /&gt;
		.byte	$C6, $C6, $00, $00, $FE, $FE, $00, $00	; 0E7E&lt;br /&gt;
		.byte	$FE, $FE, $00, $00, $FE, $FE, $00, $00	; 0E86&lt;br /&gt;
		.byte	$C6, $C6, $C6, $C6, $C6, $C6, $00, $00	; 0E8E&lt;br /&gt;
L0E96:&lt;br /&gt;
		.byte	$04, $33, $2B, $57, $4A, $64, $4E	; 0E96&lt;br /&gt;
L0E9D:&lt;br /&gt;
		.byte	$15, $1A, $40, $18, $0D, $40, $35, $0A	; 0E9D&lt;br /&gt;
		.byte	$40, $50, $0D, $40, $12, $22, $41, $37	; 0EA5&lt;br /&gt;
		.byte	$14, $41, $58, $22, $41, $37, $1D, $42	; 0EAD&lt;br /&gt;
		.byte	$35, $36, $43, $34, $31, $84, $36, $30	; 0EB5&lt;br /&gt;
		.byte	$45, $2F, $30, $C6		; 0EBD&lt;br /&gt;
L0EC1:&lt;br /&gt;
		.byte	$10, $38, $38, $28, $28, $10, $38, $38	; 0EC1&lt;br /&gt;
		.byte	$28, $E8, $A0, $F0, $70, $50, $50, $20	; 0EC9&lt;br /&gt;
		.byte	$70, $70, $D8, $00, $80, $80, $80, $80	; 0ED1&lt;br /&gt;
		.byte	$80, $E0, $E0, $00, $00, $00, $20, $78	; 0ED9&lt;br /&gt;
		.byte	$70, $50, $50			; 0EE1&lt;br /&gt;
L0EE4:&lt;br /&gt;
		.byte	$08, $25, $20, $8B, $8A, $9D, $8E, $8B	; 0EE4&lt;br /&gt;
		.byte	$8A, $96, $96			; 0EEC&lt;br /&gt;
L0EEF:&lt;br /&gt;
		.byte	$F8, $88, $88, $88, $F8, $20, $60, $20	; 0EEF&lt;br /&gt;
		.byte	$20, $70, $F8, $08, $F8, $80, $F8, $F8	; 0EF7&lt;br /&gt;
		.byte	$08, $38, $08, $F8, $88, $88, $F8, $08	; 0EFF&lt;br /&gt;
		.byte	$08, $F8, $80, $F8, $08, $F8, $80, $80	; 0F07&lt;br /&gt;
		.byte	$F8, $88, $F8, $F8, $08, $10, $10, $10	; 0F0F&lt;br /&gt;
		.byte	$F8, $88, $F8, $88, $F8, $F8, $88, $F8	; 0F17&lt;br /&gt;
		.byte	$08, $08, $F8, $88, $F8, $88, $88, $F8	; 0F1F&lt;br /&gt;
		.byte	$48, $78, $48, $F8, $F8, $80, $80, $80	; 0F27&lt;br /&gt;
		.byte	$F8, $F8, $48, $48, $48, $F8, $F8, $80	; 0F2F&lt;br /&gt;
		.byte	$E0, $80, $F8, $F8, $80, $E0, $80, $80	; 0F37&lt;br /&gt;
		.byte	$F8, $80, $98, $88, $F8, $88, $88, $F8	; 0F3F&lt;br /&gt;
		.byte	$88, $88, $F8, $20, $20, $20, $F8, $F8	; 0F47&lt;br /&gt;
		.byte	$20, $20, $A0, $E0, $90, $A0, $C0, $A0	; 0F4F&lt;br /&gt;
		.byte	$90				; 0F57&lt;br /&gt;
L0F58:&lt;br /&gt;
		.byte	$00, $C8, $FF, $C8, $00, $80, $80, $80	; 0F58&lt;br /&gt;
		.byte	$80, $F8, $88, $D8, $A8, $88, $88, $88	; 0F60&lt;br /&gt;
		.byte	$C8, $A8, $98, $88, $F8, $88, $88, $88	; 0F68&lt;br /&gt;
		.byte	$F8, $F8, $88, $F8, $80, $80, $F8, $88	; 0F70&lt;br /&gt;
		.byte	$88, $90, $E8, $F8, $88, $F8, $90, $88	; 0F78&lt;br /&gt;
		.byte	$F8, $80, $F8, $08, $F8, $F8, $20, $20	; 0F80&lt;br /&gt;
		.byte	$20, $20, $88, $88, $88, $88, $F8, $88	; 0F88&lt;br /&gt;
		.byte	$88, $88, $50, $20, $88, $88, $A8, $D8	; 0F90&lt;br /&gt;
		.byte	$88, $88, $50, $20, $50, $88, $88, $88	; 0F98&lt;br /&gt;
		.byte	$F8, $20, $20, $F8, $10, $20, $40, $F8	; 0FA0&lt;br /&gt;
		.byte	$00, $00, $00, $00, $00, $F8, $08, $38	; 0FA8&lt;br /&gt;
		.byte	$00, $20, $00, $00, $00, $00, $40, $20	; 0FB0&lt;br /&gt;
		.byte	$20, $20, $00, $20, $20, $20, $F8, $20	; 0FB8&lt;br /&gt;
		.byte	$20, $00, $00, $F8, $00, $00	; 0FC0&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; 		lr	A,KU				; 0fc5 00&lt;br /&gt;
; bios_draw_a01fc_wrapper&lt;br /&gt;
; Wrapper for BIOS routine $01FC. Used for a repeated object/sprite style draw.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
bios_draw_a01fc_wrapper:&lt;br /&gt;
		lr	K,P				; 0FC6 08&lt;br /&gt;
		pi	pushk				; 0FC7 28 01 07 - bios pushk - save return address on BIOS K-stack&lt;br /&gt;
		jmp	$01FC				; 0FCA 29 01 FC - unconditional jump&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; b_drawchar_bmp_wrapper&lt;br /&gt;
; Wrapper for BIOS drawchar bitmap entry. Sets r4=8 before tail-jumping into&lt;br /&gt;
; BIOS drawchar internals.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
b_drawchar_bmp_wrapper:&lt;br /&gt;
		lr	K,P				; 0FCD 08&lt;br /&gt;
		pi	pushk				; 0FCE 28 01 07 - bios pushk - save return address on BIOS K-stack&lt;br /&gt;
		lis	8				; 0FD1 78&lt;br /&gt;
		lr	4,A				; 0FD2 54&lt;br /&gt;
		jmp	b_drawchar_bmp_entry	; 0FD3 29 06 8A - unconditional jump&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; bios_score_prompt_wrapper&lt;br /&gt;
; Wrapper around BIOS score/prompt rendering helper. Initializes object bytes&lt;br /&gt;
; at O26/O27 before BIOS calls.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
bios_score_prompt_wrapper:&lt;br /&gt;
		lr	K,P				; 0FD6 08&lt;br /&gt;
		pi	pushk				; 0FD7 28 01 07 - bios pushk - save return address on BIOS K-stack&lt;br /&gt;
		lisu	2				; 0FDA 62&lt;br /&gt;
		lisl	6				; 0FDB 6E&lt;br /&gt;
		li	$99				; 0FDC 20 99&lt;br /&gt;
		lr	I,A				; 0FDE 5D - store A and increment ISAR&lt;br /&gt;
		lr	S,A				; 0FDF 5C - store A in selected scratchpad register&lt;br /&gt;
		pi	b_score_left			; 0FE0 28 02 AC&lt;br /&gt;
		pi	b_score_right		; 0FE3 28 02 B5&lt;br /&gt;
		pi	popk				; 0FE6 28 01 1E - restore return address from BIOS K-stack&lt;br /&gt;
		pk					; 0FE9 0C - return via K/P after BIOS K-stack restore&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; clear_screen_o37_0&lt;br /&gt;
; Clear-screen wrapper variant. Stores 0 in O37 before calling BIOS clearscrn.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
clear_screen_o37_0:&lt;br /&gt;
		clr					; 0FEA 70&lt;br /&gt;
		br	clear_screen_common		; 0FEB 90 02 - unconditional jump&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; clear_screen_o37_1&lt;br /&gt;
; Clear-screen wrapper variant. Stores 1 in O37 before calling BIOS clearscrn.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
clear_screen_o37_1:&lt;br /&gt;
		lis	1				; 0FED 71&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; clear_screen_common&lt;br /&gt;
; Common clear-screen helper. Stores O37, builds r3=$D0+r3, then calls BIOS&lt;br /&gt;
; clearscrn.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
clear_screen_common:&lt;br /&gt;
		lisu	3				; 0FEE 63&lt;br /&gt;
		lisl	7				; 0FEF 6F&lt;br /&gt;
		lr	S,A				; 0FF0 5C - store A in selected scratchpad register&lt;br /&gt;
		lr	K,P				; 0FF1 08&lt;br /&gt;
		pi	pushk				; 0FF2 28 01 07 - bios pushk - save return address on BIOS K-stack&lt;br /&gt;
		li	$D0				; 0FF5 20 D0&lt;br /&gt;
		as	3				; 0FF7 C3&lt;br /&gt;
		lr	3,A				; 0FF8 53&lt;br /&gt;
		pi	clrscrn				; 0FF9 28 00 D0 - bios clear screen routine&lt;br /&gt;
		pi	popk				; 0FFC 28 01 1E - restore return address from BIOS K-stack&lt;br /&gt;
		pk					; 0FFF 0C - return via K/P after BIOS K-stack restore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		IF	0&lt;br /&gt;
; Smart data report&lt;br /&gt;
; =================&lt;br /&gt;
; Mode: enabled by -s or /s&lt;br /&gt;
; Memory range: $0800-$0FFF&lt;br /&gt;
; Code bytes: 1070&lt;br /&gt;
; Data bytes: 978&lt;br /&gt;
;&lt;br /&gt;
; DCI data roots from reachable code:&lt;br /&gt;
;   $0BC6 from $0809&lt;br /&gt;
;   $0BCF from $0816&lt;br /&gt;
;   $0BD8 from $0845&lt;br /&gt;
;   $0BE6 from $086B&lt;br /&gt;
;   $0C98 from $0878&lt;br /&gt;
;   $0CC8 from $0899&lt;br /&gt;
;   $0CC8 from $08A8&lt;br /&gt;
;   $0CC8 from $08B7&lt;br /&gt;
;   $0CC8 from $08C3&lt;br /&gt;
;   $0CD0 from $08C9&lt;br /&gt;
;   $0C00 from $08FD&lt;br /&gt;
;   $0C1B from $0907&lt;br /&gt;
;   $0BF9 from $0914&lt;br /&gt;
;   $0EEF from $0BB0&lt;br /&gt;
;   $0E9D from $0B57&lt;br /&gt;
;   $0EC1 from $0B63&lt;br /&gt;
;   $0EE4 from $0B6D&lt;br /&gt;
;   $0C76 from $099D&lt;br /&gt;
;   $0C34 from $09B3&lt;br /&gt;
;   $0C67 from $09B7&lt;br /&gt;
;   $0C5C from $09CA&lt;br /&gt;
;   $0CDE from $09DA&lt;br /&gt;
;   $0CF9 from $09E4&lt;br /&gt;
;   $0D08 from $09EE&lt;br /&gt;
;   $0D14 from $0A18&lt;br /&gt;
;   $0D44 from $0A32&lt;br /&gt;
;   $0D56 from $0A43&lt;br /&gt;
;   $0D61 from $0A53&lt;br /&gt;
;   $0D79 from $0A6F&lt;br /&gt;
;   $0D8B from $0A7B&lt;br /&gt;
;   $0D99 from $0A85&lt;br /&gt;
;   $0DA8 from $0A89&lt;br /&gt;
;   $0D93 from $0A9C&lt;br /&gt;
;   $0DB1 from $0AA7&lt;br /&gt;
;   $0F58 from $0AB3&lt;br /&gt;
;   $0DC3 from $0AD8&lt;br /&gt;
;   $0DC9 from $0AE0&lt;br /&gt;
;   $0DCE from $0AF5&lt;br /&gt;
;   $0DCE from $0B01&lt;br /&gt;
;   $0DB7 from $0B0A&lt;br /&gt;
;   $0DD6 from $0B15&lt;br /&gt;
;   $0E26 from $0B2A&lt;br /&gt;
;   $0E26 from $0B33&lt;br /&gt;
;   $0E96 from $0B4C&lt;br /&gt;
;&lt;br /&gt;
; Data intervals emitted as .byte:&lt;br /&gt;
;   $0BF4-$0FC5 (978 bytes)&lt;br /&gt;
		ENDIF&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=775</id>
		<title>Disassembly:Bios</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=775"/>
				<updated>2026-08-04T20:58:06Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is the disassembly of the [[Channel F]] [[bios]] made and partially annotated by Sean Riddle. This code is copyright &amp;amp;copy; 1976 Fairchild Semiconductor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cartridgeStart = $0800&lt;br /&gt;
cartridgeEntry = $0802&lt;br /&gt;
&lt;br /&gt;
;=======;&lt;br /&gt;
; Reset ;&lt;br /&gt;
;=======;&lt;br /&gt;
&lt;br /&gt;
; this is the code executed when the system first&lt;br /&gt;
; starts up. it clears the registers, sets the K stack&lt;br /&gt;
; pointer, and checks to see if a cartridge is inserted&lt;br /&gt;
&lt;br /&gt;
reset:&lt;br /&gt;
	clr&lt;br /&gt;
reset.clrRegs:				; clear all the registers to 0&lt;br /&gt;
	lr	IS, A			; set the ISAR&lt;br /&gt;
	clr&lt;br /&gt;
	lr	S, A			; clear the current register&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc				; increase the ISAR&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bnz	reset.clrRegs		; if we're not finished, loop&lt;br /&gt;
&lt;br /&gt;
	; set K stack pointer (see pushk/popk)&lt;br /&gt;
	lisu	7			; K stack pointer (r59)&lt;br /&gt;
	lisl	3&lt;br /&gt;
	li	$28&lt;br /&gt;
	lr	S, A			; pointer is set to r40&lt;br /&gt;
&lt;br /&gt;
	; check to see if a cartridge is inserted&lt;br /&gt;
	dci	cartridgeStart&lt;br /&gt;
	lm&lt;br /&gt;
	ci	$55			; compare the first cartridge byte to $55&lt;br /&gt;
	bnz	noCart			; if it's false, there's no valid cartridge inserted&lt;br /&gt;
	jmp	cartridgeEntry		; otherwise, play the cartridge&lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; No Cartridge ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; no cartridge is inserted, so play the internal games&lt;br /&gt;
                &lt;br /&gt;
noCart:&lt;br /&gt;
	; clear screen to gray&lt;br /&gt;
	li	$d6&lt;br /&gt;
	lr	3, A&lt;br /&gt;
	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
A0020:          LI   $4a                 ; blue G&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; 0026 63&lt;br /&gt;
                LISL 4                   ; 0027 6c&lt;br /&gt;
                LIS  $4                  ; 0028 74&lt;br /&gt;
                LR   S,A              ; 0029 5c&lt;br /&gt;
                LR   A,$4                ; 002a 44&lt;br /&gt;
                LISL 7                   ; 002b 6f&lt;br /&gt;
                LR   S,A              ; 002c 5c&lt;br /&gt;
                CI   $03                 ; 002d 25 03&lt;br /&gt;
                BF   $1,A0020            ; 002f 91 f0&lt;br /&gt;
                PI   A0135               ; 0031 28 01 35&lt;br /&gt;
                PI   prompts             ; 0034 28 02 24&lt;br /&gt;
A0037:          PI   A0088               ; 0037 28 00 88&lt;br /&gt;
                PI   A02da               ; 003a 28 02 da&lt;br /&gt;
                PI   A0088               ; 003d 28 00 88&lt;br /&gt;
                PI   A02e8               ; 0040 28 02 e8&lt;br /&gt;
                PI   A0088               ; 0043 28 00 88&lt;br /&gt;
                NI   $04                 ; 0046 21 04&lt;br /&gt;
                BT   4,A0050             ; 0048 84 07&lt;br /&gt;
                PI   A038c               ; 004a 28 03 8c&lt;br /&gt;
                PI   A0399               ; 004d 28 03 99&lt;br /&gt;
A0050:          PI   A0658               ; 0050 28 06 58&lt;br /&gt;
                PI   A0467               ; 0053 28 04 67&lt;br /&gt;
                PI   A03d3               ; 0056 28 03 d3&lt;br /&gt;
                LISU 3                   ; 0059 63&lt;br /&gt;
                LISL 7                   ; 005a 6f&lt;br /&gt;
                LR   A,S              ; 005b 4c&lt;br /&gt;
                CI   $02                 ; 005c 25 02&lt;br /&gt;
                BNZ  A0063            ; 005e 94 04&lt;br /&gt;
                PI   A0447               ; 0060 28 04 47&lt;br /&gt;
A0063:          LISU 4                   ; 0063 64&lt;br /&gt;
                LISL 7                   ; 0064 6f&lt;br /&gt;
                LR   A,S              ; 0065 4c&lt;br /&gt;
                INC                      ; 0066 1f&lt;br /&gt;
                LR   S,A              ; 0067 5c&lt;br /&gt;
                LIS  $0                  ; 0068 70&lt;br /&gt;
                OUTS 0                   ; 0069 b0&lt;br /&gt;
                INS  0                   ; read buttons&lt;br /&gt;
                NI   $04                 ; hold button hit?&lt;br /&gt;
                BNZ  A0072            ; nope&lt;br /&gt;
                PI   prompts             ; yes, print S? and wait&lt;br /&gt;
A0072:          LISU 3                   ; 0072 63&lt;br /&gt;
                LISL 4                   ; 0073 6c&lt;br /&gt;
                DCI  speeds              ; 0074 2a 00 83&lt;br /&gt;
                LR   A,S              ; 0077 4c&lt;br /&gt;
                SR   1                   ; 0078 12&lt;br /&gt;
                ADC                      ; 0079 8e&lt;br /&gt;
                LM                       ; 007a 16&lt;br /&gt;
                LR   $5,A                ; 007b 55&lt;br /&gt;
                PI   delay               ; 007c 28 00 8f&lt;br /&gt;
                LIS  $0                  ; turn off sound&lt;br /&gt;
                OUTS 5                   ; 0080 b5&lt;br /&gt;
                BF   $0,A0037            ; 0081 90 b5&lt;br /&gt;
                &lt;br /&gt;
speeds:			db	$22,$13,$07,$03,$03		; mode speeds&lt;br /&gt;
&lt;br /&gt;
A0088:          LISU 4                   ;&lt;br /&gt;
                LISL 6                   ; &lt;br /&gt;
                LR   A,D             ; &lt;br /&gt;
                LR   $1,A                ; r1=r38&lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                LR   $0,A                ; r0=r37&lt;br /&gt;
                POP                      ; &lt;br /&gt;
                &lt;br /&gt;
delay:          LI   $ff                 ;$008f - parameter in r5, uses r6&lt;br /&gt;
                LR   $6,A                ;&lt;br /&gt;
dlyloop:        DS   $6                  ;&lt;br /&gt;
                BNZ  dlyloop          ;&lt;br /&gt;
                DS   $5                  ;&lt;br /&gt;
                BNZ  delay            ;&lt;br /&gt;
                POP                      ;&lt;br /&gt;
                &lt;br /&gt;
prompt:         LR   K,P                 ; $0099 - prints char r0 at row r1, col r2, waits for button&lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                LI   $8b                 ; r0=8b	red ?&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                PI   readbuts            ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                LIS  $d                  ; r0=$d&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   popk                ; &lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
readbuts:       INS  0                   ; $00c1 - read buttons&lt;br /&gt;
                COM                      ; &lt;br /&gt;
                NI   $0f                 ; &lt;br /&gt;
                BT   4,readbuts          ; &lt;br /&gt;
                LR   $4,A                ; &lt;br /&gt;
                LI   $ff                 ; &lt;br /&gt;
                LR   $5,A                ; &lt;br /&gt;
debounce:       DS   $5                  ; &lt;br /&gt;
                BNZ  debounce         ; &lt;br /&gt;
                BF   $0,delay            ; &lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; Clear Screen ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; all pixels are written to background, palette is set in r3&lt;br /&gt;
; clears screen using the drawchar routine, one character at the time&lt;br /&gt;
; it covers the entire VRAM area (0,0) to (127,63), writes line 0 twice&lt;br /&gt;
;&lt;br /&gt;
; NOTES:&lt;br /&gt;
; Needs r31 (O37) to have data in either b0 and/or b7 or you'll get a black bar from row 50&lt;br /&gt;
; Uses r52 (O64) for ISAR values&lt;br /&gt;
; Has to have a valid stack pointer in r59 (O73)&lt;br /&gt;
&lt;br /&gt;
; registers used:&lt;br /&gt;
; r0-r8,r31,r40-r43,r52,r53,r54,r59&lt;br /&gt;
&lt;br /&gt;
; USE:&lt;br /&gt;
; load register 3 (lr 3,A) with color value&lt;br /&gt;
; lt.grey:  $D4, $D6, $DC or $DE&lt;br /&gt;
; lt.green: $C0, $C2, $C8 or $CA&lt;br /&gt;
; lt.blue:  $91, $93, $99 or $9B&lt;br /&gt;
; black/w:  $21, $23, $29 or $2B&lt;br /&gt;
&lt;br /&gt;
; Code to use the routine (check r31 as well):&lt;br /&gt;
; Prevent color bug:&lt;br /&gt;
;	li	$1F&lt;br /&gt;
;	lr	IS,A&lt;br /&gt;
;	lis	1&lt;br /&gt;
;	lr	S,A&lt;br /&gt;
; actual code:	&lt;br /&gt;
;	li	{color code}&lt;br /&gt;
;	lr	3, A&lt;br /&gt;
;	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
clrscrn:                                    ; $00D0&lt;br /&gt;
	; save return address&lt;br /&gt;
	lr	K, P&lt;br /&gt;
	pi	pushk&lt;br /&gt;
&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	2, A&lt;br /&gt;
clrscrn.loop2:&lt;br /&gt;
	li	$7e&lt;br /&gt;
	lr	1, A&lt;br /&gt;
	lr	A, 3&lt;br /&gt;
	oi	10&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar&lt;br /&gt;
	lis	5			; this is LIS 4 in other BIOS!!!&lt;br /&gt;
	lr	1, A&lt;br /&gt;
clrscrn.loop1:&lt;br /&gt;
	lis	13&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar	&lt;br /&gt;
	ds	1&lt;br /&gt;
	lr	A, 1&lt;br /&gt;
	ci	$70&lt;br /&gt;
	bc	clrscrn.loop1&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ai	5&lt;br /&gt;
	lr	2, A&lt;br /&gt;
	lisu	3&lt;br /&gt;
	lisl	7&lt;br /&gt;
	lis	3&lt;br /&gt;
	ns	S&lt;br /&gt;
	bz	A00fe&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$30&lt;br /&gt;
	bc	clrscrn.loop2&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	3, A&lt;br /&gt;
A00fe:&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bc	clrscrn.loop2&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pi	popk&lt;br /&gt;
	pk&lt;br /&gt;
&lt;br /&gt;
;==================;&lt;br /&gt;
; Register K Stack ;&lt;br /&gt;
;==================;&lt;br /&gt;
&lt;br /&gt;
; the K stack is an emulated stack using the register r59&lt;br /&gt;
; as a stack pointer, which holds the register number for&lt;br /&gt;
; the top of the stack, which first points at r40. when&lt;br /&gt;
; pushk is called, K is pushed to the first two registers&lt;br /&gt;
; on the stack, and the pointer is increased.&lt;br /&gt;
;&lt;br /&gt;
; the K stack can hold 9 copies of K (r40-58) before &lt;br /&gt;
; the stack pointer itself is overwritten (r59)&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Push K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; pushes register K (r12-13) onto a stack using r59 as&lt;br /&gt;
; the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
&lt;br /&gt;
pushk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; get the top of the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3			; r59, stack pointer&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	IS, A			; load the referenced register&lt;br /&gt;
	; push K onto the stack&lt;br /&gt;
	lr	A, Ku&lt;br /&gt;
	lr	S, A			; push high byte of K&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR (they could've used lr I, A)&lt;br /&gt;
	lr	A, Kl&lt;br /&gt;
	lr	S, A			; push low byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR to the top of the stack&lt;br /&gt;
	lr	A, IS			; redundantly, get back the register number&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Pop K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; retrieves a 16-bit value from the K stack and&lt;br /&gt;
; stores it in K, using r59 as the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
                &lt;br /&gt;
popk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; retrieve K from the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	A, S			; load the stack pointer&lt;br /&gt;
	ai	$ff			; &amp;quot;subtract&amp;quot; 1 to get the first register on the stack&lt;br /&gt;
	lr	IS, A			; set the ISAR to this register&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Kl, A			; load lower byte of K &lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	ai	$ff			; get previous register (they could've used lr A, D)&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Ku, A			; load upper byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;===================;&lt;br /&gt;
                &lt;br /&gt;
A0135:          LR   K,P                 ; 0135 08&lt;br /&gt;
                PI   pushk               ; 0136 28 01 07&lt;br /&gt;
                LISU 3                   ; 0139 63&lt;br /&gt;
                LISL 7                   ; 013a 6f&lt;br /&gt;
                LR   A,S              ; 013b 4c&lt;br /&gt;
                LISU 4                   ; 013c 64&lt;br /&gt;
                LISL 5                   ; 013d 6d&lt;br /&gt;
                CI   $01                 ; 013e 25 01&lt;br /&gt;
                BT   4,A014f             ; 0140 84 0e&lt;br /&gt;
                LI   $53                 ; 0142 20 53&lt;br /&gt;
                LR   I,A             ; 0144 5d&lt;br /&gt;
                LIS  $c                  ; 0145 7c	!!! this is 7F in other BIOS&lt;br /&gt;
                LR   D,A             ; 0146 5e&lt;br /&gt;
                LI   $d0                 ; 0147 20 d0&lt;br /&gt;
                LR   $3,A                ; 0149 53&lt;br /&gt;
                PI   clrscrn             ; 014a 28 00 d0&lt;br /&gt;
                BF   $0,A017d            ; 014d 90 2f&lt;br /&gt;
                &lt;br /&gt;
A014f:          LI   $17                 ; 014f 20 17&lt;br /&gt;
                LR   I,A             ; 0151 5d&lt;br /&gt;
                LI   $ff                 ; 0152 20 ff&lt;br /&gt;
                LR   S,A              ; 0154 5c&lt;br /&gt;
                LI   $d6                 ; 0155 20 d6&lt;br /&gt;
                LR   $3,A                ; 0157 53&lt;br /&gt;
                PI   clrscrn             ; 0158 28 00 d0&lt;br /&gt;
                LI   $11                 ; 015b 20 11&lt;br /&gt;
                LR   $1,A                ; 015d 51&lt;br /&gt;
                LIS  $8                  ; 015e 78&lt;br /&gt;
                LR   $2,A                ; 015f 52&lt;br /&gt;
                PI   A01f6               ; 0160 28 01 f6&lt;br /&gt;
                LI   $11                 ; 0163 20 11&lt;br /&gt;
                LR   $1,A                ; 0165 51&lt;br /&gt;
                LI   $25                 ; 0166 20 25&lt;br /&gt;
                LR   $2,A                ; 0168 52&lt;br /&gt;
                PI   A01f6               ; 0169 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 016c 20 5c&lt;br /&gt;
                LR   $1,A                ; 016e 51&lt;br /&gt;
                LIS  $8                  ; 016f 78&lt;br /&gt;
                LR   $2,A                ; 0170 52&lt;br /&gt;
                PI   A01f6               ; 0171 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 0174 20 5c&lt;br /&gt;
                LR   $1,A                ; 0176 51&lt;br /&gt;
                LI   $25                 ; 0177 20 25&lt;br /&gt;
                LR   $2,A                ; 0179 52&lt;br /&gt;
                PI   A01f6               ; 017a 28 01 f6&lt;br /&gt;
A017d:          LI   $14                 ; 017d 20 14&lt;br /&gt;
                LR   $1,A                ; 017f 51&lt;br /&gt;
                LIS  $6                  ; 0180 76&lt;br /&gt;
                LR   $2,A                ; 0181 52&lt;br /&gt;
                PI   A020e               ; 0182 28 02 0e&lt;br /&gt;
                LI   $14                 ; 0185 20 14&lt;br /&gt;
                LR   $1,A                ; 0187 51&lt;br /&gt;
                LI   $2e                 ; 0188 20 2e&lt;br /&gt;
                LR   $2,A                ; 018a 52&lt;br /&gt;
                PI   A020e               ; 018b 28 02 0e&lt;br /&gt;
                LI   $99                 ; 018e 20 99&lt;br /&gt;
                LISU 2                   ; 0190 62&lt;br /&gt;
                LISL 6                   ; 0191 6e&lt;br /&gt;
                LR   I,A             ; 0192 5d&lt;br /&gt;
                LR   S,A              ; 0193 5c&lt;br /&gt;
                PI   A02ac               ; 0194 28 02 ac&lt;br /&gt;
                PI   A02b5               ; 0197 28 02 b5&lt;br /&gt;
                LISU 4                   ; 019a 64&lt;br /&gt;
                LISL 2                   ; 019b 6a&lt;br /&gt;
                LIS  $2                  ; 019c 72&lt;br /&gt;
                LR   S,A              ; 019d 5c&lt;br /&gt;
                BF   $0,A01a4            ; 019e 90 05&lt;br /&gt;
                &lt;br /&gt;
A01a0:          LR   K,P                 ; 01a0 08&lt;br /&gt;
                PI   pushk               ; 01a1 28 01 07&lt;br /&gt;
A01a4:          LISU 2                   ; 01a4 62&lt;br /&gt;
                LISL 0                   ; 01a5 68&lt;br /&gt;
                LI   $17                 ; 01a6 20 17&lt;br /&gt;
                LR   S,A              ; 01a8 5c&lt;br /&gt;
                LISL 3                   ; 01a9 6b&lt;br /&gt;
                LR   S,A              ; 01aa 5c&lt;br /&gt;
                LI   $1c                 ; 01ab 20 1c&lt;br /&gt;
                LR   $1,A                ; 01ad 51&lt;br /&gt;
                LI   $1a                 ; 01ae 20 1a&lt;br /&gt;
                LR   $2,A                ; 01b0 52&lt;br /&gt;
                LI   $b0                 ; 01b1 20 b0&lt;br /&gt;
                LR   $0,A                ; 01b3 50&lt;br /&gt;
                PI   drawchar            ; 01b4 28 06 79&lt;br /&gt;
                LI   $38                 ; 01b7 20 38&lt;br /&gt;
                LR   $1,A                ; 01b9 51&lt;br /&gt;
                LI   $1b                 ; 01ba 20 1b&lt;br /&gt;
                LR   $2,A                ; 01bc 52&lt;br /&gt;
                LI   $55                 ; 01bd 20 55&lt;br /&gt;
                LR   $0,A                ; 01bf 50&lt;br /&gt;
                PI   drawchar            ; 01c0 28 06 79&lt;br /&gt;
                LI   $52                 ; 01c3 20 52&lt;br /&gt;
                LR   $1,A                ; 01c5 51&lt;br /&gt;
                LI   $1a                 ; 01c6 20 1a&lt;br /&gt;
                LR   $2,A                ; 01c8 52&lt;br /&gt;
                LI   $71                 ; 01c9 20 71&lt;br /&gt;
                LR   $0,A                ; 01cb 50&lt;br /&gt;
                PI   drawchar            ; 01cc 28 06 79&lt;br /&gt;
                LISU 4                   ; 01cf 64&lt;br /&gt;
                LISL 5                   ; 01d0 6d&lt;br /&gt;
                LR   A,S              ; 01d1 4c&lt;br /&gt;
                SL   1                   ; 01d2 13&lt;br /&gt;
                BT   1,A01da             ; 01d3 81 06&lt;br /&gt;
                PI   A0447               ; 01d5 28 04 47&lt;br /&gt;
                BF   $0,A01f2            ; 01d8 90 19&lt;br /&gt;
                &lt;br /&gt;
A01da:          LI   $11                 ; 01da 20 11&lt;br /&gt;
                LR   $1,A                ; 01dc 51&lt;br /&gt;
                LI   $1a                 ; 01dd 20 1a&lt;br /&gt;
                LR   $2,A                ; 01df 52&lt;br /&gt;
                LI   $b2                 ; 01e0 20 b2&lt;br /&gt;
                LR   $0,A                ; 01e2 50&lt;br /&gt;
                PI   drawchar            ; 01e3 28 06 79&lt;br /&gt;
                LI   $5e                 ; 01e6 20 5e&lt;br /&gt;
                LR   $1,A                ; 01e8 51&lt;br /&gt;
                LI   $1a                 ; 01e9 20 1a&lt;br /&gt;
                LR   $2,A                ; 01eb 52&lt;br /&gt;
                LI   $73                 ; 01ec 20 73&lt;br /&gt;
                LR   $0,A                ; 01ee 50&lt;br /&gt;
                PI   drawchar            ; 01ef 28 06 79&lt;br /&gt;
A01f2:          PI   popk                ; 01f2 28 01 1e&lt;br /&gt;
                PK                       ; 01f5 0c&lt;br /&gt;
                &lt;br /&gt;
A01f6:          LR   K,P                 ; 01f6 08&lt;br /&gt;
                PI   pushk               ; 01f7 28 01 07&lt;br /&gt;
                LIS  $8                  ; 01fa 78&lt;br /&gt;
                LR   $3,A                ; 01fb 53&lt;br /&gt;
A01fc:          LI   $81                 ; 01fc 20 81&lt;br /&gt;
                LR   $0,A                ; 01fe 50&lt;br /&gt;
                PI   drawchar            ; 01ff 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0202 41&lt;br /&gt;
                AI   $fa                 ; 0203 24 fa&lt;br /&gt;
                LR   $1,A                ; 0205 51&lt;br /&gt;
                LR   A,$2                ; 0206 42&lt;br /&gt;
                INC                      ; 0207 1f&lt;br /&gt;
                LR   $2,A                ; 0208 52&lt;br /&gt;
                DS   $3                  ; 0209 33&lt;br /&gt;
                BNZ  A01fc            ; 020a 94 f1&lt;br /&gt;
                BF   $0,A01f2            ; 020c 90 e5&lt;br /&gt;
                &lt;br /&gt;
A020e:          LR   K,P                 ; 020e 08&lt;br /&gt;
                PI   pushk               ; 020f 28 01 07&lt;br /&gt;
                LI   $46                 ; 0212 20 46&lt;br /&gt;
                LR   $3,A                ; 0214 53&lt;br /&gt;
A0215:          LI   $92                 ; 0215 20 92&lt;br /&gt;
                LR   $0,A                ; 0217 50&lt;br /&gt;
                PI   drawchar            ; 0218 28 06 79&lt;br /&gt;
                LR   A,$1                ; 021b 41&lt;br /&gt;
                AI   $fb                 ; 021c 24 fb&lt;br /&gt;
                LR   $1,A                ; 021e 51&lt;br /&gt;
                DS   $3                  ; 021f 33&lt;br /&gt;
                BNZ  A0215            ; 0220 94 f4&lt;br /&gt;
                BF   $0,A01f2            ; 0222 90 cf&lt;br /&gt;
                &lt;br /&gt;
prompts:        LR   K,P                 ; &lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
prompts2:       LI   $85                 ; red 5 (S)&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                CI   $08                 ; is it button 4, Start?&lt;br /&gt;
                BNZ  notbut4          ; no, check others&lt;br /&gt;
                PI   popk                ; yes, return&lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
notbut4:        CI   $02                 ; is it button 2, Mode?&lt;br /&gt;
                BNZ  notbut2          ; &lt;br /&gt;
                LI   $8e                 ; red M&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; &lt;br /&gt;
                LISL 4                   ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
notbut2:        CI   $01                 ; is it button 1, Time?&lt;br /&gt;
                BNZ  prompts2         ; &lt;br /&gt;
                LI   $8c                 ; red T&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                DCI  minutes             ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                SR   1                   ; &lt;br /&gt;
                ADC                      ; &lt;br /&gt;
                LM                       ; &lt;br /&gt;
                LISU 7                   ; &lt;br /&gt;
                LISL 1                   ; &lt;br /&gt;
                LR   I,A             ; &lt;br /&gt;
                LIS  $0                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                LISU 6                   ; &lt;br /&gt;
                LISL 7                   ; &lt;br /&gt;
                LIS  $f                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                PI   A0271               ; &lt;br /&gt;
                LISU 4                   ; &lt;br /&gt;
                LISL 5                   ; &lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                OI   $20                 ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
minutes:		db $02,$05,$10,$10,$20		; minutes of play&lt;br /&gt;
                &lt;br /&gt;
A0271:			LR   K,P                 ; 0271 08&lt;br /&gt;
                PI   pushk               ; 0272 28 01 07&lt;br /&gt;
                LISU 7                   ; 0275 67&lt;br /&gt;
                LISL 2                   ; 0276 6a&lt;br /&gt;
                LR   A,D             ; 0277 4e&lt;br /&gt;
                LR   $4,A                ; 0278 54&lt;br /&gt;
                LR   A,S              ; 0279 4c&lt;br /&gt;
                LR   $3,A                ; 027a 53&lt;br /&gt;
                SR   4                   ; 027b 14&lt;br /&gt;
                OI   $80                 ; 027c 22 80&lt;br /&gt;
                LR   $0,A                ; 027e 50&lt;br /&gt;
                LI   $2a                 ; 027f 20 2a&lt;br /&gt;
                LR   $1,A                ; 0281 51&lt;br /&gt;
                LI   $33                 ; 0282 20 33&lt;br /&gt;
                LR   $2,A                ; 0284 52&lt;br /&gt;
                PI   drawchar            ; 0285 28 06 79&lt;br /&gt;
                LR   A,$3                ; 0288 43&lt;br /&gt;
                NI   $0f                 ; 0289 21 0f&lt;br /&gt;
                OI   $80                 ; 028b 22 80&lt;br /&gt;
                LR   $0,A                ; 028d 50&lt;br /&gt;
                PI   drawchar            ; 028e 28 06 79&lt;br /&gt;
                LI   $91                 ; 0291 20 91&lt;br /&gt;
                LR   $0,A                ; 0293 50&lt;br /&gt;
                PI   drawchar            ; 0294 28 06 79&lt;br /&gt;
                LR   A,$4                ; 0297 44&lt;br /&gt;
                SR   4                   ; 0298 14&lt;br /&gt;
                OI   $80                 ; 0299 22 80&lt;br /&gt;
                LR   $0,A                ; 029b 50&lt;br /&gt;
                PI   drawchar            ; 029c 28 06 79&lt;br /&gt;
                LR   A,$4                ; 029f 44&lt;br /&gt;
                NI   $0f                 ; 02a0 21 0f&lt;br /&gt;
                OI   $80                 ; 02a2 22 80&lt;br /&gt;
                LR   $0,A                ; 02a4 50&lt;br /&gt;
                PI   drawchar            ; 02a5 28 06 79&lt;br /&gt;
                PI   popk                ; 02a8 28 01 1e&lt;br /&gt;
                PK                       ; 02ab 0c&lt;br /&gt;
                &lt;br /&gt;
A02ac:          LR   K,P                 ; 02ac 08&lt;br /&gt;
                PI   pushk               ; 02ad 28 01 07&lt;br /&gt;
                LISL 6                   ; 02b0 6e&lt;br /&gt;
                LI   $17                 ; 02b1 20 17&lt;br /&gt;
                BF   $0,A02bc            ; 02b3 90 08&lt;br /&gt;
                &lt;br /&gt;
A02b5:          LR   K,P                 ; 02b5 08&lt;br /&gt;
                PI   pushk               ; 02b6 28 01 07&lt;br /&gt;
                LISL 7                   ; 02b9 6f&lt;br /&gt;
                LI   $50                 ; 02ba 20 50&lt;br /&gt;
A02bc:          LISU 2                   ; 02bc 62&lt;br /&gt;
                LR   $1,A                ; 02bd 51&lt;br /&gt;
                LI   $33                 ; 02be 20 33&lt;br /&gt;
                LR   $2,A                ; 02c0 52&lt;br /&gt;
                LIS  $1                  ; 02c1 71&lt;br /&gt;
                AI   $66                 ; 02c2 24 66&lt;br /&gt;
                ASD  S                ; 02c4 dc&lt;br /&gt;
                LR   S,A              ; 02c5 5c&lt;br /&gt;
                SR   4                   ; 02c6 14&lt;br /&gt;
                OI   $40                 ; 02c7 22 40&lt;br /&gt;
                LR   $0,A                ; 02c9 50&lt;br /&gt;
                PI   drawchar            ; 02ca 28 06 79&lt;br /&gt;
                LR   A,S              ; 02cd 4c&lt;br /&gt;
                NI   $0f                 ; 02ce 21 0f&lt;br /&gt;
                OI   $40                 ; 02d0 22 40&lt;br /&gt;
                LR   $0,A                ; 02d2 50&lt;br /&gt;
                PI   drawchar            ; 02d3 28 06 79&lt;br /&gt;
                PI   popk                ; 02d6 28 01 1e&lt;br /&gt;
                PK                       ; 02d9 0c&lt;br /&gt;
                &lt;br /&gt;
A02da:          LR   K,P                 ; 02da 08&lt;br /&gt;
                PI   pushk               ; 02db 28 01 07&lt;br /&gt;
                LI   $b0                 ; 02de 20 b0&lt;br /&gt;
                LR   $4,A                ; 02e0 54&lt;br /&gt;
                LISU 2                   ; 02e1 62&lt;br /&gt;
                LISL 1                   ; 02e2 69&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02e3 70&lt;br /&gt;
                OUTS 4                   ; 02e4 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A02f4            ; 02e6 90 0d&lt;br /&gt;
                &lt;br /&gt;
A02e8:          LR   K,P                 ; 02e8 08&lt;br /&gt;
                PI   pushk               ; 02e9 28 01 07&lt;br /&gt;
                LI   $71                 ; 02ec 20 71&lt;br /&gt;
                LR   $4,A                ; 02ee 54&lt;br /&gt;
                LISU 2                   ; 02ef 62&lt;br /&gt;
                LISL 4                   ; 02f0 6c&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02f1 70&lt;br /&gt;
                OUTS 1                   ; 02f2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A02f4:          COM                      ; 02f4 18&lt;br /&gt;
                NS   $1                  ; 02f5 f1&lt;br /&gt;
                LR   $0,A                ; 02f6 50&lt;br /&gt;
                LR   A,I             ; 02f7 4d&lt;br /&gt;
                LR   $1,A                ; 02f8 51&lt;br /&gt;
                LR   A,S              ; 02f9 4c&lt;br /&gt;
                LR   $2,A                ; 02fa 52&lt;br /&gt;
                LIS  $1                  ; 02fb 71&lt;br /&gt;
                NS   $0                  ; 02fc f0&lt;br /&gt;
                BT   4,A0303             ; 02fd 84 05&lt;br /&gt;
                LR   A,$1                ; 02ff 41&lt;br /&gt;
                AI   $02                 ; 0300 24 02&lt;br /&gt;
                LR   $1,A                ; 0302 51&lt;br /&gt;
A0303:          LIS  $2                  ; 0303 72&lt;br /&gt;
                NS   $0                  ; 0304 f0&lt;br /&gt;
                BT   4,A030b             ; 0305 84 05&lt;br /&gt;
                LR   A,$1                ; 0307 41&lt;br /&gt;
                AI   $fe                 ; 0308 24 fe&lt;br /&gt;
                LR   $1,A                ; 030a 51&lt;br /&gt;
A030b:          LIS  $4                  ; 030b 74&lt;br /&gt;
                NS   $0                  ; 030c f0&lt;br /&gt;
                BT   4,A0313             ; 030d 84 05&lt;br /&gt;
                LR   A,$2                ; 030f 42&lt;br /&gt;
                AI   $02                 ; 0310 24 02&lt;br /&gt;
                LR   $2,A                ; 0312 52&lt;br /&gt;
A0313:          LIS  $8                  ; 0313 78&lt;br /&gt;
                NS   $0                  ; 0314 f0&lt;br /&gt;
                BT   4,A031b             ; 0315 84 05&lt;br /&gt;
                LR   A,$2                ; 0317 42&lt;br /&gt;
                AI   $fe                 ; 0318 24 fe&lt;br /&gt;
                LR   $2,A                ; 031a 52&lt;br /&gt;
A031b:          LISU 3                   ; 031b 63&lt;br /&gt;
                LISL 7                   ; 031c 6f&lt;br /&gt;
                LR   A,S              ; 031d 4c&lt;br /&gt;
                CI   $02                 ; 031e 25 02&lt;br /&gt;
                BF   $1,A0357            ; 0320 91 36&lt;br /&gt;
                BNZ  A033a            ; 0322 94 17&lt;br /&gt;
                LIS  $1                  ; 0324 71&lt;br /&gt;
                NS   $4                  ; 0325 f4&lt;br /&gt;
                BNZ  A0332            ; 0326 94 0b&lt;br /&gt;
                LR   A,$1                ; 0328 41&lt;br /&gt;
                CI   $2d                 ; 0329 25 2d&lt;br /&gt;
                BT   1,A0330             ; 032b 81 04&lt;br /&gt;
                LI   $2d                 ; 032d 20 2d&lt;br /&gt;
                LR   $1,A                ; 032f 51&lt;br /&gt;
A0330:          BF   $0,A033a            ; 0330 90 09&lt;br /&gt;
&lt;br /&gt;
A0332:          LR   A,$1                ; 0332 41&lt;br /&gt;
                CI   $3d                 ; 0333 25 3d&lt;br /&gt;
                BF   $1,A033a            ; 0335 91 04&lt;br /&gt;
                LI   $3d                 ; 0337 20 3d&lt;br /&gt;
                LR   $1,A                ; 0339 51&lt;br /&gt;
A033a:          LR   A,$1                ; 033a 41&lt;br /&gt;
                CI   $52                 ; 033b 25 52&lt;br /&gt;
                BT   1,A0342             ; 033d 81 04&lt;br /&gt;
                LI   $52                 ; 033f 20 52&lt;br /&gt;
                LR   $1,A                ; 0341 51&lt;br /&gt;
A0342:          CI   $1a                 ; 0342 25 1a&lt;br /&gt;
                BF   $1,A0349            ; 0344 91 04&lt;br /&gt;
                LI   $1a                 ; 0346 20 1a&lt;br /&gt;
                LR   $1,A                ; 0348 51&lt;br /&gt;
A0349:          LR   A,$2                ; 0349 42&lt;br /&gt;
                CI   $2b                 ; 034a 25 2b&lt;br /&gt;
                BT   1,A0351             ; 034c 81 04&lt;br /&gt;
                LI   $2b                 ; 034e 20 2b&lt;br /&gt;
                LR   $2,A                ; 0350 52&lt;br /&gt;
A0351:          CI   $09                 ; 0351 25 09&lt;br /&gt;
                BF   $1,A0357            ; 0353 91 03&lt;br /&gt;
                LIS  $9                  ; 0355 79&lt;br /&gt;
                LR   $2,A                ; 0356 52&lt;br /&gt;
A0357:          LISU 4                   ; 0357 64&lt;br /&gt;
                LISL 7                   ; 0358 6f&lt;br /&gt;
                LR   A,S              ; 0359 4c&lt;br /&gt;
                NI   $03                 ; 035a 21 03&lt;br /&gt;
                CI   $03                 ; 035c 25 03&lt;br /&gt;
                BNZ  A0383            ; 035e 94 24&lt;br /&gt;
                LISU 2                   ; 0360 62&lt;br /&gt;
                LISL 0                   ; 0361 68&lt;br /&gt;
                LIS  $1                  ; 0362 71&lt;br /&gt;
                NS   $4                  ; 0363 f4&lt;br /&gt;
                BT   4,A0367             ; 0364 84 02&lt;br /&gt;
                LISL 3                   ; 0366 6b&lt;br /&gt;
A0367:          LI   $10                 ; 0367 20 10&lt;br /&gt;
                NS   $0                  ; 0369 f0&lt;br /&gt;
                BT   4,A036d             ; 036a 84 02&lt;br /&gt;
                DS   S                ; 036c 3c&lt;br /&gt;
A036d:          LI   $20                 ; 036d 20 20&lt;br /&gt;
                NS   $0                  ; 036f f0&lt;br /&gt;
                BT   4,A0375             ; 0370 84 04&lt;br /&gt;
                LR   A,S              ; 0372 4c&lt;br /&gt;
                INC                      ; 0373 1f&lt;br /&gt;
                LR   S,A              ; 0374 5c&lt;br /&gt;
A0375:          LR   A,S              ; 0375 4c&lt;br /&gt;
                CI   $16                 ; 0376 25 16&lt;br /&gt;
                BNZ  A037c            ; 0378 94 03&lt;br /&gt;
                LI   $1d                 ; 037a 20 1d&lt;br /&gt;
A037c:          CI   $1e                 ; 037c 25 1e&lt;br /&gt;
                BNZ  A0382            ; 037e 94 03&lt;br /&gt;
                LI   $17                 ; 0380 20 17&lt;br /&gt;
A0382:          LR   S,A              ; 0382 5c&lt;br /&gt;
A0383:          LR   A,$4                ; 0383 44&lt;br /&gt;
                LR   $0,A                ; 0384 50&lt;br /&gt;
                PI   drawchar            ; 0385 28 06 79&lt;br /&gt;
                PI   popk                ; 0388 28 01 1e&lt;br /&gt;
                PK                       ; 038b 0c&lt;br /&gt;
                &lt;br /&gt;
A038c:          LR   K,P                 ; 038c 08&lt;br /&gt;
                PI   pushk               ; 038d 28 01 07&lt;br /&gt;
                LISL 0                   ; 0390 68&lt;br /&gt;
                LI   $b2                 ; 0391 20 b2&lt;br /&gt;
                LR   $3,A                ; 0393 53&lt;br /&gt;
                LIS  $0                  ; 0394 70&lt;br /&gt;
                OUTS 4                   ; 0395 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A03a4            ; 0397 90 0c&lt;br /&gt;
                &lt;br /&gt;
A0399:          LR   K,P                 ; 0399 08&lt;br /&gt;
                PI   pushk               ; 039a 28 01 07&lt;br /&gt;
                LISL 2                   ; 039d 6a&lt;br /&gt;
                LI   $73                 ; 039e 20 73&lt;br /&gt;
                LR   $3,A                ; 03a0 53&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 03a1 70&lt;br /&gt;
                OUTS 1                   ; 03a2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A03a4:          COM                      ; 03a4 18&lt;br /&gt;
                LR   $0,A                ; 03a5 50&lt;br /&gt;
                LISU 3                   ; 03a6 63&lt;br /&gt;
                LR   A,I             ; 03a7 4d&lt;br /&gt;
                LR   $1,A                ; 03a8 51&lt;br /&gt;
                LR   A,S              ; 03a9 4c&lt;br /&gt;
                LR   $2,A                ; 03aa 52&lt;br /&gt;
                LR   A,$0                ; 03ab 40&lt;br /&gt;
                NI   $80                 ; 03ac 21 80&lt;br /&gt;
                BT   4,A03b4             ; 03ae 84 05&lt;br /&gt;
                LR   A,$2                ; 03b0 42&lt;br /&gt;
                AI   $02                 ; 03b1 24 02&lt;br /&gt;
                LR   $2,A                ; 03b3 52&lt;br /&gt;
A03b4:          LR   A,$0                ; 03b4 40&lt;br /&gt;
                NI   $40                 ; 03b5 21 40&lt;br /&gt;
                BT   4,A03bb             ; 03b7 84 03&lt;br /&gt;
                DS   $2                  ; 03b9 32&lt;br /&gt;
                DS   $2                  ; 03ba 32&lt;br /&gt;
A03bb:          LR   A,$2                ; 03bb 42&lt;br /&gt;
                CI   $14                 ; 03bc 25 14&lt;br /&gt;
                BF   $1,A03c3            ; 03be 91 04&lt;br /&gt;
                LI   $14                 ; 03c0 20 14&lt;br /&gt;
                LR   $2,A                ; 03c2 52&lt;br /&gt;
A03c3:          CI   $20                 ; 03c3 25 20&lt;br /&gt;
                BT   1,A03ca             ; 03c5 81 04&lt;br /&gt;
                LI   $20                 ; 03c7 20 20&lt;br /&gt;
                LR   $2,A                ; 03c9 52&lt;br /&gt;
A03ca:          LR   A,$3                ; 03ca 43&lt;br /&gt;
                LR   $0,A                ; 03cb 50&lt;br /&gt;
                PI   drawchar            ; 03cc 28 06 79&lt;br /&gt;
                PI   popk                ; 03cf 28 01 1e&lt;br /&gt;
                PK                       ; 03d2 0c&lt;br /&gt;
                &lt;br /&gt;
A03d3:          LR   K,P                 ; 03d3 08&lt;br /&gt;
                PI   pushk               ; 03d4 28 01 07&lt;br /&gt;
                LISU 4                   ; 03d7 64&lt;br /&gt;
                LISL 0                   ; 03d8 68&lt;br /&gt;
                LR   A,I             ; 03d9 4d&lt;br /&gt;
                LR   $1,A                ; 03da 51&lt;br /&gt;
                LR   A,I             ; 03db 4d&lt;br /&gt;
                LR   $2,A                ; 03dc 52&lt;br /&gt;
                LR   A,I             ; 03dd 4d&lt;br /&gt;
                LR   $3,A                ; 03de 53&lt;br /&gt;
                LR   A,I             ; 03df 4d&lt;br /&gt;
                LR   $4,A                ; 03e0 54&lt;br /&gt;
                LR   A,S              ; 03e1 4c&lt;br /&gt;
                CI   $00                 ; 03e2 25 00&lt;br /&gt;
                BT   4,A03f2             ; 03e4 84 0d&lt;br /&gt;
                LIS  $0                  ; 03e6 70&lt;br /&gt;
                LR   S,A              ; 03e7 5c&lt;br /&gt;
                LR   A,$3                ; 03e8 43&lt;br /&gt;
                SL   1                   ; 03e9 13&lt;br /&gt;
                AS   $3                  ; 03ea c3&lt;br /&gt;
                AS   $3                  ; 03eb c3&lt;br /&gt;
                LR   $3,A                ; 03ec 53&lt;br /&gt;
                LR   A,$4                ; 03ed 44&lt;br /&gt;
                SL   1                   ; 03ee 13&lt;br /&gt;
                AS   $4                  ; 03ef c4&lt;br /&gt;
                AS   $4                  ; 03f0 c4&lt;br /&gt;
                LR   $4,A                ; 03f1 54&lt;br /&gt;
A03f2:          LR   A,$1                ; 03f2 41&lt;br /&gt;
                AS   $3                  ; 03f3 c3&lt;br /&gt;
                LR   $1,A                ; 03f4 51&lt;br /&gt;
                LR   A,$2                ; 03f5 42&lt;br /&gt;
                AS   $4                  ; 03f6 c4&lt;br /&gt;
                LR   $2,A                ; 03f7 52&lt;br /&gt;
                LISU 4                   ; 03f8 64&lt;br /&gt;
                LISL 5                   ; 03f9 6d&lt;br /&gt;
                LI   $44                 ; 03fa 20 44&lt;br /&gt;
                NS   S                ; 03fc fc&lt;br /&gt;
                BT   4,A043b             ; 03fd 84 3d&lt;br /&gt;
                PI   A049c               ; 03ff 28 04 9c&lt;br /&gt;
                LISU 4                   ; 0402 64&lt;br /&gt;
                LISL 2                   ; 0403 6a&lt;br /&gt;
                LR   A,$1                ; 0404 41&lt;br /&gt;
                LR   $0,A                ; 0405 50&lt;br /&gt;
                CI   $5c                 ; 0406 25 5c&lt;br /&gt;
                BT   1,A0410             ; 0408 81 07&lt;br /&gt;
                PI   A043f               ; 040a 28 04 3f&lt;br /&gt;
                LI   $5c                 ; 040d 20 5c&lt;br /&gt;
                LR   $1,A                ; 040f 51&lt;br /&gt;
A0410:          LR   A,$1                ; 0410 41&lt;br /&gt;
                LR   $0,A                ; 0411 50&lt;br /&gt;
                CI   $14                 ; 0412 25 14&lt;br /&gt;
                BF   $1,A041c            ; 0414 91 07&lt;br /&gt;
                PI   A043f               ; 0416 28 04 3f&lt;br /&gt;
                LI   $14                 ; 0419 20 14&lt;br /&gt;
                LR   $1,A                ; 041b 51&lt;br /&gt;
A041c:          LISL 3                   ; 041c 6b&lt;br /&gt;
                LR   A,$2                ; 041d 42&lt;br /&gt;
                LR   $0,A                ; 041e 50&lt;br /&gt;
                CI   $08                 ; 041f 25 08&lt;br /&gt;
                BF   $1,A0429            ; 0421 91 07&lt;br /&gt;
                PI   A043f               ; 0423 28 04 3f&lt;br /&gt;
                LI   $09                 ; 0426 20 09&lt;br /&gt;
                LR   $2,A                ; 0428 52&lt;br /&gt;
A0429:          LR   A,$2                ; 0429 42&lt;br /&gt;
                LR   $0,A                ; 042a 50&lt;br /&gt;
                CI   $2e                 ; 042b 25 2e&lt;br /&gt;
                BT   1,A0435             ; 042d 81 07&lt;br /&gt;
                PI   A043f               ; 042f 28 04 3f&lt;br /&gt;
                LI   $2e                 ; 0432 20 2e&lt;br /&gt;
                LR   $2,A                ; 0434 52&lt;br /&gt;
A0435:          LI   $55                 ; 0435 20 55&lt;br /&gt;
                LR   $0,A                ; 0437 50&lt;br /&gt;
                PI   drawchar            ; 0438 28 06 79&lt;br /&gt;
A043b:          PI   popk                ; 043b 28 01 1e&lt;br /&gt;
                PK                       ; 043e 0c&lt;br /&gt;
                &lt;br /&gt;
A043f:          LR   A,S              ; 043f 4c&lt;br /&gt;
                COM                      ; 0440 18&lt;br /&gt;
                INC                      ; 0441 1f&lt;br /&gt;
                LR   S,A              ; 0442 5c&lt;br /&gt;
                LI   $40                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0445 b5&lt;br /&gt;
                POP                      ; 0446 1c&lt;br /&gt;
                &lt;br /&gt;
A0447:          LR   K,P                 ; 0447 08&lt;br /&gt;
                PI   pushk               ; 0448 28 01 07&lt;br /&gt;
                LI   $36                 ; 044b 20 36&lt;br /&gt;
                LR   $1,A                ; 044d 51&lt;br /&gt;
                LIS  $a                  ; 044e 7a&lt;br /&gt;
                LR   $2,A                ; 044f 52&lt;br /&gt;
                LIS  $5                  ; 0450 75&lt;br /&gt;
                LR   $4,A                ; 0451 54&lt;br /&gt;
A0452:          LI   $81                 ; 0452 20 81&lt;br /&gt;
                LR   $0,A                ; 0454 50&lt;br /&gt;
                PI   drawchar            ; 0455 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0458 41&lt;br /&gt;
                AI   $fa                 ; 0459 24 fa&lt;br /&gt;
                LR   $1,A                ; 045b 51&lt;br /&gt;
                LR   A,$2                ; 045c 42&lt;br /&gt;
                AI   $08                 ; 045d 24 08&lt;br /&gt;
                LR   $2,A                ; 045f 52&lt;br /&gt;
                DS   $4                  ; 0460 34&lt;br /&gt;
                BNZ  A0452            ; 0461 94 f0&lt;br /&gt;
                PI   popk                ; 0463 28 01 1e&lt;br /&gt;
                PK                       ; 0466 0c&lt;br /&gt;
                &lt;br /&gt;
A0467:          LR   K,P                 ; 0467 08&lt;br /&gt;
                PI   pushk               ; 0468 28 01 07&lt;br /&gt;
                LISU 7                   ; 046b 67&lt;br /&gt;
                LISL 0                   ; 046c 68&lt;br /&gt;
                LR   A,S              ; 046d 4c&lt;br /&gt;
                OI   $00                 ; 046e 22 00&lt;br /&gt;
                BT   4,A0498             ; 0470 84 27&lt;br /&gt;
                LIS  $0                  ; 0472 70&lt;br /&gt;
                LR   S,A              ; 0473 5c&lt;br /&gt;
                LISL 2                   ; 0474 6a&lt;br /&gt;
                LIS  $1                  ; 0475 71&lt;br /&gt;
                LR   $0,A                ; 0476 50&lt;br /&gt;
                COM                      ; 0477 18&lt;br /&gt;
                ASD  S                ; 0478 dc&lt;br /&gt;
                AI   $66                 ; 0479 24 66&lt;br /&gt;
                ASD  $0                  ; 047b d0&lt;br /&gt;
                LR   S,A              ; 047c 5c&lt;br /&gt;
                CI   $99                 ; 047d 25 99&lt;br /&gt;
                BNZ  A0495            ; 047f 94 15&lt;br /&gt;
                LI   $59                 ; 0481 20 59&lt;br /&gt;
                LR   D,A             ; 0483 5e&lt;br /&gt;
                LIS  $1                  ; 0484 71&lt;br /&gt;
                LR   $0,A                ; 0485 50&lt;br /&gt;
                COM                      ; 0486 18&lt;br /&gt;
                ASD  S                ; 0487 dc&lt;br /&gt;
                AI   $66                 ; 0488 24 66&lt;br /&gt;
                ASD  $0                  ; 048a d0&lt;br /&gt;
                CI   $99                 ; 048b 25 99&lt;br /&gt;
                BNZ  A0494            ; 048d 94 06&lt;br /&gt;
                PI   prompts             ; time expired, print S?&lt;br /&gt;
                BF   $0,A0498            ; 0492 90 05&lt;br /&gt;
                &lt;br /&gt;
A0494:          LR   S,A              ; 0494 5c&lt;br /&gt;
A0495:          PI   $0271               ; 0495 28 02 71&lt;br /&gt;
A0498:          PI   popk                ; 0498 28 01 1e&lt;br /&gt;
                PK                       ; 049b 0c&lt;br /&gt;
                &lt;br /&gt;
A049c:          LR   K,P                 ; 049c 08&lt;br /&gt;
                PI   pushk               ; 049d 28 01 07&lt;br /&gt;
                LISU 4                   ; 04a0 64&lt;br /&gt;
                LISL 7                   ; 04a1 6f&lt;br /&gt;
                LIS  $1                  ; 04a2 71&lt;br /&gt;
                NS   S                ; 04a3 fc&lt;br /&gt;
                BT   4,A04b8             ; 04a4 84 13&lt;br /&gt;
                LISU 2                   ; 04a6 62&lt;br /&gt;
                LISL 4                   ; 04a7 6c&lt;br /&gt;
                PI   A05fc               ; 04a8 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04ab 30&lt;br /&gt;
                BT   4,A04e8             ; 04ac 84 3b&lt;br /&gt;
                LISU 2                   ; 04ae 62&lt;br /&gt;
                LISL 1                   ; 04af 69&lt;br /&gt;
                PI   A05fc               ; 04b0 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04b3 30&lt;br /&gt;
                BT   4,A04e5             ; 04b4 84 30&lt;br /&gt;
                BF   $0,A04c8            ; 04b6 90 11&lt;br /&gt;
                &lt;br /&gt;
A04b8:          LISU 2                   ; 04b8 62&lt;br /&gt;
                LISL 1                   ; 04b9 69&lt;br /&gt;
                PI   A05fc               ; 04ba 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04bd 30&lt;br /&gt;
                BT   4,A04e5             ; 04be 84 26&lt;br /&gt;
                LISU 2                   ; 04c0 62&lt;br /&gt;
                LISL 4                   ; 04c1 6c&lt;br /&gt;
                PI   A05fc               ; 04c2 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04c5 30&lt;br /&gt;
                BT   4,A04e8             ; 04c6 84 21&lt;br /&gt;
A04c8:          LISU 4                   ; 04c8 64&lt;br /&gt;
                LISL 5                   ; 04c9 6d&lt;br /&gt;
                LR   A,S              ; 04ca 4c&lt;br /&gt;
                NI   $04                 ; 04cb 21 04&lt;br /&gt;
                BNZ  A04d2            ; 04cd 94 04&lt;br /&gt;
                JMP  A059d               ; 04cf 29 05 9d&lt;br /&gt;
                &lt;br /&gt;
A04d2:          LISU 3                   ; 04d2 63&lt;br /&gt;
                LISL 0                   ; 04d3 68&lt;br /&gt;
                PI   A05fc               ; 04d4 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04d7 30&lt;br /&gt;
                BT   4,A0555             ; 04d8 84 7c&lt;br /&gt;
                LISU 3                   ; 04da 63&lt;br /&gt;
                LISL 2                   ; 04db 6a&lt;br /&gt;
                PI   A05fc               ; 04dc 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04df 30&lt;br /&gt;
                BT   4,A0559             ; 04e0 84 78&lt;br /&gt;
                JMP  A0588               ; 04e2 29 05 88&lt;br /&gt;
                &lt;br /&gt;
A04e5:          LISL 0                   ; 04e5 68&lt;br /&gt;
                BF   $0,A04e9            ; 04e6 90 02&lt;br /&gt;
                &lt;br /&gt;
A04e8:          LISL 3                   ; 04e8 6b&lt;br /&gt;
A04e9:          LISU 2                   ; 04e9 62&lt;br /&gt;
                LR   A,I             ; 04ea 4d&lt;br /&gt;
                LR   $4,A                ; 04eb 54&lt;br /&gt;
                LR   A,I             ; 04ec 4d&lt;br /&gt;
                LR   A,S              ; 04ed 4c&lt;br /&gt;
                LR   $7,A                ; 04ee 57&lt;br /&gt;
                LISU 4                   ; 04ef 64&lt;br /&gt;
                LISL 5                   ; 04f0 6d&lt;br /&gt;
                LR   A,S              ; 04f1 4c&lt;br /&gt;
                SL   1                   ; 04f2 13&lt;br /&gt;
                LR   A,$4                ; 04f3 44&lt;br /&gt;
                BT   1,A0516             ; 04f4 81 21&lt;br /&gt;
                DCI  A050e               ; 04f6 2a 05 0e&lt;br /&gt;
                LIS  $7                  ; 04f9 77&lt;br /&gt;
                LR   $4,A                ; 04fa 54&lt;br /&gt;
                DS   $7                  ; 04fb 37&lt;br /&gt;
                DS   $7                  ; 04fc 37&lt;br /&gt;
A04fd:          LR   A,$4                ; 04fd 44&lt;br /&gt;
                AS   $7                  ; 04fe c7&lt;br /&gt;
                LR   $3,A                ; 04ff 53&lt;br /&gt;
                LR   A,$2                ; 0500 42&lt;br /&gt;
                COM                      ; 0501 18&lt;br /&gt;
                INC                      ; 0502 1f&lt;br /&gt;
                AS   $3                  ; 0503 c3&lt;br /&gt;
                BT   4,A0509             ; 0504 84 04&lt;br /&gt;
                DS   $4                  ; 0506 34&lt;br /&gt;
                BT   1,A04fd             ; 0507 81 f5&lt;br /&gt;
A0509:          LR   A,$4                ; 0509 44&lt;br /&gt;
                ADC                      ; 050a 8e&lt;br /&gt;
                LM                       ; 050b 16&lt;br /&gt;
                BF   $0,A0518            ; 050c 90 0b&lt;br /&gt;
&lt;br /&gt;
A050e:			db	$04,$04,$05,$06,$00,$01,$02,$03                &lt;br /&gt;
&lt;br /&gt;
A0516:          AI   $e9                 ; 0516 24 e9&lt;br /&gt;
A0518:          DCI  A0547               ; 0518 2a 05 47&lt;br /&gt;
                SL   1                   ; 051b 13&lt;br /&gt;
                ADC                      ; 051c 8e&lt;br /&gt;
                LM                       ; 051d 16&lt;br /&gt;
                LR   $5,A                ; 051e 55&lt;br /&gt;
                LM                       ; 051f 16&lt;br /&gt;
                LR   $6,A                ; 0520 56&lt;br /&gt;
                LISU 4                   ; 0521 64&lt;br /&gt;
                LISL 2                   ; 0522 6a&lt;br /&gt;
                LR   A,S              ; 0523 4c&lt;br /&gt;
                OI   $00                 ; 0524 22 00&lt;br /&gt;
                BF   $1,A053a            ; 0526 91 13&lt;br /&gt;
                LR   A,$5                ; 0528 45&lt;br /&gt;
                COM                      ; 0529 18&lt;br /&gt;
                INC                      ; 052a 1f&lt;br /&gt;
                LR   $5,A                ; 052b 55&lt;br /&gt;
                LISL 5                   ; 052c 6d&lt;br /&gt;
                LR   A,S              ; 052d 4c&lt;br /&gt;
                SL   1                   ; 052e 13&lt;br /&gt;
                LISL 2                   ; 052f 6a&lt;br /&gt;
                BF   $1,A0536            ; 0530 91 05&lt;br /&gt;
                LR   A,$6                ; 0532 46&lt;br /&gt;
                COM                      ; 0533 18&lt;br /&gt;
                INC                      ; 0534 1f&lt;br /&gt;
                LR   $6,A                ; 0535 56&lt;br /&gt;
A0536:          LR   A,$1                ; 0536 41&lt;br /&gt;
                AI   $02                 ; 0537 24 02&lt;br /&gt;
                LR   $1,A                ; 0539 51&lt;br /&gt;
A053a:          LR   A,$5                ; 053a 45&lt;br /&gt;
                LR   I,A             ; 053b 5d&lt;br /&gt;
                LR   A,$6                ; 053c 46&lt;br /&gt;
                LR   I,A             ; 053d 5d&lt;br /&gt;
                LIS  $2                  ; 053e 72&lt;br /&gt;
                LR   S,A              ; 053f 5c&lt;br /&gt;
                LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0542 b5&lt;br /&gt;
A0543:          PI   popk                ; 0543 28 01 1e&lt;br /&gt;
                PK                       ; 0546 0c&lt;br /&gt;
&lt;br /&gt;
A0547:			db	$02,$00,$02,$01,$02,$02,$01,$02,$01,$FE,$02,$FE,$02,$FF	&lt;br /&gt;
&lt;br /&gt;
A0555:          LIS  $1                  ; 0555 71&lt;br /&gt;
                LR   $3,A                ; 0556 53&lt;br /&gt;
                BF   $0,A055b            ; 0557 90 03&lt;br /&gt;
                &lt;br /&gt;
A0559:          LIS  $2                  ; 0559 72&lt;br /&gt;
                LR   $3,A                ; 055a 53&lt;br /&gt;
A055b:          LISU 4                   ; 055b 64&lt;br /&gt;
                LISL 2                   ; 055c 6a&lt;br /&gt;
                LR   A,S              ; 055d 4c&lt;br /&gt;
                DS   $3                  ; 055e 33&lt;br /&gt;
                BT   4,A0567             ; 055f 84 07&lt;br /&gt;
                OI   $00                 ; 0561 22 00&lt;br /&gt;
                BT   1,A056b             ; 0563 81 07&lt;br /&gt;
                BF   $0,A056e            ; 0565 90 08&lt;br /&gt;
                &lt;br /&gt;
A0567:          OI   $00                 ; 0567 22 00&lt;br /&gt;
                BT   1,A056e             ; 0569 81 04&lt;br /&gt;
A056b:          COM                      ; 056b 18&lt;br /&gt;
                INC                      ; 056c 1f&lt;br /&gt;
                LR   S,A              ; 056d 5c&lt;br /&gt;
A056e:          LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0570 b5&lt;br /&gt;
                LISL 3                   ; 0571 6b&lt;br /&gt;
                LR   A,S              ; 0572 4c&lt;br /&gt;
                OI   $00                 ; 0573 22 00&lt;br /&gt;
                BNZ  A0586            ; 0575 94 10&lt;br /&gt;
                LISU 2                   ; 0577 62&lt;br /&gt;
                LISL 1                   ; 0578 69&lt;br /&gt;
                LR   A,S              ; 0579 4c&lt;br /&gt;
                NI   $01                 ; 057a 21 01&lt;br /&gt;
                BT   4,A0581             ; 057c 84 04&lt;br /&gt;
                LIS  $2                  ; 057e 72&lt;br /&gt;
                BF   $0,A0583            ; 057f 90 03&lt;br /&gt;
                &lt;br /&gt;
A0581:          LI   $fe                 ; 0581 20 fe&lt;br /&gt;
A0583:          LISU 4                   ; 0583 64&lt;br /&gt;
                LISL 3                   ; 0584 6b&lt;br /&gt;
                LR   S,A              ; 0585 5c&lt;br /&gt;
A0586:          BF   $0,A05f3            ; 0586 90 6c&lt;br /&gt;
&lt;br /&gt;
A0588:          LR   A,$2                ; 0588 42&lt;br /&gt;
                CI   $14                 ; 0589 25 14&lt;br /&gt;
                BT   1,A059a             ; 058b 81 0e&lt;br /&gt;
                CI   $24                 ; 058d 25 24&lt;br /&gt;
                BF   $1,A059a            ; 058f 91 0a&lt;br /&gt;
                LR   A,$1                ; 0591 41&lt;br /&gt;
                CI   $14                 ; 0592 25 14&lt;br /&gt;
                BT   1,A05a9             ; 0594 81 14&lt;br /&gt;
                CI   $5c                 ; 0596 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 0598 91 10&lt;br /&gt;
A059a:          JMP  A0543               ; 059a 29 05 43&lt;br /&gt;
&lt;br /&gt;
A059d:          LR   A,$1                ; 059d 41&lt;br /&gt;
                CI   $14                 ; 059e 25 14&lt;br /&gt;
                BT   1,A05a9             ; 05a0 81 08&lt;br /&gt;
                CI   $5c                 ; 05a2 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 05a4 91 04&lt;br /&gt;
                JMP  A0543               ; 05a6 29 05 43&lt;br /&gt;
                &lt;br /&gt;
A05a9:          LISU 4                   ; 05a9 64&lt;br /&gt;
                LISL 2                   ; 05aa 6a&lt;br /&gt;
                LR   A,I             ; 05ab 4d&lt;br /&gt;
                SL   1                   ; 05ac 13&lt;br /&gt;
                BF   $1,A05b3            ; 05ad 91 05&lt;br /&gt;
                AI   $02                 ; 05af 24 02&lt;br /&gt;
                BF   $0,A05b5            ; 05b1 90 03&lt;br /&gt;
                &lt;br /&gt;
A05b3:          AI   $fe                 ; 05b3 24 fe&lt;br /&gt;
A05b5:          AS   $1                  ; 05b5 c1&lt;br /&gt;
                LR   $1,A                ; 05b6 51&lt;br /&gt;
                LISL 3                   ; 05b7 6b&lt;br /&gt;
                LR   A,S              ; 05b8 4c&lt;br /&gt;
                AS   $2                  ; 05b9 c2&lt;br /&gt;
                LR   $2,A                ; 05ba 52&lt;br /&gt;
                LI   $55                 ; 05bb 20 55&lt;br /&gt;
                LR   $0,A                ; 05bd 50&lt;br /&gt;
                PI   drawchar            ; 05be 28 06 79&lt;br /&gt;
                LISU 4                   ; 05c1 64&lt;br /&gt;
                LISL 3                   ; 05c2 6b&lt;br /&gt;
                LIS  $0                  ; 05c3 70&lt;br /&gt;
                LR   S,A              ; 05c4 5c&lt;br /&gt;
                LISU 4                   ; 05c5 64&lt;br /&gt;
                LISL 0                   ; 05c6 68&lt;br /&gt;
                LR   A,S              ; 05c7 4c&lt;br /&gt;
                CI   $30                 ; 05c8 25 30&lt;br /&gt;
                BF   $1,A05d1            ; 05ca 91 06&lt;br /&gt;
                PI   A02b5               ; 05cc 28 02 b5&lt;br /&gt;
                BF   $0,A05d4            ; 05cf 90 04&lt;br /&gt;
                &lt;br /&gt;
A05d1:          PI   A02ac               ; 05d1 28 02 ac&lt;br /&gt;
A05d4:          LI   $ff                 ; 05d4 20 ff&lt;br /&gt;
                LR   $5,A                ; 05d6 55&lt;br /&gt;
                PI   delay               ; 05d7 28 00 8f&lt;br /&gt;
                LISU 3                   ; 05da 63&lt;br /&gt;
                LISL 7                   ; 05db 6f&lt;br /&gt;
                LR   A,S              ; 05dc 4c&lt;br /&gt;
                CI   $02                 ; 05dd 25 02&lt;br /&gt;
                BNZ  A05f0            ; 05df 94 10&lt;br /&gt;
                LISU 2                   ; 05e1 62&lt;br /&gt;
                LISL 6                   ; 05e2 6e&lt;br /&gt;
                LR   A,I             ; 05e3 4d&lt;br /&gt;
                CI   $15                 ; 05e4 25 15&lt;br /&gt;
                BT   4,A05ed             ; 05e6 84 06&lt;br /&gt;
                LR   A,S              ; 05e8 4c&lt;br /&gt;
                CI   $15                 ; 05e9 25 15&lt;br /&gt;
                BNZ  A05f0            ; 05eb 94 04&lt;br /&gt;
A05ed:          PI   prompts             ; 05ed 28 02 24&lt;br /&gt;
A05f0:          PI   A01a0               ; 05f0 28 01 a0&lt;br /&gt;
A05f3:          PI   popk                ; 05f3 28 01 1e&lt;br /&gt;
                PI   popk                ; 05f6 28 01 1e&lt;br /&gt;
                JMP  A0037               ; 05f9 29 00 37&lt;br /&gt;
                &lt;br /&gt;
A05fc:          LR   K,P                 ; 05fc 08&lt;br /&gt;
                PI   pushk               ; 05fd 28 01 07&lt;br /&gt;
                LR   A,S              ; 0600 4c&lt;br /&gt;
                COM                      ; 0601 18&lt;br /&gt;
                INC                      ; 0602 1f&lt;br /&gt;
                AS   $1                  ; 0603 c1&lt;br /&gt;
                BF   $1,A0610            ; 0604 91 0b&lt;br /&gt;
                LR   A,S              ; 0606 4c&lt;br /&gt;
                AI   $05                 ; 0607 24 05&lt;br /&gt;
                LR   $6,A                ; 0609 56&lt;br /&gt;
                LR   A,$1                ; 060a 41&lt;br /&gt;
                COM                      ; 060b 18&lt;br /&gt;
                INC                      ; 060c 1f&lt;br /&gt;
                AS   S                ; 060d cc&lt;br /&gt;
                BT   1,A0626             ; 060e 81 17&lt;br /&gt;
A0610:          LR   A,S              ; 0610 4c&lt;br /&gt;
                COM                      ; 0611 18&lt;br /&gt;
                INC                      ; 0612 1f&lt;br /&gt;
                LR   $6,A                ; 0613 56&lt;br /&gt;
                LR   A,$1                ; 0614 41&lt;br /&gt;
                AI   $02                 ; 0615 24 02&lt;br /&gt;
                AS   $6                  ; 0617 c6&lt;br /&gt;
                BF   $1,A064f            ; 0618 91 36&lt;br /&gt;
                LR   A,$1                ; 061a 41&lt;br /&gt;
                AI   $02                 ; 061b 24 02&lt;br /&gt;
                COM                      ; 061d 18&lt;br /&gt;
                INC                      ; 061e 1f&lt;br /&gt;
                LR   $6,A                ; 061f 56&lt;br /&gt;
                LR   A,S              ; 0620 4c&lt;br /&gt;
                AI   $05                 ; 0621 24 05&lt;br /&gt;
                AS   $6                  ; 0623 c6&lt;br /&gt;
                BF   $1,A064f            ; 0624 91 2a&lt;br /&gt;
A0626:          LR   A,I             ; 0626 4d&lt;br /&gt;
                LR   A,S              ; 0627 4c&lt;br /&gt;
                COM                      ; 0628 18&lt;br /&gt;
                INC                      ; 0629 1f&lt;br /&gt;
                LR   $6,A                ; 062a 56&lt;br /&gt;
                LR   A,$2                ; 062b 42&lt;br /&gt;
                AS   $6                  ; 062c c6&lt;br /&gt;
                BF   $1,A0639            ; 062d 91 0b&lt;br /&gt;
                LR   A,$2                ; 062f 42&lt;br /&gt;
                COM                      ; 0630 18&lt;br /&gt;
                INC                      ; 0631 1f&lt;br /&gt;
                LR   $6,A                ; 0632 56&lt;br /&gt;
                LR   A,S              ; 0633 4c&lt;br /&gt;
                AI   $05                 ; 0634 24 05&lt;br /&gt;
                AS   $6                  ; 0636 c6&lt;br /&gt;
                BT   1,A0655             ; 0637 81 1d&lt;br /&gt;
A0639:          LR   A,S              ; 0639 4c&lt;br /&gt;
                COM                      ; 063a 18&lt;br /&gt;
                INC                      ; 063b 1f&lt;br /&gt;
                LR   $6,A                ; 063c 56&lt;br /&gt;
                LR   A,$2                ; 063d 42&lt;br /&gt;
                AI   $02                 ; 063e 24 02&lt;br /&gt;
                AS   $6                  ; 0640 c6&lt;br /&gt;
                BF   $1,A064f            ; 0641 91 0d&lt;br /&gt;
                LR   A,$2                ; 0643 42&lt;br /&gt;
                AI   $02                 ; 0644 24 02&lt;br /&gt;
                COM                      ; 0646 18&lt;br /&gt;
                INC                      ; 0647 1f&lt;br /&gt;
                LR   $6,A                ; 0648 56&lt;br /&gt;
                LR   A,S              ; 0649 4c&lt;br /&gt;
                AI   $05                 ; 064a 24 05&lt;br /&gt;
                AS   $6                  ; 064c c6&lt;br /&gt;
                BT   1,A0655             ; 064d 81 07&lt;br /&gt;
A064f:          LIS  $0                  ; 064f 70&lt;br /&gt;
A0650:          LR   $0,A                ; 0650 50&lt;br /&gt;
                PI   popk                ; 0651 28 01 1e&lt;br /&gt;
                PK                       ; 0654 0c&lt;br /&gt;
                &lt;br /&gt;
A0655:          LIS  $1                  ; 0655 71&lt;br /&gt;
                BF   $0,A0650            ; 0656 90 f9&lt;br /&gt;
                &lt;br /&gt;
A0658:          DCI  A0674               ; 0658 2a 06 74&lt;br /&gt;
                LISU 4                   ; 065b 64&lt;br /&gt;
                LISL 5                   ; 065c 6d&lt;br /&gt;
                LR   A,S              ; 065d 4c&lt;br /&gt;
                NI   $20                 ; 065e 21 20&lt;br /&gt;
                BT   4,A0673             ; 0660 84 12&lt;br /&gt;
                LISU 6                   ; 0662 66&lt;br /&gt;
                LISL 7                   ; 0663 6f&lt;br /&gt;
                DS   S                ; 0664 3c&lt;br /&gt;
                BNZ  A0673            ; 0665 94 0d&lt;br /&gt;
                LISU 3                   ; 0667 63&lt;br /&gt;
                LISL 4                   ; 0668 6c&lt;br /&gt;
                LR   A,S              ; 0669 4c&lt;br /&gt;
                SR   1                   ; 066a 12&lt;br /&gt;
                ADC                      ; 066b 8e&lt;br /&gt;
                LM                       ; 066c 16&lt;br /&gt;
                LISU 6                   ; 066d 66&lt;br /&gt;
                LISL 7                   ; 066e 6f&lt;br /&gt;
                LR   I,A             ; 066f 5d&lt;br /&gt;
                LISU 7                   ; 0670 67&lt;br /&gt;
                LIS  $1                  ; 0671 71&lt;br /&gt;
                LR   S,A              ; 0672 5c&lt;br /&gt;
A0673:          POP                      ; 0673 1c&lt;br /&gt;
&lt;br /&gt;
A0674:			db $09,$0d,$15,$1c,$1c&lt;br /&gt;
                &lt;br /&gt;
drawchar:       DCI  bitmaps             ; $679&lt;br /&gt;
                LR   K,P                 ; 067c 08&lt;br /&gt;
                PI   pushk               ; 067d 28 01 07&lt;br /&gt;
                LR   A,IS                ; 0680 0a&lt;br /&gt;
                LISU 6                   ; 0681 66&lt;br /&gt;
                LISL 4                   ; 0682 6c&lt;br /&gt;
                LR   I,A             ; 0683 5d&lt;br /&gt;
                LR   A,$3                ; 0684 43&lt;br /&gt;
                LR   I,A             ; 0685 5d&lt;br /&gt;
                LR   A,$4                ; 0686 44&lt;br /&gt;
                LR   S,A              ; 0687 5c&lt;br /&gt;
                LIS  $5                  ; 0688 75&lt;br /&gt;
                LR   $4,A                ; 0689 54&lt;br /&gt;
                LI   $c0                 ; 068a 20 c0&lt;br /&gt;
                NS   $0                  ; 068c f0&lt;br /&gt;
                LR   $3,A                ; 068d 53&lt;br /&gt;
                LI   $3f                 ; 068e 20 3f&lt;br /&gt;
                NS   $0                  ; 0690 f0&lt;br /&gt;
                LR   $0,A                ; 0691 50&lt;br /&gt;
                CI   $15                 ; 0692 25 15&lt;br /&gt;
                BNZ  A06b4            ; 0694 94 1f&lt;br /&gt;
                LISU 4                   ; 0696 64&lt;br /&gt;
                LISL 0                   ; 0697 68&lt;br /&gt;
                LIS  $2                  ; 0698 72&lt;br /&gt;
                LR   $4,A                ; 0699 54&lt;br /&gt;
                PI   A06ec               ; 069a 28 06 ec&lt;br /&gt;
                LI   $15                 ; 069d 20 15&lt;br /&gt;
                LR   $0,A                ; 069f 50&lt;br /&gt;
A06a0:          PI   A0718               ; 06a0 28 07 18&lt;br /&gt;
                LR   A,$1                ; 06a3 41&lt;br /&gt;
                AI   $06                 ; 06a4 24 06&lt;br /&gt;
                LR   $1,A                ; 06a6 51&lt;br /&gt;
                LISU 6                   ; 06a7 66&lt;br /&gt;
                LISL 5                   ; 06a8 6d&lt;br /&gt;
                LR   A,I             ; 06a9 4d&lt;br /&gt;
                LR   $3,A                ; 06aa 53&lt;br /&gt;
                LR   A,S              ; 06ab 4c&lt;br /&gt;
                LR   $4,A                ; 06ac 54&lt;br /&gt;
                LISL 4                   ; 06ad 6c&lt;br /&gt;
                LR   A,S              ; 06ae 4c&lt;br /&gt;
                LR   IS,A                ; 06af 0b&lt;br /&gt;
                PI   popk                ; 06b0 28 01 1e&lt;br /&gt;
                PK                       ; 06b3 0c&lt;br /&gt;
                &lt;br /&gt;
A06b4:          CI   $30                 ; 06b4 25 30&lt;br /&gt;
                BNZ  A06c2            ; 06b6 94 0b&lt;br /&gt;
                LISU 2                   ; 06b8 62&lt;br /&gt;
                LISL 1                   ; 06b9 69&lt;br /&gt;
                PI   A06ec               ; 06ba 28 06 ec&lt;br /&gt;
                LISL 0                   ; 06bd 68&lt;br /&gt;
                LR   A,I             ; 06be 4d&lt;br /&gt;
                LR   $0,A                ; 06bf 50&lt;br /&gt;
                BF   $0,A06a0            ; 06c0 90 df&lt;br /&gt;
                &lt;br /&gt;
A06c2:          CI   $31                 ; 06c2 25 31&lt;br /&gt;
                BNZ  A06d0            ; 06c4 94 0b&lt;br /&gt;
                LISU 2                   ; 06c6 62&lt;br /&gt;
                LISL 4                   ; 06c7 6c&lt;br /&gt;
                PI   A06ec               ; 06c8 28 06 ec&lt;br /&gt;
                LISL 3                   ; 06cb 6b&lt;br /&gt;
                LR   A,I             ; 06cc 4d&lt;br /&gt;
                LR   $0,A                ; 06cd 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ce 90 d1&lt;br /&gt;
                &lt;br /&gt;
A06d0:          CI   $32                 ; 06d0 25 32&lt;br /&gt;
                BNZ  A06de            ; 06d2 94 0b&lt;br /&gt;
                LISU 3                   ; 06d4 63&lt;br /&gt;
                LISL 0                   ; 06d5 68&lt;br /&gt;
                PI   A06ec               ; 06d6 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06d9 20 14&lt;br /&gt;
                LR   $0,A                ; 06db 50&lt;br /&gt;
                BF   $0,A06a0            ; 06dc 90 c3&lt;br /&gt;
                &lt;br /&gt;
A06de:          CI   $33                 ; 06de 25 33&lt;br /&gt;
                BNZ  A06a0            ; 06e0 94 bf&lt;br /&gt;
                LISU 3                   ; 06e2 63&lt;br /&gt;
                LISL 2                   ; 06e3 6a&lt;br /&gt;
                PI   A06ec               ; 06e4 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06e7 20 14&lt;br /&gt;
                LR   $0,A                ; 06e9 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ea 90 b5&lt;br /&gt;
                &lt;br /&gt;
A06ec:          LR   K,P                 ; 06ec 08&lt;br /&gt;
                PI   pushk               ; 06ed 28 01 07&lt;br /&gt;
                LR   A,S              ; 06f0 4c&lt;br /&gt;
                XS   $1                  ; 06f1 e1&lt;br /&gt;
                BNZ  A06f9            ; 06f2 94 06&lt;br /&gt;
                LR   A,I             ; 06f4 4d&lt;br /&gt;
                LR   A,D             ; 06f5 4e&lt;br /&gt;
                XS   $2                  ; 06f6 e2&lt;br /&gt;
                BT   4,A0714             ; 06f7 84 1c&lt;br /&gt;
A06f9:          LR   A,$1                ; 06f9 41&lt;br /&gt;
                LR   $5,A                ; 06fa 55&lt;br /&gt;
                LR   A,$2                ; 06fb 42&lt;br /&gt;
                LR   $6,A                ; 06fc 56&lt;br /&gt;
                LR   A,S              ; 06fd 4c&lt;br /&gt;
                LR   $1,A                ; 06fe 51&lt;br /&gt;
                LR   A,$5                ; 06ff 45&lt;br /&gt;
                LR   I,A             ; 0700 5d&lt;br /&gt;
                LR   A,S              ; 0701 4c&lt;br /&gt;
                LR   $2,A                ; 0702 52&lt;br /&gt;
                LR   A,$6                ; 0703 46&lt;br /&gt;
                LR   D,A             ; 0704 5e&lt;br /&gt;
                LIS  $d                  ; 0705 7d&lt;br /&gt;
                LR   $0,A                ; 0706 50&lt;br /&gt;
                DCI  bitmaps             ; 0707 2a 07 67&lt;br /&gt;
                PI   A0718               ; 070a 28 07 18&lt;br /&gt;
                DCI  bitmaps             ; 070d 2a 07 67&lt;br /&gt;
                LR   A,I             ; 0710 4d&lt;br /&gt;
                LR   $1,A                ; 0711 51&lt;br /&gt;
                LR   A,D             ; 0712 4e&lt;br /&gt;
                LR   $2,A                ; 0713 52&lt;br /&gt;
A0714:          PI   popk                ; 0714 28 01 1e&lt;br /&gt;
                PK                       ; 0717 0c&lt;br /&gt;
                &lt;br /&gt;
A0718:          LR   A,$0                ; 0718 40&lt;br /&gt;
                SL   1                   ; 0719 13&lt;br /&gt;
                ADC                      ; 071a 8e&lt;br /&gt;
                AS   $0                  ; 071b c0&lt;br /&gt;
                ADC                      ; 071c 8e&lt;br /&gt;
                LI   $40                 ; 071d 20 40&lt;br /&gt;
                OUTS 0                   ; 071f b0&lt;br /&gt;
                LR   A,$4                ; 0720 44&lt;br /&gt;
                LR   $6,A                ; 0721 56&lt;br /&gt;
A0722:          LR   $5,A                ; 0722 55&lt;br /&gt;
                LM                       ; 0723 16&lt;br /&gt;
                LR   $7,A                ; 0724 57&lt;br /&gt;
                LR   A,$2                ; 0725 42&lt;br /&gt;
                AI   $00                 ; 0726 24 00&lt;br /&gt;
                COM                      ; 0728 18&lt;br /&gt;
                NI   $3f                 ; 0729 21 3f&lt;br /&gt;
                LR   $8,A                ; 072b 58&lt;br /&gt;
                INS  5                   ; 072c a5&lt;br /&gt;
                NI   $c0                 ; 072d 21 c0&lt;br /&gt;
                AS   $8                  ; 072f c8&lt;br /&gt;
                OUTS 5                   ; 0730 b5&lt;br /&gt;
A0731:          LR   A,$1                ; 0731 41&lt;br /&gt;
                AI   $fc                 ; 0732 24 fc&lt;br /&gt;
                COM                      ; 0734 18&lt;br /&gt;
                OUTS 4                   ; 0735 b4&lt;br /&gt;
                LR   A,$7                ; 0736 47&lt;br /&gt;
                OI   $00                 ; 0737 22 00&lt;br /&gt;
                LR   A,$3                ; 0739 43&lt;br /&gt;
                BF   $1,A073d            ; 073a 91 02&lt;br /&gt;
                LIS  $0                  ; 073c 70&lt;br /&gt;
A073d:          COM                      ; 073d 18&lt;br /&gt;
                OUTS 1                   ; 073e b1&lt;br /&gt;
                LR   A,$7                ; 073f 47&lt;br /&gt;
                SL   1                   ; 0740 13&lt;br /&gt;
                LR   $7,A                ; 0741 57&lt;br /&gt;
                LI   $60                 ; 0742 20 60&lt;br /&gt;
                OUTS 0                   ; 0744 b0&lt;br /&gt;
                LI   $50                 ; 0745 20 50 - bit 4 is however n/c, so $40 can be used&lt;br /&gt;
                OUTS 0                   ; 0747 b0&lt;br /&gt;
                LR   A,$1                ; 0748 41&lt;br /&gt;
                INC                      ; 0749 1f&lt;br /&gt;
                LR   $1,A                ; 074a 51&lt;br /&gt;
&lt;br /&gt;
                LIS  $4                  ; 074b 74  after pixel delay&lt;br /&gt;
                LR   $8,A                ; 074c 58&lt;br /&gt;
A074d:          DS   $8                  ; 074d 38&lt;br /&gt;
                BNZ  A074d               ; 074e 94 fe&lt;br /&gt;
&lt;br /&gt;
                DS   $5                  ; 0750 35&lt;br /&gt;
                BNZ  A0731               ; 0751 94 df&lt;br /&gt;
                LR   A,$2                ; 0753 42&lt;br /&gt;
                INC                      ; 0754 1f&lt;br /&gt;
                LR   $2,A                ; 0755 52&lt;br /&gt;
                LR   A,$4                ; 0756 44&lt;br /&gt;
                COM                      ; 0757 18&lt;br /&gt;
                INC                      ; 0758 1f&lt;br /&gt;
                AS   $1                  ; 0759 c1&lt;br /&gt;
                LR   $1,A                ; 075a 51&lt;br /&gt;
                LR   A,$4                ; 075b 44&lt;br /&gt;
                DS   $6                  ; 075c 36&lt;br /&gt;
                BNZ  A0722            ; 075d 94 c4&lt;br /&gt;
                LR   A,$4                ; 075f 44&lt;br /&gt;
                COM                      ; 0760 18&lt;br /&gt;
                INC                      ; 0761 1f&lt;br /&gt;
                AS   $2                  ; 0762 c2&lt;br /&gt;
                LR   $2,A                ; 0763 52&lt;br /&gt;
                LIS  $0                  ; 0764 70&lt;br /&gt;
                OUTS 0                   ; 0765 b0&lt;br /&gt;
                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
&lt;br /&gt;
			                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
	; 0 $0767&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 1 $076C&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; 2 $0771&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 3 $0776&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 4 $077B&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; 5 $0780&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 6 $0785&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 7 $078A&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; 8 $078F&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 9 $0794&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; G $0799&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%10011000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; ? $079E&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; T $07A3&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; (space) $07A8&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; M $07AD&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
&lt;br /&gt;
	; X $07B2&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
&lt;br /&gt;
	; (block) $07B7&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
&lt;br /&gt;
	; : $07BC&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; - $07C1&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; || (center) $07C6&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
&lt;br /&gt;
	; || (left) $07CB&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
&lt;br /&gt;
	; ' $07D0&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players $07D5&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 1 $07DA&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 2 $07DF&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 3 $07E4&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 4 $07E9&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 5 $07EE&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 6 $07F3&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 7 $07F8&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; $07FD&lt;br /&gt;
	.byte	0,0,0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Disassembly:Democart_2&amp;diff=774</id>
		<title>Disassembly:Democart 2</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Disassembly:Democart_2&amp;diff=774"/>
				<updated>2026-08-04T20:27:43Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is a disassembly of the [[Channel F]] [[Democart 2]]. Original code is copyright &amp;amp;copy; 1977 Fairchild Semiconductor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; Annotated and formatted Democart 2 disassembly.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
reset		equ	$0000				; BIOS reset vector&lt;br /&gt;
delay		equ	$008F				; BIOS delay routine&lt;br /&gt;
clearscrn	equ	$00D0				; BIOS clear screen routine&lt;br /&gt;
pushk		equ	$0107				; BIOS K-stack push&lt;br /&gt;
popk		equ	$011E				; BIOS K-stack pop&lt;br /&gt;
drawchar	equ	$0679				; BIOS draw character entry&lt;br /&gt;
drawchar_entry	equ	$067C				; BIOS draw character internal entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Auto labels for branch targets inside mixed code/data bytes.&lt;br /&gt;
L0B6E		equ	$0B6E&lt;br /&gt;
L0B7B		equ	$0B7B&lt;br /&gt;
L0B80		equ	$0B80&lt;br /&gt;
L0B85		equ	$0B85&lt;br /&gt;
L0B8B		equ	$0B8B&lt;br /&gt;
L0BB1		equ	$0BB1&lt;br /&gt;
L0C1D		equ	$0C1D&lt;br /&gt;
L0C1F		equ	$0C1F&lt;br /&gt;
L0C64		equ	$0C64&lt;br /&gt;
L0CD7		equ	$0CD7&lt;br /&gt;
L0D04		equ	$0D04&lt;br /&gt;
L0EE0		equ	$0EE0&lt;br /&gt;
L0EF5		equ	$0EF5&lt;br /&gt;
L0F58		equ	$0F58&lt;br /&gt;
L0F7A		equ	$0F7A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		processor f8&lt;br /&gt;
		org	$0800&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; Cartridge signature/start vector. First byte is $55 for a valid Channel F&lt;br /&gt;
; cartridge.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
cartridge_start:&lt;br /&gt;
		lr	5,A				; 0800 55&lt;br /&gt;
		nop					; 0801 2b&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; cartridge_entry&lt;br /&gt;
; Main Democart 2 script. Shows multiple demo screens, uses BIOS text and&lt;br /&gt;
; graphics routines, then returns to BIOS reset.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cartridge_entry:&lt;br /&gt;
		lisu	3				; 0802 63&lt;br /&gt;
		lisl	7				; 0803 6f&lt;br /&gt;
		lis	1				; 0804 71&lt;br /&gt;
		lr	S,A				; 0805 5c - store A in selected scratchpad register&lt;br /&gt;
		pi	$0135				; 0806 28 01 35&lt;br /&gt;
		dci	L0BC6				; 0809 2a 0b c6 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_compressed_text		; 080c 28 0b a3&lt;br /&gt;
		lisu	3				; 080f 63&lt;br /&gt;
		lisl	7				; 0810 6f&lt;br /&gt;
		lis	3				; 0811 73&lt;br /&gt;
		lr	S,A				; 0812 5c - store A in selected scratchpad register&lt;br /&gt;
		pi	$0135				; 0813 28 01 35&lt;br /&gt;
		dci	L0BCF				; 0816 2a 0b cf - load DC with data/code pointer&lt;br /&gt;
		pi	draw_compressed_text		; 0819 28 0b a3&lt;br /&gt;
		lis	6				; 081c 76&lt;br /&gt;
		lr	3,A				; 081d 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 081e 28 0f ea&lt;br /&gt;
		li	$26				; 0821 20 26&lt;br /&gt;
		lr	1,A				; 0823 51&lt;br /&gt;
		li	$14				; 0824 20 14&lt;br /&gt;
		lr	2,A				; 0826 52&lt;br /&gt;
		li	$28				; 0827 20 28&lt;br /&gt;
		lr	3,A				; 0829 53&lt;br /&gt;
		pi	bios_drawchar_0215_wrapper	; 082a 28 0b 76&lt;br /&gt;
		li	$26				; 082d 20 26&lt;br /&gt;
		lr	1,A				; 082f 51&lt;br /&gt;
		li	$21				; 0830 20 21&lt;br /&gt;
		lr	2,A				; 0832 52&lt;br /&gt;
		li	$28				; 0833 20 28&lt;br /&gt;
		lr	3,A				; 0835 53&lt;br /&gt;
		pi	bios_drawchar_0215_wrapper	; 0836 28 0b 76&lt;br /&gt;
		li	$33				; 0839 20 33&lt;br /&gt;
		lr	1,A				; 083b 51&lt;br /&gt;
		pi	draw_three_prompt_markers	; 083c 28 0b 7d&lt;br /&gt;
		li	$41				; 083f 20 41&lt;br /&gt;
		lr	1,A				; 0841 51&lt;br /&gt;
		pi	draw_three_prompt_markers	; 0842 28 0b 7d&lt;br /&gt;
		dci	L0BD8				; 0845 2a 0b d8 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_compressed_text		; 0848 28 0b a3&lt;br /&gt;
		clr					; 084b 70&lt;br /&gt;
		lr	3,A				; 084c 53&lt;br /&gt;
		pi	clear_screen_o37_1		; 084d 28 0f ed&lt;br /&gt;
		li	$14				; 0850 20 14&lt;br /&gt;
		lr	1,A				; 0852 51&lt;br /&gt;
		lis	6				; 0853 76&lt;br /&gt;
		lr	2,A				; 0854 52&lt;br /&gt;
		pi	bios_player_draw		; 0855 28 02 0e&lt;br /&gt;
		li	$14				; 0858 20 14&lt;br /&gt;
		lr	1,A				; 085a 51&lt;br /&gt;
		li	$2E				; 085b 20 2e&lt;br /&gt;
		lr	2,A				; 085d 52&lt;br /&gt;
		pi	bios_player_draw		; 085e 28 02 0e&lt;br /&gt;
		li	$12				; 0861 20 12&lt;br /&gt;
		lr	1,A				; 0863 51&lt;br /&gt;
		lr	2,A				; 0864 52&lt;br /&gt;
		li	$58				; 0865 20 58&lt;br /&gt;
		lr	0,A				; 0867 50&lt;br /&gt;
		pi	drawchar			; 0868 28 06 79 - BIOS draw character routine&lt;br /&gt;
		dci	L0BE6				; 086b 2a 0b e6 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_compressed_text		; 086e 28 0b a3&lt;br /&gt;
		lis	6				; 0871 76&lt;br /&gt;
		lr	3,A				; 0872 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 0873 28 0f ea&lt;br /&gt;
		lis	6				; 0876 76&lt;br /&gt;
		lr	HU,A				; 0877 5a&lt;br /&gt;
		dci	L0C98				; 0878 2a 0c 98 - load DC with data/code pointer&lt;br /&gt;
		li	$20				; 087b 20 20&lt;br /&gt;
		lr	1,A				; 087d 51&lt;br /&gt;
		lr	2,A				; 087e 52&lt;br /&gt;
L087F:&lt;br /&gt;
		li	$80				; 087f 20 80&lt;br /&gt;
		lr	0,A				; 0881 50&lt;br /&gt;
		pi	bios_drawchar_bitmap_wrapper	; 0882 28 0f cd&lt;br /&gt;
		lis	2				; 0885 72&lt;br /&gt;
		as	1				; 0886 c1&lt;br /&gt;
		lr	1,A				; 0887 51&lt;br /&gt;
		ds	HU				; 0888 3a&lt;br /&gt;
		bf	4,L087F				; 0889 94 f5&lt;br /&gt;
		pi	short_delay			; 088b 28 0b 96&lt;br /&gt;
		lis	6				; 088e 76&lt;br /&gt;
		lr	3,A				; 088f 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 0890 28 0f ea&lt;br /&gt;
		li	$18				; 0893 20 18&lt;br /&gt;
		lr	2,A				; 0895 52&lt;br /&gt;
		li	$30				; 0896 20 30&lt;br /&gt;
		lr	1,A				; 0898 51&lt;br /&gt;
		dci	L0CC8				; 0899 2a 0c c8 - load DC with data/code pointer&lt;br /&gt;
		li	$80				; 089c 20 80&lt;br /&gt;
		lr	0,A				; 089e 50&lt;br /&gt;
		pi	bios_drawchar_bitmap_wrapper	; 089f 28 0f cd&lt;br /&gt;
		lis	2				; 08a2 72&lt;br /&gt;
		as	1				; 08a3 c1&lt;br /&gt;
		lr	1,A				; 08a4 51&lt;br /&gt;
		li	$80				; 08a5 20 80&lt;br /&gt;
		lr	0,A				; 08a7 50&lt;br /&gt;
		dci	L0CC8				; 08a8 2a 0c c8 - load DC with data/code pointer&lt;br /&gt;
		pi	bios_drawchar_bitmap_wrapper	; 08ab 28 0f cd&lt;br /&gt;
		li	$30				; 08ae 20 30&lt;br /&gt;
		lr	1,A				; 08b0 51&lt;br /&gt;
		li	$20				; 08b1 20 20&lt;br /&gt;
		lr	2,A				; 08b3 52&lt;br /&gt;
		li	$80				; 08b4 20 80&lt;br /&gt;
		lr	0,A				; 08b6 50&lt;br /&gt;
		dci	L0CC8				; 08b7 2a 0c c8 - load DC with data/code pointer&lt;br /&gt;
		pi	bios_drawchar_bitmap_wrapper	; 08ba 28 0f cd&lt;br /&gt;
		lis	2				; 08bd 72&lt;br /&gt;
		as	1				; 08be c1&lt;br /&gt;
		lr	1,A				; 08bf 51&lt;br /&gt;
		li	$80				; 08c0 20 80&lt;br /&gt;
		lr	0,A				; 08c2 50&lt;br /&gt;
		dci	L0CC8				; 08c3 2a 0c c8 - load DC with data/code pointer&lt;br /&gt;
		pi	bios_drawchar_bitmap_wrapper	; 08c6 28 0f cd&lt;br /&gt;
		dci	L0CD0				; 08c9 2a 0c d0 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_compressed_text		; 08cc 28 0b a3&lt;br /&gt;
		lis	6				; 08cf 76&lt;br /&gt;
		lr	3,A				; 08d0 53&lt;br /&gt;
		pi	clear_screen_o37_1		; 08d1 28 0f ed&lt;br /&gt;
		li	$13				; 08d4 20 13&lt;br /&gt;
		lr	1,A				; 08d6 51&lt;br /&gt;
		lis	6				; 08d7 76&lt;br /&gt;
		lr	2,A				; 08d8 52&lt;br /&gt;
		pi	bios_player_draw		; 08d9 28 02 0e&lt;br /&gt;
		li	$13				; 08dc 20 13&lt;br /&gt;
		lr	1,A				; 08de 51&lt;br /&gt;
		li	$2F				; 08df 20 2f&lt;br /&gt;
		lr	2,A				; 08e1 52&lt;br /&gt;
		pi	bios_player_draw		; 08e2 28 02 0e&lt;br /&gt;
		li	$11				; 08e5 20 11&lt;br /&gt;
		lr	1,A				; 08e7 51&lt;br /&gt;
		lis	9				; 08e8 79&lt;br /&gt;
		lr	2,A				; 08e9 52&lt;br /&gt;
		li	$24				; 08ea 20 24&lt;br /&gt;
		lr	3,A				; 08ec 53&lt;br /&gt;
		pi	bios_draw_a01fc_wrapper		; 08ed 28 0f c6&lt;br /&gt;
		li	$5A				; 08f0 20 5a&lt;br /&gt;
		lr	1,A				; 08f2 51&lt;br /&gt;
		lis	9				; 08f3 79&lt;br /&gt;
		lr	2,A				; 08f4 52&lt;br /&gt;
		li	$24				; 08f5 20 24&lt;br /&gt;
		lr	3,A				; 08f7 53&lt;br /&gt;
		pi	bios_draw_a01fc_wrapper		; 08f8 28 0f c6&lt;br /&gt;
		lis	9				; 08fb 79&lt;br /&gt;
		lr	4,A				; 08fc 54&lt;br /&gt;
		dci	L0C00				; 08fd 2a 0c 00 - load DC with data/code pointer&lt;br /&gt;
L0900:&lt;br /&gt;
		lm					; 0900 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 0901 51&lt;br /&gt;
		lm					; 0902 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 0903 52&lt;br /&gt;
		lm					; 0904 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0905 50&lt;br /&gt;
		xdc					; 0906 2c - exchange DC and H pointers&lt;br /&gt;
		dci	$0C1B				; 0907 2a 0c 1b&lt;br /&gt;
		pi	drawchar_entry			; 090a 28 06 7c&lt;br /&gt;
		xdc					; 090d 2c - exchange DC and H pointers&lt;br /&gt;
		ds	4				; 090e 34&lt;br /&gt;
		bf	4,L0900				; 090f 94 f0&lt;br /&gt;
		pi	bios_score_prompt_wrapper	; 0911 28 0f d6&lt;br /&gt;
		dci	L0BF9				; 0914 2a 0b f9 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_compressed_text		; 0917 28 0b a3&lt;br /&gt;
		lis	6				; 091a 76&lt;br /&gt;
		lr	3,A				; 091b 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 091c 28 0f ea&lt;br /&gt;
		clr					; 091f 70&lt;br /&gt;
		lr	2,A				; 0920 52&lt;br /&gt;
		lr	0,A				; 0921 50&lt;br /&gt;
		lis	$D				; 0922 7d&lt;br /&gt;
		lr	HU,A				; 0923 5a&lt;br /&gt;
L0924:&lt;br /&gt;
		li	$7E				; 0924 20 7e&lt;br /&gt;
		lr	1,A				; 0926 51&lt;br /&gt;
		pi	drawchar			; 0927 28 06 79 - BIOS draw character routine&lt;br /&gt;
		lr	A,2				; 092a 42&lt;br /&gt;
		inc					; 092b 1f&lt;br /&gt;
		lr	2,A				; 092c 52&lt;br /&gt;
		ds	HU				; 092d 3a&lt;br /&gt;
		bf	4,L0924				; 092e 94 f5&lt;br /&gt;
L0930:&lt;br /&gt;
		lis	4				; 0930 74&lt;br /&gt;
		as	2				; 0931 c2&lt;br /&gt;
		lr	2,A				; 0932 52&lt;br /&gt;
		lis	3				; 0933 73&lt;br /&gt;
		lr	1,A				; 0934 51&lt;br /&gt;
L0935:&lt;br /&gt;
		li	$C0				; 0935 20 c0&lt;br /&gt;
		lr	0,A				; 0937 50&lt;br /&gt;
		dci	$4000				; 0938 2a 40 00&lt;br /&gt;
; Points data counter to unused area.&lt;br /&gt;
; Pullups on data bus holds D7-D3 high in the real cartridge&lt;br /&gt;
; and turns &amp;quot;Black Jack&amp;quot; table green.&lt;br /&gt;
; Replace with $0d8b if it's going to work 100% on Multi-Cart and emulation.&lt;br /&gt;
&lt;br /&gt;
		pi	drawchar_entry			; 093b 28 06 7c&lt;br /&gt;
		ds	1				; 093e 31&lt;br /&gt;
		lr	A,1				; 093f 41&lt;br /&gt;
		ci	$77				; 0940 25 77&lt;br /&gt;
		bt	2,L0935				; 0942 82 f2&lt;br /&gt;
		lr	A,2				; 0944 42&lt;br /&gt;
		ci	$28				; 0945 25 28&lt;br /&gt;
		bt	2,L0930				; 0947 82 e8&lt;br /&gt;
		lis	3				; 0949 73&lt;br /&gt;
		lr	HU,A				; 094a 5a&lt;br /&gt;
		li	$26				; 094b 20 26&lt;br /&gt;
		lr	2,A				; 094d 52&lt;br /&gt;
L094E:&lt;br /&gt;
		lis	8				; 094e 78&lt;br /&gt;
		lr	1,A				; 094f 51&lt;br /&gt;
		clr					; 0950 70&lt;br /&gt;
		lr	0,A				; 0951 50&lt;br /&gt;
L0952:&lt;br /&gt;
		pi	drawchar			; 0952 28 06 79 - BIOS draw character routine&lt;br /&gt;
		lis	2				; 0955 72&lt;br /&gt;
		as	2				; 0956 c2&lt;br /&gt;
		lr	2,A				; 0957 52&lt;br /&gt;
		ds	1				; 0958 31&lt;br /&gt;
		ds	HU				; 0959 3a&lt;br /&gt;
		bf	4,L0952				; 095a 94 f7&lt;br /&gt;
		pi	drawchar			; 095c 28 06 79 - BIOS draw character routine&lt;br /&gt;
		lr	A,2				; 095f 42&lt;br /&gt;
		inc					; 0960 1f&lt;br /&gt;
		lr	2,A				; 0961 52&lt;br /&gt;
		ds	1				; 0962 31&lt;br /&gt;
		pi	drawchar			; 0963 28 06 79 - BIOS draw character routine&lt;br /&gt;
		lr	A,2				; 0966 42&lt;br /&gt;
		ci	$31				; 0967 25 31&lt;br /&gt;
		bf	2,L0973				; 0969 92 09&lt;br /&gt;
		li	$2B				; 096b 20 2b&lt;br /&gt;
		lr	2,A				; 096d 52&lt;br /&gt;
		lis	3				; 096e 73&lt;br /&gt;
		lr	HU,A				; 096f 5a&lt;br /&gt;
		jmp	L094E				; 0970 29 09 4e - unconditional jump&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L0973:&lt;br /&gt;
		nop					; 0973 2b&lt;br /&gt;
		clr					; 0974 70&lt;br /&gt;
		lr	0,A				; 0975 50&lt;br /&gt;
		li	$2D				; 0976 20 2d&lt;br /&gt;
		lr	2,A				; 0978 52&lt;br /&gt;
L0979:&lt;br /&gt;
		li	$53				; 0979 20 53&lt;br /&gt;
		lr	1,A				; 097b 51&lt;br /&gt;
		pi	drawchar			; 097c 28 06 79 - BIOS draw character routine&lt;br /&gt;
		ds	1				; 097f 31&lt;br /&gt;
		ds	2				; 0980 32&lt;br /&gt;
		pi	drawchar			; 0981 28 06 79 - BIOS draw character routine&lt;br /&gt;
		lis	3				; 0984 73&lt;br /&gt;
		lr	HU,A				; 0985 5a&lt;br /&gt;
L0986:&lt;br /&gt;
		ds	2				; 0986 32&lt;br /&gt;
		ds	2				; 0987 32&lt;br /&gt;
		ds	1				; 0988 31&lt;br /&gt;
		pi	drawchar			; 0989 28 06 79 - BIOS draw character routine&lt;br /&gt;
		ds	HU				; 098c 3a&lt;br /&gt;
		bf	4,L0986				; 098d 94 f8&lt;br /&gt;
		lr	A,2				; 098f 42&lt;br /&gt;
		ci	$27				; 0990 25 27&lt;br /&gt;
		bf	2,L099A				; 0992 92 07&lt;br /&gt;
		li	$30				; 0994 20 30&lt;br /&gt;
		lr	2,A				; 0996 52&lt;br /&gt;
		jmp	L0979				; 0997 29 09 79 - unconditional jump&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L099A:&lt;br /&gt;
		pi	bios_score_prompt_wrapper	; 099a 28 0f d6&lt;br /&gt;
		dci	L0C76				; 099d 2a 0c 76 - load DC with data/code pointer&lt;br /&gt;
		li	$69				; 09a0 20 69&lt;br /&gt;
		lr	HU,A				; 09a2 5a&lt;br /&gt;
		pi	draw_compressed_text		; 09a3 28 0b a3&lt;br /&gt;
		pi	draw_compressed_text		; 09a6 28 0b a3&lt;br /&gt;
		clr					; 09a9 70&lt;br /&gt;
		lr	HU,A				; 09aa 5a&lt;br /&gt;
		pi	draw_compressed_text		; 09ab 28 0b a3&lt;br /&gt;
		lis	3				; 09ae 73&lt;br /&gt;
		lr	3,A				; 09af 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 09b0 28 0f ea&lt;br /&gt;
		dci	L0C34				; 09b3 2a 0c 34 - load DC with data/code pointer&lt;br /&gt;
		xdc					; 09b6 2c - exchange DC and H pointers&lt;br /&gt;
		dci	L0C67				; 09b7 2a 0c 67 - load DC with data/code pointer&lt;br /&gt;
		lis	5				; 09ba 75&lt;br /&gt;
		lr	HU,A				; 09bb 5a&lt;br /&gt;
L09BC:&lt;br /&gt;
		lm					; 09bc 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 09bd 51&lt;br /&gt;
		lm					; 09be 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 09bf 52&lt;br /&gt;
		lm					; 09c0 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 09c1 50&lt;br /&gt;
		xdc					; 09c2 2c - exchange DC and H pointers&lt;br /&gt;
		pi	bios_drawchar_bitmap_wrapper	; 09c3 28 0f cd&lt;br /&gt;
		xdc					; 09c6 2c - exchange DC and H pointers&lt;br /&gt;
		ds	HU				; 09c7 3a&lt;br /&gt;
		bf	4,L09BC				; 09c8 94 f3&lt;br /&gt;
		dci	L0C5C				; 09ca 2a 0c 5c - load DC with data/code pointer&lt;br /&gt;
		pi	draw_compressed_text		; 09cd 28 0b a3&lt;br /&gt;
		lis	3				; 09d0 73&lt;br /&gt;
		lr	3,A				; 09d1 53&lt;br /&gt;
		pi	clear_screen_o37_1		; 09d2 28 0f ed&lt;br /&gt;
		pi	bios_score_prompt_wrapper	; 09d5 28 0f d6&lt;br /&gt;
		lis	9				; 09d8 79&lt;br /&gt;
		lr	HU,A				; 09d9 5a&lt;br /&gt;
		dci	L0CDE				; 09da 2a 0c de - load DC with data/code pointer&lt;br /&gt;
L09DD:&lt;br /&gt;
		lm					; 09dd 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 09de 51&lt;br /&gt;
		lm					; 09df 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 09e0 52&lt;br /&gt;
		lm					; 09e1 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 09e2 50&lt;br /&gt;
		xdc					; 09e3 2c - exchange DC and H pointers&lt;br /&gt;
		dci	$0CF9				; 09e4 2a 0c f9&lt;br /&gt;
		pi	drawchar_entry			; 09e7 28 06 7c&lt;br /&gt;
		xdc					; 09ea 2c - exchange DC and H pointers&lt;br /&gt;
		ds	HU				; 09eb 3a&lt;br /&gt;
		bf	4,L09DD				; 09ec 94 f0&lt;br /&gt;
		dci	$0D08				; 09ee 2a 0d 08&lt;br /&gt;
		pi	draw_compressed_text		; 09f1 28 0b a3&lt;br /&gt;
		lis	3				; 09f4 73&lt;br /&gt;
		lr	3,A				; 09f5 53&lt;br /&gt;
		pi	clear_screen_o37_1		; 09f6 28 0f ed&lt;br /&gt;
		pi	bios_score_prompt_wrapper	; 09f9 28 0f d6&lt;br /&gt;
		li	$10				; 09fc 20 10&lt;br /&gt;
		lr	1,A				; 09fe 51&lt;br /&gt;
		li	$1A				; 09ff 20 1a&lt;br /&gt;
		lr	2,A				; 0a01 52&lt;br /&gt;
		li	$10				; 0a02 20 10&lt;br /&gt;
		lr	3,A				; 0a04 53&lt;br /&gt;
		pi	bios_drawchar_0215_wrapper	; 0a05 28 0b 76&lt;br /&gt;
		lis	2				; 0a08 72&lt;br /&gt;
		lr	HU,A				; 0a09 5a&lt;br /&gt;
L0A0A:&lt;br /&gt;
		lis	$F				; 0a0a 7f&lt;br /&gt;
		lr	3,A				; 0a0b 53&lt;br /&gt;
		lis	$F				; 0a0c 7f&lt;br /&gt;
		as	1				; 0a0d c1&lt;br /&gt;
		lr	1,A				; 0a0e 51&lt;br /&gt;
		pi	bios_drawchar_0215_wrapper	; 0a0f 28 0b 76&lt;br /&gt;
		ds	HU				; 0a12 3a&lt;br /&gt;
		bf	4,L0A0A				; 0a13 94 f6&lt;br /&gt;
		li	$69				; 0a15 20 69&lt;br /&gt;
		lr	HU,A				; 0a17 5a&lt;br /&gt;
		dci	L0D14				; 0a18 2a 0d 14 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_compressed_text		; 0a1b 28 0b a3&lt;br /&gt;
		pi	draw_compressed_text		; 0a1e 28 0b a3&lt;br /&gt;
		pi	draw_compressed_text		; 0a21 28 0b a3&lt;br /&gt;
		li	$30				; 0a24 20 30&lt;br /&gt;
		lr	1,A				; 0a26 51&lt;br /&gt;
		li	$28				; 0a27 20 28&lt;br /&gt;
		lr	2,A				; 0a29 52&lt;br /&gt;
		li	$10				; 0a2a 20 10&lt;br /&gt;
		lr	3,A				; 0a2c 53&lt;br /&gt;
		pi	bios_drawchar_0215_wrapper	; 0a2d 28 0b 76&lt;br /&gt;
		lis	6				; 0a30 76&lt;br /&gt;
		lr	HU,A				; 0a31 5a&lt;br /&gt;
		dci	L0D44				; 0a32 2a 0d 44 - load DC with data/code pointer&lt;br /&gt;
L0A35:&lt;br /&gt;
		lm					; 0a35 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 0a36 51&lt;br /&gt;
		lm					; 0a37 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 0a38 52&lt;br /&gt;
		lm					; 0a39 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0a3a 50&lt;br /&gt;
		xdc					; 0a3b 2c - exchange DC and H pointers&lt;br /&gt;
		pi	drawchar			; 0a3c 28 06 79 - BIOS draw character routine&lt;br /&gt;
		xdc					; 0a3f 2c - exchange DC and H pointers&lt;br /&gt;
		ds	HU				; 0a40 3a&lt;br /&gt;
		bf	4,L0A35				; 0a41 94 f3&lt;br /&gt;
		dci	L0D56				; 0a43 2a 0d 56 - load DC with data/code pointer&lt;br /&gt;
		clr					; 0a46 70&lt;br /&gt;
		lr	HU,A				; 0a47 5a&lt;br /&gt;
		pi	draw_compressed_text		; 0a48 28 0b a3&lt;br /&gt;
		lis	6				; 0a4b 76&lt;br /&gt;
		lr	3,A				; 0a4c 53&lt;br /&gt;
		pi	clear_screen_o37_1		; 0a4d 28 0f ed&lt;br /&gt;
		pi	bios_score_prompt_wrapper	; 0a50 28 0f d6&lt;br /&gt;
		dci	L0D61				; 0a53 2a 0d 61 - load DC with data/code pointer&lt;br /&gt;
		li	$69				; 0a56 20 69&lt;br /&gt;
		lr	HU,A				; 0a58 5a&lt;br /&gt;
		pi	draw_compressed_text		; 0a59 28 0b a3&lt;br /&gt;
		pi	draw_compressed_text		; 0a5c 28 0b a3&lt;br /&gt;
		pi	draw_compressed_text		; 0a5f 28 0b a3&lt;br /&gt;
		clr					; 0a62 70&lt;br /&gt;
		lr	HU,A				; 0a63 5a&lt;br /&gt;
		pi	draw_compressed_text		; 0a64 28 0b a3&lt;br /&gt;
		lis	6				; 0a67 76&lt;br /&gt;
		lr	3,A				; 0a68 53&lt;br /&gt;
		pi	clear_screen_o37_1		; 0a69 28 0f ed&lt;br /&gt;
		pi	bios_score_prompt_wrapper	; 0a6c 28 0f d6&lt;br /&gt;
		dci	L0D79				; 0a6f 2a 0d 79 - load DC with data/code pointer&lt;br /&gt;
		lis	6				; 0a72 76&lt;br /&gt;
		lr	HU,A				; 0a73 5a&lt;br /&gt;
L0A74:&lt;br /&gt;
		lm					; 0a74 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 0a75 51&lt;br /&gt;
		lm					; 0a76 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 0a77 52&lt;br /&gt;
		lm					; 0a78 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0a79 50&lt;br /&gt;
		xdc					; 0a7a 2c - exchange DC and H pointers&lt;br /&gt;
		dci	L0D8B				; 0a7b 2a 0d 8b - load DC with data/code pointer&lt;br /&gt;
		pi	bios_drawchar_bitmap_wrapper	; 0a7e 28 0f cd&lt;br /&gt;
		xdc					; 0a81 2c - exchange DC and H pointers&lt;br /&gt;
		ds	HU				; 0a82 3a&lt;br /&gt;
		bf	4,L0A74				; 0a83 94 f0&lt;br /&gt;
		dci	$0D99				; 0a85 2a 0d 99&lt;br /&gt;
		xdc					; 0a88 2c - exchange DC and H pointers&lt;br /&gt;
		dci	L0DA8				; 0a89 2a 0d a8 - load DC with data/code pointer&lt;br /&gt;
		lis	3				; 0a8c 73&lt;br /&gt;
		lr	HU,A				; 0a8d 5a&lt;br /&gt;
L0A8E:&lt;br /&gt;
		lm					; 0a8e 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 0a8f 51&lt;br /&gt;
		lm					; 0a90 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 0a91 52&lt;br /&gt;
		lm					; 0a92 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0a93 50&lt;br /&gt;
		xdc					; 0a94 2c - exchange DC and H pointers&lt;br /&gt;
		pi	drawchar_entry			; 0a95 28 06 7c&lt;br /&gt;
		xdc					; 0a98 2c - exchange DC and H pointers&lt;br /&gt;
		ds	HU				; 0a99 3a&lt;br /&gt;
		bf	4,L0A8E				; 0a9a 94 f3&lt;br /&gt;
		dci	L0D93				; 0a9c 2a 0d 93 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_compressed_text		; 0a9f 28 0b a3&lt;br /&gt;
		lis	6				; 0aa2 76&lt;br /&gt;
		lr	3,A				; 0aa3 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 0aa4 28 0f ea&lt;br /&gt;
		dci	L0DB1				; 0aa7 2a 0d b1 - load DC with data/code pointer&lt;br /&gt;
		lis	2				; 0aaa 72&lt;br /&gt;
		lr	HU,A				; 0aab 5a&lt;br /&gt;
L0AAC:&lt;br /&gt;
		lm					; 0aac 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 0aad 51&lt;br /&gt;
		lm					; 0aae 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 0aaf 52&lt;br /&gt;
		lm					; 0ab0 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0ab1 50&lt;br /&gt;
		xdc					; 0ab2 2c - exchange DC and H pointers&lt;br /&gt;
		dci	$0F58				; 0ab3 2a 0f 58&lt;br /&gt;
		pi	drawchar_entry			; 0ab6 28 06 7c&lt;br /&gt;
		xdc					; 0ab9 2c - exchange DC and H pointers&lt;br /&gt;
		ds	HU				; 0aba 3a&lt;br /&gt;
		bf	4,L0AAC				; 0abb 94 f0&lt;br /&gt;
		lis	4				; 0abd 74&lt;br /&gt;
		lr	HU,A				; 0abe 5a&lt;br /&gt;
		li	$10				; 0abf 20 10&lt;br /&gt;
		lr	2,A				; 0ac1 52&lt;br /&gt;
L0AC2:&lt;br /&gt;
		li	$17				; 0ac2 20 17&lt;br /&gt;
		lr	1,A				; 0ac4 51&lt;br /&gt;
		li	$81				; 0ac5 20 81&lt;br /&gt;
		lr	0,A				; 0ac7 50&lt;br /&gt;
		pi	drawchar			; 0ac8 28 06 79 - BIOS draw character routine&lt;br /&gt;
		lis	5				; 0acb 75&lt;br /&gt;
		as	2				; 0acc c2&lt;br /&gt;
		lr	2,A				; 0acd 52&lt;br /&gt;
		ci	$27				; 0ace 25 27&lt;br /&gt;
		bt	2,L0AC2				; 0ad0 82 f1&lt;br /&gt;
		li	$1A				; 0ad2 20 1a&lt;br /&gt;
		lr	1,A				; 0ad4 51&lt;br /&gt;
		li	$1A				; 0ad5 20 1a&lt;br /&gt;
		lr	2,A				; 0ad7 52&lt;br /&gt;
		dci	L0DC3				; 0ad8 2a 0d c3 - load DC with data/code pointer&lt;br /&gt;
		lis	6				; 0adb 76&lt;br /&gt;
		lr	HU,A				; 0adc 5a&lt;br /&gt;
L0ADD:&lt;br /&gt;
		lm					; 0add 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0ade 50&lt;br /&gt;
		xdc					; 0adf 2c - exchange DC and H pointers&lt;br /&gt;
		dci	L0DC9				; 0ae0 2a 0d c9 - load DC with data/code pointer&lt;br /&gt;
		pi	drawchar_entry			; 0ae3 28 06 7c&lt;br /&gt;
		ds	1				; 0ae6 31&lt;br /&gt;
		ds	1				; 0ae7 31&lt;br /&gt;
		xdc					; 0ae8 2c - exchange DC and H pointers&lt;br /&gt;
		ds	HU				; 0ae9 3a&lt;br /&gt;
		bf	4,L0ADD				; 0aea 94 f2&lt;br /&gt;
		li	$2C				; 0aec 20 2c&lt;br /&gt;
		lr	2,A				; 0aee 52&lt;br /&gt;
		li	$12				; 0aef 20 12&lt;br /&gt;
		lr	1,A				; 0af1 51&lt;br /&gt;
		li	$80				; 0af2 20 80&lt;br /&gt;
		lr	0,A				; 0af4 50&lt;br /&gt;
		dci	L0DCE				; 0af5 2a 0d ce - load DC with data/code pointer&lt;br /&gt;
		pi	bios_drawchar_bitmap_wrapper	; 0af8 28 0f cd&lt;br /&gt;
		li	$43				; 0afb 20 43&lt;br /&gt;
		lr	1,A				; 0afd 51&lt;br /&gt;
		li	$40				; 0afe 20 40&lt;br /&gt;
		lr	0,A				; 0b00 50&lt;br /&gt;
		dci	L0DCE				; 0b01 2a 0d ce - load DC with data/code pointer&lt;br /&gt;
		pi	bios_drawchar_bitmap_wrapper	; 0b04 28 0f cd&lt;br /&gt;
		pi	bios_score_prompt_wrapper	; 0b07 28 0f d6&lt;br /&gt;
		dci	L0DB7				; 0b0a 2a 0d b7 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_compressed_text		; 0b0d 28 0b a3&lt;br /&gt;
		lis	6				; 0b10 76&lt;br /&gt;
		lr	3,A				; 0b11 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 0b12 28 0f ea&lt;br /&gt;
		dci	L0DD6				; 0b15 2a 0d d6 - load DC with data/code pointer&lt;br /&gt;
		lis	8				; 0b18 78&lt;br /&gt;
		lr	2,A				; 0b19 52&lt;br /&gt;
L0B1A:&lt;br /&gt;
		lis	$F				; 0b1a 7f&lt;br /&gt;
L0B1B:&lt;br /&gt;
		lr	1,A				; 0b1b 51&lt;br /&gt;
		li	$C0				; 0b1c 20 c0&lt;br /&gt;
		lr	0,A				; 0b1e 50&lt;br /&gt;
		lm					; 0b1f 16 - load byte from DC and increment DC&lt;br /&gt;
		xdc					; 0b20 2c - exchange DC and H pointers&lt;br /&gt;
		lr	HU,A				; 0b21 5a&lt;br /&gt;
		sr	4				; 0b22 14&lt;br /&gt;
		sl	4				; 0b23 15&lt;br /&gt;
		sr	1				; 0b24 12&lt;br /&gt;
		lr	HL,A				; 0b25 5b&lt;br /&gt;
		lr	A,HU				; 0b26 4a&lt;br /&gt;
		sl	4				; 0b27 15&lt;br /&gt;
		sr	1				; 0b28 12&lt;br /&gt;
		lr	HU,A				; 0b29 5a&lt;br /&gt;
		dci	L0E26				; 0b2a 2a 0e 26 - load DC with data/code pointer&lt;br /&gt;
		lr	A,HL				; 0b2d 4b&lt;br /&gt;
		adc					; 0b2e 8e&lt;br /&gt;
		pi	bios_drawchar_bitmap_wrapper	; 0b2f 28 0f cd&lt;br /&gt;
		ds	1				; 0b32 31&lt;br /&gt;
		dci	L0E26				; 0b33 2a 0e 26 - load DC with data/code pointer&lt;br /&gt;
		lr	A,HU				; 0b36 4a&lt;br /&gt;
		adc					; 0b37 8e&lt;br /&gt;
		li	$C0				; 0b38 20 c0&lt;br /&gt;
		lr	0,A				; 0b3a 50&lt;br /&gt;
		pi	bios_drawchar_bitmap_wrapper	; 0b3b 28 0f cd&lt;br /&gt;
		xdc					; 0b3e 2c - exchange DC and H pointers&lt;br /&gt;
		ds	1				; 0b3f 31&lt;br /&gt;
		lr	A,1				; 0b40 41&lt;br /&gt;
		ci	$5A				; 0b41 25 5a&lt;br /&gt;
		bt	2,L0B1B				; 0b43 82 d7&lt;br /&gt;
		lis	4				; 0b45 74&lt;br /&gt;
		as	2				; 0b46 c2&lt;br /&gt;
		lr	2,A				; 0b47 52&lt;br /&gt;
		ci	$2F				; 0b48 25 2f&lt;br /&gt;
		bt	2,L0B1A				; 0b4a 82 cf&lt;br /&gt;
		dci	L0E96				; 0b4c 2a 0e 96 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_compressed_text		; 0b4f 28 0b a3&lt;br /&gt;
		lis	6				; 0b52 76&lt;br /&gt;
		lr	3,A				; 0b53 53&lt;br /&gt;
		pi	clear_screen_o37_0		; 0b54 28 0f ea&lt;br /&gt;
L0B57:&lt;br /&gt;
		dci	L0E9D				; 0b57 2a 0e 9d - load DC with data/code pointer&lt;br /&gt;
		lis	$C				; 0b5a 7c&lt;br /&gt;
L0B5B:&lt;br /&gt;
		lr	HU,A				; 0b5b 5a&lt;br /&gt;
L0B5C:&lt;br /&gt;
		lm					; 0b5c 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 0b5d 51&lt;br /&gt;
		lm					; 0b5e 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 0b5f 52&lt;br /&gt;
		lm					; 0b60 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0b61 50&lt;br /&gt;
		xdc					; 0b62 2c - exchange DC and H pointers&lt;br /&gt;
		dci	L0EC1				; 0b63 2a 0e c1 - load DC with data/code pointer&lt;br /&gt;
		pi	drawchar_entry			; 0b66 28 06 7c&lt;br /&gt;
		xdc					; 0b69 2c - exchange DC and H pointers&lt;br /&gt;
		ds	HU				; 0b6a 3a&lt;br /&gt;
		bf	4,L0B5C				; 0b6b 94 f0&lt;br /&gt;
		dci	L0EE4				; 0b6d 2a 0e e4 - load DC with data/code pointer&lt;br /&gt;
		pi	draw_compressed_text		; 0b70 28 0b a3&lt;br /&gt;
		jmp	reset				; 0b73 29 00 00 - unconditional jump&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; bios_drawchar_0215_wrapper&lt;br /&gt;
; Wrapper around BIOS draw routine at $0215. Saves K, then tail-jumps into BIOS&lt;br /&gt;
; code.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
bios_drawchar_0215_wrapper:&lt;br /&gt;
		lr	K,P				; 0b76 08&lt;br /&gt;
		pi	pushk				; 0b77 28 01 07 - bios pushk - save return address on BIOS K-stack&lt;br /&gt;
		jmp	bios_draw_entity		; 0b7a 29 02 15 - bios, calls draw char - unconditional jump&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; draw_three_prompt_markers&lt;br /&gt;
; Draws three repeated BIOS objects at fixed Y positions $0A, $17 and $24 using&lt;br /&gt;
; BIOS routine $01F6.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
draw_three_prompt_markers:&lt;br /&gt;
		lr	K,P				; 0b7d 08&lt;br /&gt;
		pi	pushk				; 0b7e 28 01 07 - bios pushk - save return address on BIOS K-stack&lt;br /&gt;
		lis	$A				; 0b81 7a&lt;br /&gt;
		lr	2,A				; 0b82 52&lt;br /&gt;
		pi	bios_draw_lives			; 0b83 28 01 f6&lt;br /&gt;
		li	$17				; 0b86 20 17&lt;br /&gt;
		lr	2,A				; 0b88 52&lt;br /&gt;
		pi	bios_draw_lives			; 0b89 28 01 f6&lt;br /&gt;
		li	$24				; 0b8c 20 24&lt;br /&gt;
		lr	2,A				; 0b8e 52&lt;br /&gt;
		pi	bios_draw_lives			; 0b8f 28 01 f6&lt;br /&gt;
		pi	popk				; 0b92 28 01 1e - restore return address from BIOS K-stack&lt;br /&gt;
		pk					; 0b95 0c - return via K/P after BIOS K-stack restore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; short_delay&lt;br /&gt;
; Short delay helper. Uses r0 as outer counter and r5 as BIOS delay parameter.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
short_delay:&lt;br /&gt;
		lr	K,P				; 0b96 08&lt;br /&gt;
		lis	3				; 0b97 73&lt;br /&gt;
		lr	0,A				; 0b98 50&lt;br /&gt;
		lis	$F				; 0b99 7f&lt;br /&gt;
		lr	5,A				; 0b9a 55&lt;br /&gt;
short_delay_loop:&lt;br /&gt;
		pi	delay				; 0b9b 28 00 8f&lt;br /&gt;
		ds	0				; 0b9e 30&lt;br /&gt;
		bf	4,short_delay_loop		; 0b9f 94 fb&lt;br /&gt;
		lr	P,K				; 0ba1 09&lt;br /&gt;
		pop					; 0ba2 1c - return from subroutine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; draw_compressed_text&lt;br /&gt;
; Draws a compressed or data-driven text/object stream. DC points at stream&lt;br /&gt;
; header: count, Y, X, then character/object bytes.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
draw_compressed_text:&lt;br /&gt;
		lr	K,P				; 0ba3 08&lt;br /&gt;
		pi	pushk				; 0ba4 28 01 07 - bios pushk - save return address on BIOS K-stack&lt;br /&gt;
		lm					; 0ba7 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	3,A				; 0ba8 53&lt;br /&gt;
		lm					; 0ba9 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	2,A				; 0baa 52&lt;br /&gt;
		lm					; 0bab 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	1,A				; 0bac 51&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; draw_compressed_text_next_char&lt;br /&gt;
; Inner stream loop. Loads one stream item from DC and draws through BIOS&lt;br /&gt;
; drawchar entry with alternate glyph/data pointer.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
draw_compressed_text_next_char:&lt;br /&gt;
		lm					; 0bad 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	0,A				; 0bae 50&lt;br /&gt;
		xdc					; 0baf 2c - exchange DC and H pointers&lt;br /&gt;
		dci	L0EEF				; 0bb0 2a 0e ef - load DC with data/code pointer&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; draw_compressed_text_write_char&lt;br /&gt;
; Calls BIOS drawchar entry for one stream item, advances, and repeats until&lt;br /&gt;
; count expires.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
draw_compressed_text_write_char:&lt;br /&gt;
		pi	drawchar_entry			; 0bb3 28 06 7c&lt;br /&gt;
		xdc					; 0bb6 2c - exchange DC and H pointers&lt;br /&gt;
		ds	3				; 0bb7 33&lt;br /&gt;
		bf	4,draw_compressed_text_next_char	; 0bb8 94 f4&lt;br /&gt;
		lr	A,HU				; 0bba 4a&lt;br /&gt;
		ci	$69				; 0bbb 25 69&lt;br /&gt;
		bt	4,draw_compressed_text_done	; 0bbd 84 04&lt;br /&gt;
		pi	short_delay			; 0bbf 28 0b 96&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; draw_compressed_text_done&lt;br /&gt;
; Restores return address from BIOS K-stack and returns from stream drawing&lt;br /&gt;
; routine.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
draw_compressed_text_done:&lt;br /&gt;
		pi	popk				; 0bc2 28 01 1e - restore return address from BIOS K-stack&lt;br /&gt;
		pk					; 0bc5 0c - return via K/P after BIOS K-stack restore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L0BC6:&lt;br /&gt;
		lr	QU,A				; 0bc6 06&lt;br /&gt;
		sl	1				; 0bc7 13&lt;br /&gt;
		out	$91				; 0bc8 27 91&lt;br /&gt;
		bf	9,L0B57				; 0bca 99 8c&lt;br /&gt;
		bf	4,L0B5B				; 0bcc 94 8e&lt;br /&gt;
		.byte	$A3&lt;br /&gt;
L0BCF:&lt;br /&gt;
		lr	QU,A				; 0bcf 06&lt;br /&gt;
		oi	$26				; 0bd0 22 26&lt;br /&gt;
		lr	D,A				; 0bd2 5e - store A and decrement ISAR&lt;br /&gt;
		lr	A,D				; 0bd3 4e - read selected scratchpad register and decrement ISAR&lt;br /&gt;
		lr	8,A				; 0bd4 58&lt;br /&gt;
		lr	8,A				; 0bd5 58&lt;br /&gt;
		lr	2,A				; 0bd6 52&lt;br /&gt;
		lr	I,A				; 0bd7 5d - store A and increment ISAR&lt;br /&gt;
L0BD8:&lt;br /&gt;
		lr	IS,A				; 0bd8 0b&lt;br /&gt;
		ds	1				; 0bd9 31&lt;br /&gt;
		di					; 0bda 1a&lt;br /&gt;
		bf	$E,L0B6E			; 0bdb 9e 92&lt;br /&gt;
		xm					; 0bdd 8c&lt;br /&gt;
		lr	A,KU				; 0bde 00&lt;br /&gt;
		lr	D,A				; 0bdf 5e - store A and decrement ISAR&lt;br /&gt;
		lr	A,HU				; 0be0 4a&lt;br /&gt;
		lr	A,S				; 0be1 4c - read selected scratchpad register&lt;br /&gt;
		lr	A,KU				; 0be2 00&lt;br /&gt;
		asd	D				; 0be3 de&lt;br /&gt;
		asd	J				; 0be4 d9&lt;br /&gt;
		as	D				; 0be5 ce&lt;br /&gt;
L0BE6:&lt;br /&gt;
		lr	DC,H				; 0be6 10&lt;br /&gt;
		li	$0A				; 0be7 20 0a&lt;br /&gt;
		bf	$D,L0B7B			; 0be9 9d 91&lt;br /&gt;
		bf	9,L0B85				; 0beb 99 99&lt;br /&gt;
		bf	$E,L0B80			; 0bed 9e 92&lt;br /&gt;
		bf	8,L0B80				; 0bef 98 90&lt;br /&gt;
		lr	A,KU				; 0bf1 00&lt;br /&gt;
		bf	0,draw_three_prompt_markers	; 0bf2 90 8a&lt;br /&gt;
L0BF4:&lt;br /&gt;
		bf	6,L0B8B				; 0bf4 96 96&lt;br /&gt;
L0BF6:&lt;br /&gt;
		adc					; 0bf6 8e&lt;br /&gt;
		bf	$C,short_delay_loop		; 0bf7 9c a3&lt;br /&gt;
L0BF9:&lt;br /&gt;
		lr	KU,A				; 0bf9 04&lt;br /&gt;
L0BFA:&lt;br /&gt;
		nop					; 0bfa 2b&lt;br /&gt;
		.byte	$2D&lt;br /&gt;
		lr	D,A				; 0bfc 5e - store A and decrement ISAR&lt;br /&gt;
		lr	A,HU				; 0bfd 4a&lt;br /&gt;
		lr	8,A				; 0bfe 58&lt;br /&gt;
		lr	4,A				; 0bff 54&lt;br /&gt;
L0C00:&lt;br /&gt;
		dci	$10C0				; 0c00 2a 10 c0&lt;br /&gt;
		lr	A,2				; 0c03 42&lt;br /&gt;
		lr	DC,H				; 0c04 10&lt;br /&gt;
		as	0				; 0c05 c0&lt;br /&gt;
		ds	6				; 0c06 36&lt;br /&gt;
		ei					; 0c07 1b&lt;br /&gt;
		as	0				; 0c08 c0&lt;br /&gt;
		dci	$25C0				; 0c09 2a 25 c0&lt;br /&gt;
		lr	A,2				; 0c0c 42&lt;br /&gt;
		ci	$C0				; 0c0d 25 c0&lt;br /&gt;
		lnk					; 0c0f 19&lt;br /&gt;
		lr	P0,Q				; 0c10 0d&lt;br /&gt;
		bt	3,L0C64				; 0c11 83 52&lt;br /&gt;
		pi	$8417				; 0c13 28 84 17&lt;br /&gt;
		lr	IS,A				; 0c16 0b&lt;br /&gt;
		as	1				; 0c17 c1&lt;br /&gt;
		lr	4,A				; 0c18 54&lt;br /&gt;
		dci	$4200				; 0c19 2a 42 00&lt;br /&gt;
L0C1C:&lt;br /&gt;
		li	$70				; 0c1c 20 70&lt;br /&gt;
		li	$00				; 0c1e 20 00&lt;br /&gt;
		li	$70				; 0c20 20 70&lt;br /&gt;
		xs	0				; 0c22 e0&lt;br /&gt;
		lr	0,A				; 0c23 50&lt;br /&gt;
		lr	K,P				; 0c24 08&lt;br /&gt;
		bt	0,L0C76				; 0c25 80 50&lt;br /&gt;
		ds	8				; 0c27 38&lt;br /&gt;
		clr					; 0c28 70&lt;br /&gt;
		li	$08				; 0c29 20 08&lt;br /&gt;
		lr	K,P				; 0c2b 08&lt;br /&gt;
		lr	K,P				; 0c2c 08&lt;br /&gt;
		lr	K,P				; 0c2d 08&lt;br /&gt;
		ns	8				; 0c2e f8&lt;br /&gt;
		ns	8				; 0c2f f8&lt;br /&gt;
		bt	0,L0BB1				; 0c30 80 80&lt;br /&gt;
		bt	0,draw_compressed_text_write_char	; 0c32 80 80&lt;br /&gt;
L0C34:&lt;br /&gt;
		lr	Q,DC				; 0c34 0e&lt;br /&gt;
		.byte	$FF&lt;br /&gt;
		.byte	$FF&lt;br /&gt;
		.byte	$3F&lt;br /&gt;
		dci	$2E2A				; 0c38 2a 2e 2a&lt;br /&gt;
		.byte	$2E&lt;br /&gt;
		clr					; 0c3c 70&lt;br /&gt;
		.byte	$FF&lt;br /&gt;
		.byte	$FF&lt;br /&gt;
		ns	S				; 0c3f fc&lt;br /&gt;
		lr	4,A				; 0c40 54&lt;br /&gt;
		lis	4				; 0c41 74&lt;br /&gt;
		lr	4,A				; 0c42 54&lt;br /&gt;
		lis	4				; 0c43 74&lt;br /&gt;
		lr	I,A				; 0c44 5d - store A and increment ISAR&lt;br /&gt;
		lr	5,A				; 0c45 55&lt;br /&gt;
		lr	I,A				; 0c46 5d - store A and increment ISAR&lt;br /&gt;
		lr	5,A				; 0c47 55&lt;br /&gt;
		lr	I,A				; 0c48 5d - store A and increment ISAR&lt;br /&gt;
		lr	5,A				; 0c49 55&lt;br /&gt;
		lr	I,A				; 0c4a 5d - store A and increment ISAR&lt;br /&gt;
		lr	5,A				; 0c4b 55&lt;br /&gt;
		lr	A,KU				; 0c4c 00&lt;br /&gt;
		lr	A,0				; 0c4d 40&lt;br /&gt;
		lisu	0				; 0c4e 60&lt;br /&gt;
		lis	$D				; 0c4f 7d&lt;br /&gt;
		lis	$F				; 0c50 7f&lt;br /&gt;
		lis	$D				; 0c51 7d&lt;br /&gt;
		lr	A,KU				; 0c52 00&lt;br /&gt;
		lr	A,KU				; 0c53 00&lt;br /&gt;
		lr	A,KU				; 0c54 00&lt;br /&gt;
		lr	A,QU				; 0c55 02&lt;br /&gt;
		lr	QU,A				; 0c56 06&lt;br /&gt;
		outs	14				; 0c57 be&lt;br /&gt;
		ns	D				; 0c58 fe&lt;br /&gt;
		outs	14				; 0c59 be&lt;br /&gt;
		lr	A,KU				; 0c5a 00&lt;br /&gt;
		lr	A,KU				; 0c5b 00&lt;br /&gt;
L0C5C:&lt;br /&gt;
		lr	K,P				; 0c5c 08&lt;br /&gt;
		sl	1				; 0c5d 13&lt;br /&gt;
		inc					; 0c5e 1f&lt;br /&gt;
		bf	$D,L0BFA			; 0c5f 9d 9a&lt;br /&gt;
		bf	2,L0C00				; 0c61 92 9e&lt;br /&gt;
		br7	L0BF6				; 0c63 8f 92&lt;br /&gt;
L0C65:&lt;br /&gt;
		bf	$C,L0BF4			; 0c65 9c 8e&lt;br /&gt;
L0C67:&lt;br /&gt;
		ds	0				; 0c67 30&lt;br /&gt;
		.byte	$2E&lt;br /&gt;
		as	0				; 0c69 c0&lt;br /&gt;
		ds	3				; 0c6a 33&lt;br /&gt;
		.byte	$2E&lt;br /&gt;
		as	0				; 0c6c c0&lt;br /&gt;
		ds	1				; 0c6d 31&lt;br /&gt;
		ds	3				; 0c6e 33&lt;br /&gt;
		as	0				; 0c6f c0&lt;br /&gt;
		lr	IS,A				; 0c70 0b&lt;br /&gt;
		ds	2				; 0c71 32&lt;br /&gt;
		bt	0,L0CCF				; 0c72 80 5c&lt;br /&gt;
		ds	2				; 0c74 32&lt;br /&gt;
		lr	A,0				; 0c75 40&lt;br /&gt;
L0C76:&lt;br /&gt;
		pk					; 0c76 0c - return via K/P after BIOS K-stack restore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		lr	IS,A				; 0c77 0b&lt;br /&gt;
		st					; 0c78 17&lt;br /&gt;
		lr	A,0				; 0c79 40&lt;br /&gt;
		lr	A,5				; 0c7a 45&lt;br /&gt;
		lr	A,0				; 0c7b 40&lt;br /&gt;
		lr	A,0				; 0c7c 40&lt;br /&gt;
		lr	A,KU				; 0c7d 00&lt;br /&gt;
		lr	A,KU				; 0c7e 00&lt;br /&gt;
		lr	A,KU				; 0c7f 00&lt;br /&gt;
		lr	A,KU				; 0c80 00&lt;br /&gt;
		lr	A,0				; 0c81 40&lt;br /&gt;
		lr	A,5				; 0c82 45&lt;br /&gt;
		lr	A,0				; 0c83 40&lt;br /&gt;
		lr	A,0				; 0c84 40&lt;br /&gt;
		lr	KU,A				; 0c85 04&lt;br /&gt;
		ds	3				; 0c86 33&lt;br /&gt;
		.byte	$2E&lt;br /&gt;
		lr	A,HL				; 0c88 4b&lt;br /&gt;
		lr	A,D				; 0c89 4e - read selected scratchpad register and decrement ISAR&lt;br /&gt;
		lr	D,A				; 0c8a 5e - store A and decrement ISAR&lt;br /&gt;
		lisu	6				; 0c8b 66&lt;br /&gt;
		lr	P,K				; 0c8c 09&lt;br /&gt;
		pop					; 0c8d 1c - return from subroutine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		li	$4B				; 0c8e 20 4b&lt;br /&gt;
		lr	6,A				; 0c90 56&lt;br /&gt;
		lr	A,HU				; 0c91 4a&lt;br /&gt;
		lr	A,S				; 0c92 4c - read selected scratchpad register&lt;br /&gt;
		lr	4,A				; 0c93 54&lt;br /&gt;
		lr	3,A				; 0c94 53&lt;br /&gt;
		lr	A,HU				; 0c95 4a&lt;br /&gt;
		lr	A,S				; 0c96 4c - read selected scratchpad register&lt;br /&gt;
		lr	4,A				; 0c97 54&lt;br /&gt;
L0C98:&lt;br /&gt;
		ns	8				; 0c98 f8&lt;br /&gt;
		bt	4,L0C1C				; 0c99 84 82&lt;br /&gt;
		bt	1,L0C1D				; 0c9b 81 81&lt;br /&gt;
		bt	1,L0C1F				; 0c9d 81 81&lt;br /&gt;
		.byte	$FF&lt;br /&gt;
		lr	A,KU				; 0ca0 00&lt;br /&gt;
		lr	A,KU				; 0ca1 00&lt;br /&gt;
		lr	A,KU				; 0ca2 00&lt;br /&gt;
		pop					; 0ca3 1c - return from subroutine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		xi	$22				; 0ca4 23 22&lt;br /&gt;
		oi	$DC				; 0ca6 22 dc&lt;br /&gt;
		lr	A,KU				; 0ca8 00&lt;br /&gt;
		lr	A,KU				; 0ca9 00&lt;br /&gt;
		lr	A,KU				; 0caa 00&lt;br /&gt;
		lis	8				; 0cab 78&lt;br /&gt;
		as	7				; 0cac c7&lt;br /&gt;
		lr	A,4				; 0cad 44&lt;br /&gt;
		lr	A,4				; 0cae 44&lt;br /&gt;
		ds	8				; 0caf 38&lt;br /&gt;
		lr	KU,A				; 0cb0 04&lt;br /&gt;
		lr	KU,A				; 0cb1 04&lt;br /&gt;
		lr	KU,A				; 0cb2 04&lt;br /&gt;
		lr	KU,A				; 0cb3 04&lt;br /&gt;
		ns	S				; 0cb4 fc&lt;br /&gt;
		lr	A,4				; 0cb5 44&lt;br /&gt;
		lr	A,4				; 0cb6 44&lt;br /&gt;
		lis	$F				; 0cb7 7f&lt;br /&gt;
		lr	DC,H				; 0cb8 10&lt;br /&gt;
		pi	$2828				; 0cb9 28 28 28&lt;br /&gt;
		pi	$2810				; 0cbc 28 28 10&lt;br /&gt;
		.byte	$EF&lt;br /&gt;
		lr	A,KU				; 0cc0 00&lt;br /&gt;
		lr	A,KU				; 0cc1 00&lt;br /&gt;
		lr	A,KU				; 0cc2 00&lt;br /&gt;
		lr	K,P				; 0cc3 08&lt;br /&gt;
		sr	4				; 0cc4 14&lt;br /&gt;
		sr	4				; 0cc5 14&lt;br /&gt;
		lr	K,P				; 0cc6 08&lt;br /&gt;
		ns	6				; 0cc7 f6&lt;br /&gt;
L0CC8:&lt;br /&gt;
		.byte	$FF&lt;br /&gt;
		as	3				; 0cc9 c3&lt;br /&gt;
		ins	5				; 0cca a5&lt;br /&gt;
		bf	9,L0C65				; 0ccb 99 99&lt;br /&gt;
		ins	5				; 0ccd a5&lt;br /&gt;
		as	3				; 0cce c3&lt;br /&gt;
L0CCF:&lt;br /&gt;
		.byte	$FF&lt;br /&gt;
L0CD0:&lt;br /&gt;
		lr	IS,A				; 0cd0 0b&lt;br /&gt;
		ds	0				; 0cd1 30&lt;br /&gt;
		lnk					; 0cd2 19&lt;br /&gt;
		nm					; 0cd3 8a&lt;br /&gt;
		.byte	$DF&lt;br /&gt;
		lr	D,A				; 0cd5 5e - store A and decrement ISAR&lt;br /&gt;
		bf	9,L0CD7				; 0cd6 99 00&lt;br /&gt;
		lr	A,I				; 0cd8 4d - read selected scratchpad register and increment ISAR&lt;br /&gt;
		lr	J,A				; 0cd9 59&lt;br /&gt;
		asd	J				; 0cda d9&lt;br /&gt;
		as	I				; 0cdb cd&lt;br /&gt;
		lr	6,A				; 0cdc 56&lt;br /&gt;
		adc					; 0cdd 8e&lt;br /&gt;
L0CDE:&lt;br /&gt;
		ei					; 0cde 1b&lt;br /&gt;
		lr	DC,H				; 0cdf 10&lt;br /&gt;
		bt	2,L0D31				; 0ce0 82 50&lt;br /&gt;
		out	$82				; 0ce2 27 82&lt;br /&gt;
		ci	$0D				; 0ce4 25 0d&lt;br /&gt;
		as	1				; 0ce6 c1&lt;br /&gt;
		ds	I				; 0ce7 3d&lt;br /&gt;
		lr	DC,H				; 0ce8 10&lt;br /&gt;
		as	1				; 0ce9 c1&lt;br /&gt;
		ds	6				; 0cea 36&lt;br /&gt;
		ei					; 0ceb 1b&lt;br /&gt;
		as	1				; 0cec c1&lt;br /&gt;
L0CED:&lt;br /&gt;
		.byte	$2F&lt;br /&gt;
		ci	$C1				; 0cee 25 c1&lt;br /&gt;
		lr	A,7				; 0cf0 47&lt;br /&gt;
		pi	$C117				; 0cf1 28 c1 17&lt;br /&gt;
		lr	IS,A				; 0cf4 0b&lt;br /&gt;
		as	0				; 0cf5 c0&lt;br /&gt;
		lr	4,A				; 0cf6 54&lt;br /&gt;
		dci	$4000				; 0cf7 2a 40 00&lt;br /&gt;
		li	$F8				; 0cfa 20 f8&lt;br /&gt;
		clr					; 0cfc 70&lt;br /&gt;
L0CFD:&lt;br /&gt;
		lr	A,KU				; 0cfd 00&lt;br /&gt;
		lr	A,KU				; 0cfe 00&lt;br /&gt;
		lr	0,A				; 0cff 50&lt;br /&gt;
		li	$50				; 0d00 20 50&lt;br /&gt;
		lr	A,KU				; 0d02 00&lt;br /&gt;
		li	$70				; 0d03 20 70&lt;br /&gt;
		asd	8				; 0d05 d8&lt;br /&gt;
		clr					; 0d06 70&lt;br /&gt;
		li	$09				; 0d07 20 09&lt;br /&gt;
		lm					; 0d09 16 - load byte from DC and increment DC&lt;br /&gt;
		lr	W,J				; 0d0a 1d&lt;br /&gt;
		lr	I,A				; 0d0b 5d - store A and increment ISAR&lt;br /&gt;
		lr	HU,A				; 0d0c 5a&lt;br /&gt;
		lr	A,HU				; 0d0d 4a&lt;br /&gt;
		lr	A,S				; 0d0e 4c - read selected scratchpad register&lt;br /&gt;
		lr	A,D				; 0d0f 4e - read selected scratchpad register and decrement ISAR&lt;br /&gt;
		lr	A,KU				; 0d10 00&lt;br /&gt;
		lisu	1				; 0d11 61&lt;br /&gt;
		lr	A,HU				; 0d12 4a&lt;br /&gt;
		lr	S,A				; 0d13 5c - store A in selected scratchpad register&lt;br /&gt;
L0D14:&lt;br /&gt;
		lr	P0,Q				; 0d14 0d&lt;br /&gt;
		lr	DC,H				; 0d15 10&lt;br /&gt;
		sl	1				; 0d16 13&lt;br /&gt;
		lr	A,KU				; 0d17 00&lt;br /&gt;
		lr	A,2				; 0d18 42&lt;br /&gt;
		lr	A,3				; 0d19 43&lt;br /&gt;
		lr	A,KU				; 0d1a 00&lt;br /&gt;
		lr	A,KU				; 0d1b 00&lt;br /&gt;
		lr	A,KU				; 0d1c 00&lt;br /&gt;
		lr	A,7				; 0d1d 47&lt;br /&gt;
		lr	A,2				; 0d1e 42&lt;br /&gt;
		lr	A,KU				; 0d1f 00&lt;br /&gt;
		lr	A,KU				; 0d20 00&lt;br /&gt;
		lr	A,KU				; 0d21 00&lt;br /&gt;
		lr	A,1				; 0d22 41&lt;br /&gt;
		lr	A,3				; 0d23 43&lt;br /&gt;
		lr	P0,Q				; 0d24 0d&lt;br /&gt;
		lm					; 0d25 16 - load byte from DC and increment DC&lt;br /&gt;
		sl	1				; 0d26 13&lt;br /&gt;
		xs	J				; 0d27 e9&lt;br /&gt;
		lr	A,4				; 0d28 44&lt;br /&gt;
L0D29:&lt;br /&gt;
		lr	A,2				; 0d29 42&lt;br /&gt;
		lr	A,KU				; 0d2a 00&lt;br /&gt;
		lr	A,KU				; 0d2b 00&lt;br /&gt;
		xs	HU				; 0d2c ea&lt;br /&gt;
		lr	A,1				; 0d2d 41&lt;br /&gt;
		lr	A,3				; 0d2e 43&lt;br /&gt;
		lr	A,KU				; 0d2f 00&lt;br /&gt;
		lr	A,KU				; 0d30 00&lt;br /&gt;
L0D31:&lt;br /&gt;
		xs	2				; 0d31 e2&lt;br /&gt;
		lr	A,KU				; 0d32 00&lt;br /&gt;
		lr	A,3				; 0d33 43&lt;br /&gt;
		lr	P0,Q				; 0d34 0d&lt;br /&gt;
		lr	J,W				; 0d35 1e&lt;br /&gt;
		sl	1				; 0d36 13&lt;br /&gt;
		lr	A,KU				; 0d37 00&lt;br /&gt;
		lr	A,6				; 0d38 46&lt;br /&gt;
		lr	A,5				; 0d39 45&lt;br /&gt;
		lr	A,KU				; 0d3a 00&lt;br /&gt;
		lr	A,KU				; 0d3b 00&lt;br /&gt;
		lr	A,KU				; 0d3c 00&lt;br /&gt;
		lr	A,5				; 0d3d 45&lt;br /&gt;
		lr	A,J				; 0d3e 49&lt;br /&gt;
		lr	A,KU				; 0d3f 00&lt;br /&gt;
		lr	A,KU				; 0d40 00&lt;br /&gt;
		lr	A,KU				; 0d41 00&lt;br /&gt;
		lr	A,3				; 0d42 43&lt;br /&gt;
		lr	A,J				; 0d43 49&lt;br /&gt;
L0D44:&lt;br /&gt;
		.byte	$2E&lt;br /&gt;
		nop					; 0d45 2b&lt;br /&gt;
		bt	1,L0D6F				; 0d46 81 28&lt;br /&gt;
		xdc					; 0d48 2c - exchange DC and H pointers&lt;br /&gt;
		lr	A,3				; 0d49 43&lt;br /&gt;
		ds	5				; 0d4a 35&lt;br /&gt;
		xdc					; 0d4b 2c - exchange DC and H pointers&lt;br /&gt;
		lr	A,6				; 0d4c 46&lt;br /&gt;
		ds	HL				; 0d4d 3b&lt;br /&gt;
		xdc					; 0d4e 2c - exchange DC and H pointers&lt;br /&gt;
		lr	A,J				; 0d4f 49&lt;br /&gt;
		ds	5				; 0d50 35&lt;br /&gt;
		ai	$42				; 0d51 24 42&lt;br /&gt;
		ds	HL				; 0d53 3b&lt;br /&gt;
		ai	$43				; 0d54 24 43&lt;br /&gt;
L0D56:&lt;br /&gt;
		lr	K,P				; 0d56 08&lt;br /&gt;
		lr	P,K				; 0d57 09&lt;br /&gt;
		li	$97				; 0d58 20 97&lt;br /&gt;
		nm					; 0d5a 8a&lt;br /&gt;
		bf	$E,L0CED			; 0d5b 9e 91&lt;br /&gt;
		bf	$B,L0CFD			; 0d5d 9b 9f&lt;br /&gt;
		bf	2,L0D04				; 0d5f 92 a4&lt;br /&gt;
L0D61:&lt;br /&gt;
		lr	A,QL				; 0d61 03&lt;br /&gt;
		out	$14				; 0d62 27 14&lt;br /&gt;
		lr	A,0				; 0d64 40&lt;br /&gt;
		lr	A,0				; 0d65 40&lt;br /&gt;
		lr	A,0				; 0d66 40&lt;br /&gt;
		lr	A,KL				; 0d67 01&lt;br /&gt;
		.byte	$2D&lt;br /&gt;
		sr	4				; 0d69 14&lt;br /&gt;
		lisl	2				; 0d6a 6a&lt;br /&gt;
		lr	A,QU				; 0d6b 02&lt;br /&gt;
		ds	3				; 0d6c 33&lt;br /&gt;
		ds	3				; 0d6d 33&lt;br /&gt;
		lr	A,2				; 0d6e 42&lt;br /&gt;
L0D6F:&lt;br /&gt;
		lr	A,0				; 0d6f 40&lt;br /&gt;
		lr	QU,A				; 0d70 06&lt;br /&gt;
L0D71:&lt;br /&gt;
		lr	H,DC				; 0d71 11&lt;br /&gt;
		out	$CB				; 0d72 27 cb&lt;br /&gt;
		as	HU				; 0d74 ca&lt;br /&gt;
		asd	0				; 0d75 d0&lt;br /&gt;
		as	D				; 0d76 ce&lt;br /&gt;
		asd	6				; 0d77 d6&lt;br /&gt;
		asd	I				; 0d78 dd&lt;br /&gt;
L0D79:&lt;br /&gt;
		sr	4				; 0d79 14&lt;br /&gt;
		lnk					; 0d7a 19&lt;br /&gt;
		bt	0,L0D96				; 0d7b 80 1a&lt;br /&gt;
		lnk					; 0d7d 19&lt;br /&gt;
		bt	0,L0DAF				; 0d7e 80 30&lt;br /&gt;
		lnk					; 0d80 19&lt;br /&gt;
		lr	A,0				; 0d81 40&lt;br /&gt;
		ds	6				; 0d82 36&lt;br /&gt;
		lnk					; 0d83 19&lt;br /&gt;
		lr	A,0				; 0d84 40&lt;br /&gt;
		lr	A,I				; 0d85 4d - read selected scratchpad register and increment ISAR&lt;br /&gt;
		lnk					; 0d86 19&lt;br /&gt;
		lr	A,0				; 0d87 40&lt;br /&gt;
		lr	3,A				; 0d88 53&lt;br /&gt;
		lnk					; 0d89 19&lt;br /&gt;
		lr	A,0				; 0d8a 40&lt;br /&gt;
L0D8B:&lt;br /&gt;
		ns	D				; 0d8b fe&lt;br /&gt;
		ns	D				; 0d8c fe&lt;br /&gt;
		ns	D				; 0d8d fe&lt;br /&gt;
		ns	D				; 0d8e fe&lt;br /&gt;
		ns	D				; 0d8f fe&lt;br /&gt;
		ns	D				; 0d90 fe&lt;br /&gt;
		ns	D				; 0d91 fe&lt;br /&gt;
		lr	A,KU				; 0d92 00&lt;br /&gt;
L0D93:&lt;br /&gt;
		lr	A,QL				; 0d93 03&lt;br /&gt;
		lr	H,DC				; 0d94 11&lt;br /&gt;
		.byte	$2E&lt;br /&gt;
L0D96:&lt;br /&gt;
		bf	8,L0D29				; 0d96 98 92&lt;br /&gt;
		bf	7,L0D71				; 0d98 97 d8&lt;br /&gt;
		asd	8				; 0d9a d8&lt;br /&gt;
		asd	8				; 0d9b d8&lt;br /&gt;
		asd	8				; 0d9c d8&lt;br /&gt;
		asd	8				; 0d9d d8&lt;br /&gt;
		lr	A,KU				; 0d9e 00&lt;br /&gt;
		clr					; 0d9f 70&lt;br /&gt;
		lr	A,KU				; 0da0 00&lt;br /&gt;
		clr					; 0da1 70&lt;br /&gt;
		lr	A,KU				; 0da2 00&lt;br /&gt;
		lr	A,KU				; 0da3 00&lt;br /&gt;
		ns	0				; 0da4 f0&lt;br /&gt;
		lr	A,KU				; 0da5 00&lt;br /&gt;
		lis	$F				; 0da6 7f&lt;br /&gt;
		lr	A,KU				; 0da7 00&lt;br /&gt;
L0DA8:&lt;br /&gt;
		com					; 0da8 18&lt;br /&gt;
		di					; 0da9 1a&lt;br /&gt;
		bt	0,L0DDF				; 0daa 80 34&lt;br /&gt;
		di					; 0dac 1a&lt;br /&gt;
		lr	A,0				; 0dad 40&lt;br /&gt;
		lr	1,A				; 0dae 51&lt;br /&gt;
L0DAF:&lt;br /&gt;
		di					; 0daf 1a&lt;br /&gt;
		lr	A,0				; 0db0 40&lt;br /&gt;
L0DB1:&lt;br /&gt;
		lr	DC,H				; 0db1 10&lt;br /&gt;
		lr	DC,H				; 0db2 10&lt;br /&gt;
		bt	0,L0DC4				; 0db3 80 10&lt;br /&gt;
		xi	$40				; 0db5 23 40&lt;br /&gt;
L0DB7:&lt;br /&gt;
		lr	P,K				; 0db7 09&lt;br /&gt;
		lr	K,P				; 0db8 08&lt;br /&gt;
		st					; 0db9 17&lt;br /&gt;
		as	I				; 0dba cd&lt;br /&gt;
		asd	S				; 0dbb dc&lt;br /&gt;
		as	HU				; 0dbc ca&lt;br /&gt;
		asd	0				; 0dbd d0&lt;br /&gt;
		lr	A,KU				; 0dbe 00&lt;br /&gt;
		asd	S				; 0dbf dc&lt;br /&gt;
		as	HU				; 0dc0 ca&lt;br /&gt;
		as	S				; 0dc1 cc&lt;br /&gt;
		as	D				; 0dc2 ce&lt;br /&gt;
L0DC3:&lt;br /&gt;
		as	0				; 0dc3 c0&lt;br /&gt;
L0DC4:&lt;br /&gt;
		bt	0,L0E05				; 0dc4 80 40&lt;br /&gt;
		as	0				; 0dc6 c0&lt;br /&gt;
		bt	0,L0E08				; 0dc7 80 40&lt;br /&gt;
L0DC9:&lt;br /&gt;
		ns	0				; 0dc9 f0&lt;br /&gt;
		ns	0				; 0dca f0&lt;br /&gt;
		ns	0				; 0dcb f0&lt;br /&gt;
		ns	0				; 0dcc f0&lt;br /&gt;
		lr	A,KU				; 0dcd 00&lt;br /&gt;
L0DCE:&lt;br /&gt;
		.byte	$FF&lt;br /&gt;
		.byte	$FF&lt;br /&gt;
		lr	A,KU				; 0dd0 00&lt;br /&gt;
		lr	A,KU				; 0dd1 00&lt;br /&gt;
		lr	A,KU				; 0dd2 00&lt;br /&gt;
		lr	A,KU				; 0dd3 00&lt;br /&gt;
		lr	A,KU				; 0dd4 00&lt;br /&gt;
		lr	A,KU				; 0dd5 00&lt;br /&gt;
L0DD6:&lt;br /&gt;
		lr	A,5				; 0dd6 45&lt;br /&gt;
		lr	A,5				; 0dd7 45&lt;br /&gt;
		lr	A,5				; 0dd8 45&lt;br /&gt;
		lr	A,J				; 0dd9 49&lt;br /&gt;
		as	5				; 0dda c5&lt;br /&gt;
		lr	A,S				; 0ddb 4c - read selected scratchpad register&lt;br /&gt;
		lr	4,A				; 0ddc 54&lt;br /&gt;
		as	5				; 0ddd c5&lt;br /&gt;
		as	7				; 0dde c7&lt;br /&gt;
L0DDF:&lt;br /&gt;
		lisu	3				; 0ddf 63&lt;br /&gt;
		asd	I				; 0de0 dd&lt;br /&gt;
		asd	7				; 0de1 d7&lt;br /&gt;
		lr	I,A				; 0de2 5d - store A and increment ISAR&lt;br /&gt;
		asd	1				; 0de3 d1&lt;br /&gt;
		asd	I				; 0de4 dd&lt;br /&gt;
		lr	A,6				; 0de5 46&lt;br /&gt;
		asd	4				; 0de6 d4&lt;br /&gt;
		lisu	4				; 0de7 64&lt;br /&gt;
		lisu	7				; 0de8 67&lt;br /&gt;
		lisu	1				; 0de9 61&lt;br /&gt;
		asd	I				; 0dea dd&lt;br /&gt;
		asd	I				; 0deb dd&lt;br /&gt;
		asd	I				; 0dec dd&lt;br /&gt;
		asd	1				; 0ded d1&lt;br /&gt;
		bt	7,L0E46				; 0dee 87 57&lt;br /&gt;
		as	S				; 0df0 cc&lt;br /&gt;
		lr	I,A				; 0df1 5d - store A and increment ISAR&lt;br /&gt;
		asd	7				; 0df2 d7&lt;br /&gt;
		lisl	5				; 0df3 6d&lt;br /&gt;
		bt	6,L0E6B				; 0df4 86 76&lt;br /&gt;
		asd	4				; 0df6 d4&lt;br /&gt;
		lisl	4				; 0df7 6c&lt;br /&gt;
		as	S				; 0df8 cc&lt;br /&gt;
		lisu	7				; 0df9 67&lt;br /&gt;
		lisu	1				; 0dfa 61&lt;br /&gt;
		lr	A,HL				; 0dfb 4b&lt;br /&gt;
		lisu	4				; 0dfc 64&lt;br /&gt;
		bf	2,L0E74				; 0dfd 92 76&lt;br /&gt;
		pk					; 0dff 0c - return via K/P after BIOS K-stack restore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		as	5				; 0e00 c5&lt;br /&gt;
		sr	4				; 0e01 14&lt;br /&gt;
		as	HL				; 0e02 cb&lt;br /&gt;
		lisu	0				; 0e03 60&lt;br /&gt;
		as	6				; 0e04 c6&lt;br /&gt;
L0E05:&lt;br /&gt;
		lis	5				; 0e05 75&lt;br /&gt;
		lr	KL,A				; 0e06 05&lt;br /&gt;
		lr	A,S				; 0e07 4c - read selected scratchpad register&lt;br /&gt;
L0E08:&lt;br /&gt;
		as	HL				; 0e08 cb&lt;br /&gt;
		lisl	5				; 0e09 6d&lt;br /&gt;
		lr	A,2				; 0e0a 42&lt;br /&gt;
		lr	4,A				; 0e0b 54&lt;br /&gt;
		lr	4,A				; 0e0c 54&lt;br /&gt;
		lr	I,A				; 0e0d 5d - store A and increment ISAR&lt;br /&gt;
		lr	A,6				; 0e0e 46&lt;br /&gt;
		lis	5				; 0e0f 75&lt;br /&gt;
		lr	A,S				; 0e10 4c - read selected scratchpad register&lt;br /&gt;
		as	6				; 0e11 c6&lt;br /&gt;
		asd	4				; 0e12 d4&lt;br /&gt;
		lis	6				; 0e13 76&lt;br /&gt;
		lis	6				; 0e14 76&lt;br /&gt;
		lis	$B				; 0e15 7b&lt;br /&gt;
		xm					; 0e16 8c&lt;br /&gt;
		as	6				; 0e17 c6&lt;br /&gt;
		ins	4				; 0e18 a4&lt;br /&gt;
		lr	4,A				; 0e19 54&lt;br /&gt;
		lisu	7				; 0e1a 67&lt;br /&gt;
		lr	4,A				; 0e1b 54&lt;br /&gt;
		lr	4,A				; 0e1c 54&lt;br /&gt;
		lr	1,A				; 0e1d 51&lt;br /&gt;
		lis	$C				; 0e1e 7c&lt;br /&gt;
		as	2				; 0e1f c2&lt;br /&gt;
		lis	6				; 0e20 76&lt;br /&gt;
		lis	$B				; 0e21 7b&lt;br /&gt;
		as	S				; 0e22 cc&lt;br /&gt;
		outs	6				; 0e23 b6&lt;br /&gt;
		lis	6				; 0e24 76&lt;br /&gt;
		lis	6				; 0e25 76&lt;br /&gt;
L0E26:&lt;br /&gt;
		ns	D				; 0e26 fe&lt;br /&gt;
		ns	D				; 0e27 fe&lt;br /&gt;
		as	0				; 0e28 c0&lt;br /&gt;
		as	0				; 0e29 c0&lt;br /&gt;
		ns	D				; 0e2a fe&lt;br /&gt;
		ns	D				; 0e2b fe&lt;br /&gt;
		lr	A,KU				; 0e2c 00&lt;br /&gt;
		lr	A,KU				; 0e2d 00&lt;br /&gt;
		ns	D				; 0e2e fe&lt;br /&gt;
		ns	D				; 0e2f fe&lt;br /&gt;
		as	6				; 0e30 c6&lt;br /&gt;
		as	6				; 0e31 c6&lt;br /&gt;
		as	6				; 0e32 c6&lt;br /&gt;
		as	6				; 0e33 c6&lt;br /&gt;
		lr	A,KU				; 0e34 00&lt;br /&gt;
		lr	A,KU				; 0e35 00&lt;br /&gt;
		ns	D				; 0e36 fe&lt;br /&gt;
		ns	D				; 0e37 fe&lt;br /&gt;
		lr	QU,A				; 0e38 06&lt;br /&gt;
		lr	QU,A				; 0e39 06&lt;br /&gt;
		ns	D				; 0e3a fe&lt;br /&gt;
		ns	D				; 0e3b fe&lt;br /&gt;
		lr	A,KU				; 0e3c 00&lt;br /&gt;
		lr	A,KU				; 0e3d 00&lt;br /&gt;
		as	6				; 0e3e c6&lt;br /&gt;
		as	6				; 0e3f c6&lt;br /&gt;
		as	6				; 0e40 c6&lt;br /&gt;
		as	6				; 0e41 c6&lt;br /&gt;
		ns	D				; 0e42 fe&lt;br /&gt;
		ns	D				; 0e43 fe&lt;br /&gt;
		lr	A,KU				; 0e44 00&lt;br /&gt;
		lr	A,KU				; 0e45 00&lt;br /&gt;
L0E46:&lt;br /&gt;
		ns	D				; 0e46 fe&lt;br /&gt;
		ns	D				; 0e47 fe&lt;br /&gt;
		as	0				; 0e48 c0&lt;br /&gt;
		as	0				; 0e49 c0&lt;br /&gt;
		as	6				; 0e4a c6&lt;br /&gt;
		as	6				; 0e4b c6&lt;br /&gt;
		lr	A,KU				; 0e4c 00&lt;br /&gt;
		lr	A,KU				; 0e4d 00&lt;br /&gt;
		ns	D				; 0e4e fe&lt;br /&gt;
		ns	D				; 0e4f fe&lt;br /&gt;
		lr	QU,A				; 0e50 06&lt;br /&gt;
		lr	QU,A				; 0e51 06&lt;br /&gt;
		as	6				; 0e52 c6&lt;br /&gt;
		as	6				; 0e53 c6&lt;br /&gt;
		lr	A,KU				; 0e54 00&lt;br /&gt;
		lr	A,KU				; 0e55 00&lt;br /&gt;
L0E56:&lt;br /&gt;
		as	6				; 0e56 c6&lt;br /&gt;
		as	6				; 0e57 c6&lt;br /&gt;
L0E58:&lt;br /&gt;
		lr	QU,A				; 0e58 06&lt;br /&gt;
		lr	QU,A				; 0e59 06&lt;br /&gt;
		ns	D				; 0e5a fe&lt;br /&gt;
		ns	D				; 0e5b fe&lt;br /&gt;
		lr	A,KU				; 0e5c 00&lt;br /&gt;
		lr	A,KU				; 0e5d 00&lt;br /&gt;
		as	6				; 0e5e c6&lt;br /&gt;
		as	6				; 0e5f c6&lt;br /&gt;
		as	0				; 0e60 c0&lt;br /&gt;
		as	0				; 0e61 c0&lt;br /&gt;
		ns	D				; 0e62 fe&lt;br /&gt;
		ns	D				; 0e63 fe&lt;br /&gt;
		lr	A,KU				; 0e64 00&lt;br /&gt;
		lr	A,KU				; 0e65 00&lt;br /&gt;
		as	6				; 0e66 c6&lt;br /&gt;
		as	6				; 0e67 c6&lt;br /&gt;
		as	0				; 0e68 c0&lt;br /&gt;
		as	0				; 0e69 c0&lt;br /&gt;
		as	6				; 0e6a c6&lt;br /&gt;
L0E6B:&lt;br /&gt;
		as	6				; 0e6b c6&lt;br /&gt;
		lr	A,KU				; 0e6c 00&lt;br /&gt;
		lr	A,KU				; 0e6d 00&lt;br /&gt;
		ns	D				; 0e6e fe&lt;br /&gt;
		ns	D				; 0e6f fe&lt;br /&gt;
		lr	A,KU				; 0e70 00&lt;br /&gt;
		lr	A,KU				; 0e71 00&lt;br /&gt;
		as	6				; 0e72 c6&lt;br /&gt;
		as	6				; 0e73 c6&lt;br /&gt;
L0E74:&lt;br /&gt;
		lr	A,KU				; 0e74 00&lt;br /&gt;
		lr	A,KU				; 0e75 00&lt;br /&gt;
		as	6				; 0e76 c6&lt;br /&gt;
		as	6				; 0e77 c6&lt;br /&gt;
L0E78:&lt;br /&gt;
		lr	QU,A				; 0e78 06&lt;br /&gt;
		lr	QU,A				; 0e79 06&lt;br /&gt;
		as	6				; 0e7a c6&lt;br /&gt;
		as	6				; 0e7b c6&lt;br /&gt;
		lr	A,KU				; 0e7c 00&lt;br /&gt;
		lr	A,KU				; 0e7d 00&lt;br /&gt;
		as	6				; 0e7e c6&lt;br /&gt;
		as	6				; 0e7f c6&lt;br /&gt;
		lr	A,KU				; 0e80 00&lt;br /&gt;
		lr	A,KU				; 0e81 00&lt;br /&gt;
		ns	D				; 0e82 fe&lt;br /&gt;
		ns	D				; 0e83 fe&lt;br /&gt;
L0E84:&lt;br /&gt;
		lr	A,KU				; 0e84 00&lt;br /&gt;
		lr	A,KU				; 0e85 00&lt;br /&gt;
		ns	D				; 0e86 fe&lt;br /&gt;
		ns	D				; 0e87 fe&lt;br /&gt;
		lr	A,KU				; 0e88 00&lt;br /&gt;
		lr	A,KU				; 0e89 00&lt;br /&gt;
		ns	D				; 0e8a fe&lt;br /&gt;
		ns	D				; 0e8b fe&lt;br /&gt;
		lr	A,KU				; 0e8c 00&lt;br /&gt;
		lr	A,KU				; 0e8d 00&lt;br /&gt;
L0E8E:&lt;br /&gt;
		as	6				; 0e8e c6&lt;br /&gt;
		as	6				; 0e8f c6&lt;br /&gt;
		as	6				; 0e90 c6&lt;br /&gt;
		as	6				; 0e91 c6&lt;br /&gt;
		as	6				; 0e92 c6&lt;br /&gt;
		as	6				; 0e93 c6&lt;br /&gt;
		lr	A,KU				; 0e94 00&lt;br /&gt;
		lr	A,KU				; 0e95 00&lt;br /&gt;
L0E96:&lt;br /&gt;
		lr	KU,A				; 0e96 04&lt;br /&gt;
		ds	3				; 0e97 33&lt;br /&gt;
		nop					; 0e98 2b&lt;br /&gt;
		lr	7,A				; 0e99 57&lt;br /&gt;
		lr	A,HU				; 0e9a 4a&lt;br /&gt;
		lisu	4				; 0e9b 64&lt;br /&gt;
		lr	A,D				; 0e9c 4e - read selected scratchpad register and decrement ISAR&lt;br /&gt;
L0E9D:&lt;br /&gt;
		sl	4				; 0e9d 15&lt;br /&gt;
		di					; 0e9e 1a&lt;br /&gt;
		lr	A,0				; 0e9f 40&lt;br /&gt;
		com					; 0ea0 18&lt;br /&gt;
		lr	P0,Q				; 0ea1 0d&lt;br /&gt;
		lr	A,0				; 0ea2 40&lt;br /&gt;
		ds	5				; 0ea3 35&lt;br /&gt;
		lr	A,IS				; 0ea4 0a&lt;br /&gt;
		lr	A,0				; 0ea5 40&lt;br /&gt;
		lr	0,A				; 0ea6 50&lt;br /&gt;
		lr	P0,Q				; 0ea7 0d&lt;br /&gt;
		lr	A,0				; 0ea8 40&lt;br /&gt;
		sr	1				; 0ea9 12&lt;br /&gt;
		oi	$41				; 0eaa 22 41&lt;br /&gt;
		ds	7				; 0eac 37&lt;br /&gt;
L0EAD:&lt;br /&gt;
		sr	4				; 0ead 14&lt;br /&gt;
		lr	A,1				; 0eae 41&lt;br /&gt;
		lr	8,A				; 0eaf 58&lt;br /&gt;
		oi	$41				; 0eb0 22 41&lt;br /&gt;
		ds	7				; 0eb2 37&lt;br /&gt;
		lr	W,J				; 0eb3 1d&lt;br /&gt;
		lr	A,2				; 0eb4 42&lt;br /&gt;
		ds	5				; 0eb5 35&lt;br /&gt;
		ds	6				; 0eb6 36&lt;br /&gt;
		lr	A,3				; 0eb7 43&lt;br /&gt;
		ds	4				; 0eb8 34&lt;br /&gt;
		ds	1				; 0eb9 31&lt;br /&gt;
L0EBA:&lt;br /&gt;
		bt	4,L0EF1				; 0eba 84 36&lt;br /&gt;
		ds	0				; 0ebc 30&lt;br /&gt;
		lr	A,5				; 0ebd 45&lt;br /&gt;
L0EBE:&lt;br /&gt;
		.byte	$2F&lt;br /&gt;
		ds	0				; 0ebf 30&lt;br /&gt;
		as	6				; 0ec0 c6&lt;br /&gt;
L0EC1:&lt;br /&gt;
		lr	DC,H				; 0ec1 10&lt;br /&gt;
		ds	8				; 0ec2 38&lt;br /&gt;
		ds	8				; 0ec3 38&lt;br /&gt;
		pi	$2810				; 0ec4 28 28 10&lt;br /&gt;
		ds	8				; 0ec7 38&lt;br /&gt;
		ds	8				; 0ec8 38&lt;br /&gt;
		pi	$E8A0				; 0ec9 28 e8 a0&lt;br /&gt;
		ns	0				; 0ecc f0&lt;br /&gt;
		clr					; 0ecd 70&lt;br /&gt;
		lr	0,A				; 0ece 50&lt;br /&gt;
		lr	0,A				; 0ecf 50&lt;br /&gt;
		li	$70				; 0ed0 20 70&lt;br /&gt;
		clr					; 0ed2 70&lt;br /&gt;
		asd	8				; 0ed3 d8&lt;br /&gt;
		lr	A,KU				; 0ed4 00&lt;br /&gt;
		bt	0,L0E56				; 0ed5 80 80&lt;br /&gt;
		bt	0,L0E58				; 0ed7 80 80&lt;br /&gt;
L0ED9:&lt;br /&gt;
		bt	0,L0EBA				; 0ed9 80 e0&lt;br /&gt;
		xs	0				; 0edb e0&lt;br /&gt;
		lr	A,KU				; 0edc 00&lt;br /&gt;
		lr	A,KU				; 0edd 00&lt;br /&gt;
L0EDE:&lt;br /&gt;
		lr	A,KU				; 0ede 00&lt;br /&gt;
		li	$78				; 0edf 20 78&lt;br /&gt;
		clr					; 0ee1 70&lt;br /&gt;
		lr	0,A				; 0ee2 50&lt;br /&gt;
		lr	0,A				; 0ee3 50&lt;br /&gt;
L0EE4:&lt;br /&gt;
		lr	K,P				; 0ee4 08&lt;br /&gt;
		ci	$20				; 0ee5 25 20&lt;br /&gt;
		om					; 0ee7 8b&lt;br /&gt;
		nm					; 0ee8 8a&lt;br /&gt;
		bf	$D,L0E78			; 0ee9 9d 8e&lt;br /&gt;
		om					; 0eeb 8b&lt;br /&gt;
		nm					; 0eec 8a&lt;br /&gt;
		bf	6,L0E84				; 0eed 96 96&lt;br /&gt;
L0EEF:&lt;br /&gt;
		ns	8				; 0eef f8&lt;br /&gt;
		am					; 0ef0 88&lt;br /&gt;
L0EF1:&lt;br /&gt;
		am					; 0ef1 88&lt;br /&gt;
		am					; 0ef2 88&lt;br /&gt;
L0EF3:&lt;br /&gt;
		ns	8				; 0ef3 f8&lt;br /&gt;
L0EF4:&lt;br /&gt;
		li	$60				; 0ef4 20 60&lt;br /&gt;
		li	$20				; 0ef6 20 20&lt;br /&gt;
		clr					; 0ef8 70&lt;br /&gt;
		ns	8				; 0ef9 f8&lt;br /&gt;
		lr	K,P				; 0efa 08&lt;br /&gt;
		ns	8				; 0efb f8&lt;br /&gt;
		bt	0,L0EF5				; 0efc 80 f8&lt;br /&gt;
		ns	8				; 0efe f8&lt;br /&gt;
		lr	K,P				; 0eff 08&lt;br /&gt;
		ds	8				; 0f00 38&lt;br /&gt;
		lr	K,P				; 0f01 08&lt;br /&gt;
L0F02:&lt;br /&gt;
		ns	8				; 0f02 f8&lt;br /&gt;
		am					; 0f03 88&lt;br /&gt;
		am					; 0f04 88&lt;br /&gt;
		ns	8				; 0f05 f8&lt;br /&gt;
		lr	K,P				; 0f06 08&lt;br /&gt;
L0F07:&lt;br /&gt;
		lr	K,P				; 0f07 08&lt;br /&gt;
		ns	8				; 0f08 f8&lt;br /&gt;
		bt	0,L0F02				; 0f09 80 f8&lt;br /&gt;
		lr	K,P				; 0f0b 08&lt;br /&gt;
		ns	8				; 0f0c f8&lt;br /&gt;
		bt	0,L0E8E				; 0f0d 80 80&lt;br /&gt;
		ns	8				; 0f0f f8&lt;br /&gt;
		am					; 0f10 88&lt;br /&gt;
		ns	8				; 0f11 f8&lt;br /&gt;
		ns	8				; 0f12 f8&lt;br /&gt;
		lr	K,P				; 0f13 08&lt;br /&gt;
		lr	DC,H				; 0f14 10&lt;br /&gt;
		lr	DC,H				; 0f15 10&lt;br /&gt;
		lr	DC,H				; 0f16 10&lt;br /&gt;
L0F17:&lt;br /&gt;
		ns	8				; 0f17 f8&lt;br /&gt;
		am					; 0f18 88&lt;br /&gt;
		ns	8				; 0f19 f8&lt;br /&gt;
		am					; 0f1a 88&lt;br /&gt;
		ns	8				; 0f1b f8&lt;br /&gt;
L0F1C:&lt;br /&gt;
		ns	8				; 0f1c f8&lt;br /&gt;
		am					; 0f1d 88&lt;br /&gt;
		ns	8				; 0f1e f8&lt;br /&gt;
		lr	K,P				; 0f1f 08&lt;br /&gt;
		lr	K,P				; 0f20 08&lt;br /&gt;
		ns	8				; 0f21 f8&lt;br /&gt;
		am					; 0f22 88&lt;br /&gt;
		ns	8				; 0f23 f8&lt;br /&gt;
		am					; 0f24 88&lt;br /&gt;
		am					; 0f25 88&lt;br /&gt;
		ns	8				; 0f26 f8&lt;br /&gt;
L0F27:&lt;br /&gt;
		lr	A,8				; 0f27 48&lt;br /&gt;
		lis	8				; 0f28 78&lt;br /&gt;
		lr	A,8				; 0f29 48&lt;br /&gt;
		ns	8				; 0f2a f8&lt;br /&gt;
		ns	8				; 0f2b f8&lt;br /&gt;
		bt	0,L0EAD				; 0f2c 80 80&lt;br /&gt;
		bt	0,L0F27				; 0f2e 80 f8&lt;br /&gt;
		ns	8				; 0f30 f8&lt;br /&gt;
L0F31:&lt;br /&gt;
		lr	A,8				; 0f31 48&lt;br /&gt;
		lr	A,8				; 0f32 48&lt;br /&gt;
		lr	A,8				; 0f33 48&lt;br /&gt;
		ns	8				; 0f34 f8&lt;br /&gt;
		ns	8				; 0f35 f8&lt;br /&gt;
		bt	0,L0F17				; 0f36 80 e0&lt;br /&gt;
		bt	0,L0F31				; 0f38 80 f8&lt;br /&gt;
		ns	8				; 0f3a f8&lt;br /&gt;
		bt	0,L0F1C				; 0f3b 80 e0&lt;br /&gt;
		bt	0,L0EBE				; 0f3d 80 80&lt;br /&gt;
		ns	8				; 0f3f f8&lt;br /&gt;
		bt	0,L0ED9				; 0f40 80 98&lt;br /&gt;
		am					; 0f42 88&lt;br /&gt;
		ns	8				; 0f43 f8&lt;br /&gt;
		am					; 0f44 88&lt;br /&gt;
		am					; 0f45 88&lt;br /&gt;
		ns	8				; 0f46 f8&lt;br /&gt;
		am					; 0f47 88&lt;br /&gt;
		am					; 0f48 88&lt;br /&gt;
		ns	8				; 0f49 f8&lt;br /&gt;
		li	$20				; 0f4a 20 20&lt;br /&gt;
		li	$F8				; 0f4c 20 f8&lt;br /&gt;
		ns	8				; 0f4e f8&lt;br /&gt;
		li	$20				; 0f4f 20 20&lt;br /&gt;
		ins	0				; 0f51 a0&lt;br /&gt;
		xs	0				; 0f52 e0&lt;br /&gt;
		bf	0,L0EF4				; 0f53 90 a0&lt;br /&gt;
		as	0				; 0f55 c0&lt;br /&gt;
		ins	0				; 0f56 a0&lt;br /&gt;
		bf	0,L0F58				; 0f57 90 00&lt;br /&gt;
		as	8				; 0f59 c8&lt;br /&gt;
		.byte	$FF&lt;br /&gt;
		as	8				; 0f5b c8&lt;br /&gt;
		lr	A,KU				; 0f5c 00&lt;br /&gt;
		bt	0,L0EDE				; 0f5d 80 80&lt;br /&gt;
		bt	0,L0EE0				; 0f5f 80 80&lt;br /&gt;
		ns	8				; 0f61 f8&lt;br /&gt;
L0F62:&lt;br /&gt;
		am					; 0f62 88&lt;br /&gt;
		asd	8				; 0f63 d8&lt;br /&gt;
		ins	8				; 0f64 a8&lt;br /&gt;
		am					; 0f65 88&lt;br /&gt;
		am					; 0f66 88&lt;br /&gt;
		am					; 0f67 88&lt;br /&gt;
		as	8				; 0f68 c8&lt;br /&gt;
		ins	8				; 0f69 a8&lt;br /&gt;
		bf	8,L0EF3				; 0f6a 98 88&lt;br /&gt;
		ns	8				; 0f6c f8&lt;br /&gt;
		am					; 0f6d 88&lt;br /&gt;
		am					; 0f6e 88&lt;br /&gt;
		am					; 0f6f 88&lt;br /&gt;
		ns	8				; 0f70 f8&lt;br /&gt;
		ns	8				; 0f71 f8&lt;br /&gt;
		am					; 0f72 88&lt;br /&gt;
		ns	8				; 0f73 f8&lt;br /&gt;
		bt	0,L0EF5				; 0f74 80 80&lt;br /&gt;
		ns	8				; 0f76 f8&lt;br /&gt;
		am					; 0f77 88&lt;br /&gt;
		am					; 0f78 88&lt;br /&gt;
		bf	0,L0F62				; 0f79 90 e8&lt;br /&gt;
		ns	8				; 0f7b f8&lt;br /&gt;
		am					; 0f7c 88&lt;br /&gt;
		ns	8				; 0f7d f8&lt;br /&gt;
		bf	0,L0F07				; 0f7e 90 88&lt;br /&gt;
		ns	8				; 0f80 f8&lt;br /&gt;
		bt	0,L0F7A				; 0f81 80 f8&lt;br /&gt;
		lr	K,P				; 0f83 08&lt;br /&gt;
		ns	8				; 0f84 f8&lt;br /&gt;
		ns	8				; 0f85 f8&lt;br /&gt;
		li	$20				; 0f86 20 20&lt;br /&gt;
		li	$20				; 0f88 20 20&lt;br /&gt;
		am					; 0f8a 88&lt;br /&gt;
		am					; 0f8b 88&lt;br /&gt;
		am					; 0f8c 88&lt;br /&gt;
		am					; 0f8d 88&lt;br /&gt;
		ns	8				; 0f8e f8&lt;br /&gt;
		am					; 0f8f 88&lt;br /&gt;
		am					; 0f90 88&lt;br /&gt;
		am					; 0f91 88&lt;br /&gt;
		lr	0,A				; 0f92 50&lt;br /&gt;
		li	$88				; 0f93 20 88&lt;br /&gt;
		am					; 0f95 88&lt;br /&gt;
		ins	8				; 0f96 a8&lt;br /&gt;
		asd	8				; 0f97 d8&lt;br /&gt;
		am					; 0f98 88&lt;br /&gt;
		am					; 0f99 88&lt;br /&gt;
		lr	0,A				; 0f9a 50&lt;br /&gt;
		li	$50				; 0f9b 20 50&lt;br /&gt;
		am					; 0f9d 88&lt;br /&gt;
		am					; 0f9e 88&lt;br /&gt;
		am					; 0f9f 88&lt;br /&gt;
		ns	8				; 0fa0 f8&lt;br /&gt;
		li	$20				; 0fa1 20 20&lt;br /&gt;
		ns	8				; 0fa3 f8&lt;br /&gt;
		lr	DC,H				; 0fa4 10&lt;br /&gt;
		li	$40				; 0fa5 20 40&lt;br /&gt;
		ns	8				; 0fa7 f8&lt;br /&gt;
		lr	A,KU				; 0fa8 00&lt;br /&gt;
		lr	A,KU				; 0fa9 00&lt;br /&gt;
		lr	A,KU				; 0faa 00&lt;br /&gt;
		lr	A,KU				; 0fab 00&lt;br /&gt;
		lr	A,KU				; 0fac 00&lt;br /&gt;
		ns	8				; 0fad f8&lt;br /&gt;
		lr	K,P				; 0fae 08&lt;br /&gt;
		ds	8				; 0faf 38&lt;br /&gt;
		lr	A,KU				; 0fb0 00&lt;br /&gt;
		li	$00				; 0fb1 20 00&lt;br /&gt;
		lr	A,KU				; 0fb3 00&lt;br /&gt;
		lr	A,KU				; 0fb4 00&lt;br /&gt;
		lr	A,KU				; 0fb5 00&lt;br /&gt;
		lr	A,0				; 0fb6 40&lt;br /&gt;
		li	$20				; 0fb7 20 20&lt;br /&gt;
		li	$00				; 0fb9 20 00&lt;br /&gt;
		li	$20				; 0fbb 20 20&lt;br /&gt;
		li	$F8				; 0fbd 20 f8&lt;br /&gt;
		li	$20				; 0fbf 20 20&lt;br /&gt;
		lr	A,KU				; 0fc1 00&lt;br /&gt;
		lr	A,KU				; 0fc2 00&lt;br /&gt;
		ns	8				; 0fc3 f8&lt;br /&gt;
		lr	A,KU				; 0fc4 00&lt;br /&gt;
		lr	A,KU				; 0fc5 00&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; bios_draw_a01fc_wrapper&lt;br /&gt;
; Wrapper for BIOS routine $01FC. Used for a repeated object/sprite style draw.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
bios_draw_a01fc_wrapper:&lt;br /&gt;
		lr	K,P				; 0fc6 08&lt;br /&gt;
		pi	pushk				; 0fc7 28 01 07 - bios pushk - save return address on BIOS K-stack&lt;br /&gt;
		jmp	$01FC				; 0fca 29 01 fc - unconditional jump&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; bios_drawchar_bitmap_wrapper&lt;br /&gt;
; Wrapper for BIOS drawchar bitmap entry. Sets r4=8 before tail-jumping into&lt;br /&gt;
; BIOS drawchar internals.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
bios_drawchar_bitmap_wrapper:&lt;br /&gt;
		lr	K,P				; 0fcd 08&lt;br /&gt;
		pi	pushk				; 0fce 28 01 07 - bios pushk - save return address on BIOS K-stack&lt;br /&gt;
		lis	8				; 0fd1 78&lt;br /&gt;
		lr	4,A				; 0fd2 54&lt;br /&gt;
		jmp	bios_drawchar_bitmap_entry	; 0fd3 29 06 8a - unconditional jump&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; bios_score_prompt_wrapper&lt;br /&gt;
; Wrapper around BIOS score/prompt rendering helper. Initializes object bytes&lt;br /&gt;
; at O26/O27 before BIOS calls.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
bios_score_prompt_wrapper:&lt;br /&gt;
		lr	K,P				; 0fd6 08&lt;br /&gt;
		pi	pushk				; 0fd7 28 01 07 - bios pushk - save return address on BIOS K-stack&lt;br /&gt;
		lisu	2				; 0fda 62&lt;br /&gt;
		lisl	6				; 0fdb 6e&lt;br /&gt;
		li	$99				; 0fdc 20 99&lt;br /&gt;
		lr	I,A				; 0fde 5d - store A and increment ISAR&lt;br /&gt;
		lr	S,A				; 0fdf 5c - store A in selected scratchpad register&lt;br /&gt;
		pi	bios_score_left			; 0fe0 28 02 ac&lt;br /&gt;
		pi	bios_score_right		; 0fe3 28 02 b5&lt;br /&gt;
		pi	popk				; 0fe6 28 01 1e - restore return address from BIOS K-stack&lt;br /&gt;
		pk					; 0fe9 0c - return via K/P after BIOS K-stack restore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; clear_screen_o37_0&lt;br /&gt;
; Clear-screen wrapper variant. Stores 0 in O37 before calling BIOS clearscrn.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
clear_screen_o37_0:&lt;br /&gt;
		clr					; 0fea 70&lt;br /&gt;
		bf	0,clear_screen_common		; 0feb 90 02&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; clear_screen_o37_1&lt;br /&gt;
; Clear-screen wrapper variant. Stores 1 in O37 before calling BIOS clearscrn.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
clear_screen_o37_1:&lt;br /&gt;
		lis	1				; 0fed 71&lt;br /&gt;
&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
; clear_screen_common&lt;br /&gt;
; Common clear-screen helper. Stores O37, builds r3=$D0+r3, then calls BIOS&lt;br /&gt;
; clearscrn.&lt;br /&gt;
; -----------------------------------------------------------------------------&lt;br /&gt;
clear_screen_common:&lt;br /&gt;
		lisu	3				; 0fee 63&lt;br /&gt;
		lisl	7				; 0fef 6f&lt;br /&gt;
		lr	S,A				; 0ff0 5c - store A in selected scratchpad register&lt;br /&gt;
		lr	K,P				; 0ff1 08&lt;br /&gt;
		pi	pushk				; 0ff2 28 01 07 - bios pushk - save return address on BIOS K-stack&lt;br /&gt;
		li	$D0				; 0ff5 20 d0&lt;br /&gt;
		as	3				; 0ff7 c3&lt;br /&gt;
		lr	3,A				; 0ff8 53&lt;br /&gt;
		pi	clearscrn			; 0ff9 28 00 d0 - bios clear screen routine&lt;br /&gt;
		pi	popk				; 0ffc 28 01 1e - restore return address from BIOS K-stack&lt;br /&gt;
		pk					; 0fff 0c - return via K/P after BIOS K-stack restore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=773</id>
		<title>Disassembly:Bios</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=773"/>
				<updated>2026-08-03T20:45:49Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is the disassembly of the [[Channel F]] [[bios]] made and partially annotated by Sean Riddle. This code is copyright &amp;amp;copy; 1976 Fairchild Semiconductor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cartridgeStart = $0800&lt;br /&gt;
cartridgeEntry = $0802&lt;br /&gt;
&lt;br /&gt;
;=======;&lt;br /&gt;
; Reset ;&lt;br /&gt;
;=======;&lt;br /&gt;
&lt;br /&gt;
; this is the code executed when the system first&lt;br /&gt;
; starts up. it clears the registers, sets the K stack&lt;br /&gt;
; pointer, and checks to see if a cartridge is inserted&lt;br /&gt;
&lt;br /&gt;
reset:&lt;br /&gt;
	clr&lt;br /&gt;
reset.clrRegs:				; clear all the registers to 0&lt;br /&gt;
	lr	IS, A			; set the ISAR&lt;br /&gt;
	clr&lt;br /&gt;
	lr	S, A			; clear the current register&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc				; increase the ISAR&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bnz	reset.clrRegs		; if we're not finished, loop&lt;br /&gt;
&lt;br /&gt;
	; set K stack pointer (see pushk/popk)&lt;br /&gt;
	lisu	7			; K stack pointer (r59)&lt;br /&gt;
	lisl	3&lt;br /&gt;
	li	$28&lt;br /&gt;
	lr	S, A			; pointer is set to r40&lt;br /&gt;
&lt;br /&gt;
	; check to see if a cartridge is inserted&lt;br /&gt;
	dci	cartridgeStart&lt;br /&gt;
	lm&lt;br /&gt;
	ci	$55			; compare the first cartridge byte to $55&lt;br /&gt;
	bnz	noCart			; if it's false, there's no valid cartridge inserted&lt;br /&gt;
	jmp	cartridgeEntry		; otherwise, play the cartridge&lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; No Cartridge ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; no cartridge is inserted, so play the internal games&lt;br /&gt;
                &lt;br /&gt;
noCart:&lt;br /&gt;
	; clear screen to gray&lt;br /&gt;
	li	$d6&lt;br /&gt;
	lr	3, A&lt;br /&gt;
	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
A0020:          LI   $4a                 ; blue G&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; 0026 63&lt;br /&gt;
                LISL 4                   ; 0027 6c&lt;br /&gt;
                LIS  $4                  ; 0028 74&lt;br /&gt;
                LR   S,A              ; 0029 5c&lt;br /&gt;
                LR   A,$4                ; 002a 44&lt;br /&gt;
                LISL 7                   ; 002b 6f&lt;br /&gt;
                LR   S,A              ; 002c 5c&lt;br /&gt;
                CI   $03                 ; 002d 25 03&lt;br /&gt;
                BF   $1,A0020            ; 002f 91 f0&lt;br /&gt;
                PI   A0135               ; 0031 28 01 35&lt;br /&gt;
                PI   prompts             ; 0034 28 02 24&lt;br /&gt;
A0037:          PI   A0088               ; 0037 28 00 88&lt;br /&gt;
                PI   A02da               ; 003a 28 02 da&lt;br /&gt;
                PI   A0088               ; 003d 28 00 88&lt;br /&gt;
                PI   A02e8               ; 0040 28 02 e8&lt;br /&gt;
                PI   A0088               ; 0043 28 00 88&lt;br /&gt;
                NI   $04                 ; 0046 21 04&lt;br /&gt;
                BT   4,A0050             ; 0048 84 07&lt;br /&gt;
                PI   A038c               ; 004a 28 03 8c&lt;br /&gt;
                PI   A0399               ; 004d 28 03 99&lt;br /&gt;
A0050:          PI   A0658               ; 0050 28 06 58&lt;br /&gt;
                PI   A0467               ; 0053 28 04 67&lt;br /&gt;
                PI   A03d3               ; 0056 28 03 d3&lt;br /&gt;
                LISU 3                   ; 0059 63&lt;br /&gt;
                LISL 7                   ; 005a 6f&lt;br /&gt;
                LR   A,S              ; 005b 4c&lt;br /&gt;
                CI   $02                 ; 005c 25 02&lt;br /&gt;
                BNZ  A0063            ; 005e 94 04&lt;br /&gt;
                PI   A0447               ; 0060 28 04 47&lt;br /&gt;
A0063:          LISU 4                   ; 0063 64&lt;br /&gt;
                LISL 7                   ; 0064 6f&lt;br /&gt;
                LR   A,S              ; 0065 4c&lt;br /&gt;
                INC                      ; 0066 1f&lt;br /&gt;
                LR   S,A              ; 0067 5c&lt;br /&gt;
                LIS  $0                  ; 0068 70&lt;br /&gt;
                OUTS 0                   ; 0069 b0&lt;br /&gt;
                INS  0                   ; read buttons&lt;br /&gt;
                NI   $04                 ; hold button hit?&lt;br /&gt;
                BNZ  A0072            ; nope&lt;br /&gt;
                PI   prompts             ; yes, print S? and wait&lt;br /&gt;
A0072:          LISU 3                   ; 0072 63&lt;br /&gt;
                LISL 4                   ; 0073 6c&lt;br /&gt;
                DCI  speeds              ; 0074 2a 00 83&lt;br /&gt;
                LR   A,S              ; 0077 4c&lt;br /&gt;
                SR   1                   ; 0078 12&lt;br /&gt;
                ADC                      ; 0079 8e&lt;br /&gt;
                LM                       ; 007a 16&lt;br /&gt;
                LR   $5,A                ; 007b 55&lt;br /&gt;
                PI   delay               ; 007c 28 00 8f&lt;br /&gt;
                LIS  $0                  ; turn off sound&lt;br /&gt;
                OUTS 5                   ; 0080 b5&lt;br /&gt;
                BF   $0,A0037            ; 0081 90 b5&lt;br /&gt;
                &lt;br /&gt;
speeds:			db	$22,$13,$07,$03,$03		; mode speeds&lt;br /&gt;
&lt;br /&gt;
A0088:          LISU 4                   ;&lt;br /&gt;
                LISL 6                   ; &lt;br /&gt;
                LR   A,D             ; &lt;br /&gt;
                LR   $1,A                ; r1=r38&lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                LR   $0,A                ; r0=r37&lt;br /&gt;
                POP                      ; &lt;br /&gt;
                &lt;br /&gt;
delay:          LI   $ff                 ;$008f - parameter in r5, uses r6&lt;br /&gt;
                LR   $6,A                ;&lt;br /&gt;
dlyloop:        DS   $6                  ;&lt;br /&gt;
                BNZ  dlyloop          ;&lt;br /&gt;
                DS   $5                  ;&lt;br /&gt;
                BNZ  delay            ;&lt;br /&gt;
                POP                      ;&lt;br /&gt;
                &lt;br /&gt;
prompt:         LR   K,P                 ; $0099 - prints char r0 at row r1, col r2, waits for button&lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                LI   $8b                 ; r0=8b	red ?&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                PI   readbuts            ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                LIS  $d                  ; r0=$d&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   popk                ; &lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
readbuts:       INS  0                   ; $00c1 - read buttons&lt;br /&gt;
                COM                      ; &lt;br /&gt;
                NI   $0f                 ; &lt;br /&gt;
                BT   4,readbuts          ; &lt;br /&gt;
                LR   $4,A                ; &lt;br /&gt;
                LI   $ff                 ; &lt;br /&gt;
                LR   $5,A                ; &lt;br /&gt;
debounce:       DS   $5                  ; &lt;br /&gt;
                BNZ  debounce         ; &lt;br /&gt;
                BF   $0,delay            ; &lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; Clear Screen ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; all pixels are written to background, palette is set in r3&lt;br /&gt;
; clears screen using the drawchar routine, one character at the time&lt;br /&gt;
; it covers the entire VRAM area (0,0) to (127,63), writes line 0 twice&lt;br /&gt;
;&lt;br /&gt;
; NOTES:&lt;br /&gt;
; Needs r31 (O37) to have b0 and b7 clear or you'll get a black bar from row 50&lt;br /&gt;
; Uses r52 (O64) for ISAR values&lt;br /&gt;
; Has to have a valid stack pointer in r59 (O73)&lt;br /&gt;
&lt;br /&gt;
; registers used:&lt;br /&gt;
; r0-r8,r31,r40-r43,r52,r53,r54,r59&lt;br /&gt;
&lt;br /&gt;
; USE:&lt;br /&gt;
; load register 3 (lr 3,A) with color value&lt;br /&gt;
; lt.grey:  $D4, $D6, $DC or $DE&lt;br /&gt;
; lt.green: $C0, $C2, $C8 or $CA&lt;br /&gt;
; lt.blue:  $91, $93, $99 or $9B&lt;br /&gt;
; black/w:  $21, $23, $29 or $2B&lt;br /&gt;
&lt;br /&gt;
; Code to use the routine (check r31 as well):&lt;br /&gt;
;	li	{color code}&lt;br /&gt;
;	lr	3, A&lt;br /&gt;
;	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
clrscrn:                                    ; $00D0&lt;br /&gt;
	; save return address&lt;br /&gt;
	lr	K, P&lt;br /&gt;
	pi	pushk&lt;br /&gt;
&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	2, A&lt;br /&gt;
clrscrn.loop2:&lt;br /&gt;
	li	$7e&lt;br /&gt;
	lr	1, A&lt;br /&gt;
	lr	A, 3&lt;br /&gt;
	oi	10&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar&lt;br /&gt;
	lis	5			; this is LIS 4 in other BIOS!!!&lt;br /&gt;
	lr	1, A&lt;br /&gt;
clrscrn.loop1:&lt;br /&gt;
	lis	13&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar	&lt;br /&gt;
	ds	1&lt;br /&gt;
	lr	A, 1&lt;br /&gt;
	ci	$70&lt;br /&gt;
	bc	clrscrn.loop1&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ai	5&lt;br /&gt;
	lr	2, A&lt;br /&gt;
	lisu	3&lt;br /&gt;
	lisl	7&lt;br /&gt;
	lis	3&lt;br /&gt;
	ns	S&lt;br /&gt;
	bz	A00fe&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$30&lt;br /&gt;
	bc	clrscrn.loop2&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	3, A&lt;br /&gt;
A00fe:&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bc	clrscrn.loop2&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pi	popk&lt;br /&gt;
	pk&lt;br /&gt;
&lt;br /&gt;
;==================;&lt;br /&gt;
; Register K Stack ;&lt;br /&gt;
;==================;&lt;br /&gt;
&lt;br /&gt;
; the K stack is an emulated stack using the register r59&lt;br /&gt;
; as a stack pointer, which holds the register number for&lt;br /&gt;
; the top of the stack, which first points at r40. when&lt;br /&gt;
; pushk is called, K is pushed to the first two registers&lt;br /&gt;
; on the stack, and the pointer is increased.&lt;br /&gt;
;&lt;br /&gt;
; the K stack can hold 9 copies of K (r40-58) before &lt;br /&gt;
; the stack pointer itself is overwritten (r59)&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Push K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; pushes register K (r12-13) onto a stack using r59 as&lt;br /&gt;
; the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
&lt;br /&gt;
pushk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; get the top of the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3			; r59, stack pointer&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	IS, A			; load the referenced register&lt;br /&gt;
	; push K onto the stack&lt;br /&gt;
	lr	A, Ku&lt;br /&gt;
	lr	S, A			; push high byte of K&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR (they could've used lr I, A)&lt;br /&gt;
	lr	A, Kl&lt;br /&gt;
	lr	S, A			; push low byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR to the top of the stack&lt;br /&gt;
	lr	A, IS			; redundantly, get back the register number&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Pop K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; retrieves a 16-bit value from the K stack and&lt;br /&gt;
; stores it in K, using r59 as the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
                &lt;br /&gt;
popk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; retrieve K from the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	A, S			; load the stack pointer&lt;br /&gt;
	ai	$ff			; &amp;quot;subtract&amp;quot; 1 to get the first register on the stack&lt;br /&gt;
	lr	IS, A			; set the ISAR to this register&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Kl, A			; load lower byte of K &lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	ai	$ff			; get previous register (they could've used lr A, D)&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Ku, A			; load upper byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;===================;&lt;br /&gt;
                &lt;br /&gt;
A0135:          LR   K,P                 ; 0135 08&lt;br /&gt;
                PI   pushk               ; 0136 28 01 07&lt;br /&gt;
                LISU 3                   ; 0139 63&lt;br /&gt;
                LISL 7                   ; 013a 6f&lt;br /&gt;
                LR   A,S              ; 013b 4c&lt;br /&gt;
                LISU 4                   ; 013c 64&lt;br /&gt;
                LISL 5                   ; 013d 6d&lt;br /&gt;
                CI   $01                 ; 013e 25 01&lt;br /&gt;
                BT   4,A014f             ; 0140 84 0e&lt;br /&gt;
                LI   $53                 ; 0142 20 53&lt;br /&gt;
                LR   I,A             ; 0144 5d&lt;br /&gt;
                LIS  $c                  ; 0145 7c	!!! this is 7F in other BIOS&lt;br /&gt;
                LR   D,A             ; 0146 5e&lt;br /&gt;
                LI   $d0                 ; 0147 20 d0&lt;br /&gt;
                LR   $3,A                ; 0149 53&lt;br /&gt;
                PI   clrscrn             ; 014a 28 00 d0&lt;br /&gt;
                BF   $0,A017d            ; 014d 90 2f&lt;br /&gt;
                &lt;br /&gt;
A014f:          LI   $17                 ; 014f 20 17&lt;br /&gt;
                LR   I,A             ; 0151 5d&lt;br /&gt;
                LI   $ff                 ; 0152 20 ff&lt;br /&gt;
                LR   S,A              ; 0154 5c&lt;br /&gt;
                LI   $d6                 ; 0155 20 d6&lt;br /&gt;
                LR   $3,A                ; 0157 53&lt;br /&gt;
                PI   clrscrn             ; 0158 28 00 d0&lt;br /&gt;
                LI   $11                 ; 015b 20 11&lt;br /&gt;
                LR   $1,A                ; 015d 51&lt;br /&gt;
                LIS  $8                  ; 015e 78&lt;br /&gt;
                LR   $2,A                ; 015f 52&lt;br /&gt;
                PI   A01f6               ; 0160 28 01 f6&lt;br /&gt;
                LI   $11                 ; 0163 20 11&lt;br /&gt;
                LR   $1,A                ; 0165 51&lt;br /&gt;
                LI   $25                 ; 0166 20 25&lt;br /&gt;
                LR   $2,A                ; 0168 52&lt;br /&gt;
                PI   A01f6               ; 0169 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 016c 20 5c&lt;br /&gt;
                LR   $1,A                ; 016e 51&lt;br /&gt;
                LIS  $8                  ; 016f 78&lt;br /&gt;
                LR   $2,A                ; 0170 52&lt;br /&gt;
                PI   A01f6               ; 0171 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 0174 20 5c&lt;br /&gt;
                LR   $1,A                ; 0176 51&lt;br /&gt;
                LI   $25                 ; 0177 20 25&lt;br /&gt;
                LR   $2,A                ; 0179 52&lt;br /&gt;
                PI   A01f6               ; 017a 28 01 f6&lt;br /&gt;
A017d:          LI   $14                 ; 017d 20 14&lt;br /&gt;
                LR   $1,A                ; 017f 51&lt;br /&gt;
                LIS  $6                  ; 0180 76&lt;br /&gt;
                LR   $2,A                ; 0181 52&lt;br /&gt;
                PI   A020e               ; 0182 28 02 0e&lt;br /&gt;
                LI   $14                 ; 0185 20 14&lt;br /&gt;
                LR   $1,A                ; 0187 51&lt;br /&gt;
                LI   $2e                 ; 0188 20 2e&lt;br /&gt;
                LR   $2,A                ; 018a 52&lt;br /&gt;
                PI   A020e               ; 018b 28 02 0e&lt;br /&gt;
                LI   $99                 ; 018e 20 99&lt;br /&gt;
                LISU 2                   ; 0190 62&lt;br /&gt;
                LISL 6                   ; 0191 6e&lt;br /&gt;
                LR   I,A             ; 0192 5d&lt;br /&gt;
                LR   S,A              ; 0193 5c&lt;br /&gt;
                PI   A02ac               ; 0194 28 02 ac&lt;br /&gt;
                PI   A02b5               ; 0197 28 02 b5&lt;br /&gt;
                LISU 4                   ; 019a 64&lt;br /&gt;
                LISL 2                   ; 019b 6a&lt;br /&gt;
                LIS  $2                  ; 019c 72&lt;br /&gt;
                LR   S,A              ; 019d 5c&lt;br /&gt;
                BF   $0,A01a4            ; 019e 90 05&lt;br /&gt;
                &lt;br /&gt;
A01a0:          LR   K,P                 ; 01a0 08&lt;br /&gt;
                PI   pushk               ; 01a1 28 01 07&lt;br /&gt;
A01a4:          LISU 2                   ; 01a4 62&lt;br /&gt;
                LISL 0                   ; 01a5 68&lt;br /&gt;
                LI   $17                 ; 01a6 20 17&lt;br /&gt;
                LR   S,A              ; 01a8 5c&lt;br /&gt;
                LISL 3                   ; 01a9 6b&lt;br /&gt;
                LR   S,A              ; 01aa 5c&lt;br /&gt;
                LI   $1c                 ; 01ab 20 1c&lt;br /&gt;
                LR   $1,A                ; 01ad 51&lt;br /&gt;
                LI   $1a                 ; 01ae 20 1a&lt;br /&gt;
                LR   $2,A                ; 01b0 52&lt;br /&gt;
                LI   $b0                 ; 01b1 20 b0&lt;br /&gt;
                LR   $0,A                ; 01b3 50&lt;br /&gt;
                PI   drawchar            ; 01b4 28 06 79&lt;br /&gt;
                LI   $38                 ; 01b7 20 38&lt;br /&gt;
                LR   $1,A                ; 01b9 51&lt;br /&gt;
                LI   $1b                 ; 01ba 20 1b&lt;br /&gt;
                LR   $2,A                ; 01bc 52&lt;br /&gt;
                LI   $55                 ; 01bd 20 55&lt;br /&gt;
                LR   $0,A                ; 01bf 50&lt;br /&gt;
                PI   drawchar            ; 01c0 28 06 79&lt;br /&gt;
                LI   $52                 ; 01c3 20 52&lt;br /&gt;
                LR   $1,A                ; 01c5 51&lt;br /&gt;
                LI   $1a                 ; 01c6 20 1a&lt;br /&gt;
                LR   $2,A                ; 01c8 52&lt;br /&gt;
                LI   $71                 ; 01c9 20 71&lt;br /&gt;
                LR   $0,A                ; 01cb 50&lt;br /&gt;
                PI   drawchar            ; 01cc 28 06 79&lt;br /&gt;
                LISU 4                   ; 01cf 64&lt;br /&gt;
                LISL 5                   ; 01d0 6d&lt;br /&gt;
                LR   A,S              ; 01d1 4c&lt;br /&gt;
                SL   1                   ; 01d2 13&lt;br /&gt;
                BT   1,A01da             ; 01d3 81 06&lt;br /&gt;
                PI   A0447               ; 01d5 28 04 47&lt;br /&gt;
                BF   $0,A01f2            ; 01d8 90 19&lt;br /&gt;
                &lt;br /&gt;
A01da:          LI   $11                 ; 01da 20 11&lt;br /&gt;
                LR   $1,A                ; 01dc 51&lt;br /&gt;
                LI   $1a                 ; 01dd 20 1a&lt;br /&gt;
                LR   $2,A                ; 01df 52&lt;br /&gt;
                LI   $b2                 ; 01e0 20 b2&lt;br /&gt;
                LR   $0,A                ; 01e2 50&lt;br /&gt;
                PI   drawchar            ; 01e3 28 06 79&lt;br /&gt;
                LI   $5e                 ; 01e6 20 5e&lt;br /&gt;
                LR   $1,A                ; 01e8 51&lt;br /&gt;
                LI   $1a                 ; 01e9 20 1a&lt;br /&gt;
                LR   $2,A                ; 01eb 52&lt;br /&gt;
                LI   $73                 ; 01ec 20 73&lt;br /&gt;
                LR   $0,A                ; 01ee 50&lt;br /&gt;
                PI   drawchar            ; 01ef 28 06 79&lt;br /&gt;
A01f2:          PI   popk                ; 01f2 28 01 1e&lt;br /&gt;
                PK                       ; 01f5 0c&lt;br /&gt;
                &lt;br /&gt;
A01f6:          LR   K,P                 ; 01f6 08&lt;br /&gt;
                PI   pushk               ; 01f7 28 01 07&lt;br /&gt;
                LIS  $8                  ; 01fa 78&lt;br /&gt;
                LR   $3,A                ; 01fb 53&lt;br /&gt;
A01fc:          LI   $81                 ; 01fc 20 81&lt;br /&gt;
                LR   $0,A                ; 01fe 50&lt;br /&gt;
                PI   drawchar            ; 01ff 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0202 41&lt;br /&gt;
                AI   $fa                 ; 0203 24 fa&lt;br /&gt;
                LR   $1,A                ; 0205 51&lt;br /&gt;
                LR   A,$2                ; 0206 42&lt;br /&gt;
                INC                      ; 0207 1f&lt;br /&gt;
                LR   $2,A                ; 0208 52&lt;br /&gt;
                DS   $3                  ; 0209 33&lt;br /&gt;
                BNZ  A01fc            ; 020a 94 f1&lt;br /&gt;
                BF   $0,A01f2            ; 020c 90 e5&lt;br /&gt;
                &lt;br /&gt;
A020e:          LR   K,P                 ; 020e 08&lt;br /&gt;
                PI   pushk               ; 020f 28 01 07&lt;br /&gt;
                LI   $46                 ; 0212 20 46&lt;br /&gt;
                LR   $3,A                ; 0214 53&lt;br /&gt;
A0215:          LI   $92                 ; 0215 20 92&lt;br /&gt;
                LR   $0,A                ; 0217 50&lt;br /&gt;
                PI   drawchar            ; 0218 28 06 79&lt;br /&gt;
                LR   A,$1                ; 021b 41&lt;br /&gt;
                AI   $fb                 ; 021c 24 fb&lt;br /&gt;
                LR   $1,A                ; 021e 51&lt;br /&gt;
                DS   $3                  ; 021f 33&lt;br /&gt;
                BNZ  A0215            ; 0220 94 f4&lt;br /&gt;
                BF   $0,A01f2            ; 0222 90 cf&lt;br /&gt;
                &lt;br /&gt;
prompts:        LR   K,P                 ; &lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
prompts2:       LI   $85                 ; red 5 (S)&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                CI   $08                 ; is it button 4, Start?&lt;br /&gt;
                BNZ  notbut4          ; no, check others&lt;br /&gt;
                PI   popk                ; yes, return&lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
notbut4:        CI   $02                 ; is it button 2, Mode?&lt;br /&gt;
                BNZ  notbut2          ; &lt;br /&gt;
                LI   $8e                 ; red M&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; &lt;br /&gt;
                LISL 4                   ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
notbut2:        CI   $01                 ; is it button 1, Time?&lt;br /&gt;
                BNZ  prompts2         ; &lt;br /&gt;
                LI   $8c                 ; red T&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                DCI  minutes             ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                SR   1                   ; &lt;br /&gt;
                ADC                      ; &lt;br /&gt;
                LM                       ; &lt;br /&gt;
                LISU 7                   ; &lt;br /&gt;
                LISL 1                   ; &lt;br /&gt;
                LR   I,A             ; &lt;br /&gt;
                LIS  $0                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                LISU 6                   ; &lt;br /&gt;
                LISL 7                   ; &lt;br /&gt;
                LIS  $f                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                PI   A0271               ; &lt;br /&gt;
                LISU 4                   ; &lt;br /&gt;
                LISL 5                   ; &lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                OI   $20                 ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
minutes:		db $02,$05,$10,$10,$20		; minutes of play&lt;br /&gt;
                &lt;br /&gt;
A0271:			LR   K,P                 ; 0271 08&lt;br /&gt;
                PI   pushk               ; 0272 28 01 07&lt;br /&gt;
                LISU 7                   ; 0275 67&lt;br /&gt;
                LISL 2                   ; 0276 6a&lt;br /&gt;
                LR   A,D             ; 0277 4e&lt;br /&gt;
                LR   $4,A                ; 0278 54&lt;br /&gt;
                LR   A,S              ; 0279 4c&lt;br /&gt;
                LR   $3,A                ; 027a 53&lt;br /&gt;
                SR   4                   ; 027b 14&lt;br /&gt;
                OI   $80                 ; 027c 22 80&lt;br /&gt;
                LR   $0,A                ; 027e 50&lt;br /&gt;
                LI   $2a                 ; 027f 20 2a&lt;br /&gt;
                LR   $1,A                ; 0281 51&lt;br /&gt;
                LI   $33                 ; 0282 20 33&lt;br /&gt;
                LR   $2,A                ; 0284 52&lt;br /&gt;
                PI   drawchar            ; 0285 28 06 79&lt;br /&gt;
                LR   A,$3                ; 0288 43&lt;br /&gt;
                NI   $0f                 ; 0289 21 0f&lt;br /&gt;
                OI   $80                 ; 028b 22 80&lt;br /&gt;
                LR   $0,A                ; 028d 50&lt;br /&gt;
                PI   drawchar            ; 028e 28 06 79&lt;br /&gt;
                LI   $91                 ; 0291 20 91&lt;br /&gt;
                LR   $0,A                ; 0293 50&lt;br /&gt;
                PI   drawchar            ; 0294 28 06 79&lt;br /&gt;
                LR   A,$4                ; 0297 44&lt;br /&gt;
                SR   4                   ; 0298 14&lt;br /&gt;
                OI   $80                 ; 0299 22 80&lt;br /&gt;
                LR   $0,A                ; 029b 50&lt;br /&gt;
                PI   drawchar            ; 029c 28 06 79&lt;br /&gt;
                LR   A,$4                ; 029f 44&lt;br /&gt;
                NI   $0f                 ; 02a0 21 0f&lt;br /&gt;
                OI   $80                 ; 02a2 22 80&lt;br /&gt;
                LR   $0,A                ; 02a4 50&lt;br /&gt;
                PI   drawchar            ; 02a5 28 06 79&lt;br /&gt;
                PI   popk                ; 02a8 28 01 1e&lt;br /&gt;
                PK                       ; 02ab 0c&lt;br /&gt;
                &lt;br /&gt;
A02ac:          LR   K,P                 ; 02ac 08&lt;br /&gt;
                PI   pushk               ; 02ad 28 01 07&lt;br /&gt;
                LISL 6                   ; 02b0 6e&lt;br /&gt;
                LI   $17                 ; 02b1 20 17&lt;br /&gt;
                BF   $0,A02bc            ; 02b3 90 08&lt;br /&gt;
                &lt;br /&gt;
A02b5:          LR   K,P                 ; 02b5 08&lt;br /&gt;
                PI   pushk               ; 02b6 28 01 07&lt;br /&gt;
                LISL 7                   ; 02b9 6f&lt;br /&gt;
                LI   $50                 ; 02ba 20 50&lt;br /&gt;
A02bc:          LISU 2                   ; 02bc 62&lt;br /&gt;
                LR   $1,A                ; 02bd 51&lt;br /&gt;
                LI   $33                 ; 02be 20 33&lt;br /&gt;
                LR   $2,A                ; 02c0 52&lt;br /&gt;
                LIS  $1                  ; 02c1 71&lt;br /&gt;
                AI   $66                 ; 02c2 24 66&lt;br /&gt;
                ASD  S                ; 02c4 dc&lt;br /&gt;
                LR   S,A              ; 02c5 5c&lt;br /&gt;
                SR   4                   ; 02c6 14&lt;br /&gt;
                OI   $40                 ; 02c7 22 40&lt;br /&gt;
                LR   $0,A                ; 02c9 50&lt;br /&gt;
                PI   drawchar            ; 02ca 28 06 79&lt;br /&gt;
                LR   A,S              ; 02cd 4c&lt;br /&gt;
                NI   $0f                 ; 02ce 21 0f&lt;br /&gt;
                OI   $40                 ; 02d0 22 40&lt;br /&gt;
                LR   $0,A                ; 02d2 50&lt;br /&gt;
                PI   drawchar            ; 02d3 28 06 79&lt;br /&gt;
                PI   popk                ; 02d6 28 01 1e&lt;br /&gt;
                PK                       ; 02d9 0c&lt;br /&gt;
                &lt;br /&gt;
A02da:          LR   K,P                 ; 02da 08&lt;br /&gt;
                PI   pushk               ; 02db 28 01 07&lt;br /&gt;
                LI   $b0                 ; 02de 20 b0&lt;br /&gt;
                LR   $4,A                ; 02e0 54&lt;br /&gt;
                LISU 2                   ; 02e1 62&lt;br /&gt;
                LISL 1                   ; 02e2 69&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02e3 70&lt;br /&gt;
                OUTS 4                   ; 02e4 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A02f4            ; 02e6 90 0d&lt;br /&gt;
                &lt;br /&gt;
A02e8:          LR   K,P                 ; 02e8 08&lt;br /&gt;
                PI   pushk               ; 02e9 28 01 07&lt;br /&gt;
                LI   $71                 ; 02ec 20 71&lt;br /&gt;
                LR   $4,A                ; 02ee 54&lt;br /&gt;
                LISU 2                   ; 02ef 62&lt;br /&gt;
                LISL 4                   ; 02f0 6c&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02f1 70&lt;br /&gt;
                OUTS 1                   ; 02f2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A02f4:          COM                      ; 02f4 18&lt;br /&gt;
                NS   $1                  ; 02f5 f1&lt;br /&gt;
                LR   $0,A                ; 02f6 50&lt;br /&gt;
                LR   A,I             ; 02f7 4d&lt;br /&gt;
                LR   $1,A                ; 02f8 51&lt;br /&gt;
                LR   A,S              ; 02f9 4c&lt;br /&gt;
                LR   $2,A                ; 02fa 52&lt;br /&gt;
                LIS  $1                  ; 02fb 71&lt;br /&gt;
                NS   $0                  ; 02fc f0&lt;br /&gt;
                BT   4,A0303             ; 02fd 84 05&lt;br /&gt;
                LR   A,$1                ; 02ff 41&lt;br /&gt;
                AI   $02                 ; 0300 24 02&lt;br /&gt;
                LR   $1,A                ; 0302 51&lt;br /&gt;
A0303:          LIS  $2                  ; 0303 72&lt;br /&gt;
                NS   $0                  ; 0304 f0&lt;br /&gt;
                BT   4,A030b             ; 0305 84 05&lt;br /&gt;
                LR   A,$1                ; 0307 41&lt;br /&gt;
                AI   $fe                 ; 0308 24 fe&lt;br /&gt;
                LR   $1,A                ; 030a 51&lt;br /&gt;
A030b:          LIS  $4                  ; 030b 74&lt;br /&gt;
                NS   $0                  ; 030c f0&lt;br /&gt;
                BT   4,A0313             ; 030d 84 05&lt;br /&gt;
                LR   A,$2                ; 030f 42&lt;br /&gt;
                AI   $02                 ; 0310 24 02&lt;br /&gt;
                LR   $2,A                ; 0312 52&lt;br /&gt;
A0313:          LIS  $8                  ; 0313 78&lt;br /&gt;
                NS   $0                  ; 0314 f0&lt;br /&gt;
                BT   4,A031b             ; 0315 84 05&lt;br /&gt;
                LR   A,$2                ; 0317 42&lt;br /&gt;
                AI   $fe                 ; 0318 24 fe&lt;br /&gt;
                LR   $2,A                ; 031a 52&lt;br /&gt;
A031b:          LISU 3                   ; 031b 63&lt;br /&gt;
                LISL 7                   ; 031c 6f&lt;br /&gt;
                LR   A,S              ; 031d 4c&lt;br /&gt;
                CI   $02                 ; 031e 25 02&lt;br /&gt;
                BF   $1,A0357            ; 0320 91 36&lt;br /&gt;
                BNZ  A033a            ; 0322 94 17&lt;br /&gt;
                LIS  $1                  ; 0324 71&lt;br /&gt;
                NS   $4                  ; 0325 f4&lt;br /&gt;
                BNZ  A0332            ; 0326 94 0b&lt;br /&gt;
                LR   A,$1                ; 0328 41&lt;br /&gt;
                CI   $2d                 ; 0329 25 2d&lt;br /&gt;
                BT   1,A0330             ; 032b 81 04&lt;br /&gt;
                LI   $2d                 ; 032d 20 2d&lt;br /&gt;
                LR   $1,A                ; 032f 51&lt;br /&gt;
A0330:          BF   $0,A033a            ; 0330 90 09&lt;br /&gt;
&lt;br /&gt;
A0332:          LR   A,$1                ; 0332 41&lt;br /&gt;
                CI   $3d                 ; 0333 25 3d&lt;br /&gt;
                BF   $1,A033a            ; 0335 91 04&lt;br /&gt;
                LI   $3d                 ; 0337 20 3d&lt;br /&gt;
                LR   $1,A                ; 0339 51&lt;br /&gt;
A033a:          LR   A,$1                ; 033a 41&lt;br /&gt;
                CI   $52                 ; 033b 25 52&lt;br /&gt;
                BT   1,A0342             ; 033d 81 04&lt;br /&gt;
                LI   $52                 ; 033f 20 52&lt;br /&gt;
                LR   $1,A                ; 0341 51&lt;br /&gt;
A0342:          CI   $1a                 ; 0342 25 1a&lt;br /&gt;
                BF   $1,A0349            ; 0344 91 04&lt;br /&gt;
                LI   $1a                 ; 0346 20 1a&lt;br /&gt;
                LR   $1,A                ; 0348 51&lt;br /&gt;
A0349:          LR   A,$2                ; 0349 42&lt;br /&gt;
                CI   $2b                 ; 034a 25 2b&lt;br /&gt;
                BT   1,A0351             ; 034c 81 04&lt;br /&gt;
                LI   $2b                 ; 034e 20 2b&lt;br /&gt;
                LR   $2,A                ; 0350 52&lt;br /&gt;
A0351:          CI   $09                 ; 0351 25 09&lt;br /&gt;
                BF   $1,A0357            ; 0353 91 03&lt;br /&gt;
                LIS  $9                  ; 0355 79&lt;br /&gt;
                LR   $2,A                ; 0356 52&lt;br /&gt;
A0357:          LISU 4                   ; 0357 64&lt;br /&gt;
                LISL 7                   ; 0358 6f&lt;br /&gt;
                LR   A,S              ; 0359 4c&lt;br /&gt;
                NI   $03                 ; 035a 21 03&lt;br /&gt;
                CI   $03                 ; 035c 25 03&lt;br /&gt;
                BNZ  A0383            ; 035e 94 24&lt;br /&gt;
                LISU 2                   ; 0360 62&lt;br /&gt;
                LISL 0                   ; 0361 68&lt;br /&gt;
                LIS  $1                  ; 0362 71&lt;br /&gt;
                NS   $4                  ; 0363 f4&lt;br /&gt;
                BT   4,A0367             ; 0364 84 02&lt;br /&gt;
                LISL 3                   ; 0366 6b&lt;br /&gt;
A0367:          LI   $10                 ; 0367 20 10&lt;br /&gt;
                NS   $0                  ; 0369 f0&lt;br /&gt;
                BT   4,A036d             ; 036a 84 02&lt;br /&gt;
                DS   S                ; 036c 3c&lt;br /&gt;
A036d:          LI   $20                 ; 036d 20 20&lt;br /&gt;
                NS   $0                  ; 036f f0&lt;br /&gt;
                BT   4,A0375             ; 0370 84 04&lt;br /&gt;
                LR   A,S              ; 0372 4c&lt;br /&gt;
                INC                      ; 0373 1f&lt;br /&gt;
                LR   S,A              ; 0374 5c&lt;br /&gt;
A0375:          LR   A,S              ; 0375 4c&lt;br /&gt;
                CI   $16                 ; 0376 25 16&lt;br /&gt;
                BNZ  A037c            ; 0378 94 03&lt;br /&gt;
                LI   $1d                 ; 037a 20 1d&lt;br /&gt;
A037c:          CI   $1e                 ; 037c 25 1e&lt;br /&gt;
                BNZ  A0382            ; 037e 94 03&lt;br /&gt;
                LI   $17                 ; 0380 20 17&lt;br /&gt;
A0382:          LR   S,A              ; 0382 5c&lt;br /&gt;
A0383:          LR   A,$4                ; 0383 44&lt;br /&gt;
                LR   $0,A                ; 0384 50&lt;br /&gt;
                PI   drawchar            ; 0385 28 06 79&lt;br /&gt;
                PI   popk                ; 0388 28 01 1e&lt;br /&gt;
                PK                       ; 038b 0c&lt;br /&gt;
                &lt;br /&gt;
A038c:          LR   K,P                 ; 038c 08&lt;br /&gt;
                PI   pushk               ; 038d 28 01 07&lt;br /&gt;
                LISL 0                   ; 0390 68&lt;br /&gt;
                LI   $b2                 ; 0391 20 b2&lt;br /&gt;
                LR   $3,A                ; 0393 53&lt;br /&gt;
                LIS  $0                  ; 0394 70&lt;br /&gt;
                OUTS 4                   ; 0395 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A03a4            ; 0397 90 0c&lt;br /&gt;
                &lt;br /&gt;
A0399:          LR   K,P                 ; 0399 08&lt;br /&gt;
                PI   pushk               ; 039a 28 01 07&lt;br /&gt;
                LISL 2                   ; 039d 6a&lt;br /&gt;
                LI   $73                 ; 039e 20 73&lt;br /&gt;
                LR   $3,A                ; 03a0 53&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 03a1 70&lt;br /&gt;
                OUTS 1                   ; 03a2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A03a4:          COM                      ; 03a4 18&lt;br /&gt;
                LR   $0,A                ; 03a5 50&lt;br /&gt;
                LISU 3                   ; 03a6 63&lt;br /&gt;
                LR   A,I             ; 03a7 4d&lt;br /&gt;
                LR   $1,A                ; 03a8 51&lt;br /&gt;
                LR   A,S              ; 03a9 4c&lt;br /&gt;
                LR   $2,A                ; 03aa 52&lt;br /&gt;
                LR   A,$0                ; 03ab 40&lt;br /&gt;
                NI   $80                 ; 03ac 21 80&lt;br /&gt;
                BT   4,A03b4             ; 03ae 84 05&lt;br /&gt;
                LR   A,$2                ; 03b0 42&lt;br /&gt;
                AI   $02                 ; 03b1 24 02&lt;br /&gt;
                LR   $2,A                ; 03b3 52&lt;br /&gt;
A03b4:          LR   A,$0                ; 03b4 40&lt;br /&gt;
                NI   $40                 ; 03b5 21 40&lt;br /&gt;
                BT   4,A03bb             ; 03b7 84 03&lt;br /&gt;
                DS   $2                  ; 03b9 32&lt;br /&gt;
                DS   $2                  ; 03ba 32&lt;br /&gt;
A03bb:          LR   A,$2                ; 03bb 42&lt;br /&gt;
                CI   $14                 ; 03bc 25 14&lt;br /&gt;
                BF   $1,A03c3            ; 03be 91 04&lt;br /&gt;
                LI   $14                 ; 03c0 20 14&lt;br /&gt;
                LR   $2,A                ; 03c2 52&lt;br /&gt;
A03c3:          CI   $20                 ; 03c3 25 20&lt;br /&gt;
                BT   1,A03ca             ; 03c5 81 04&lt;br /&gt;
                LI   $20                 ; 03c7 20 20&lt;br /&gt;
                LR   $2,A                ; 03c9 52&lt;br /&gt;
A03ca:          LR   A,$3                ; 03ca 43&lt;br /&gt;
                LR   $0,A                ; 03cb 50&lt;br /&gt;
                PI   drawchar            ; 03cc 28 06 79&lt;br /&gt;
                PI   popk                ; 03cf 28 01 1e&lt;br /&gt;
                PK                       ; 03d2 0c&lt;br /&gt;
                &lt;br /&gt;
A03d3:          LR   K,P                 ; 03d3 08&lt;br /&gt;
                PI   pushk               ; 03d4 28 01 07&lt;br /&gt;
                LISU 4                   ; 03d7 64&lt;br /&gt;
                LISL 0                   ; 03d8 68&lt;br /&gt;
                LR   A,I             ; 03d9 4d&lt;br /&gt;
                LR   $1,A                ; 03da 51&lt;br /&gt;
                LR   A,I             ; 03db 4d&lt;br /&gt;
                LR   $2,A                ; 03dc 52&lt;br /&gt;
                LR   A,I             ; 03dd 4d&lt;br /&gt;
                LR   $3,A                ; 03de 53&lt;br /&gt;
                LR   A,I             ; 03df 4d&lt;br /&gt;
                LR   $4,A                ; 03e0 54&lt;br /&gt;
                LR   A,S              ; 03e1 4c&lt;br /&gt;
                CI   $00                 ; 03e2 25 00&lt;br /&gt;
                BT   4,A03f2             ; 03e4 84 0d&lt;br /&gt;
                LIS  $0                  ; 03e6 70&lt;br /&gt;
                LR   S,A              ; 03e7 5c&lt;br /&gt;
                LR   A,$3                ; 03e8 43&lt;br /&gt;
                SL   1                   ; 03e9 13&lt;br /&gt;
                AS   $3                  ; 03ea c3&lt;br /&gt;
                AS   $3                  ; 03eb c3&lt;br /&gt;
                LR   $3,A                ; 03ec 53&lt;br /&gt;
                LR   A,$4                ; 03ed 44&lt;br /&gt;
                SL   1                   ; 03ee 13&lt;br /&gt;
                AS   $4                  ; 03ef c4&lt;br /&gt;
                AS   $4                  ; 03f0 c4&lt;br /&gt;
                LR   $4,A                ; 03f1 54&lt;br /&gt;
A03f2:          LR   A,$1                ; 03f2 41&lt;br /&gt;
                AS   $3                  ; 03f3 c3&lt;br /&gt;
                LR   $1,A                ; 03f4 51&lt;br /&gt;
                LR   A,$2                ; 03f5 42&lt;br /&gt;
                AS   $4                  ; 03f6 c4&lt;br /&gt;
                LR   $2,A                ; 03f7 52&lt;br /&gt;
                LISU 4                   ; 03f8 64&lt;br /&gt;
                LISL 5                   ; 03f9 6d&lt;br /&gt;
                LI   $44                 ; 03fa 20 44&lt;br /&gt;
                NS   S                ; 03fc fc&lt;br /&gt;
                BT   4,A043b             ; 03fd 84 3d&lt;br /&gt;
                PI   A049c               ; 03ff 28 04 9c&lt;br /&gt;
                LISU 4                   ; 0402 64&lt;br /&gt;
                LISL 2                   ; 0403 6a&lt;br /&gt;
                LR   A,$1                ; 0404 41&lt;br /&gt;
                LR   $0,A                ; 0405 50&lt;br /&gt;
                CI   $5c                 ; 0406 25 5c&lt;br /&gt;
                BT   1,A0410             ; 0408 81 07&lt;br /&gt;
                PI   A043f               ; 040a 28 04 3f&lt;br /&gt;
                LI   $5c                 ; 040d 20 5c&lt;br /&gt;
                LR   $1,A                ; 040f 51&lt;br /&gt;
A0410:          LR   A,$1                ; 0410 41&lt;br /&gt;
                LR   $0,A                ; 0411 50&lt;br /&gt;
                CI   $14                 ; 0412 25 14&lt;br /&gt;
                BF   $1,A041c            ; 0414 91 07&lt;br /&gt;
                PI   A043f               ; 0416 28 04 3f&lt;br /&gt;
                LI   $14                 ; 0419 20 14&lt;br /&gt;
                LR   $1,A                ; 041b 51&lt;br /&gt;
A041c:          LISL 3                   ; 041c 6b&lt;br /&gt;
                LR   A,$2                ; 041d 42&lt;br /&gt;
                LR   $0,A                ; 041e 50&lt;br /&gt;
                CI   $08                 ; 041f 25 08&lt;br /&gt;
                BF   $1,A0429            ; 0421 91 07&lt;br /&gt;
                PI   A043f               ; 0423 28 04 3f&lt;br /&gt;
                LI   $09                 ; 0426 20 09&lt;br /&gt;
                LR   $2,A                ; 0428 52&lt;br /&gt;
A0429:          LR   A,$2                ; 0429 42&lt;br /&gt;
                LR   $0,A                ; 042a 50&lt;br /&gt;
                CI   $2e                 ; 042b 25 2e&lt;br /&gt;
                BT   1,A0435             ; 042d 81 07&lt;br /&gt;
                PI   A043f               ; 042f 28 04 3f&lt;br /&gt;
                LI   $2e                 ; 0432 20 2e&lt;br /&gt;
                LR   $2,A                ; 0434 52&lt;br /&gt;
A0435:          LI   $55                 ; 0435 20 55&lt;br /&gt;
                LR   $0,A                ; 0437 50&lt;br /&gt;
                PI   drawchar            ; 0438 28 06 79&lt;br /&gt;
A043b:          PI   popk                ; 043b 28 01 1e&lt;br /&gt;
                PK                       ; 043e 0c&lt;br /&gt;
                &lt;br /&gt;
A043f:          LR   A,S              ; 043f 4c&lt;br /&gt;
                COM                      ; 0440 18&lt;br /&gt;
                INC                      ; 0441 1f&lt;br /&gt;
                LR   S,A              ; 0442 5c&lt;br /&gt;
                LI   $40                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0445 b5&lt;br /&gt;
                POP                      ; 0446 1c&lt;br /&gt;
                &lt;br /&gt;
A0447:          LR   K,P                 ; 0447 08&lt;br /&gt;
                PI   pushk               ; 0448 28 01 07&lt;br /&gt;
                LI   $36                 ; 044b 20 36&lt;br /&gt;
                LR   $1,A                ; 044d 51&lt;br /&gt;
                LIS  $a                  ; 044e 7a&lt;br /&gt;
                LR   $2,A                ; 044f 52&lt;br /&gt;
                LIS  $5                  ; 0450 75&lt;br /&gt;
                LR   $4,A                ; 0451 54&lt;br /&gt;
A0452:          LI   $81                 ; 0452 20 81&lt;br /&gt;
                LR   $0,A                ; 0454 50&lt;br /&gt;
                PI   drawchar            ; 0455 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0458 41&lt;br /&gt;
                AI   $fa                 ; 0459 24 fa&lt;br /&gt;
                LR   $1,A                ; 045b 51&lt;br /&gt;
                LR   A,$2                ; 045c 42&lt;br /&gt;
                AI   $08                 ; 045d 24 08&lt;br /&gt;
                LR   $2,A                ; 045f 52&lt;br /&gt;
                DS   $4                  ; 0460 34&lt;br /&gt;
                BNZ  A0452            ; 0461 94 f0&lt;br /&gt;
                PI   popk                ; 0463 28 01 1e&lt;br /&gt;
                PK                       ; 0466 0c&lt;br /&gt;
                &lt;br /&gt;
A0467:          LR   K,P                 ; 0467 08&lt;br /&gt;
                PI   pushk               ; 0468 28 01 07&lt;br /&gt;
                LISU 7                   ; 046b 67&lt;br /&gt;
                LISL 0                   ; 046c 68&lt;br /&gt;
                LR   A,S              ; 046d 4c&lt;br /&gt;
                OI   $00                 ; 046e 22 00&lt;br /&gt;
                BT   4,A0498             ; 0470 84 27&lt;br /&gt;
                LIS  $0                  ; 0472 70&lt;br /&gt;
                LR   S,A              ; 0473 5c&lt;br /&gt;
                LISL 2                   ; 0474 6a&lt;br /&gt;
                LIS  $1                  ; 0475 71&lt;br /&gt;
                LR   $0,A                ; 0476 50&lt;br /&gt;
                COM                      ; 0477 18&lt;br /&gt;
                ASD  S                ; 0478 dc&lt;br /&gt;
                AI   $66                 ; 0479 24 66&lt;br /&gt;
                ASD  $0                  ; 047b d0&lt;br /&gt;
                LR   S,A              ; 047c 5c&lt;br /&gt;
                CI   $99                 ; 047d 25 99&lt;br /&gt;
                BNZ  A0495            ; 047f 94 15&lt;br /&gt;
                LI   $59                 ; 0481 20 59&lt;br /&gt;
                LR   D,A             ; 0483 5e&lt;br /&gt;
                LIS  $1                  ; 0484 71&lt;br /&gt;
                LR   $0,A                ; 0485 50&lt;br /&gt;
                COM                      ; 0486 18&lt;br /&gt;
                ASD  S                ; 0487 dc&lt;br /&gt;
                AI   $66                 ; 0488 24 66&lt;br /&gt;
                ASD  $0                  ; 048a d0&lt;br /&gt;
                CI   $99                 ; 048b 25 99&lt;br /&gt;
                BNZ  A0494            ; 048d 94 06&lt;br /&gt;
                PI   prompts             ; time expired, print S?&lt;br /&gt;
                BF   $0,A0498            ; 0492 90 05&lt;br /&gt;
                &lt;br /&gt;
A0494:          LR   S,A              ; 0494 5c&lt;br /&gt;
A0495:          PI   $0271               ; 0495 28 02 71&lt;br /&gt;
A0498:          PI   popk                ; 0498 28 01 1e&lt;br /&gt;
                PK                       ; 049b 0c&lt;br /&gt;
                &lt;br /&gt;
A049c:          LR   K,P                 ; 049c 08&lt;br /&gt;
                PI   pushk               ; 049d 28 01 07&lt;br /&gt;
                LISU 4                   ; 04a0 64&lt;br /&gt;
                LISL 7                   ; 04a1 6f&lt;br /&gt;
                LIS  $1                  ; 04a2 71&lt;br /&gt;
                NS   S                ; 04a3 fc&lt;br /&gt;
                BT   4,A04b8             ; 04a4 84 13&lt;br /&gt;
                LISU 2                   ; 04a6 62&lt;br /&gt;
                LISL 4                   ; 04a7 6c&lt;br /&gt;
                PI   A05fc               ; 04a8 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04ab 30&lt;br /&gt;
                BT   4,A04e8             ; 04ac 84 3b&lt;br /&gt;
                LISU 2                   ; 04ae 62&lt;br /&gt;
                LISL 1                   ; 04af 69&lt;br /&gt;
                PI   A05fc               ; 04b0 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04b3 30&lt;br /&gt;
                BT   4,A04e5             ; 04b4 84 30&lt;br /&gt;
                BF   $0,A04c8            ; 04b6 90 11&lt;br /&gt;
                &lt;br /&gt;
A04b8:          LISU 2                   ; 04b8 62&lt;br /&gt;
                LISL 1                   ; 04b9 69&lt;br /&gt;
                PI   A05fc               ; 04ba 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04bd 30&lt;br /&gt;
                BT   4,A04e5             ; 04be 84 26&lt;br /&gt;
                LISU 2                   ; 04c0 62&lt;br /&gt;
                LISL 4                   ; 04c1 6c&lt;br /&gt;
                PI   A05fc               ; 04c2 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04c5 30&lt;br /&gt;
                BT   4,A04e8             ; 04c6 84 21&lt;br /&gt;
A04c8:          LISU 4                   ; 04c8 64&lt;br /&gt;
                LISL 5                   ; 04c9 6d&lt;br /&gt;
                LR   A,S              ; 04ca 4c&lt;br /&gt;
                NI   $04                 ; 04cb 21 04&lt;br /&gt;
                BNZ  A04d2            ; 04cd 94 04&lt;br /&gt;
                JMP  A059d               ; 04cf 29 05 9d&lt;br /&gt;
                &lt;br /&gt;
A04d2:          LISU 3                   ; 04d2 63&lt;br /&gt;
                LISL 0                   ; 04d3 68&lt;br /&gt;
                PI   A05fc               ; 04d4 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04d7 30&lt;br /&gt;
                BT   4,A0555             ; 04d8 84 7c&lt;br /&gt;
                LISU 3                   ; 04da 63&lt;br /&gt;
                LISL 2                   ; 04db 6a&lt;br /&gt;
                PI   A05fc               ; 04dc 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04df 30&lt;br /&gt;
                BT   4,A0559             ; 04e0 84 78&lt;br /&gt;
                JMP  A0588               ; 04e2 29 05 88&lt;br /&gt;
                &lt;br /&gt;
A04e5:          LISL 0                   ; 04e5 68&lt;br /&gt;
                BF   $0,A04e9            ; 04e6 90 02&lt;br /&gt;
                &lt;br /&gt;
A04e8:          LISL 3                   ; 04e8 6b&lt;br /&gt;
A04e9:          LISU 2                   ; 04e9 62&lt;br /&gt;
                LR   A,I             ; 04ea 4d&lt;br /&gt;
                LR   $4,A                ; 04eb 54&lt;br /&gt;
                LR   A,I             ; 04ec 4d&lt;br /&gt;
                LR   A,S              ; 04ed 4c&lt;br /&gt;
                LR   $7,A                ; 04ee 57&lt;br /&gt;
                LISU 4                   ; 04ef 64&lt;br /&gt;
                LISL 5                   ; 04f0 6d&lt;br /&gt;
                LR   A,S              ; 04f1 4c&lt;br /&gt;
                SL   1                   ; 04f2 13&lt;br /&gt;
                LR   A,$4                ; 04f3 44&lt;br /&gt;
                BT   1,A0516             ; 04f4 81 21&lt;br /&gt;
                DCI  A050e               ; 04f6 2a 05 0e&lt;br /&gt;
                LIS  $7                  ; 04f9 77&lt;br /&gt;
                LR   $4,A                ; 04fa 54&lt;br /&gt;
                DS   $7                  ; 04fb 37&lt;br /&gt;
                DS   $7                  ; 04fc 37&lt;br /&gt;
A04fd:          LR   A,$4                ; 04fd 44&lt;br /&gt;
                AS   $7                  ; 04fe c7&lt;br /&gt;
                LR   $3,A                ; 04ff 53&lt;br /&gt;
                LR   A,$2                ; 0500 42&lt;br /&gt;
                COM                      ; 0501 18&lt;br /&gt;
                INC                      ; 0502 1f&lt;br /&gt;
                AS   $3                  ; 0503 c3&lt;br /&gt;
                BT   4,A0509             ; 0504 84 04&lt;br /&gt;
                DS   $4                  ; 0506 34&lt;br /&gt;
                BT   1,A04fd             ; 0507 81 f5&lt;br /&gt;
A0509:          LR   A,$4                ; 0509 44&lt;br /&gt;
                ADC                      ; 050a 8e&lt;br /&gt;
                LM                       ; 050b 16&lt;br /&gt;
                BF   $0,A0518            ; 050c 90 0b&lt;br /&gt;
&lt;br /&gt;
A050e:			db	$04,$04,$05,$06,$00,$01,$02,$03                &lt;br /&gt;
&lt;br /&gt;
A0516:          AI   $e9                 ; 0516 24 e9&lt;br /&gt;
A0518:          DCI  A0547               ; 0518 2a 05 47&lt;br /&gt;
                SL   1                   ; 051b 13&lt;br /&gt;
                ADC                      ; 051c 8e&lt;br /&gt;
                LM                       ; 051d 16&lt;br /&gt;
                LR   $5,A                ; 051e 55&lt;br /&gt;
                LM                       ; 051f 16&lt;br /&gt;
                LR   $6,A                ; 0520 56&lt;br /&gt;
                LISU 4                   ; 0521 64&lt;br /&gt;
                LISL 2                   ; 0522 6a&lt;br /&gt;
                LR   A,S              ; 0523 4c&lt;br /&gt;
                OI   $00                 ; 0524 22 00&lt;br /&gt;
                BF   $1,A053a            ; 0526 91 13&lt;br /&gt;
                LR   A,$5                ; 0528 45&lt;br /&gt;
                COM                      ; 0529 18&lt;br /&gt;
                INC                      ; 052a 1f&lt;br /&gt;
                LR   $5,A                ; 052b 55&lt;br /&gt;
                LISL 5                   ; 052c 6d&lt;br /&gt;
                LR   A,S              ; 052d 4c&lt;br /&gt;
                SL   1                   ; 052e 13&lt;br /&gt;
                LISL 2                   ; 052f 6a&lt;br /&gt;
                BF   $1,A0536            ; 0530 91 05&lt;br /&gt;
                LR   A,$6                ; 0532 46&lt;br /&gt;
                COM                      ; 0533 18&lt;br /&gt;
                INC                      ; 0534 1f&lt;br /&gt;
                LR   $6,A                ; 0535 56&lt;br /&gt;
A0536:          LR   A,$1                ; 0536 41&lt;br /&gt;
                AI   $02                 ; 0537 24 02&lt;br /&gt;
                LR   $1,A                ; 0539 51&lt;br /&gt;
A053a:          LR   A,$5                ; 053a 45&lt;br /&gt;
                LR   I,A             ; 053b 5d&lt;br /&gt;
                LR   A,$6                ; 053c 46&lt;br /&gt;
                LR   I,A             ; 053d 5d&lt;br /&gt;
                LIS  $2                  ; 053e 72&lt;br /&gt;
                LR   S,A              ; 053f 5c&lt;br /&gt;
                LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0542 b5&lt;br /&gt;
A0543:          PI   popk                ; 0543 28 01 1e&lt;br /&gt;
                PK                       ; 0546 0c&lt;br /&gt;
&lt;br /&gt;
A0547:			db	$02,$00,$02,$01,$02,$02,$01,$02,$01,$FE,$02,$FE,$02,$FF	&lt;br /&gt;
&lt;br /&gt;
A0555:          LIS  $1                  ; 0555 71&lt;br /&gt;
                LR   $3,A                ; 0556 53&lt;br /&gt;
                BF   $0,A055b            ; 0557 90 03&lt;br /&gt;
                &lt;br /&gt;
A0559:          LIS  $2                  ; 0559 72&lt;br /&gt;
                LR   $3,A                ; 055a 53&lt;br /&gt;
A055b:          LISU 4                   ; 055b 64&lt;br /&gt;
                LISL 2                   ; 055c 6a&lt;br /&gt;
                LR   A,S              ; 055d 4c&lt;br /&gt;
                DS   $3                  ; 055e 33&lt;br /&gt;
                BT   4,A0567             ; 055f 84 07&lt;br /&gt;
                OI   $00                 ; 0561 22 00&lt;br /&gt;
                BT   1,A056b             ; 0563 81 07&lt;br /&gt;
                BF   $0,A056e            ; 0565 90 08&lt;br /&gt;
                &lt;br /&gt;
A0567:          OI   $00                 ; 0567 22 00&lt;br /&gt;
                BT   1,A056e             ; 0569 81 04&lt;br /&gt;
A056b:          COM                      ; 056b 18&lt;br /&gt;
                INC                      ; 056c 1f&lt;br /&gt;
                LR   S,A              ; 056d 5c&lt;br /&gt;
A056e:          LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0570 b5&lt;br /&gt;
                LISL 3                   ; 0571 6b&lt;br /&gt;
                LR   A,S              ; 0572 4c&lt;br /&gt;
                OI   $00                 ; 0573 22 00&lt;br /&gt;
                BNZ  A0586            ; 0575 94 10&lt;br /&gt;
                LISU 2                   ; 0577 62&lt;br /&gt;
                LISL 1                   ; 0578 69&lt;br /&gt;
                LR   A,S              ; 0579 4c&lt;br /&gt;
                NI   $01                 ; 057a 21 01&lt;br /&gt;
                BT   4,A0581             ; 057c 84 04&lt;br /&gt;
                LIS  $2                  ; 057e 72&lt;br /&gt;
                BF   $0,A0583            ; 057f 90 03&lt;br /&gt;
                &lt;br /&gt;
A0581:          LI   $fe                 ; 0581 20 fe&lt;br /&gt;
A0583:          LISU 4                   ; 0583 64&lt;br /&gt;
                LISL 3                   ; 0584 6b&lt;br /&gt;
                LR   S,A              ; 0585 5c&lt;br /&gt;
A0586:          BF   $0,A05f3            ; 0586 90 6c&lt;br /&gt;
&lt;br /&gt;
A0588:          LR   A,$2                ; 0588 42&lt;br /&gt;
                CI   $14                 ; 0589 25 14&lt;br /&gt;
                BT   1,A059a             ; 058b 81 0e&lt;br /&gt;
                CI   $24                 ; 058d 25 24&lt;br /&gt;
                BF   $1,A059a            ; 058f 91 0a&lt;br /&gt;
                LR   A,$1                ; 0591 41&lt;br /&gt;
                CI   $14                 ; 0592 25 14&lt;br /&gt;
                BT   1,A05a9             ; 0594 81 14&lt;br /&gt;
                CI   $5c                 ; 0596 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 0598 91 10&lt;br /&gt;
A059a:          JMP  A0543               ; 059a 29 05 43&lt;br /&gt;
&lt;br /&gt;
A059d:          LR   A,$1                ; 059d 41&lt;br /&gt;
                CI   $14                 ; 059e 25 14&lt;br /&gt;
                BT   1,A05a9             ; 05a0 81 08&lt;br /&gt;
                CI   $5c                 ; 05a2 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 05a4 91 04&lt;br /&gt;
                JMP  A0543               ; 05a6 29 05 43&lt;br /&gt;
                &lt;br /&gt;
A05a9:          LISU 4                   ; 05a9 64&lt;br /&gt;
                LISL 2                   ; 05aa 6a&lt;br /&gt;
                LR   A,I             ; 05ab 4d&lt;br /&gt;
                SL   1                   ; 05ac 13&lt;br /&gt;
                BF   $1,A05b3            ; 05ad 91 05&lt;br /&gt;
                AI   $02                 ; 05af 24 02&lt;br /&gt;
                BF   $0,A05b5            ; 05b1 90 03&lt;br /&gt;
                &lt;br /&gt;
A05b3:          AI   $fe                 ; 05b3 24 fe&lt;br /&gt;
A05b5:          AS   $1                  ; 05b5 c1&lt;br /&gt;
                LR   $1,A                ; 05b6 51&lt;br /&gt;
                LISL 3                   ; 05b7 6b&lt;br /&gt;
                LR   A,S              ; 05b8 4c&lt;br /&gt;
                AS   $2                  ; 05b9 c2&lt;br /&gt;
                LR   $2,A                ; 05ba 52&lt;br /&gt;
                LI   $55                 ; 05bb 20 55&lt;br /&gt;
                LR   $0,A                ; 05bd 50&lt;br /&gt;
                PI   drawchar            ; 05be 28 06 79&lt;br /&gt;
                LISU 4                   ; 05c1 64&lt;br /&gt;
                LISL 3                   ; 05c2 6b&lt;br /&gt;
                LIS  $0                  ; 05c3 70&lt;br /&gt;
                LR   S,A              ; 05c4 5c&lt;br /&gt;
                LISU 4                   ; 05c5 64&lt;br /&gt;
                LISL 0                   ; 05c6 68&lt;br /&gt;
                LR   A,S              ; 05c7 4c&lt;br /&gt;
                CI   $30                 ; 05c8 25 30&lt;br /&gt;
                BF   $1,A05d1            ; 05ca 91 06&lt;br /&gt;
                PI   A02b5               ; 05cc 28 02 b5&lt;br /&gt;
                BF   $0,A05d4            ; 05cf 90 04&lt;br /&gt;
                &lt;br /&gt;
A05d1:          PI   A02ac               ; 05d1 28 02 ac&lt;br /&gt;
A05d4:          LI   $ff                 ; 05d4 20 ff&lt;br /&gt;
                LR   $5,A                ; 05d6 55&lt;br /&gt;
                PI   delay               ; 05d7 28 00 8f&lt;br /&gt;
                LISU 3                   ; 05da 63&lt;br /&gt;
                LISL 7                   ; 05db 6f&lt;br /&gt;
                LR   A,S              ; 05dc 4c&lt;br /&gt;
                CI   $02                 ; 05dd 25 02&lt;br /&gt;
                BNZ  A05f0            ; 05df 94 10&lt;br /&gt;
                LISU 2                   ; 05e1 62&lt;br /&gt;
                LISL 6                   ; 05e2 6e&lt;br /&gt;
                LR   A,I             ; 05e3 4d&lt;br /&gt;
                CI   $15                 ; 05e4 25 15&lt;br /&gt;
                BT   4,A05ed             ; 05e6 84 06&lt;br /&gt;
                LR   A,S              ; 05e8 4c&lt;br /&gt;
                CI   $15                 ; 05e9 25 15&lt;br /&gt;
                BNZ  A05f0            ; 05eb 94 04&lt;br /&gt;
A05ed:          PI   prompts             ; 05ed 28 02 24&lt;br /&gt;
A05f0:          PI   A01a0               ; 05f0 28 01 a0&lt;br /&gt;
A05f3:          PI   popk                ; 05f3 28 01 1e&lt;br /&gt;
                PI   popk                ; 05f6 28 01 1e&lt;br /&gt;
                JMP  A0037               ; 05f9 29 00 37&lt;br /&gt;
                &lt;br /&gt;
A05fc:          LR   K,P                 ; 05fc 08&lt;br /&gt;
                PI   pushk               ; 05fd 28 01 07&lt;br /&gt;
                LR   A,S              ; 0600 4c&lt;br /&gt;
                COM                      ; 0601 18&lt;br /&gt;
                INC                      ; 0602 1f&lt;br /&gt;
                AS   $1                  ; 0603 c1&lt;br /&gt;
                BF   $1,A0610            ; 0604 91 0b&lt;br /&gt;
                LR   A,S              ; 0606 4c&lt;br /&gt;
                AI   $05                 ; 0607 24 05&lt;br /&gt;
                LR   $6,A                ; 0609 56&lt;br /&gt;
                LR   A,$1                ; 060a 41&lt;br /&gt;
                COM                      ; 060b 18&lt;br /&gt;
                INC                      ; 060c 1f&lt;br /&gt;
                AS   S                ; 060d cc&lt;br /&gt;
                BT   1,A0626             ; 060e 81 17&lt;br /&gt;
A0610:          LR   A,S              ; 0610 4c&lt;br /&gt;
                COM                      ; 0611 18&lt;br /&gt;
                INC                      ; 0612 1f&lt;br /&gt;
                LR   $6,A                ; 0613 56&lt;br /&gt;
                LR   A,$1                ; 0614 41&lt;br /&gt;
                AI   $02                 ; 0615 24 02&lt;br /&gt;
                AS   $6                  ; 0617 c6&lt;br /&gt;
                BF   $1,A064f            ; 0618 91 36&lt;br /&gt;
                LR   A,$1                ; 061a 41&lt;br /&gt;
                AI   $02                 ; 061b 24 02&lt;br /&gt;
                COM                      ; 061d 18&lt;br /&gt;
                INC                      ; 061e 1f&lt;br /&gt;
                LR   $6,A                ; 061f 56&lt;br /&gt;
                LR   A,S              ; 0620 4c&lt;br /&gt;
                AI   $05                 ; 0621 24 05&lt;br /&gt;
                AS   $6                  ; 0623 c6&lt;br /&gt;
                BF   $1,A064f            ; 0624 91 2a&lt;br /&gt;
A0626:          LR   A,I             ; 0626 4d&lt;br /&gt;
                LR   A,S              ; 0627 4c&lt;br /&gt;
                COM                      ; 0628 18&lt;br /&gt;
                INC                      ; 0629 1f&lt;br /&gt;
                LR   $6,A                ; 062a 56&lt;br /&gt;
                LR   A,$2                ; 062b 42&lt;br /&gt;
                AS   $6                  ; 062c c6&lt;br /&gt;
                BF   $1,A0639            ; 062d 91 0b&lt;br /&gt;
                LR   A,$2                ; 062f 42&lt;br /&gt;
                COM                      ; 0630 18&lt;br /&gt;
                INC                      ; 0631 1f&lt;br /&gt;
                LR   $6,A                ; 0632 56&lt;br /&gt;
                LR   A,S              ; 0633 4c&lt;br /&gt;
                AI   $05                 ; 0634 24 05&lt;br /&gt;
                AS   $6                  ; 0636 c6&lt;br /&gt;
                BT   1,A0655             ; 0637 81 1d&lt;br /&gt;
A0639:          LR   A,S              ; 0639 4c&lt;br /&gt;
                COM                      ; 063a 18&lt;br /&gt;
                INC                      ; 063b 1f&lt;br /&gt;
                LR   $6,A                ; 063c 56&lt;br /&gt;
                LR   A,$2                ; 063d 42&lt;br /&gt;
                AI   $02                 ; 063e 24 02&lt;br /&gt;
                AS   $6                  ; 0640 c6&lt;br /&gt;
                BF   $1,A064f            ; 0641 91 0d&lt;br /&gt;
                LR   A,$2                ; 0643 42&lt;br /&gt;
                AI   $02                 ; 0644 24 02&lt;br /&gt;
                COM                      ; 0646 18&lt;br /&gt;
                INC                      ; 0647 1f&lt;br /&gt;
                LR   $6,A                ; 0648 56&lt;br /&gt;
                LR   A,S              ; 0649 4c&lt;br /&gt;
                AI   $05                 ; 064a 24 05&lt;br /&gt;
                AS   $6                  ; 064c c6&lt;br /&gt;
                BT   1,A0655             ; 064d 81 07&lt;br /&gt;
A064f:          LIS  $0                  ; 064f 70&lt;br /&gt;
A0650:          LR   $0,A                ; 0650 50&lt;br /&gt;
                PI   popk                ; 0651 28 01 1e&lt;br /&gt;
                PK                       ; 0654 0c&lt;br /&gt;
                &lt;br /&gt;
A0655:          LIS  $1                  ; 0655 71&lt;br /&gt;
                BF   $0,A0650            ; 0656 90 f9&lt;br /&gt;
                &lt;br /&gt;
A0658:          DCI  A0674               ; 0658 2a 06 74&lt;br /&gt;
                LISU 4                   ; 065b 64&lt;br /&gt;
                LISL 5                   ; 065c 6d&lt;br /&gt;
                LR   A,S              ; 065d 4c&lt;br /&gt;
                NI   $20                 ; 065e 21 20&lt;br /&gt;
                BT   4,A0673             ; 0660 84 12&lt;br /&gt;
                LISU 6                   ; 0662 66&lt;br /&gt;
                LISL 7                   ; 0663 6f&lt;br /&gt;
                DS   S                ; 0664 3c&lt;br /&gt;
                BNZ  A0673            ; 0665 94 0d&lt;br /&gt;
                LISU 3                   ; 0667 63&lt;br /&gt;
                LISL 4                   ; 0668 6c&lt;br /&gt;
                LR   A,S              ; 0669 4c&lt;br /&gt;
                SR   1                   ; 066a 12&lt;br /&gt;
                ADC                      ; 066b 8e&lt;br /&gt;
                LM                       ; 066c 16&lt;br /&gt;
                LISU 6                   ; 066d 66&lt;br /&gt;
                LISL 7                   ; 066e 6f&lt;br /&gt;
                LR   I,A             ; 066f 5d&lt;br /&gt;
                LISU 7                   ; 0670 67&lt;br /&gt;
                LIS  $1                  ; 0671 71&lt;br /&gt;
                LR   S,A              ; 0672 5c&lt;br /&gt;
A0673:          POP                      ; 0673 1c&lt;br /&gt;
&lt;br /&gt;
A0674:			db $09,$0d,$15,$1c,$1c&lt;br /&gt;
                &lt;br /&gt;
drawchar:       DCI  bitmaps             ; $679&lt;br /&gt;
                LR   K,P                 ; 067c 08&lt;br /&gt;
                PI   pushk               ; 067d 28 01 07&lt;br /&gt;
                LR   A,IS                ; 0680 0a&lt;br /&gt;
                LISU 6                   ; 0681 66&lt;br /&gt;
                LISL 4                   ; 0682 6c&lt;br /&gt;
                LR   I,A             ; 0683 5d&lt;br /&gt;
                LR   A,$3                ; 0684 43&lt;br /&gt;
                LR   I,A             ; 0685 5d&lt;br /&gt;
                LR   A,$4                ; 0686 44&lt;br /&gt;
                LR   S,A              ; 0687 5c&lt;br /&gt;
                LIS  $5                  ; 0688 75&lt;br /&gt;
                LR   $4,A                ; 0689 54&lt;br /&gt;
                LI   $c0                 ; 068a 20 c0&lt;br /&gt;
                NS   $0                  ; 068c f0&lt;br /&gt;
                LR   $3,A                ; 068d 53&lt;br /&gt;
                LI   $3f                 ; 068e 20 3f&lt;br /&gt;
                NS   $0                  ; 0690 f0&lt;br /&gt;
                LR   $0,A                ; 0691 50&lt;br /&gt;
                CI   $15                 ; 0692 25 15&lt;br /&gt;
                BNZ  A06b4            ; 0694 94 1f&lt;br /&gt;
                LISU 4                   ; 0696 64&lt;br /&gt;
                LISL 0                   ; 0697 68&lt;br /&gt;
                LIS  $2                  ; 0698 72&lt;br /&gt;
                LR   $4,A                ; 0699 54&lt;br /&gt;
                PI   A06ec               ; 069a 28 06 ec&lt;br /&gt;
                LI   $15                 ; 069d 20 15&lt;br /&gt;
                LR   $0,A                ; 069f 50&lt;br /&gt;
A06a0:          PI   A0718               ; 06a0 28 07 18&lt;br /&gt;
                LR   A,$1                ; 06a3 41&lt;br /&gt;
                AI   $06                 ; 06a4 24 06&lt;br /&gt;
                LR   $1,A                ; 06a6 51&lt;br /&gt;
                LISU 6                   ; 06a7 66&lt;br /&gt;
                LISL 5                   ; 06a8 6d&lt;br /&gt;
                LR   A,I             ; 06a9 4d&lt;br /&gt;
                LR   $3,A                ; 06aa 53&lt;br /&gt;
                LR   A,S              ; 06ab 4c&lt;br /&gt;
                LR   $4,A                ; 06ac 54&lt;br /&gt;
                LISL 4                   ; 06ad 6c&lt;br /&gt;
                LR   A,S              ; 06ae 4c&lt;br /&gt;
                LR   IS,A                ; 06af 0b&lt;br /&gt;
                PI   popk                ; 06b0 28 01 1e&lt;br /&gt;
                PK                       ; 06b3 0c&lt;br /&gt;
                &lt;br /&gt;
A06b4:          CI   $30                 ; 06b4 25 30&lt;br /&gt;
                BNZ  A06c2            ; 06b6 94 0b&lt;br /&gt;
                LISU 2                   ; 06b8 62&lt;br /&gt;
                LISL 1                   ; 06b9 69&lt;br /&gt;
                PI   A06ec               ; 06ba 28 06 ec&lt;br /&gt;
                LISL 0                   ; 06bd 68&lt;br /&gt;
                LR   A,I             ; 06be 4d&lt;br /&gt;
                LR   $0,A                ; 06bf 50&lt;br /&gt;
                BF   $0,A06a0            ; 06c0 90 df&lt;br /&gt;
                &lt;br /&gt;
A06c2:          CI   $31                 ; 06c2 25 31&lt;br /&gt;
                BNZ  A06d0            ; 06c4 94 0b&lt;br /&gt;
                LISU 2                   ; 06c6 62&lt;br /&gt;
                LISL 4                   ; 06c7 6c&lt;br /&gt;
                PI   A06ec               ; 06c8 28 06 ec&lt;br /&gt;
                LISL 3                   ; 06cb 6b&lt;br /&gt;
                LR   A,I             ; 06cc 4d&lt;br /&gt;
                LR   $0,A                ; 06cd 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ce 90 d1&lt;br /&gt;
                &lt;br /&gt;
A06d0:          CI   $32                 ; 06d0 25 32&lt;br /&gt;
                BNZ  A06de            ; 06d2 94 0b&lt;br /&gt;
                LISU 3                   ; 06d4 63&lt;br /&gt;
                LISL 0                   ; 06d5 68&lt;br /&gt;
                PI   A06ec               ; 06d6 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06d9 20 14&lt;br /&gt;
                LR   $0,A                ; 06db 50&lt;br /&gt;
                BF   $0,A06a0            ; 06dc 90 c3&lt;br /&gt;
                &lt;br /&gt;
A06de:          CI   $33                 ; 06de 25 33&lt;br /&gt;
                BNZ  A06a0            ; 06e0 94 bf&lt;br /&gt;
                LISU 3                   ; 06e2 63&lt;br /&gt;
                LISL 2                   ; 06e3 6a&lt;br /&gt;
                PI   A06ec               ; 06e4 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06e7 20 14&lt;br /&gt;
                LR   $0,A                ; 06e9 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ea 90 b5&lt;br /&gt;
                &lt;br /&gt;
A06ec:          LR   K,P                 ; 06ec 08&lt;br /&gt;
                PI   pushk               ; 06ed 28 01 07&lt;br /&gt;
                LR   A,S              ; 06f0 4c&lt;br /&gt;
                XS   $1                  ; 06f1 e1&lt;br /&gt;
                BNZ  A06f9            ; 06f2 94 06&lt;br /&gt;
                LR   A,I             ; 06f4 4d&lt;br /&gt;
                LR   A,D             ; 06f5 4e&lt;br /&gt;
                XS   $2                  ; 06f6 e2&lt;br /&gt;
                BT   4,A0714             ; 06f7 84 1c&lt;br /&gt;
A06f9:          LR   A,$1                ; 06f9 41&lt;br /&gt;
                LR   $5,A                ; 06fa 55&lt;br /&gt;
                LR   A,$2                ; 06fb 42&lt;br /&gt;
                LR   $6,A                ; 06fc 56&lt;br /&gt;
                LR   A,S              ; 06fd 4c&lt;br /&gt;
                LR   $1,A                ; 06fe 51&lt;br /&gt;
                LR   A,$5                ; 06ff 45&lt;br /&gt;
                LR   I,A             ; 0700 5d&lt;br /&gt;
                LR   A,S              ; 0701 4c&lt;br /&gt;
                LR   $2,A                ; 0702 52&lt;br /&gt;
                LR   A,$6                ; 0703 46&lt;br /&gt;
                LR   D,A             ; 0704 5e&lt;br /&gt;
                LIS  $d                  ; 0705 7d&lt;br /&gt;
                LR   $0,A                ; 0706 50&lt;br /&gt;
                DCI  bitmaps             ; 0707 2a 07 67&lt;br /&gt;
                PI   A0718               ; 070a 28 07 18&lt;br /&gt;
                DCI  bitmaps             ; 070d 2a 07 67&lt;br /&gt;
                LR   A,I             ; 0710 4d&lt;br /&gt;
                LR   $1,A                ; 0711 51&lt;br /&gt;
                LR   A,D             ; 0712 4e&lt;br /&gt;
                LR   $2,A                ; 0713 52&lt;br /&gt;
A0714:          PI   popk                ; 0714 28 01 1e&lt;br /&gt;
                PK                       ; 0717 0c&lt;br /&gt;
                &lt;br /&gt;
A0718:          LR   A,$0                ; 0718 40&lt;br /&gt;
                SL   1                   ; 0719 13&lt;br /&gt;
                ADC                      ; 071a 8e&lt;br /&gt;
                AS   $0                  ; 071b c0&lt;br /&gt;
                ADC                      ; 071c 8e&lt;br /&gt;
                LI   $40                 ; 071d 20 40&lt;br /&gt;
                OUTS 0                   ; 071f b0&lt;br /&gt;
                LR   A,$4                ; 0720 44&lt;br /&gt;
                LR   $6,A                ; 0721 56&lt;br /&gt;
A0722:          LR   $5,A                ; 0722 55&lt;br /&gt;
                LM                       ; 0723 16&lt;br /&gt;
                LR   $7,A                ; 0724 57&lt;br /&gt;
                LR   A,$2                ; 0725 42&lt;br /&gt;
                AI   $00                 ; 0726 24 00&lt;br /&gt;
                COM                      ; 0728 18&lt;br /&gt;
                NI   $3f                 ; 0729 21 3f&lt;br /&gt;
                LR   $8,A                ; 072b 58&lt;br /&gt;
                INS  5                   ; 072c a5&lt;br /&gt;
                NI   $c0                 ; 072d 21 c0&lt;br /&gt;
                AS   $8                  ; 072f c8&lt;br /&gt;
                OUTS 5                   ; 0730 b5&lt;br /&gt;
A0731:          LR   A,$1                ; 0731 41&lt;br /&gt;
                AI   $fc                 ; 0732 24 fc&lt;br /&gt;
                COM                      ; 0734 18&lt;br /&gt;
                OUTS 4                   ; 0735 b4&lt;br /&gt;
                LR   A,$7                ; 0736 47&lt;br /&gt;
                OI   $00                 ; 0737 22 00&lt;br /&gt;
                LR   A,$3                ; 0739 43&lt;br /&gt;
                BF   $1,A073d            ; 073a 91 02&lt;br /&gt;
                LIS  $0                  ; 073c 70&lt;br /&gt;
A073d:          COM                      ; 073d 18&lt;br /&gt;
                OUTS 1                   ; 073e b1&lt;br /&gt;
                LR   A,$7                ; 073f 47&lt;br /&gt;
                SL   1                   ; 0740 13&lt;br /&gt;
                LR   $7,A                ; 0741 57&lt;br /&gt;
                LI   $60                 ; 0742 20 60&lt;br /&gt;
                OUTS 0                   ; 0744 b0&lt;br /&gt;
                LI   $50                 ; 0745 20 50 - bit 4 is however n/c, so $40 can be used&lt;br /&gt;
                OUTS 0                   ; 0747 b0&lt;br /&gt;
                LR   A,$1                ; 0748 41&lt;br /&gt;
                INC                      ; 0749 1f&lt;br /&gt;
                LR   $1,A                ; 074a 51&lt;br /&gt;
&lt;br /&gt;
                LIS  $4                  ; 074b 74  after pixel delay&lt;br /&gt;
                LR   $8,A                ; 074c 58&lt;br /&gt;
A074d:          DS   $8                  ; 074d 38&lt;br /&gt;
                BNZ  A074d               ; 074e 94 fe&lt;br /&gt;
&lt;br /&gt;
                DS   $5                  ; 0750 35&lt;br /&gt;
                BNZ  A0731               ; 0751 94 df&lt;br /&gt;
                LR   A,$2                ; 0753 42&lt;br /&gt;
                INC                      ; 0754 1f&lt;br /&gt;
                LR   $2,A                ; 0755 52&lt;br /&gt;
                LR   A,$4                ; 0756 44&lt;br /&gt;
                COM                      ; 0757 18&lt;br /&gt;
                INC                      ; 0758 1f&lt;br /&gt;
                AS   $1                  ; 0759 c1&lt;br /&gt;
                LR   $1,A                ; 075a 51&lt;br /&gt;
                LR   A,$4                ; 075b 44&lt;br /&gt;
                DS   $6                  ; 075c 36&lt;br /&gt;
                BNZ  A0722            ; 075d 94 c4&lt;br /&gt;
                LR   A,$4                ; 075f 44&lt;br /&gt;
                COM                      ; 0760 18&lt;br /&gt;
                INC                      ; 0761 1f&lt;br /&gt;
                AS   $2                  ; 0762 c2&lt;br /&gt;
                LR   $2,A                ; 0763 52&lt;br /&gt;
                LIS  $0                  ; 0764 70&lt;br /&gt;
                OUTS 0                   ; 0765 b0&lt;br /&gt;
                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
&lt;br /&gt;
			                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
	; 0 $0767&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 1 $076C&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; 2 $0771&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 3 $0776&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 4 $077B&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; 5 $0780&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 6 $0785&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 7 $078A&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; 8 $078F&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 9 $0794&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; G $0799&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%10011000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; ? $079E&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; T $07A3&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; (space) $07A8&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; M $07AD&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
&lt;br /&gt;
	; X $07B2&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
&lt;br /&gt;
	; (block) $07B7&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
&lt;br /&gt;
	; : $07BC&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; - $07C1&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; || (center) $07C6&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
&lt;br /&gt;
	; || (left) $07CB&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
&lt;br /&gt;
	; ' $07D0&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players $07D5&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 1 $07DA&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 2 $07DF&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 3 $07E4&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 4 $07E9&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 5 $07EE&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 6 $07F3&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 7 $07F8&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; $07FD&lt;br /&gt;
	.byte	0,0,0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=772</id>
		<title>Disassembly:Bios</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=772"/>
				<updated>2026-08-03T20:33:13Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is the disassembly of the [[Channel F]] [[bios]] made and partially annotated by Sean Riddle. This code is copyright &amp;amp;copy; 1976 Fairchild Semiconductor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cartridgeStart = $0800&lt;br /&gt;
cartridgeEntry = $0802&lt;br /&gt;
&lt;br /&gt;
;=======;&lt;br /&gt;
; Reset ;&lt;br /&gt;
;=======;&lt;br /&gt;
&lt;br /&gt;
; this is the code executed when the system first&lt;br /&gt;
; starts up. it clears the registers, sets the K stack&lt;br /&gt;
; pointer, and checks to see if a cartridge is inserted&lt;br /&gt;
&lt;br /&gt;
reset:&lt;br /&gt;
	clr&lt;br /&gt;
reset.clrRegs:				; clear all the registers to 0&lt;br /&gt;
	lr	IS, A			; set the ISAR&lt;br /&gt;
	clr&lt;br /&gt;
	lr	S, A			; clear the current register&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc				; increase the ISAR&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bnz	reset.clrRegs		; if we're not finished, loop&lt;br /&gt;
&lt;br /&gt;
	; set K stack pointer (see pushk/popk)&lt;br /&gt;
	lisu	7			; K stack pointer (r59)&lt;br /&gt;
	lisl	3&lt;br /&gt;
	li	$28&lt;br /&gt;
	lr	S, A			; pointer is set to r40&lt;br /&gt;
&lt;br /&gt;
	; check to see if a cartridge is inserted&lt;br /&gt;
	dci	cartridgeStart&lt;br /&gt;
	lm&lt;br /&gt;
	ci	$55			; compare the first cartridge byte to $55&lt;br /&gt;
	bnz	noCart			; if it's false, there's no valid cartridge inserted&lt;br /&gt;
	jmp	cartridgeEntry		; otherwise, play the cartridge&lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; No Cartridge ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; no cartridge is inserted, so play the internal games&lt;br /&gt;
                &lt;br /&gt;
noCart:&lt;br /&gt;
	; clear screen to gray&lt;br /&gt;
	li	$d6&lt;br /&gt;
	lr	3, A&lt;br /&gt;
	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
A0020:          LI   $4a                 ; blue G&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; 0026 63&lt;br /&gt;
                LISL 4                   ; 0027 6c&lt;br /&gt;
                LIS  $4                  ; 0028 74&lt;br /&gt;
                LR   S,A              ; 0029 5c&lt;br /&gt;
                LR   A,$4                ; 002a 44&lt;br /&gt;
                LISL 7                   ; 002b 6f&lt;br /&gt;
                LR   S,A              ; 002c 5c&lt;br /&gt;
                CI   $03                 ; 002d 25 03&lt;br /&gt;
                BF   $1,A0020            ; 002f 91 f0&lt;br /&gt;
                PI   A0135               ; 0031 28 01 35&lt;br /&gt;
                PI   prompts             ; 0034 28 02 24&lt;br /&gt;
A0037:          PI   A0088               ; 0037 28 00 88&lt;br /&gt;
                PI   A02da               ; 003a 28 02 da&lt;br /&gt;
                PI   A0088               ; 003d 28 00 88&lt;br /&gt;
                PI   A02e8               ; 0040 28 02 e8&lt;br /&gt;
                PI   A0088               ; 0043 28 00 88&lt;br /&gt;
                NI   $04                 ; 0046 21 04&lt;br /&gt;
                BT   4,A0050             ; 0048 84 07&lt;br /&gt;
                PI   A038c               ; 004a 28 03 8c&lt;br /&gt;
                PI   A0399               ; 004d 28 03 99&lt;br /&gt;
A0050:          PI   A0658               ; 0050 28 06 58&lt;br /&gt;
                PI   A0467               ; 0053 28 04 67&lt;br /&gt;
                PI   A03d3               ; 0056 28 03 d3&lt;br /&gt;
                LISU 3                   ; 0059 63&lt;br /&gt;
                LISL 7                   ; 005a 6f&lt;br /&gt;
                LR   A,S              ; 005b 4c&lt;br /&gt;
                CI   $02                 ; 005c 25 02&lt;br /&gt;
                BNZ  A0063            ; 005e 94 04&lt;br /&gt;
                PI   A0447               ; 0060 28 04 47&lt;br /&gt;
A0063:          LISU 4                   ; 0063 64&lt;br /&gt;
                LISL 7                   ; 0064 6f&lt;br /&gt;
                LR   A,S              ; 0065 4c&lt;br /&gt;
                INC                      ; 0066 1f&lt;br /&gt;
                LR   S,A              ; 0067 5c&lt;br /&gt;
                LIS  $0                  ; 0068 70&lt;br /&gt;
                OUTS 0                   ; 0069 b0&lt;br /&gt;
                INS  0                   ; read buttons&lt;br /&gt;
                NI   $04                 ; hold button hit?&lt;br /&gt;
                BNZ  A0072            ; nope&lt;br /&gt;
                PI   prompts             ; yes, print S? and wait&lt;br /&gt;
A0072:          LISU 3                   ; 0072 63&lt;br /&gt;
                LISL 4                   ; 0073 6c&lt;br /&gt;
                DCI  speeds              ; 0074 2a 00 83&lt;br /&gt;
                LR   A,S              ; 0077 4c&lt;br /&gt;
                SR   1                   ; 0078 12&lt;br /&gt;
                ADC                      ; 0079 8e&lt;br /&gt;
                LM                       ; 007a 16&lt;br /&gt;
                LR   $5,A                ; 007b 55&lt;br /&gt;
                PI   delay               ; 007c 28 00 8f&lt;br /&gt;
                LIS  $0                  ; turn off sound&lt;br /&gt;
                OUTS 5                   ; 0080 b5&lt;br /&gt;
                BF   $0,A0037            ; 0081 90 b5&lt;br /&gt;
                &lt;br /&gt;
speeds:			db	$22,$13,$07,$03,$03		; mode speeds&lt;br /&gt;
&lt;br /&gt;
A0088:          LISU 4                   ;&lt;br /&gt;
                LISL 6                   ; &lt;br /&gt;
                LR   A,D             ; &lt;br /&gt;
                LR   $1,A                ; r1=r38&lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                LR   $0,A                ; r0=r37&lt;br /&gt;
                POP                      ; &lt;br /&gt;
                &lt;br /&gt;
delay:          LI   $ff                 ;$008f - parameter in r5, uses r6&lt;br /&gt;
                LR   $6,A                ;&lt;br /&gt;
dlyloop:        DS   $6                  ;&lt;br /&gt;
                BNZ  dlyloop          ;&lt;br /&gt;
                DS   $5                  ;&lt;br /&gt;
                BNZ  delay            ;&lt;br /&gt;
                POP                      ;&lt;br /&gt;
                &lt;br /&gt;
prompt:         LR   K,P                 ; $0099 - prints char r0 at row r1, col r2, waits for button&lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                LI   $8b                 ; r0=8b	red ?&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                PI   readbuts            ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                LIS  $d                  ; r0=$d&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   popk                ; &lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
readbuts:       INS  0                   ; $00c1 - read buttons&lt;br /&gt;
                COM                      ; &lt;br /&gt;
                NI   $0f                 ; &lt;br /&gt;
                BT   4,readbuts          ; &lt;br /&gt;
                LR   $4,A                ; &lt;br /&gt;
                LI   $ff                 ; &lt;br /&gt;
                LR   $5,A                ; &lt;br /&gt;
debounce:       DS   $5                  ; &lt;br /&gt;
                BNZ  debounce         ; &lt;br /&gt;
                BF   $0,delay            ; &lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; Clear Screen ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; all pixels are written to background, palette is set in r3&lt;br /&gt;
; clears screen using the drawchar routine, one character at the time&lt;br /&gt;
; it covers the entire VRAM area (0,0) to (127,63), writes line 0 twice&lt;br /&gt;
; NOTE:&lt;br /&gt;
; it also uses r31 (O37), b0 and b7 needs to be 0 or you'll get a black bar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; load register 3 (lr 3,A) with color value&lt;br /&gt;
; lt.grey:  $D4, $D6, $DC or $DE&lt;br /&gt;
; lt.green: $C0, $C2, $C8 or $CA&lt;br /&gt;
; lt.blue:  $91, $93, $99 or $9B&lt;br /&gt;
; black/w:  $21, $23, $29 or $2B&lt;br /&gt;
&lt;br /&gt;
; Code to use the routine (check r31 as well):&lt;br /&gt;
;	li	{color code}&lt;br /&gt;
;	lr	3, A&lt;br /&gt;
;	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
clrscrn:                                    ; $00D0&lt;br /&gt;
	; save return address&lt;br /&gt;
	lr	K, P&lt;br /&gt;
	pi	pushk&lt;br /&gt;
&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	2, A&lt;br /&gt;
clrscrn.loop2:&lt;br /&gt;
	li	$7e&lt;br /&gt;
	lr	1, A&lt;br /&gt;
	lr	A, 3&lt;br /&gt;
	oi	10&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar&lt;br /&gt;
	lis	5			; this is LIS 4 in other BIOS!!!&lt;br /&gt;
	lr	1, A&lt;br /&gt;
clrscrn.loop1:&lt;br /&gt;
	lis	13&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar	&lt;br /&gt;
	ds	1&lt;br /&gt;
	lr	A, 1&lt;br /&gt;
	ci	$70&lt;br /&gt;
	bc	clrscrn.loop1&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ai	5&lt;br /&gt;
	lr	2, A&lt;br /&gt;
	lisu	3&lt;br /&gt;
	lisl	7&lt;br /&gt;
	lis	3&lt;br /&gt;
	ns	S&lt;br /&gt;
	bz	A00fe&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$30&lt;br /&gt;
	bc	clrscrn.loop2&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	3, A&lt;br /&gt;
A00fe:&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bc	clrscrn.loop2&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pi	popk&lt;br /&gt;
	pk&lt;br /&gt;
&lt;br /&gt;
;==================;&lt;br /&gt;
; Register K Stack ;&lt;br /&gt;
;==================;&lt;br /&gt;
&lt;br /&gt;
; the K stack is an emulated stack using the register r59&lt;br /&gt;
; as a stack pointer, which holds the register number for&lt;br /&gt;
; the top of the stack, which first points at r40. when&lt;br /&gt;
; pushk is called, K is pushed to the first two registers&lt;br /&gt;
; on the stack, and the pointer is increased.&lt;br /&gt;
;&lt;br /&gt;
; the K stack can hold 9 copies of K (r40-58) before &lt;br /&gt;
; the stack pointer itself is overwritten (r59)&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Push K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; pushes register K (r12-13) onto a stack using r59 as&lt;br /&gt;
; the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
&lt;br /&gt;
pushk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; get the top of the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3			; r59, stack pointer&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	IS, A			; load the referenced register&lt;br /&gt;
	; push K onto the stack&lt;br /&gt;
	lr	A, Ku&lt;br /&gt;
	lr	S, A			; push high byte of K&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR (they could've used lr I, A)&lt;br /&gt;
	lr	A, Kl&lt;br /&gt;
	lr	S, A			; push low byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR to the top of the stack&lt;br /&gt;
	lr	A, IS			; redundantly, get back the register number&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Pop K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; retrieves a 16-bit value from the K stack and&lt;br /&gt;
; stores it in K, using r59 as the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
                &lt;br /&gt;
popk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; retrieve K from the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	A, S			; load the stack pointer&lt;br /&gt;
	ai	$ff			; &amp;quot;subtract&amp;quot; 1 to get the first register on the stack&lt;br /&gt;
	lr	IS, A			; set the ISAR to this register&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Kl, A			; load lower byte of K &lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	ai	$ff			; get previous register (they could've used lr A, D)&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Ku, A			; load upper byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;===================;&lt;br /&gt;
                &lt;br /&gt;
A0135:          LR   K,P                 ; 0135 08&lt;br /&gt;
                PI   pushk               ; 0136 28 01 07&lt;br /&gt;
                LISU 3                   ; 0139 63&lt;br /&gt;
                LISL 7                   ; 013a 6f&lt;br /&gt;
                LR   A,S              ; 013b 4c&lt;br /&gt;
                LISU 4                   ; 013c 64&lt;br /&gt;
                LISL 5                   ; 013d 6d&lt;br /&gt;
                CI   $01                 ; 013e 25 01&lt;br /&gt;
                BT   4,A014f             ; 0140 84 0e&lt;br /&gt;
                LI   $53                 ; 0142 20 53&lt;br /&gt;
                LR   I,A             ; 0144 5d&lt;br /&gt;
                LIS  $c                  ; 0145 7c	!!! this is 7F in other BIOS&lt;br /&gt;
                LR   D,A             ; 0146 5e&lt;br /&gt;
                LI   $d0                 ; 0147 20 d0&lt;br /&gt;
                LR   $3,A                ; 0149 53&lt;br /&gt;
                PI   clrscrn             ; 014a 28 00 d0&lt;br /&gt;
                BF   $0,A017d            ; 014d 90 2f&lt;br /&gt;
                &lt;br /&gt;
A014f:          LI   $17                 ; 014f 20 17&lt;br /&gt;
                LR   I,A             ; 0151 5d&lt;br /&gt;
                LI   $ff                 ; 0152 20 ff&lt;br /&gt;
                LR   S,A              ; 0154 5c&lt;br /&gt;
                LI   $d6                 ; 0155 20 d6&lt;br /&gt;
                LR   $3,A                ; 0157 53&lt;br /&gt;
                PI   clrscrn             ; 0158 28 00 d0&lt;br /&gt;
                LI   $11                 ; 015b 20 11&lt;br /&gt;
                LR   $1,A                ; 015d 51&lt;br /&gt;
                LIS  $8                  ; 015e 78&lt;br /&gt;
                LR   $2,A                ; 015f 52&lt;br /&gt;
                PI   A01f6               ; 0160 28 01 f6&lt;br /&gt;
                LI   $11                 ; 0163 20 11&lt;br /&gt;
                LR   $1,A                ; 0165 51&lt;br /&gt;
                LI   $25                 ; 0166 20 25&lt;br /&gt;
                LR   $2,A                ; 0168 52&lt;br /&gt;
                PI   A01f6               ; 0169 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 016c 20 5c&lt;br /&gt;
                LR   $1,A                ; 016e 51&lt;br /&gt;
                LIS  $8                  ; 016f 78&lt;br /&gt;
                LR   $2,A                ; 0170 52&lt;br /&gt;
                PI   A01f6               ; 0171 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 0174 20 5c&lt;br /&gt;
                LR   $1,A                ; 0176 51&lt;br /&gt;
                LI   $25                 ; 0177 20 25&lt;br /&gt;
                LR   $2,A                ; 0179 52&lt;br /&gt;
                PI   A01f6               ; 017a 28 01 f6&lt;br /&gt;
A017d:          LI   $14                 ; 017d 20 14&lt;br /&gt;
                LR   $1,A                ; 017f 51&lt;br /&gt;
                LIS  $6                  ; 0180 76&lt;br /&gt;
                LR   $2,A                ; 0181 52&lt;br /&gt;
                PI   A020e               ; 0182 28 02 0e&lt;br /&gt;
                LI   $14                 ; 0185 20 14&lt;br /&gt;
                LR   $1,A                ; 0187 51&lt;br /&gt;
                LI   $2e                 ; 0188 20 2e&lt;br /&gt;
                LR   $2,A                ; 018a 52&lt;br /&gt;
                PI   A020e               ; 018b 28 02 0e&lt;br /&gt;
                LI   $99                 ; 018e 20 99&lt;br /&gt;
                LISU 2                   ; 0190 62&lt;br /&gt;
                LISL 6                   ; 0191 6e&lt;br /&gt;
                LR   I,A             ; 0192 5d&lt;br /&gt;
                LR   S,A              ; 0193 5c&lt;br /&gt;
                PI   A02ac               ; 0194 28 02 ac&lt;br /&gt;
                PI   A02b5               ; 0197 28 02 b5&lt;br /&gt;
                LISU 4                   ; 019a 64&lt;br /&gt;
                LISL 2                   ; 019b 6a&lt;br /&gt;
                LIS  $2                  ; 019c 72&lt;br /&gt;
                LR   S,A              ; 019d 5c&lt;br /&gt;
                BF   $0,A01a4            ; 019e 90 05&lt;br /&gt;
                &lt;br /&gt;
A01a0:          LR   K,P                 ; 01a0 08&lt;br /&gt;
                PI   pushk               ; 01a1 28 01 07&lt;br /&gt;
A01a4:          LISU 2                   ; 01a4 62&lt;br /&gt;
                LISL 0                   ; 01a5 68&lt;br /&gt;
                LI   $17                 ; 01a6 20 17&lt;br /&gt;
                LR   S,A              ; 01a8 5c&lt;br /&gt;
                LISL 3                   ; 01a9 6b&lt;br /&gt;
                LR   S,A              ; 01aa 5c&lt;br /&gt;
                LI   $1c                 ; 01ab 20 1c&lt;br /&gt;
                LR   $1,A                ; 01ad 51&lt;br /&gt;
                LI   $1a                 ; 01ae 20 1a&lt;br /&gt;
                LR   $2,A                ; 01b0 52&lt;br /&gt;
                LI   $b0                 ; 01b1 20 b0&lt;br /&gt;
                LR   $0,A                ; 01b3 50&lt;br /&gt;
                PI   drawchar            ; 01b4 28 06 79&lt;br /&gt;
                LI   $38                 ; 01b7 20 38&lt;br /&gt;
                LR   $1,A                ; 01b9 51&lt;br /&gt;
                LI   $1b                 ; 01ba 20 1b&lt;br /&gt;
                LR   $2,A                ; 01bc 52&lt;br /&gt;
                LI   $55                 ; 01bd 20 55&lt;br /&gt;
                LR   $0,A                ; 01bf 50&lt;br /&gt;
                PI   drawchar            ; 01c0 28 06 79&lt;br /&gt;
                LI   $52                 ; 01c3 20 52&lt;br /&gt;
                LR   $1,A                ; 01c5 51&lt;br /&gt;
                LI   $1a                 ; 01c6 20 1a&lt;br /&gt;
                LR   $2,A                ; 01c8 52&lt;br /&gt;
                LI   $71                 ; 01c9 20 71&lt;br /&gt;
                LR   $0,A                ; 01cb 50&lt;br /&gt;
                PI   drawchar            ; 01cc 28 06 79&lt;br /&gt;
                LISU 4                   ; 01cf 64&lt;br /&gt;
                LISL 5                   ; 01d0 6d&lt;br /&gt;
                LR   A,S              ; 01d1 4c&lt;br /&gt;
                SL   1                   ; 01d2 13&lt;br /&gt;
                BT   1,A01da             ; 01d3 81 06&lt;br /&gt;
                PI   A0447               ; 01d5 28 04 47&lt;br /&gt;
                BF   $0,A01f2            ; 01d8 90 19&lt;br /&gt;
                &lt;br /&gt;
A01da:          LI   $11                 ; 01da 20 11&lt;br /&gt;
                LR   $1,A                ; 01dc 51&lt;br /&gt;
                LI   $1a                 ; 01dd 20 1a&lt;br /&gt;
                LR   $2,A                ; 01df 52&lt;br /&gt;
                LI   $b2                 ; 01e0 20 b2&lt;br /&gt;
                LR   $0,A                ; 01e2 50&lt;br /&gt;
                PI   drawchar            ; 01e3 28 06 79&lt;br /&gt;
                LI   $5e                 ; 01e6 20 5e&lt;br /&gt;
                LR   $1,A                ; 01e8 51&lt;br /&gt;
                LI   $1a                 ; 01e9 20 1a&lt;br /&gt;
                LR   $2,A                ; 01eb 52&lt;br /&gt;
                LI   $73                 ; 01ec 20 73&lt;br /&gt;
                LR   $0,A                ; 01ee 50&lt;br /&gt;
                PI   drawchar            ; 01ef 28 06 79&lt;br /&gt;
A01f2:          PI   popk                ; 01f2 28 01 1e&lt;br /&gt;
                PK                       ; 01f5 0c&lt;br /&gt;
                &lt;br /&gt;
A01f6:          LR   K,P                 ; 01f6 08&lt;br /&gt;
                PI   pushk               ; 01f7 28 01 07&lt;br /&gt;
                LIS  $8                  ; 01fa 78&lt;br /&gt;
                LR   $3,A                ; 01fb 53&lt;br /&gt;
A01fc:          LI   $81                 ; 01fc 20 81&lt;br /&gt;
                LR   $0,A                ; 01fe 50&lt;br /&gt;
                PI   drawchar            ; 01ff 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0202 41&lt;br /&gt;
                AI   $fa                 ; 0203 24 fa&lt;br /&gt;
                LR   $1,A                ; 0205 51&lt;br /&gt;
                LR   A,$2                ; 0206 42&lt;br /&gt;
                INC                      ; 0207 1f&lt;br /&gt;
                LR   $2,A                ; 0208 52&lt;br /&gt;
                DS   $3                  ; 0209 33&lt;br /&gt;
                BNZ  A01fc            ; 020a 94 f1&lt;br /&gt;
                BF   $0,A01f2            ; 020c 90 e5&lt;br /&gt;
                &lt;br /&gt;
A020e:          LR   K,P                 ; 020e 08&lt;br /&gt;
                PI   pushk               ; 020f 28 01 07&lt;br /&gt;
                LI   $46                 ; 0212 20 46&lt;br /&gt;
                LR   $3,A                ; 0214 53&lt;br /&gt;
A0215:          LI   $92                 ; 0215 20 92&lt;br /&gt;
                LR   $0,A                ; 0217 50&lt;br /&gt;
                PI   drawchar            ; 0218 28 06 79&lt;br /&gt;
                LR   A,$1                ; 021b 41&lt;br /&gt;
                AI   $fb                 ; 021c 24 fb&lt;br /&gt;
                LR   $1,A                ; 021e 51&lt;br /&gt;
                DS   $3                  ; 021f 33&lt;br /&gt;
                BNZ  A0215            ; 0220 94 f4&lt;br /&gt;
                BF   $0,A01f2            ; 0222 90 cf&lt;br /&gt;
                &lt;br /&gt;
prompts:        LR   K,P                 ; &lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
prompts2:       LI   $85                 ; red 5 (S)&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                CI   $08                 ; is it button 4, Start?&lt;br /&gt;
                BNZ  notbut4          ; no, check others&lt;br /&gt;
                PI   popk                ; yes, return&lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
notbut4:        CI   $02                 ; is it button 2, Mode?&lt;br /&gt;
                BNZ  notbut2          ; &lt;br /&gt;
                LI   $8e                 ; red M&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; &lt;br /&gt;
                LISL 4                   ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
notbut2:        CI   $01                 ; is it button 1, Time?&lt;br /&gt;
                BNZ  prompts2         ; &lt;br /&gt;
                LI   $8c                 ; red T&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                DCI  minutes             ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                SR   1                   ; &lt;br /&gt;
                ADC                      ; &lt;br /&gt;
                LM                       ; &lt;br /&gt;
                LISU 7                   ; &lt;br /&gt;
                LISL 1                   ; &lt;br /&gt;
                LR   I,A             ; &lt;br /&gt;
                LIS  $0                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                LISU 6                   ; &lt;br /&gt;
                LISL 7                   ; &lt;br /&gt;
                LIS  $f                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                PI   A0271               ; &lt;br /&gt;
                LISU 4                   ; &lt;br /&gt;
                LISL 5                   ; &lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                OI   $20                 ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
minutes:		db $02,$05,$10,$10,$20		; minutes of play&lt;br /&gt;
                &lt;br /&gt;
A0271:			LR   K,P                 ; 0271 08&lt;br /&gt;
                PI   pushk               ; 0272 28 01 07&lt;br /&gt;
                LISU 7                   ; 0275 67&lt;br /&gt;
                LISL 2                   ; 0276 6a&lt;br /&gt;
                LR   A,D             ; 0277 4e&lt;br /&gt;
                LR   $4,A                ; 0278 54&lt;br /&gt;
                LR   A,S              ; 0279 4c&lt;br /&gt;
                LR   $3,A                ; 027a 53&lt;br /&gt;
                SR   4                   ; 027b 14&lt;br /&gt;
                OI   $80                 ; 027c 22 80&lt;br /&gt;
                LR   $0,A                ; 027e 50&lt;br /&gt;
                LI   $2a                 ; 027f 20 2a&lt;br /&gt;
                LR   $1,A                ; 0281 51&lt;br /&gt;
                LI   $33                 ; 0282 20 33&lt;br /&gt;
                LR   $2,A                ; 0284 52&lt;br /&gt;
                PI   drawchar            ; 0285 28 06 79&lt;br /&gt;
                LR   A,$3                ; 0288 43&lt;br /&gt;
                NI   $0f                 ; 0289 21 0f&lt;br /&gt;
                OI   $80                 ; 028b 22 80&lt;br /&gt;
                LR   $0,A                ; 028d 50&lt;br /&gt;
                PI   drawchar            ; 028e 28 06 79&lt;br /&gt;
                LI   $91                 ; 0291 20 91&lt;br /&gt;
                LR   $0,A                ; 0293 50&lt;br /&gt;
                PI   drawchar            ; 0294 28 06 79&lt;br /&gt;
                LR   A,$4                ; 0297 44&lt;br /&gt;
                SR   4                   ; 0298 14&lt;br /&gt;
                OI   $80                 ; 0299 22 80&lt;br /&gt;
                LR   $0,A                ; 029b 50&lt;br /&gt;
                PI   drawchar            ; 029c 28 06 79&lt;br /&gt;
                LR   A,$4                ; 029f 44&lt;br /&gt;
                NI   $0f                 ; 02a0 21 0f&lt;br /&gt;
                OI   $80                 ; 02a2 22 80&lt;br /&gt;
                LR   $0,A                ; 02a4 50&lt;br /&gt;
                PI   drawchar            ; 02a5 28 06 79&lt;br /&gt;
                PI   popk                ; 02a8 28 01 1e&lt;br /&gt;
                PK                       ; 02ab 0c&lt;br /&gt;
                &lt;br /&gt;
A02ac:          LR   K,P                 ; 02ac 08&lt;br /&gt;
                PI   pushk               ; 02ad 28 01 07&lt;br /&gt;
                LISL 6                   ; 02b0 6e&lt;br /&gt;
                LI   $17                 ; 02b1 20 17&lt;br /&gt;
                BF   $0,A02bc            ; 02b3 90 08&lt;br /&gt;
                &lt;br /&gt;
A02b5:          LR   K,P                 ; 02b5 08&lt;br /&gt;
                PI   pushk               ; 02b6 28 01 07&lt;br /&gt;
                LISL 7                   ; 02b9 6f&lt;br /&gt;
                LI   $50                 ; 02ba 20 50&lt;br /&gt;
A02bc:          LISU 2                   ; 02bc 62&lt;br /&gt;
                LR   $1,A                ; 02bd 51&lt;br /&gt;
                LI   $33                 ; 02be 20 33&lt;br /&gt;
                LR   $2,A                ; 02c0 52&lt;br /&gt;
                LIS  $1                  ; 02c1 71&lt;br /&gt;
                AI   $66                 ; 02c2 24 66&lt;br /&gt;
                ASD  S                ; 02c4 dc&lt;br /&gt;
                LR   S,A              ; 02c5 5c&lt;br /&gt;
                SR   4                   ; 02c6 14&lt;br /&gt;
                OI   $40                 ; 02c7 22 40&lt;br /&gt;
                LR   $0,A                ; 02c9 50&lt;br /&gt;
                PI   drawchar            ; 02ca 28 06 79&lt;br /&gt;
                LR   A,S              ; 02cd 4c&lt;br /&gt;
                NI   $0f                 ; 02ce 21 0f&lt;br /&gt;
                OI   $40                 ; 02d0 22 40&lt;br /&gt;
                LR   $0,A                ; 02d2 50&lt;br /&gt;
                PI   drawchar            ; 02d3 28 06 79&lt;br /&gt;
                PI   popk                ; 02d6 28 01 1e&lt;br /&gt;
                PK                       ; 02d9 0c&lt;br /&gt;
                &lt;br /&gt;
A02da:          LR   K,P                 ; 02da 08&lt;br /&gt;
                PI   pushk               ; 02db 28 01 07&lt;br /&gt;
                LI   $b0                 ; 02de 20 b0&lt;br /&gt;
                LR   $4,A                ; 02e0 54&lt;br /&gt;
                LISU 2                   ; 02e1 62&lt;br /&gt;
                LISL 1                   ; 02e2 69&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02e3 70&lt;br /&gt;
                OUTS 4                   ; 02e4 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A02f4            ; 02e6 90 0d&lt;br /&gt;
                &lt;br /&gt;
A02e8:          LR   K,P                 ; 02e8 08&lt;br /&gt;
                PI   pushk               ; 02e9 28 01 07&lt;br /&gt;
                LI   $71                 ; 02ec 20 71&lt;br /&gt;
                LR   $4,A                ; 02ee 54&lt;br /&gt;
                LISU 2                   ; 02ef 62&lt;br /&gt;
                LISL 4                   ; 02f0 6c&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02f1 70&lt;br /&gt;
                OUTS 1                   ; 02f2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A02f4:          COM                      ; 02f4 18&lt;br /&gt;
                NS   $1                  ; 02f5 f1&lt;br /&gt;
                LR   $0,A                ; 02f6 50&lt;br /&gt;
                LR   A,I             ; 02f7 4d&lt;br /&gt;
                LR   $1,A                ; 02f8 51&lt;br /&gt;
                LR   A,S              ; 02f9 4c&lt;br /&gt;
                LR   $2,A                ; 02fa 52&lt;br /&gt;
                LIS  $1                  ; 02fb 71&lt;br /&gt;
                NS   $0                  ; 02fc f0&lt;br /&gt;
                BT   4,A0303             ; 02fd 84 05&lt;br /&gt;
                LR   A,$1                ; 02ff 41&lt;br /&gt;
                AI   $02                 ; 0300 24 02&lt;br /&gt;
                LR   $1,A                ; 0302 51&lt;br /&gt;
A0303:          LIS  $2                  ; 0303 72&lt;br /&gt;
                NS   $0                  ; 0304 f0&lt;br /&gt;
                BT   4,A030b             ; 0305 84 05&lt;br /&gt;
                LR   A,$1                ; 0307 41&lt;br /&gt;
                AI   $fe                 ; 0308 24 fe&lt;br /&gt;
                LR   $1,A                ; 030a 51&lt;br /&gt;
A030b:          LIS  $4                  ; 030b 74&lt;br /&gt;
                NS   $0                  ; 030c f0&lt;br /&gt;
                BT   4,A0313             ; 030d 84 05&lt;br /&gt;
                LR   A,$2                ; 030f 42&lt;br /&gt;
                AI   $02                 ; 0310 24 02&lt;br /&gt;
                LR   $2,A                ; 0312 52&lt;br /&gt;
A0313:          LIS  $8                  ; 0313 78&lt;br /&gt;
                NS   $0                  ; 0314 f0&lt;br /&gt;
                BT   4,A031b             ; 0315 84 05&lt;br /&gt;
                LR   A,$2                ; 0317 42&lt;br /&gt;
                AI   $fe                 ; 0318 24 fe&lt;br /&gt;
                LR   $2,A                ; 031a 52&lt;br /&gt;
A031b:          LISU 3                   ; 031b 63&lt;br /&gt;
                LISL 7                   ; 031c 6f&lt;br /&gt;
                LR   A,S              ; 031d 4c&lt;br /&gt;
                CI   $02                 ; 031e 25 02&lt;br /&gt;
                BF   $1,A0357            ; 0320 91 36&lt;br /&gt;
                BNZ  A033a            ; 0322 94 17&lt;br /&gt;
                LIS  $1                  ; 0324 71&lt;br /&gt;
                NS   $4                  ; 0325 f4&lt;br /&gt;
                BNZ  A0332            ; 0326 94 0b&lt;br /&gt;
                LR   A,$1                ; 0328 41&lt;br /&gt;
                CI   $2d                 ; 0329 25 2d&lt;br /&gt;
                BT   1,A0330             ; 032b 81 04&lt;br /&gt;
                LI   $2d                 ; 032d 20 2d&lt;br /&gt;
                LR   $1,A                ; 032f 51&lt;br /&gt;
A0330:          BF   $0,A033a            ; 0330 90 09&lt;br /&gt;
&lt;br /&gt;
A0332:          LR   A,$1                ; 0332 41&lt;br /&gt;
                CI   $3d                 ; 0333 25 3d&lt;br /&gt;
                BF   $1,A033a            ; 0335 91 04&lt;br /&gt;
                LI   $3d                 ; 0337 20 3d&lt;br /&gt;
                LR   $1,A                ; 0339 51&lt;br /&gt;
A033a:          LR   A,$1                ; 033a 41&lt;br /&gt;
                CI   $52                 ; 033b 25 52&lt;br /&gt;
                BT   1,A0342             ; 033d 81 04&lt;br /&gt;
                LI   $52                 ; 033f 20 52&lt;br /&gt;
                LR   $1,A                ; 0341 51&lt;br /&gt;
A0342:          CI   $1a                 ; 0342 25 1a&lt;br /&gt;
                BF   $1,A0349            ; 0344 91 04&lt;br /&gt;
                LI   $1a                 ; 0346 20 1a&lt;br /&gt;
                LR   $1,A                ; 0348 51&lt;br /&gt;
A0349:          LR   A,$2                ; 0349 42&lt;br /&gt;
                CI   $2b                 ; 034a 25 2b&lt;br /&gt;
                BT   1,A0351             ; 034c 81 04&lt;br /&gt;
                LI   $2b                 ; 034e 20 2b&lt;br /&gt;
                LR   $2,A                ; 0350 52&lt;br /&gt;
A0351:          CI   $09                 ; 0351 25 09&lt;br /&gt;
                BF   $1,A0357            ; 0353 91 03&lt;br /&gt;
                LIS  $9                  ; 0355 79&lt;br /&gt;
                LR   $2,A                ; 0356 52&lt;br /&gt;
A0357:          LISU 4                   ; 0357 64&lt;br /&gt;
                LISL 7                   ; 0358 6f&lt;br /&gt;
                LR   A,S              ; 0359 4c&lt;br /&gt;
                NI   $03                 ; 035a 21 03&lt;br /&gt;
                CI   $03                 ; 035c 25 03&lt;br /&gt;
                BNZ  A0383            ; 035e 94 24&lt;br /&gt;
                LISU 2                   ; 0360 62&lt;br /&gt;
                LISL 0                   ; 0361 68&lt;br /&gt;
                LIS  $1                  ; 0362 71&lt;br /&gt;
                NS   $4                  ; 0363 f4&lt;br /&gt;
                BT   4,A0367             ; 0364 84 02&lt;br /&gt;
                LISL 3                   ; 0366 6b&lt;br /&gt;
A0367:          LI   $10                 ; 0367 20 10&lt;br /&gt;
                NS   $0                  ; 0369 f0&lt;br /&gt;
                BT   4,A036d             ; 036a 84 02&lt;br /&gt;
                DS   S                ; 036c 3c&lt;br /&gt;
A036d:          LI   $20                 ; 036d 20 20&lt;br /&gt;
                NS   $0                  ; 036f f0&lt;br /&gt;
                BT   4,A0375             ; 0370 84 04&lt;br /&gt;
                LR   A,S              ; 0372 4c&lt;br /&gt;
                INC                      ; 0373 1f&lt;br /&gt;
                LR   S,A              ; 0374 5c&lt;br /&gt;
A0375:          LR   A,S              ; 0375 4c&lt;br /&gt;
                CI   $16                 ; 0376 25 16&lt;br /&gt;
                BNZ  A037c            ; 0378 94 03&lt;br /&gt;
                LI   $1d                 ; 037a 20 1d&lt;br /&gt;
A037c:          CI   $1e                 ; 037c 25 1e&lt;br /&gt;
                BNZ  A0382            ; 037e 94 03&lt;br /&gt;
                LI   $17                 ; 0380 20 17&lt;br /&gt;
A0382:          LR   S,A              ; 0382 5c&lt;br /&gt;
A0383:          LR   A,$4                ; 0383 44&lt;br /&gt;
                LR   $0,A                ; 0384 50&lt;br /&gt;
                PI   drawchar            ; 0385 28 06 79&lt;br /&gt;
                PI   popk                ; 0388 28 01 1e&lt;br /&gt;
                PK                       ; 038b 0c&lt;br /&gt;
                &lt;br /&gt;
A038c:          LR   K,P                 ; 038c 08&lt;br /&gt;
                PI   pushk               ; 038d 28 01 07&lt;br /&gt;
                LISL 0                   ; 0390 68&lt;br /&gt;
                LI   $b2                 ; 0391 20 b2&lt;br /&gt;
                LR   $3,A                ; 0393 53&lt;br /&gt;
                LIS  $0                  ; 0394 70&lt;br /&gt;
                OUTS 4                   ; 0395 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A03a4            ; 0397 90 0c&lt;br /&gt;
                &lt;br /&gt;
A0399:          LR   K,P                 ; 0399 08&lt;br /&gt;
                PI   pushk               ; 039a 28 01 07&lt;br /&gt;
                LISL 2                   ; 039d 6a&lt;br /&gt;
                LI   $73                 ; 039e 20 73&lt;br /&gt;
                LR   $3,A                ; 03a0 53&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 03a1 70&lt;br /&gt;
                OUTS 1                   ; 03a2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A03a4:          COM                      ; 03a4 18&lt;br /&gt;
                LR   $0,A                ; 03a5 50&lt;br /&gt;
                LISU 3                   ; 03a6 63&lt;br /&gt;
                LR   A,I             ; 03a7 4d&lt;br /&gt;
                LR   $1,A                ; 03a8 51&lt;br /&gt;
                LR   A,S              ; 03a9 4c&lt;br /&gt;
                LR   $2,A                ; 03aa 52&lt;br /&gt;
                LR   A,$0                ; 03ab 40&lt;br /&gt;
                NI   $80                 ; 03ac 21 80&lt;br /&gt;
                BT   4,A03b4             ; 03ae 84 05&lt;br /&gt;
                LR   A,$2                ; 03b0 42&lt;br /&gt;
                AI   $02                 ; 03b1 24 02&lt;br /&gt;
                LR   $2,A                ; 03b3 52&lt;br /&gt;
A03b4:          LR   A,$0                ; 03b4 40&lt;br /&gt;
                NI   $40                 ; 03b5 21 40&lt;br /&gt;
                BT   4,A03bb             ; 03b7 84 03&lt;br /&gt;
                DS   $2                  ; 03b9 32&lt;br /&gt;
                DS   $2                  ; 03ba 32&lt;br /&gt;
A03bb:          LR   A,$2                ; 03bb 42&lt;br /&gt;
                CI   $14                 ; 03bc 25 14&lt;br /&gt;
                BF   $1,A03c3            ; 03be 91 04&lt;br /&gt;
                LI   $14                 ; 03c0 20 14&lt;br /&gt;
                LR   $2,A                ; 03c2 52&lt;br /&gt;
A03c3:          CI   $20                 ; 03c3 25 20&lt;br /&gt;
                BT   1,A03ca             ; 03c5 81 04&lt;br /&gt;
                LI   $20                 ; 03c7 20 20&lt;br /&gt;
                LR   $2,A                ; 03c9 52&lt;br /&gt;
A03ca:          LR   A,$3                ; 03ca 43&lt;br /&gt;
                LR   $0,A                ; 03cb 50&lt;br /&gt;
                PI   drawchar            ; 03cc 28 06 79&lt;br /&gt;
                PI   popk                ; 03cf 28 01 1e&lt;br /&gt;
                PK                       ; 03d2 0c&lt;br /&gt;
                &lt;br /&gt;
A03d3:          LR   K,P                 ; 03d3 08&lt;br /&gt;
                PI   pushk               ; 03d4 28 01 07&lt;br /&gt;
                LISU 4                   ; 03d7 64&lt;br /&gt;
                LISL 0                   ; 03d8 68&lt;br /&gt;
                LR   A,I             ; 03d9 4d&lt;br /&gt;
                LR   $1,A                ; 03da 51&lt;br /&gt;
                LR   A,I             ; 03db 4d&lt;br /&gt;
                LR   $2,A                ; 03dc 52&lt;br /&gt;
                LR   A,I             ; 03dd 4d&lt;br /&gt;
                LR   $3,A                ; 03de 53&lt;br /&gt;
                LR   A,I             ; 03df 4d&lt;br /&gt;
                LR   $4,A                ; 03e0 54&lt;br /&gt;
                LR   A,S              ; 03e1 4c&lt;br /&gt;
                CI   $00                 ; 03e2 25 00&lt;br /&gt;
                BT   4,A03f2             ; 03e4 84 0d&lt;br /&gt;
                LIS  $0                  ; 03e6 70&lt;br /&gt;
                LR   S,A              ; 03e7 5c&lt;br /&gt;
                LR   A,$3                ; 03e8 43&lt;br /&gt;
                SL   1                   ; 03e9 13&lt;br /&gt;
                AS   $3                  ; 03ea c3&lt;br /&gt;
                AS   $3                  ; 03eb c3&lt;br /&gt;
                LR   $3,A                ; 03ec 53&lt;br /&gt;
                LR   A,$4                ; 03ed 44&lt;br /&gt;
                SL   1                   ; 03ee 13&lt;br /&gt;
                AS   $4                  ; 03ef c4&lt;br /&gt;
                AS   $4                  ; 03f0 c4&lt;br /&gt;
                LR   $4,A                ; 03f1 54&lt;br /&gt;
A03f2:          LR   A,$1                ; 03f2 41&lt;br /&gt;
                AS   $3                  ; 03f3 c3&lt;br /&gt;
                LR   $1,A                ; 03f4 51&lt;br /&gt;
                LR   A,$2                ; 03f5 42&lt;br /&gt;
                AS   $4                  ; 03f6 c4&lt;br /&gt;
                LR   $2,A                ; 03f7 52&lt;br /&gt;
                LISU 4                   ; 03f8 64&lt;br /&gt;
                LISL 5                   ; 03f9 6d&lt;br /&gt;
                LI   $44                 ; 03fa 20 44&lt;br /&gt;
                NS   S                ; 03fc fc&lt;br /&gt;
                BT   4,A043b             ; 03fd 84 3d&lt;br /&gt;
                PI   A049c               ; 03ff 28 04 9c&lt;br /&gt;
                LISU 4                   ; 0402 64&lt;br /&gt;
                LISL 2                   ; 0403 6a&lt;br /&gt;
                LR   A,$1                ; 0404 41&lt;br /&gt;
                LR   $0,A                ; 0405 50&lt;br /&gt;
                CI   $5c                 ; 0406 25 5c&lt;br /&gt;
                BT   1,A0410             ; 0408 81 07&lt;br /&gt;
                PI   A043f               ; 040a 28 04 3f&lt;br /&gt;
                LI   $5c                 ; 040d 20 5c&lt;br /&gt;
                LR   $1,A                ; 040f 51&lt;br /&gt;
A0410:          LR   A,$1                ; 0410 41&lt;br /&gt;
                LR   $0,A                ; 0411 50&lt;br /&gt;
                CI   $14                 ; 0412 25 14&lt;br /&gt;
                BF   $1,A041c            ; 0414 91 07&lt;br /&gt;
                PI   A043f               ; 0416 28 04 3f&lt;br /&gt;
                LI   $14                 ; 0419 20 14&lt;br /&gt;
                LR   $1,A                ; 041b 51&lt;br /&gt;
A041c:          LISL 3                   ; 041c 6b&lt;br /&gt;
                LR   A,$2                ; 041d 42&lt;br /&gt;
                LR   $0,A                ; 041e 50&lt;br /&gt;
                CI   $08                 ; 041f 25 08&lt;br /&gt;
                BF   $1,A0429            ; 0421 91 07&lt;br /&gt;
                PI   A043f               ; 0423 28 04 3f&lt;br /&gt;
                LI   $09                 ; 0426 20 09&lt;br /&gt;
                LR   $2,A                ; 0428 52&lt;br /&gt;
A0429:          LR   A,$2                ; 0429 42&lt;br /&gt;
                LR   $0,A                ; 042a 50&lt;br /&gt;
                CI   $2e                 ; 042b 25 2e&lt;br /&gt;
                BT   1,A0435             ; 042d 81 07&lt;br /&gt;
                PI   A043f               ; 042f 28 04 3f&lt;br /&gt;
                LI   $2e                 ; 0432 20 2e&lt;br /&gt;
                LR   $2,A                ; 0434 52&lt;br /&gt;
A0435:          LI   $55                 ; 0435 20 55&lt;br /&gt;
                LR   $0,A                ; 0437 50&lt;br /&gt;
                PI   drawchar            ; 0438 28 06 79&lt;br /&gt;
A043b:          PI   popk                ; 043b 28 01 1e&lt;br /&gt;
                PK                       ; 043e 0c&lt;br /&gt;
                &lt;br /&gt;
A043f:          LR   A,S              ; 043f 4c&lt;br /&gt;
                COM                      ; 0440 18&lt;br /&gt;
                INC                      ; 0441 1f&lt;br /&gt;
                LR   S,A              ; 0442 5c&lt;br /&gt;
                LI   $40                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0445 b5&lt;br /&gt;
                POP                      ; 0446 1c&lt;br /&gt;
                &lt;br /&gt;
A0447:          LR   K,P                 ; 0447 08&lt;br /&gt;
                PI   pushk               ; 0448 28 01 07&lt;br /&gt;
                LI   $36                 ; 044b 20 36&lt;br /&gt;
                LR   $1,A                ; 044d 51&lt;br /&gt;
                LIS  $a                  ; 044e 7a&lt;br /&gt;
                LR   $2,A                ; 044f 52&lt;br /&gt;
                LIS  $5                  ; 0450 75&lt;br /&gt;
                LR   $4,A                ; 0451 54&lt;br /&gt;
A0452:          LI   $81                 ; 0452 20 81&lt;br /&gt;
                LR   $0,A                ; 0454 50&lt;br /&gt;
                PI   drawchar            ; 0455 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0458 41&lt;br /&gt;
                AI   $fa                 ; 0459 24 fa&lt;br /&gt;
                LR   $1,A                ; 045b 51&lt;br /&gt;
                LR   A,$2                ; 045c 42&lt;br /&gt;
                AI   $08                 ; 045d 24 08&lt;br /&gt;
                LR   $2,A                ; 045f 52&lt;br /&gt;
                DS   $4                  ; 0460 34&lt;br /&gt;
                BNZ  A0452            ; 0461 94 f0&lt;br /&gt;
                PI   popk                ; 0463 28 01 1e&lt;br /&gt;
                PK                       ; 0466 0c&lt;br /&gt;
                &lt;br /&gt;
A0467:          LR   K,P                 ; 0467 08&lt;br /&gt;
                PI   pushk               ; 0468 28 01 07&lt;br /&gt;
                LISU 7                   ; 046b 67&lt;br /&gt;
                LISL 0                   ; 046c 68&lt;br /&gt;
                LR   A,S              ; 046d 4c&lt;br /&gt;
                OI   $00                 ; 046e 22 00&lt;br /&gt;
                BT   4,A0498             ; 0470 84 27&lt;br /&gt;
                LIS  $0                  ; 0472 70&lt;br /&gt;
                LR   S,A              ; 0473 5c&lt;br /&gt;
                LISL 2                   ; 0474 6a&lt;br /&gt;
                LIS  $1                  ; 0475 71&lt;br /&gt;
                LR   $0,A                ; 0476 50&lt;br /&gt;
                COM                      ; 0477 18&lt;br /&gt;
                ASD  S                ; 0478 dc&lt;br /&gt;
                AI   $66                 ; 0479 24 66&lt;br /&gt;
                ASD  $0                  ; 047b d0&lt;br /&gt;
                LR   S,A              ; 047c 5c&lt;br /&gt;
                CI   $99                 ; 047d 25 99&lt;br /&gt;
                BNZ  A0495            ; 047f 94 15&lt;br /&gt;
                LI   $59                 ; 0481 20 59&lt;br /&gt;
                LR   D,A             ; 0483 5e&lt;br /&gt;
                LIS  $1                  ; 0484 71&lt;br /&gt;
                LR   $0,A                ; 0485 50&lt;br /&gt;
                COM                      ; 0486 18&lt;br /&gt;
                ASD  S                ; 0487 dc&lt;br /&gt;
                AI   $66                 ; 0488 24 66&lt;br /&gt;
                ASD  $0                  ; 048a d0&lt;br /&gt;
                CI   $99                 ; 048b 25 99&lt;br /&gt;
                BNZ  A0494            ; 048d 94 06&lt;br /&gt;
                PI   prompts             ; time expired, print S?&lt;br /&gt;
                BF   $0,A0498            ; 0492 90 05&lt;br /&gt;
                &lt;br /&gt;
A0494:          LR   S,A              ; 0494 5c&lt;br /&gt;
A0495:          PI   $0271               ; 0495 28 02 71&lt;br /&gt;
A0498:          PI   popk                ; 0498 28 01 1e&lt;br /&gt;
                PK                       ; 049b 0c&lt;br /&gt;
                &lt;br /&gt;
A049c:          LR   K,P                 ; 049c 08&lt;br /&gt;
                PI   pushk               ; 049d 28 01 07&lt;br /&gt;
                LISU 4                   ; 04a0 64&lt;br /&gt;
                LISL 7                   ; 04a1 6f&lt;br /&gt;
                LIS  $1                  ; 04a2 71&lt;br /&gt;
                NS   S                ; 04a3 fc&lt;br /&gt;
                BT   4,A04b8             ; 04a4 84 13&lt;br /&gt;
                LISU 2                   ; 04a6 62&lt;br /&gt;
                LISL 4                   ; 04a7 6c&lt;br /&gt;
                PI   A05fc               ; 04a8 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04ab 30&lt;br /&gt;
                BT   4,A04e8             ; 04ac 84 3b&lt;br /&gt;
                LISU 2                   ; 04ae 62&lt;br /&gt;
                LISL 1                   ; 04af 69&lt;br /&gt;
                PI   A05fc               ; 04b0 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04b3 30&lt;br /&gt;
                BT   4,A04e5             ; 04b4 84 30&lt;br /&gt;
                BF   $0,A04c8            ; 04b6 90 11&lt;br /&gt;
                &lt;br /&gt;
A04b8:          LISU 2                   ; 04b8 62&lt;br /&gt;
                LISL 1                   ; 04b9 69&lt;br /&gt;
                PI   A05fc               ; 04ba 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04bd 30&lt;br /&gt;
                BT   4,A04e5             ; 04be 84 26&lt;br /&gt;
                LISU 2                   ; 04c0 62&lt;br /&gt;
                LISL 4                   ; 04c1 6c&lt;br /&gt;
                PI   A05fc               ; 04c2 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04c5 30&lt;br /&gt;
                BT   4,A04e8             ; 04c6 84 21&lt;br /&gt;
A04c8:          LISU 4                   ; 04c8 64&lt;br /&gt;
                LISL 5                   ; 04c9 6d&lt;br /&gt;
                LR   A,S              ; 04ca 4c&lt;br /&gt;
                NI   $04                 ; 04cb 21 04&lt;br /&gt;
                BNZ  A04d2            ; 04cd 94 04&lt;br /&gt;
                JMP  A059d               ; 04cf 29 05 9d&lt;br /&gt;
                &lt;br /&gt;
A04d2:          LISU 3                   ; 04d2 63&lt;br /&gt;
                LISL 0                   ; 04d3 68&lt;br /&gt;
                PI   A05fc               ; 04d4 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04d7 30&lt;br /&gt;
                BT   4,A0555             ; 04d8 84 7c&lt;br /&gt;
                LISU 3                   ; 04da 63&lt;br /&gt;
                LISL 2                   ; 04db 6a&lt;br /&gt;
                PI   A05fc               ; 04dc 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04df 30&lt;br /&gt;
                BT   4,A0559             ; 04e0 84 78&lt;br /&gt;
                JMP  A0588               ; 04e2 29 05 88&lt;br /&gt;
                &lt;br /&gt;
A04e5:          LISL 0                   ; 04e5 68&lt;br /&gt;
                BF   $0,A04e9            ; 04e6 90 02&lt;br /&gt;
                &lt;br /&gt;
A04e8:          LISL 3                   ; 04e8 6b&lt;br /&gt;
A04e9:          LISU 2                   ; 04e9 62&lt;br /&gt;
                LR   A,I             ; 04ea 4d&lt;br /&gt;
                LR   $4,A                ; 04eb 54&lt;br /&gt;
                LR   A,I             ; 04ec 4d&lt;br /&gt;
                LR   A,S              ; 04ed 4c&lt;br /&gt;
                LR   $7,A                ; 04ee 57&lt;br /&gt;
                LISU 4                   ; 04ef 64&lt;br /&gt;
                LISL 5                   ; 04f0 6d&lt;br /&gt;
                LR   A,S              ; 04f1 4c&lt;br /&gt;
                SL   1                   ; 04f2 13&lt;br /&gt;
                LR   A,$4                ; 04f3 44&lt;br /&gt;
                BT   1,A0516             ; 04f4 81 21&lt;br /&gt;
                DCI  A050e               ; 04f6 2a 05 0e&lt;br /&gt;
                LIS  $7                  ; 04f9 77&lt;br /&gt;
                LR   $4,A                ; 04fa 54&lt;br /&gt;
                DS   $7                  ; 04fb 37&lt;br /&gt;
                DS   $7                  ; 04fc 37&lt;br /&gt;
A04fd:          LR   A,$4                ; 04fd 44&lt;br /&gt;
                AS   $7                  ; 04fe c7&lt;br /&gt;
                LR   $3,A                ; 04ff 53&lt;br /&gt;
                LR   A,$2                ; 0500 42&lt;br /&gt;
                COM                      ; 0501 18&lt;br /&gt;
                INC                      ; 0502 1f&lt;br /&gt;
                AS   $3                  ; 0503 c3&lt;br /&gt;
                BT   4,A0509             ; 0504 84 04&lt;br /&gt;
                DS   $4                  ; 0506 34&lt;br /&gt;
                BT   1,A04fd             ; 0507 81 f5&lt;br /&gt;
A0509:          LR   A,$4                ; 0509 44&lt;br /&gt;
                ADC                      ; 050a 8e&lt;br /&gt;
                LM                       ; 050b 16&lt;br /&gt;
                BF   $0,A0518            ; 050c 90 0b&lt;br /&gt;
&lt;br /&gt;
A050e:			db	$04,$04,$05,$06,$00,$01,$02,$03                &lt;br /&gt;
&lt;br /&gt;
A0516:          AI   $e9                 ; 0516 24 e9&lt;br /&gt;
A0518:          DCI  A0547               ; 0518 2a 05 47&lt;br /&gt;
                SL   1                   ; 051b 13&lt;br /&gt;
                ADC                      ; 051c 8e&lt;br /&gt;
                LM                       ; 051d 16&lt;br /&gt;
                LR   $5,A                ; 051e 55&lt;br /&gt;
                LM                       ; 051f 16&lt;br /&gt;
                LR   $6,A                ; 0520 56&lt;br /&gt;
                LISU 4                   ; 0521 64&lt;br /&gt;
                LISL 2                   ; 0522 6a&lt;br /&gt;
                LR   A,S              ; 0523 4c&lt;br /&gt;
                OI   $00                 ; 0524 22 00&lt;br /&gt;
                BF   $1,A053a            ; 0526 91 13&lt;br /&gt;
                LR   A,$5                ; 0528 45&lt;br /&gt;
                COM                      ; 0529 18&lt;br /&gt;
                INC                      ; 052a 1f&lt;br /&gt;
                LR   $5,A                ; 052b 55&lt;br /&gt;
                LISL 5                   ; 052c 6d&lt;br /&gt;
                LR   A,S              ; 052d 4c&lt;br /&gt;
                SL   1                   ; 052e 13&lt;br /&gt;
                LISL 2                   ; 052f 6a&lt;br /&gt;
                BF   $1,A0536            ; 0530 91 05&lt;br /&gt;
                LR   A,$6                ; 0532 46&lt;br /&gt;
                COM                      ; 0533 18&lt;br /&gt;
                INC                      ; 0534 1f&lt;br /&gt;
                LR   $6,A                ; 0535 56&lt;br /&gt;
A0536:          LR   A,$1                ; 0536 41&lt;br /&gt;
                AI   $02                 ; 0537 24 02&lt;br /&gt;
                LR   $1,A                ; 0539 51&lt;br /&gt;
A053a:          LR   A,$5                ; 053a 45&lt;br /&gt;
                LR   I,A             ; 053b 5d&lt;br /&gt;
                LR   A,$6                ; 053c 46&lt;br /&gt;
                LR   I,A             ; 053d 5d&lt;br /&gt;
                LIS  $2                  ; 053e 72&lt;br /&gt;
                LR   S,A              ; 053f 5c&lt;br /&gt;
                LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0542 b5&lt;br /&gt;
A0543:          PI   popk                ; 0543 28 01 1e&lt;br /&gt;
                PK                       ; 0546 0c&lt;br /&gt;
&lt;br /&gt;
A0547:			db	$02,$00,$02,$01,$02,$02,$01,$02,$01,$FE,$02,$FE,$02,$FF	&lt;br /&gt;
&lt;br /&gt;
A0555:          LIS  $1                  ; 0555 71&lt;br /&gt;
                LR   $3,A                ; 0556 53&lt;br /&gt;
                BF   $0,A055b            ; 0557 90 03&lt;br /&gt;
                &lt;br /&gt;
A0559:          LIS  $2                  ; 0559 72&lt;br /&gt;
                LR   $3,A                ; 055a 53&lt;br /&gt;
A055b:          LISU 4                   ; 055b 64&lt;br /&gt;
                LISL 2                   ; 055c 6a&lt;br /&gt;
                LR   A,S              ; 055d 4c&lt;br /&gt;
                DS   $3                  ; 055e 33&lt;br /&gt;
                BT   4,A0567             ; 055f 84 07&lt;br /&gt;
                OI   $00                 ; 0561 22 00&lt;br /&gt;
                BT   1,A056b             ; 0563 81 07&lt;br /&gt;
                BF   $0,A056e            ; 0565 90 08&lt;br /&gt;
                &lt;br /&gt;
A0567:          OI   $00                 ; 0567 22 00&lt;br /&gt;
                BT   1,A056e             ; 0569 81 04&lt;br /&gt;
A056b:          COM                      ; 056b 18&lt;br /&gt;
                INC                      ; 056c 1f&lt;br /&gt;
                LR   S,A              ; 056d 5c&lt;br /&gt;
A056e:          LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0570 b5&lt;br /&gt;
                LISL 3                   ; 0571 6b&lt;br /&gt;
                LR   A,S              ; 0572 4c&lt;br /&gt;
                OI   $00                 ; 0573 22 00&lt;br /&gt;
                BNZ  A0586            ; 0575 94 10&lt;br /&gt;
                LISU 2                   ; 0577 62&lt;br /&gt;
                LISL 1                   ; 0578 69&lt;br /&gt;
                LR   A,S              ; 0579 4c&lt;br /&gt;
                NI   $01                 ; 057a 21 01&lt;br /&gt;
                BT   4,A0581             ; 057c 84 04&lt;br /&gt;
                LIS  $2                  ; 057e 72&lt;br /&gt;
                BF   $0,A0583            ; 057f 90 03&lt;br /&gt;
                &lt;br /&gt;
A0581:          LI   $fe                 ; 0581 20 fe&lt;br /&gt;
A0583:          LISU 4                   ; 0583 64&lt;br /&gt;
                LISL 3                   ; 0584 6b&lt;br /&gt;
                LR   S,A              ; 0585 5c&lt;br /&gt;
A0586:          BF   $0,A05f3            ; 0586 90 6c&lt;br /&gt;
&lt;br /&gt;
A0588:          LR   A,$2                ; 0588 42&lt;br /&gt;
                CI   $14                 ; 0589 25 14&lt;br /&gt;
                BT   1,A059a             ; 058b 81 0e&lt;br /&gt;
                CI   $24                 ; 058d 25 24&lt;br /&gt;
                BF   $1,A059a            ; 058f 91 0a&lt;br /&gt;
                LR   A,$1                ; 0591 41&lt;br /&gt;
                CI   $14                 ; 0592 25 14&lt;br /&gt;
                BT   1,A05a9             ; 0594 81 14&lt;br /&gt;
                CI   $5c                 ; 0596 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 0598 91 10&lt;br /&gt;
A059a:          JMP  A0543               ; 059a 29 05 43&lt;br /&gt;
&lt;br /&gt;
A059d:          LR   A,$1                ; 059d 41&lt;br /&gt;
                CI   $14                 ; 059e 25 14&lt;br /&gt;
                BT   1,A05a9             ; 05a0 81 08&lt;br /&gt;
                CI   $5c                 ; 05a2 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 05a4 91 04&lt;br /&gt;
                JMP  A0543               ; 05a6 29 05 43&lt;br /&gt;
                &lt;br /&gt;
A05a9:          LISU 4                   ; 05a9 64&lt;br /&gt;
                LISL 2                   ; 05aa 6a&lt;br /&gt;
                LR   A,I             ; 05ab 4d&lt;br /&gt;
                SL   1                   ; 05ac 13&lt;br /&gt;
                BF   $1,A05b3            ; 05ad 91 05&lt;br /&gt;
                AI   $02                 ; 05af 24 02&lt;br /&gt;
                BF   $0,A05b5            ; 05b1 90 03&lt;br /&gt;
                &lt;br /&gt;
A05b3:          AI   $fe                 ; 05b3 24 fe&lt;br /&gt;
A05b5:          AS   $1                  ; 05b5 c1&lt;br /&gt;
                LR   $1,A                ; 05b6 51&lt;br /&gt;
                LISL 3                   ; 05b7 6b&lt;br /&gt;
                LR   A,S              ; 05b8 4c&lt;br /&gt;
                AS   $2                  ; 05b9 c2&lt;br /&gt;
                LR   $2,A                ; 05ba 52&lt;br /&gt;
                LI   $55                 ; 05bb 20 55&lt;br /&gt;
                LR   $0,A                ; 05bd 50&lt;br /&gt;
                PI   drawchar            ; 05be 28 06 79&lt;br /&gt;
                LISU 4                   ; 05c1 64&lt;br /&gt;
                LISL 3                   ; 05c2 6b&lt;br /&gt;
                LIS  $0                  ; 05c3 70&lt;br /&gt;
                LR   S,A              ; 05c4 5c&lt;br /&gt;
                LISU 4                   ; 05c5 64&lt;br /&gt;
                LISL 0                   ; 05c6 68&lt;br /&gt;
                LR   A,S              ; 05c7 4c&lt;br /&gt;
                CI   $30                 ; 05c8 25 30&lt;br /&gt;
                BF   $1,A05d1            ; 05ca 91 06&lt;br /&gt;
                PI   A02b5               ; 05cc 28 02 b5&lt;br /&gt;
                BF   $0,A05d4            ; 05cf 90 04&lt;br /&gt;
                &lt;br /&gt;
A05d1:          PI   A02ac               ; 05d1 28 02 ac&lt;br /&gt;
A05d4:          LI   $ff                 ; 05d4 20 ff&lt;br /&gt;
                LR   $5,A                ; 05d6 55&lt;br /&gt;
                PI   delay               ; 05d7 28 00 8f&lt;br /&gt;
                LISU 3                   ; 05da 63&lt;br /&gt;
                LISL 7                   ; 05db 6f&lt;br /&gt;
                LR   A,S              ; 05dc 4c&lt;br /&gt;
                CI   $02                 ; 05dd 25 02&lt;br /&gt;
                BNZ  A05f0            ; 05df 94 10&lt;br /&gt;
                LISU 2                   ; 05e1 62&lt;br /&gt;
                LISL 6                   ; 05e2 6e&lt;br /&gt;
                LR   A,I             ; 05e3 4d&lt;br /&gt;
                CI   $15                 ; 05e4 25 15&lt;br /&gt;
                BT   4,A05ed             ; 05e6 84 06&lt;br /&gt;
                LR   A,S              ; 05e8 4c&lt;br /&gt;
                CI   $15                 ; 05e9 25 15&lt;br /&gt;
                BNZ  A05f0            ; 05eb 94 04&lt;br /&gt;
A05ed:          PI   prompts             ; 05ed 28 02 24&lt;br /&gt;
A05f0:          PI   A01a0               ; 05f0 28 01 a0&lt;br /&gt;
A05f3:          PI   popk                ; 05f3 28 01 1e&lt;br /&gt;
                PI   popk                ; 05f6 28 01 1e&lt;br /&gt;
                JMP  A0037               ; 05f9 29 00 37&lt;br /&gt;
                &lt;br /&gt;
A05fc:          LR   K,P                 ; 05fc 08&lt;br /&gt;
                PI   pushk               ; 05fd 28 01 07&lt;br /&gt;
                LR   A,S              ; 0600 4c&lt;br /&gt;
                COM                      ; 0601 18&lt;br /&gt;
                INC                      ; 0602 1f&lt;br /&gt;
                AS   $1                  ; 0603 c1&lt;br /&gt;
                BF   $1,A0610            ; 0604 91 0b&lt;br /&gt;
                LR   A,S              ; 0606 4c&lt;br /&gt;
                AI   $05                 ; 0607 24 05&lt;br /&gt;
                LR   $6,A                ; 0609 56&lt;br /&gt;
                LR   A,$1                ; 060a 41&lt;br /&gt;
                COM                      ; 060b 18&lt;br /&gt;
                INC                      ; 060c 1f&lt;br /&gt;
                AS   S                ; 060d cc&lt;br /&gt;
                BT   1,A0626             ; 060e 81 17&lt;br /&gt;
A0610:          LR   A,S              ; 0610 4c&lt;br /&gt;
                COM                      ; 0611 18&lt;br /&gt;
                INC                      ; 0612 1f&lt;br /&gt;
                LR   $6,A                ; 0613 56&lt;br /&gt;
                LR   A,$1                ; 0614 41&lt;br /&gt;
                AI   $02                 ; 0615 24 02&lt;br /&gt;
                AS   $6                  ; 0617 c6&lt;br /&gt;
                BF   $1,A064f            ; 0618 91 36&lt;br /&gt;
                LR   A,$1                ; 061a 41&lt;br /&gt;
                AI   $02                 ; 061b 24 02&lt;br /&gt;
                COM                      ; 061d 18&lt;br /&gt;
                INC                      ; 061e 1f&lt;br /&gt;
                LR   $6,A                ; 061f 56&lt;br /&gt;
                LR   A,S              ; 0620 4c&lt;br /&gt;
                AI   $05                 ; 0621 24 05&lt;br /&gt;
                AS   $6                  ; 0623 c6&lt;br /&gt;
                BF   $1,A064f            ; 0624 91 2a&lt;br /&gt;
A0626:          LR   A,I             ; 0626 4d&lt;br /&gt;
                LR   A,S              ; 0627 4c&lt;br /&gt;
                COM                      ; 0628 18&lt;br /&gt;
                INC                      ; 0629 1f&lt;br /&gt;
                LR   $6,A                ; 062a 56&lt;br /&gt;
                LR   A,$2                ; 062b 42&lt;br /&gt;
                AS   $6                  ; 062c c6&lt;br /&gt;
                BF   $1,A0639            ; 062d 91 0b&lt;br /&gt;
                LR   A,$2                ; 062f 42&lt;br /&gt;
                COM                      ; 0630 18&lt;br /&gt;
                INC                      ; 0631 1f&lt;br /&gt;
                LR   $6,A                ; 0632 56&lt;br /&gt;
                LR   A,S              ; 0633 4c&lt;br /&gt;
                AI   $05                 ; 0634 24 05&lt;br /&gt;
                AS   $6                  ; 0636 c6&lt;br /&gt;
                BT   1,A0655             ; 0637 81 1d&lt;br /&gt;
A0639:          LR   A,S              ; 0639 4c&lt;br /&gt;
                COM                      ; 063a 18&lt;br /&gt;
                INC                      ; 063b 1f&lt;br /&gt;
                LR   $6,A                ; 063c 56&lt;br /&gt;
                LR   A,$2                ; 063d 42&lt;br /&gt;
                AI   $02                 ; 063e 24 02&lt;br /&gt;
                AS   $6                  ; 0640 c6&lt;br /&gt;
                BF   $1,A064f            ; 0641 91 0d&lt;br /&gt;
                LR   A,$2                ; 0643 42&lt;br /&gt;
                AI   $02                 ; 0644 24 02&lt;br /&gt;
                COM                      ; 0646 18&lt;br /&gt;
                INC                      ; 0647 1f&lt;br /&gt;
                LR   $6,A                ; 0648 56&lt;br /&gt;
                LR   A,S              ; 0649 4c&lt;br /&gt;
                AI   $05                 ; 064a 24 05&lt;br /&gt;
                AS   $6                  ; 064c c6&lt;br /&gt;
                BT   1,A0655             ; 064d 81 07&lt;br /&gt;
A064f:          LIS  $0                  ; 064f 70&lt;br /&gt;
A0650:          LR   $0,A                ; 0650 50&lt;br /&gt;
                PI   popk                ; 0651 28 01 1e&lt;br /&gt;
                PK                       ; 0654 0c&lt;br /&gt;
                &lt;br /&gt;
A0655:          LIS  $1                  ; 0655 71&lt;br /&gt;
                BF   $0,A0650            ; 0656 90 f9&lt;br /&gt;
                &lt;br /&gt;
A0658:          DCI  A0674               ; 0658 2a 06 74&lt;br /&gt;
                LISU 4                   ; 065b 64&lt;br /&gt;
                LISL 5                   ; 065c 6d&lt;br /&gt;
                LR   A,S              ; 065d 4c&lt;br /&gt;
                NI   $20                 ; 065e 21 20&lt;br /&gt;
                BT   4,A0673             ; 0660 84 12&lt;br /&gt;
                LISU 6                   ; 0662 66&lt;br /&gt;
                LISL 7                   ; 0663 6f&lt;br /&gt;
                DS   S                ; 0664 3c&lt;br /&gt;
                BNZ  A0673            ; 0665 94 0d&lt;br /&gt;
                LISU 3                   ; 0667 63&lt;br /&gt;
                LISL 4                   ; 0668 6c&lt;br /&gt;
                LR   A,S              ; 0669 4c&lt;br /&gt;
                SR   1                   ; 066a 12&lt;br /&gt;
                ADC                      ; 066b 8e&lt;br /&gt;
                LM                       ; 066c 16&lt;br /&gt;
                LISU 6                   ; 066d 66&lt;br /&gt;
                LISL 7                   ; 066e 6f&lt;br /&gt;
                LR   I,A             ; 066f 5d&lt;br /&gt;
                LISU 7                   ; 0670 67&lt;br /&gt;
                LIS  $1                  ; 0671 71&lt;br /&gt;
                LR   S,A              ; 0672 5c&lt;br /&gt;
A0673:          POP                      ; 0673 1c&lt;br /&gt;
&lt;br /&gt;
A0674:			db $09,$0d,$15,$1c,$1c&lt;br /&gt;
                &lt;br /&gt;
drawchar:       DCI  bitmaps             ; $679&lt;br /&gt;
                LR   K,P                 ; 067c 08&lt;br /&gt;
                PI   pushk               ; 067d 28 01 07&lt;br /&gt;
                LR   A,IS                ; 0680 0a&lt;br /&gt;
                LISU 6                   ; 0681 66&lt;br /&gt;
                LISL 4                   ; 0682 6c&lt;br /&gt;
                LR   I,A             ; 0683 5d&lt;br /&gt;
                LR   A,$3                ; 0684 43&lt;br /&gt;
                LR   I,A             ; 0685 5d&lt;br /&gt;
                LR   A,$4                ; 0686 44&lt;br /&gt;
                LR   S,A              ; 0687 5c&lt;br /&gt;
                LIS  $5                  ; 0688 75&lt;br /&gt;
                LR   $4,A                ; 0689 54&lt;br /&gt;
                LI   $c0                 ; 068a 20 c0&lt;br /&gt;
                NS   $0                  ; 068c f0&lt;br /&gt;
                LR   $3,A                ; 068d 53&lt;br /&gt;
                LI   $3f                 ; 068e 20 3f&lt;br /&gt;
                NS   $0                  ; 0690 f0&lt;br /&gt;
                LR   $0,A                ; 0691 50&lt;br /&gt;
                CI   $15                 ; 0692 25 15&lt;br /&gt;
                BNZ  A06b4            ; 0694 94 1f&lt;br /&gt;
                LISU 4                   ; 0696 64&lt;br /&gt;
                LISL 0                   ; 0697 68&lt;br /&gt;
                LIS  $2                  ; 0698 72&lt;br /&gt;
                LR   $4,A                ; 0699 54&lt;br /&gt;
                PI   A06ec               ; 069a 28 06 ec&lt;br /&gt;
                LI   $15                 ; 069d 20 15&lt;br /&gt;
                LR   $0,A                ; 069f 50&lt;br /&gt;
A06a0:          PI   A0718               ; 06a0 28 07 18&lt;br /&gt;
                LR   A,$1                ; 06a3 41&lt;br /&gt;
                AI   $06                 ; 06a4 24 06&lt;br /&gt;
                LR   $1,A                ; 06a6 51&lt;br /&gt;
                LISU 6                   ; 06a7 66&lt;br /&gt;
                LISL 5                   ; 06a8 6d&lt;br /&gt;
                LR   A,I             ; 06a9 4d&lt;br /&gt;
                LR   $3,A                ; 06aa 53&lt;br /&gt;
                LR   A,S              ; 06ab 4c&lt;br /&gt;
                LR   $4,A                ; 06ac 54&lt;br /&gt;
                LISL 4                   ; 06ad 6c&lt;br /&gt;
                LR   A,S              ; 06ae 4c&lt;br /&gt;
                LR   IS,A                ; 06af 0b&lt;br /&gt;
                PI   popk                ; 06b0 28 01 1e&lt;br /&gt;
                PK                       ; 06b3 0c&lt;br /&gt;
                &lt;br /&gt;
A06b4:          CI   $30                 ; 06b4 25 30&lt;br /&gt;
                BNZ  A06c2            ; 06b6 94 0b&lt;br /&gt;
                LISU 2                   ; 06b8 62&lt;br /&gt;
                LISL 1                   ; 06b9 69&lt;br /&gt;
                PI   A06ec               ; 06ba 28 06 ec&lt;br /&gt;
                LISL 0                   ; 06bd 68&lt;br /&gt;
                LR   A,I             ; 06be 4d&lt;br /&gt;
                LR   $0,A                ; 06bf 50&lt;br /&gt;
                BF   $0,A06a0            ; 06c0 90 df&lt;br /&gt;
                &lt;br /&gt;
A06c2:          CI   $31                 ; 06c2 25 31&lt;br /&gt;
                BNZ  A06d0            ; 06c4 94 0b&lt;br /&gt;
                LISU 2                   ; 06c6 62&lt;br /&gt;
                LISL 4                   ; 06c7 6c&lt;br /&gt;
                PI   A06ec               ; 06c8 28 06 ec&lt;br /&gt;
                LISL 3                   ; 06cb 6b&lt;br /&gt;
                LR   A,I             ; 06cc 4d&lt;br /&gt;
                LR   $0,A                ; 06cd 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ce 90 d1&lt;br /&gt;
                &lt;br /&gt;
A06d0:          CI   $32                 ; 06d0 25 32&lt;br /&gt;
                BNZ  A06de            ; 06d2 94 0b&lt;br /&gt;
                LISU 3                   ; 06d4 63&lt;br /&gt;
                LISL 0                   ; 06d5 68&lt;br /&gt;
                PI   A06ec               ; 06d6 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06d9 20 14&lt;br /&gt;
                LR   $0,A                ; 06db 50&lt;br /&gt;
                BF   $0,A06a0            ; 06dc 90 c3&lt;br /&gt;
                &lt;br /&gt;
A06de:          CI   $33                 ; 06de 25 33&lt;br /&gt;
                BNZ  A06a0            ; 06e0 94 bf&lt;br /&gt;
                LISU 3                   ; 06e2 63&lt;br /&gt;
                LISL 2                   ; 06e3 6a&lt;br /&gt;
                PI   A06ec               ; 06e4 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06e7 20 14&lt;br /&gt;
                LR   $0,A                ; 06e9 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ea 90 b5&lt;br /&gt;
                &lt;br /&gt;
A06ec:          LR   K,P                 ; 06ec 08&lt;br /&gt;
                PI   pushk               ; 06ed 28 01 07&lt;br /&gt;
                LR   A,S              ; 06f0 4c&lt;br /&gt;
                XS   $1                  ; 06f1 e1&lt;br /&gt;
                BNZ  A06f9            ; 06f2 94 06&lt;br /&gt;
                LR   A,I             ; 06f4 4d&lt;br /&gt;
                LR   A,D             ; 06f5 4e&lt;br /&gt;
                XS   $2                  ; 06f6 e2&lt;br /&gt;
                BT   4,A0714             ; 06f7 84 1c&lt;br /&gt;
A06f9:          LR   A,$1                ; 06f9 41&lt;br /&gt;
                LR   $5,A                ; 06fa 55&lt;br /&gt;
                LR   A,$2                ; 06fb 42&lt;br /&gt;
                LR   $6,A                ; 06fc 56&lt;br /&gt;
                LR   A,S              ; 06fd 4c&lt;br /&gt;
                LR   $1,A                ; 06fe 51&lt;br /&gt;
                LR   A,$5                ; 06ff 45&lt;br /&gt;
                LR   I,A             ; 0700 5d&lt;br /&gt;
                LR   A,S              ; 0701 4c&lt;br /&gt;
                LR   $2,A                ; 0702 52&lt;br /&gt;
                LR   A,$6                ; 0703 46&lt;br /&gt;
                LR   D,A             ; 0704 5e&lt;br /&gt;
                LIS  $d                  ; 0705 7d&lt;br /&gt;
                LR   $0,A                ; 0706 50&lt;br /&gt;
                DCI  bitmaps             ; 0707 2a 07 67&lt;br /&gt;
                PI   A0718               ; 070a 28 07 18&lt;br /&gt;
                DCI  bitmaps             ; 070d 2a 07 67&lt;br /&gt;
                LR   A,I             ; 0710 4d&lt;br /&gt;
                LR   $1,A                ; 0711 51&lt;br /&gt;
                LR   A,D             ; 0712 4e&lt;br /&gt;
                LR   $2,A                ; 0713 52&lt;br /&gt;
A0714:          PI   popk                ; 0714 28 01 1e&lt;br /&gt;
                PK                       ; 0717 0c&lt;br /&gt;
                &lt;br /&gt;
A0718:          LR   A,$0                ; 0718 40&lt;br /&gt;
                SL   1                   ; 0719 13&lt;br /&gt;
                ADC                      ; 071a 8e&lt;br /&gt;
                AS   $0                  ; 071b c0&lt;br /&gt;
                ADC                      ; 071c 8e&lt;br /&gt;
                LI   $40                 ; 071d 20 40&lt;br /&gt;
                OUTS 0                   ; 071f b0&lt;br /&gt;
                LR   A,$4                ; 0720 44&lt;br /&gt;
                LR   $6,A                ; 0721 56&lt;br /&gt;
A0722:          LR   $5,A                ; 0722 55&lt;br /&gt;
                LM                       ; 0723 16&lt;br /&gt;
                LR   $7,A                ; 0724 57&lt;br /&gt;
                LR   A,$2                ; 0725 42&lt;br /&gt;
                AI   $00                 ; 0726 24 00&lt;br /&gt;
                COM                      ; 0728 18&lt;br /&gt;
                NI   $3f                 ; 0729 21 3f&lt;br /&gt;
                LR   $8,A                ; 072b 58&lt;br /&gt;
                INS  5                   ; 072c a5&lt;br /&gt;
                NI   $c0                 ; 072d 21 c0&lt;br /&gt;
                AS   $8                  ; 072f c8&lt;br /&gt;
                OUTS 5                   ; 0730 b5&lt;br /&gt;
A0731:          LR   A,$1                ; 0731 41&lt;br /&gt;
                AI   $fc                 ; 0732 24 fc&lt;br /&gt;
                COM                      ; 0734 18&lt;br /&gt;
                OUTS 4                   ; 0735 b4&lt;br /&gt;
                LR   A,$7                ; 0736 47&lt;br /&gt;
                OI   $00                 ; 0737 22 00&lt;br /&gt;
                LR   A,$3                ; 0739 43&lt;br /&gt;
                BF   $1,A073d            ; 073a 91 02&lt;br /&gt;
                LIS  $0                  ; 073c 70&lt;br /&gt;
A073d:          COM                      ; 073d 18&lt;br /&gt;
                OUTS 1                   ; 073e b1&lt;br /&gt;
                LR   A,$7                ; 073f 47&lt;br /&gt;
                SL   1                   ; 0740 13&lt;br /&gt;
                LR   $7,A                ; 0741 57&lt;br /&gt;
                LI   $60                 ; 0742 20 60&lt;br /&gt;
                OUTS 0                   ; 0744 b0&lt;br /&gt;
                LI   $50                 ; 0745 20 50 - bit 4 is however n/c, so $40 can be used&lt;br /&gt;
                OUTS 0                   ; 0747 b0&lt;br /&gt;
                LR   A,$1                ; 0748 41&lt;br /&gt;
                INC                      ; 0749 1f&lt;br /&gt;
                LR   $1,A                ; 074a 51&lt;br /&gt;
&lt;br /&gt;
                LIS  $4                  ; 074b 74  after pixel delay&lt;br /&gt;
                LR   $8,A                ; 074c 58&lt;br /&gt;
A074d:          DS   $8                  ; 074d 38&lt;br /&gt;
                BNZ  A074d               ; 074e 94 fe&lt;br /&gt;
&lt;br /&gt;
                DS   $5                  ; 0750 35&lt;br /&gt;
                BNZ  A0731               ; 0751 94 df&lt;br /&gt;
                LR   A,$2                ; 0753 42&lt;br /&gt;
                INC                      ; 0754 1f&lt;br /&gt;
                LR   $2,A                ; 0755 52&lt;br /&gt;
                LR   A,$4                ; 0756 44&lt;br /&gt;
                COM                      ; 0757 18&lt;br /&gt;
                INC                      ; 0758 1f&lt;br /&gt;
                AS   $1                  ; 0759 c1&lt;br /&gt;
                LR   $1,A                ; 075a 51&lt;br /&gt;
                LR   A,$4                ; 075b 44&lt;br /&gt;
                DS   $6                  ; 075c 36&lt;br /&gt;
                BNZ  A0722            ; 075d 94 c4&lt;br /&gt;
                LR   A,$4                ; 075f 44&lt;br /&gt;
                COM                      ; 0760 18&lt;br /&gt;
                INC                      ; 0761 1f&lt;br /&gt;
                AS   $2                  ; 0762 c2&lt;br /&gt;
                LR   $2,A                ; 0763 52&lt;br /&gt;
                LIS  $0                  ; 0764 70&lt;br /&gt;
                OUTS 0                   ; 0765 b0&lt;br /&gt;
                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
&lt;br /&gt;
			                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
	; 0 $0767&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 1 $076C&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; 2 $0771&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 3 $0776&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 4 $077B&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; 5 $0780&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 6 $0785&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 7 $078A&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; 8 $078F&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 9 $0794&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; G $0799&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%10011000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; ? $079E&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; T $07A3&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; (space) $07A8&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; M $07AD&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
&lt;br /&gt;
	; X $07B2&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
&lt;br /&gt;
	; (block) $07B7&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
&lt;br /&gt;
	; : $07BC&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; - $07C1&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; || (center) $07C6&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
&lt;br /&gt;
	; || (left) $07CB&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
&lt;br /&gt;
	; ' $07D0&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players $07D5&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 1 $07DA&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 2 $07DF&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 3 $07E4&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 4 $07E9&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 5 $07EE&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 6 $07F3&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 7 $07F8&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; $07FD&lt;br /&gt;
	.byte	0,0,0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=771</id>
		<title>Disassembly:Bios</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=771"/>
				<updated>2026-08-03T19:56:30Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is the disassembly of the [[Channel F]] [[bios]] made and partially annotated by Sean Riddle. This code is copyright &amp;amp;copy; 1976 Fairchild Semiconductor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cartridgeStart = $0800&lt;br /&gt;
cartridgeEntry = $0802&lt;br /&gt;
&lt;br /&gt;
;=======;&lt;br /&gt;
; Reset ;&lt;br /&gt;
;=======;&lt;br /&gt;
&lt;br /&gt;
; this is the code executed when the system first&lt;br /&gt;
; starts up. it clears the registers, sets the K stack&lt;br /&gt;
; pointer, and checks to see if a cartridge is inserted&lt;br /&gt;
&lt;br /&gt;
reset:&lt;br /&gt;
	clr&lt;br /&gt;
reset.clrRegs:				; clear all the registers to 0&lt;br /&gt;
	lr	IS, A			; set the ISAR&lt;br /&gt;
	clr&lt;br /&gt;
	lr	S, A			; clear the current register&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc				; increase the ISAR&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bnz	reset.clrRegs		; if we're not finished, loop&lt;br /&gt;
&lt;br /&gt;
	; set K stack pointer (see pushk/popk)&lt;br /&gt;
	lisu	7			; K stack pointer (r59)&lt;br /&gt;
	lisl	3&lt;br /&gt;
	li	$28&lt;br /&gt;
	lr	S, A			; pointer is set to r40&lt;br /&gt;
&lt;br /&gt;
	; check to see if a cartridge is inserted&lt;br /&gt;
	dci	cartridgeStart&lt;br /&gt;
	lm&lt;br /&gt;
	ci	$55			; compare the first cartridge byte to $55&lt;br /&gt;
	bnz	noCart			; if it's false, there's no valid cartridge inserted&lt;br /&gt;
	jmp	cartridgeEntry		; otherwise, play the cartridge&lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; No Cartridge ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; no cartridge is inserted, so play the internal games&lt;br /&gt;
                &lt;br /&gt;
noCart:&lt;br /&gt;
	; clear screen to gray&lt;br /&gt;
	li	$d6&lt;br /&gt;
	lr	3, A&lt;br /&gt;
	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
A0020:          LI   $4a                 ; blue G&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; 0026 63&lt;br /&gt;
                LISL 4                   ; 0027 6c&lt;br /&gt;
                LIS  $4                  ; 0028 74&lt;br /&gt;
                LR   S,A              ; 0029 5c&lt;br /&gt;
                LR   A,$4                ; 002a 44&lt;br /&gt;
                LISL 7                   ; 002b 6f&lt;br /&gt;
                LR   S,A              ; 002c 5c&lt;br /&gt;
                CI   $03                 ; 002d 25 03&lt;br /&gt;
                BF   $1,A0020            ; 002f 91 f0&lt;br /&gt;
                PI   A0135               ; 0031 28 01 35&lt;br /&gt;
                PI   prompts             ; 0034 28 02 24&lt;br /&gt;
A0037:          PI   A0088               ; 0037 28 00 88&lt;br /&gt;
                PI   A02da               ; 003a 28 02 da&lt;br /&gt;
                PI   A0088               ; 003d 28 00 88&lt;br /&gt;
                PI   A02e8               ; 0040 28 02 e8&lt;br /&gt;
                PI   A0088               ; 0043 28 00 88&lt;br /&gt;
                NI   $04                 ; 0046 21 04&lt;br /&gt;
                BT   4,A0050             ; 0048 84 07&lt;br /&gt;
                PI   A038c               ; 004a 28 03 8c&lt;br /&gt;
                PI   A0399               ; 004d 28 03 99&lt;br /&gt;
A0050:          PI   A0658               ; 0050 28 06 58&lt;br /&gt;
                PI   A0467               ; 0053 28 04 67&lt;br /&gt;
                PI   A03d3               ; 0056 28 03 d3&lt;br /&gt;
                LISU 3                   ; 0059 63&lt;br /&gt;
                LISL 7                   ; 005a 6f&lt;br /&gt;
                LR   A,S              ; 005b 4c&lt;br /&gt;
                CI   $02                 ; 005c 25 02&lt;br /&gt;
                BNZ  A0063            ; 005e 94 04&lt;br /&gt;
                PI   A0447               ; 0060 28 04 47&lt;br /&gt;
A0063:          LISU 4                   ; 0063 64&lt;br /&gt;
                LISL 7                   ; 0064 6f&lt;br /&gt;
                LR   A,S              ; 0065 4c&lt;br /&gt;
                INC                      ; 0066 1f&lt;br /&gt;
                LR   S,A              ; 0067 5c&lt;br /&gt;
                LIS  $0                  ; 0068 70&lt;br /&gt;
                OUTS 0                   ; 0069 b0&lt;br /&gt;
                INS  0                   ; read buttons&lt;br /&gt;
                NI   $04                 ; hold button hit?&lt;br /&gt;
                BNZ  A0072            ; nope&lt;br /&gt;
                PI   prompts             ; yes, print S? and wait&lt;br /&gt;
A0072:          LISU 3                   ; 0072 63&lt;br /&gt;
                LISL 4                   ; 0073 6c&lt;br /&gt;
                DCI  speeds              ; 0074 2a 00 83&lt;br /&gt;
                LR   A,S              ; 0077 4c&lt;br /&gt;
                SR   1                   ; 0078 12&lt;br /&gt;
                ADC                      ; 0079 8e&lt;br /&gt;
                LM                       ; 007a 16&lt;br /&gt;
                LR   $5,A                ; 007b 55&lt;br /&gt;
                PI   delay               ; 007c 28 00 8f&lt;br /&gt;
                LIS  $0                  ; turn off sound&lt;br /&gt;
                OUTS 5                   ; 0080 b5&lt;br /&gt;
                BF   $0,A0037            ; 0081 90 b5&lt;br /&gt;
                &lt;br /&gt;
speeds:			db	$22,$13,$07,$03,$03		; mode speeds&lt;br /&gt;
&lt;br /&gt;
A0088:          LISU 4                   ;&lt;br /&gt;
                LISL 6                   ; &lt;br /&gt;
                LR   A,D             ; &lt;br /&gt;
                LR   $1,A                ; r1=r38&lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                LR   $0,A                ; r0=r37&lt;br /&gt;
                POP                      ; &lt;br /&gt;
                &lt;br /&gt;
delay:          LI   $ff                 ;$008f - parameter in r5, uses r6&lt;br /&gt;
                LR   $6,A                ;&lt;br /&gt;
dlyloop:        DS   $6                  ;&lt;br /&gt;
                BNZ  dlyloop          ;&lt;br /&gt;
                DS   $5                  ;&lt;br /&gt;
                BNZ  delay            ;&lt;br /&gt;
                POP                      ;&lt;br /&gt;
                &lt;br /&gt;
prompt:         LR   K,P                 ; $0099 - prints char r0 at row r1, col r2, waits for button&lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                LI   $8b                 ; r0=8b	red ?&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                PI   readbuts            ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                LIS  $d                  ; r0=$d&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   popk                ; &lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
readbuts:       INS  0                   ; $00c1 - read buttons&lt;br /&gt;
                COM                      ; &lt;br /&gt;
                NI   $0f                 ; &lt;br /&gt;
                BT   4,readbuts          ; &lt;br /&gt;
                LR   $4,A                ; &lt;br /&gt;
                LI   $ff                 ; &lt;br /&gt;
                LR   $5,A                ; &lt;br /&gt;
debounce:       DS   $5                  ; &lt;br /&gt;
                BNZ  debounce         ; &lt;br /&gt;
                BF   $0,delay            ; &lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; Clear Screen ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; &lt;br /&gt;
; clears the screen to a color and palette specified in r3&lt;br /&gt;
; it clears screen using the drawchar routine, one character at the time&lt;br /&gt;
; it covers the area from (0,0) to (127,63)&lt;br /&gt;
; it uses r31 (O37), b0 and b7 needs to be 0 or you'll get a black bar&lt;br /&gt;
&lt;br /&gt;
	; clear screen to gray&lt;br /&gt;
;	li	$d6&lt;br /&gt;
	; clear screen to green&lt;br /&gt;
;	li	$c0&lt;br /&gt;
	; clear screen to b/w&lt;br /&gt;
;	li	$21&lt;br /&gt;
	; clear screen to blue&lt;br /&gt;
;	li	$93&lt;br /&gt;
;	lr	3, A&lt;br /&gt;
;	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
clrscrn:                                    ; $00D0&lt;br /&gt;
	; save return address&lt;br /&gt;
	lr	K, P&lt;br /&gt;
	pi	pushk&lt;br /&gt;
&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	2, A&lt;br /&gt;
clrscrn.loop2:&lt;br /&gt;
	li	$7e&lt;br /&gt;
	lr	1, A&lt;br /&gt;
	lr	A, 3&lt;br /&gt;
	oi	10&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar&lt;br /&gt;
	lis	5			; this is LIS 4 in other BIOS!!!&lt;br /&gt;
	lr	1, A&lt;br /&gt;
clrscrn.loop1:&lt;br /&gt;
	lis	13&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar	&lt;br /&gt;
	ds	1&lt;br /&gt;
	lr	A, 1&lt;br /&gt;
	ci	$70&lt;br /&gt;
	bc	clrscrn.loop1&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ai	5&lt;br /&gt;
	lr	2, A&lt;br /&gt;
	lisu	3&lt;br /&gt;
	lisl	7&lt;br /&gt;
	lis	3&lt;br /&gt;
	ns	S&lt;br /&gt;
	bz	A00fe&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$30&lt;br /&gt;
	bc	clrscrn.loop2&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	3, A&lt;br /&gt;
A00fe:&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bc	clrscrn.loop2&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pi	popk&lt;br /&gt;
	pk&lt;br /&gt;
&lt;br /&gt;
;==================;&lt;br /&gt;
; Register K Stack ;&lt;br /&gt;
;==================;&lt;br /&gt;
&lt;br /&gt;
; the K stack is an emulated stack using the register r59&lt;br /&gt;
; as a stack pointer, which holds the register number for&lt;br /&gt;
; the top of the stack, which first points at r40. when&lt;br /&gt;
; pushk is called, K is pushed to the first two registers&lt;br /&gt;
; on the stack, and the pointer is increased.&lt;br /&gt;
;&lt;br /&gt;
; the K stack can hold 9 copies of K (r40-58) before &lt;br /&gt;
; the stack pointer itself is overwritten (r59)&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Push K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; pushes register K (r12-13) onto a stack using r59 as&lt;br /&gt;
; the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
&lt;br /&gt;
pushk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; get the top of the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3			; r59, stack pointer&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	IS, A			; load the referenced register&lt;br /&gt;
	; push K onto the stack&lt;br /&gt;
	lr	A, Ku&lt;br /&gt;
	lr	S, A			; push high byte of K&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR (they could've used lr I, A)&lt;br /&gt;
	lr	A, Kl&lt;br /&gt;
	lr	S, A			; push low byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR to the top of the stack&lt;br /&gt;
	lr	A, IS			; redundantly, get back the register number&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Pop K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; retrieves a 16-bit value from the K stack and&lt;br /&gt;
; stores it in K, using r59 as the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
                &lt;br /&gt;
popk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; retrieve K from the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	A, S			; load the stack pointer&lt;br /&gt;
	ai	$ff			; &amp;quot;subtract&amp;quot; 1 to get the first register on the stack&lt;br /&gt;
	lr	IS, A			; set the ISAR to this register&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Kl, A			; load lower byte of K &lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	ai	$ff			; get previous register (they could've used lr A, D)&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Ku, A			; load upper byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;===================;&lt;br /&gt;
                &lt;br /&gt;
A0135:          LR   K,P                 ; 0135 08&lt;br /&gt;
                PI   pushk               ; 0136 28 01 07&lt;br /&gt;
                LISU 3                   ; 0139 63&lt;br /&gt;
                LISL 7                   ; 013a 6f&lt;br /&gt;
                LR   A,S              ; 013b 4c&lt;br /&gt;
                LISU 4                   ; 013c 64&lt;br /&gt;
                LISL 5                   ; 013d 6d&lt;br /&gt;
                CI   $01                 ; 013e 25 01&lt;br /&gt;
                BT   4,A014f             ; 0140 84 0e&lt;br /&gt;
                LI   $53                 ; 0142 20 53&lt;br /&gt;
                LR   I,A             ; 0144 5d&lt;br /&gt;
                LIS  $c                  ; 0145 7c	!!! this is 7F in other BIOS&lt;br /&gt;
                LR   D,A             ; 0146 5e&lt;br /&gt;
                LI   $d0                 ; 0147 20 d0&lt;br /&gt;
                LR   $3,A                ; 0149 53&lt;br /&gt;
                PI   clrscrn             ; 014a 28 00 d0&lt;br /&gt;
                BF   $0,A017d            ; 014d 90 2f&lt;br /&gt;
                &lt;br /&gt;
A014f:          LI   $17                 ; 014f 20 17&lt;br /&gt;
                LR   I,A             ; 0151 5d&lt;br /&gt;
                LI   $ff                 ; 0152 20 ff&lt;br /&gt;
                LR   S,A              ; 0154 5c&lt;br /&gt;
                LI   $d6                 ; 0155 20 d6&lt;br /&gt;
                LR   $3,A                ; 0157 53&lt;br /&gt;
                PI   clrscrn             ; 0158 28 00 d0&lt;br /&gt;
                LI   $11                 ; 015b 20 11&lt;br /&gt;
                LR   $1,A                ; 015d 51&lt;br /&gt;
                LIS  $8                  ; 015e 78&lt;br /&gt;
                LR   $2,A                ; 015f 52&lt;br /&gt;
                PI   A01f6               ; 0160 28 01 f6&lt;br /&gt;
                LI   $11                 ; 0163 20 11&lt;br /&gt;
                LR   $1,A                ; 0165 51&lt;br /&gt;
                LI   $25                 ; 0166 20 25&lt;br /&gt;
                LR   $2,A                ; 0168 52&lt;br /&gt;
                PI   A01f6               ; 0169 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 016c 20 5c&lt;br /&gt;
                LR   $1,A                ; 016e 51&lt;br /&gt;
                LIS  $8                  ; 016f 78&lt;br /&gt;
                LR   $2,A                ; 0170 52&lt;br /&gt;
                PI   A01f6               ; 0171 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 0174 20 5c&lt;br /&gt;
                LR   $1,A                ; 0176 51&lt;br /&gt;
                LI   $25                 ; 0177 20 25&lt;br /&gt;
                LR   $2,A                ; 0179 52&lt;br /&gt;
                PI   A01f6               ; 017a 28 01 f6&lt;br /&gt;
A017d:          LI   $14                 ; 017d 20 14&lt;br /&gt;
                LR   $1,A                ; 017f 51&lt;br /&gt;
                LIS  $6                  ; 0180 76&lt;br /&gt;
                LR   $2,A                ; 0181 52&lt;br /&gt;
                PI   A020e               ; 0182 28 02 0e&lt;br /&gt;
                LI   $14                 ; 0185 20 14&lt;br /&gt;
                LR   $1,A                ; 0187 51&lt;br /&gt;
                LI   $2e                 ; 0188 20 2e&lt;br /&gt;
                LR   $2,A                ; 018a 52&lt;br /&gt;
                PI   A020e               ; 018b 28 02 0e&lt;br /&gt;
                LI   $99                 ; 018e 20 99&lt;br /&gt;
                LISU 2                   ; 0190 62&lt;br /&gt;
                LISL 6                   ; 0191 6e&lt;br /&gt;
                LR   I,A             ; 0192 5d&lt;br /&gt;
                LR   S,A              ; 0193 5c&lt;br /&gt;
                PI   A02ac               ; 0194 28 02 ac&lt;br /&gt;
                PI   A02b5               ; 0197 28 02 b5&lt;br /&gt;
                LISU 4                   ; 019a 64&lt;br /&gt;
                LISL 2                   ; 019b 6a&lt;br /&gt;
                LIS  $2                  ; 019c 72&lt;br /&gt;
                LR   S,A              ; 019d 5c&lt;br /&gt;
                BF   $0,A01a4            ; 019e 90 05&lt;br /&gt;
                &lt;br /&gt;
A01a0:          LR   K,P                 ; 01a0 08&lt;br /&gt;
                PI   pushk               ; 01a1 28 01 07&lt;br /&gt;
A01a4:          LISU 2                   ; 01a4 62&lt;br /&gt;
                LISL 0                   ; 01a5 68&lt;br /&gt;
                LI   $17                 ; 01a6 20 17&lt;br /&gt;
                LR   S,A              ; 01a8 5c&lt;br /&gt;
                LISL 3                   ; 01a9 6b&lt;br /&gt;
                LR   S,A              ; 01aa 5c&lt;br /&gt;
                LI   $1c                 ; 01ab 20 1c&lt;br /&gt;
                LR   $1,A                ; 01ad 51&lt;br /&gt;
                LI   $1a                 ; 01ae 20 1a&lt;br /&gt;
                LR   $2,A                ; 01b0 52&lt;br /&gt;
                LI   $b0                 ; 01b1 20 b0&lt;br /&gt;
                LR   $0,A                ; 01b3 50&lt;br /&gt;
                PI   drawchar            ; 01b4 28 06 79&lt;br /&gt;
                LI   $38                 ; 01b7 20 38&lt;br /&gt;
                LR   $1,A                ; 01b9 51&lt;br /&gt;
                LI   $1b                 ; 01ba 20 1b&lt;br /&gt;
                LR   $2,A                ; 01bc 52&lt;br /&gt;
                LI   $55                 ; 01bd 20 55&lt;br /&gt;
                LR   $0,A                ; 01bf 50&lt;br /&gt;
                PI   drawchar            ; 01c0 28 06 79&lt;br /&gt;
                LI   $52                 ; 01c3 20 52&lt;br /&gt;
                LR   $1,A                ; 01c5 51&lt;br /&gt;
                LI   $1a                 ; 01c6 20 1a&lt;br /&gt;
                LR   $2,A                ; 01c8 52&lt;br /&gt;
                LI   $71                 ; 01c9 20 71&lt;br /&gt;
                LR   $0,A                ; 01cb 50&lt;br /&gt;
                PI   drawchar            ; 01cc 28 06 79&lt;br /&gt;
                LISU 4                   ; 01cf 64&lt;br /&gt;
                LISL 5                   ; 01d0 6d&lt;br /&gt;
                LR   A,S              ; 01d1 4c&lt;br /&gt;
                SL   1                   ; 01d2 13&lt;br /&gt;
                BT   1,A01da             ; 01d3 81 06&lt;br /&gt;
                PI   A0447               ; 01d5 28 04 47&lt;br /&gt;
                BF   $0,A01f2            ; 01d8 90 19&lt;br /&gt;
                &lt;br /&gt;
A01da:          LI   $11                 ; 01da 20 11&lt;br /&gt;
                LR   $1,A                ; 01dc 51&lt;br /&gt;
                LI   $1a                 ; 01dd 20 1a&lt;br /&gt;
                LR   $2,A                ; 01df 52&lt;br /&gt;
                LI   $b2                 ; 01e0 20 b2&lt;br /&gt;
                LR   $0,A                ; 01e2 50&lt;br /&gt;
                PI   drawchar            ; 01e3 28 06 79&lt;br /&gt;
                LI   $5e                 ; 01e6 20 5e&lt;br /&gt;
                LR   $1,A                ; 01e8 51&lt;br /&gt;
                LI   $1a                 ; 01e9 20 1a&lt;br /&gt;
                LR   $2,A                ; 01eb 52&lt;br /&gt;
                LI   $73                 ; 01ec 20 73&lt;br /&gt;
                LR   $0,A                ; 01ee 50&lt;br /&gt;
                PI   drawchar            ; 01ef 28 06 79&lt;br /&gt;
A01f2:          PI   popk                ; 01f2 28 01 1e&lt;br /&gt;
                PK                       ; 01f5 0c&lt;br /&gt;
                &lt;br /&gt;
A01f6:          LR   K,P                 ; 01f6 08&lt;br /&gt;
                PI   pushk               ; 01f7 28 01 07&lt;br /&gt;
                LIS  $8                  ; 01fa 78&lt;br /&gt;
                LR   $3,A                ; 01fb 53&lt;br /&gt;
A01fc:          LI   $81                 ; 01fc 20 81&lt;br /&gt;
                LR   $0,A                ; 01fe 50&lt;br /&gt;
                PI   drawchar            ; 01ff 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0202 41&lt;br /&gt;
                AI   $fa                 ; 0203 24 fa&lt;br /&gt;
                LR   $1,A                ; 0205 51&lt;br /&gt;
                LR   A,$2                ; 0206 42&lt;br /&gt;
                INC                      ; 0207 1f&lt;br /&gt;
                LR   $2,A                ; 0208 52&lt;br /&gt;
                DS   $3                  ; 0209 33&lt;br /&gt;
                BNZ  A01fc            ; 020a 94 f1&lt;br /&gt;
                BF   $0,A01f2            ; 020c 90 e5&lt;br /&gt;
                &lt;br /&gt;
A020e:          LR   K,P                 ; 020e 08&lt;br /&gt;
                PI   pushk               ; 020f 28 01 07&lt;br /&gt;
                LI   $46                 ; 0212 20 46&lt;br /&gt;
                LR   $3,A                ; 0214 53&lt;br /&gt;
A0215:          LI   $92                 ; 0215 20 92&lt;br /&gt;
                LR   $0,A                ; 0217 50&lt;br /&gt;
                PI   drawchar            ; 0218 28 06 79&lt;br /&gt;
                LR   A,$1                ; 021b 41&lt;br /&gt;
                AI   $fb                 ; 021c 24 fb&lt;br /&gt;
                LR   $1,A                ; 021e 51&lt;br /&gt;
                DS   $3                  ; 021f 33&lt;br /&gt;
                BNZ  A0215            ; 0220 94 f4&lt;br /&gt;
                BF   $0,A01f2            ; 0222 90 cf&lt;br /&gt;
                &lt;br /&gt;
prompts:        LR   K,P                 ; &lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
prompts2:       LI   $85                 ; red 5 (S)&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                CI   $08                 ; is it button 4, Start?&lt;br /&gt;
                BNZ  notbut4          ; no, check others&lt;br /&gt;
                PI   popk                ; yes, return&lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
notbut4:        CI   $02                 ; is it button 2, Mode?&lt;br /&gt;
                BNZ  notbut2          ; &lt;br /&gt;
                LI   $8e                 ; red M&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; &lt;br /&gt;
                LISL 4                   ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
notbut2:        CI   $01                 ; is it button 1, Time?&lt;br /&gt;
                BNZ  prompts2         ; &lt;br /&gt;
                LI   $8c                 ; red T&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                DCI  minutes             ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                SR   1                   ; &lt;br /&gt;
                ADC                      ; &lt;br /&gt;
                LM                       ; &lt;br /&gt;
                LISU 7                   ; &lt;br /&gt;
                LISL 1                   ; &lt;br /&gt;
                LR   I,A             ; &lt;br /&gt;
                LIS  $0                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                LISU 6                   ; &lt;br /&gt;
                LISL 7                   ; &lt;br /&gt;
                LIS  $f                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                PI   A0271               ; &lt;br /&gt;
                LISU 4                   ; &lt;br /&gt;
                LISL 5                   ; &lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                OI   $20                 ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
minutes:		db $02,$05,$10,$10,$20		; minutes of play&lt;br /&gt;
                &lt;br /&gt;
A0271:			LR   K,P                 ; 0271 08&lt;br /&gt;
                PI   pushk               ; 0272 28 01 07&lt;br /&gt;
                LISU 7                   ; 0275 67&lt;br /&gt;
                LISL 2                   ; 0276 6a&lt;br /&gt;
                LR   A,D             ; 0277 4e&lt;br /&gt;
                LR   $4,A                ; 0278 54&lt;br /&gt;
                LR   A,S              ; 0279 4c&lt;br /&gt;
                LR   $3,A                ; 027a 53&lt;br /&gt;
                SR   4                   ; 027b 14&lt;br /&gt;
                OI   $80                 ; 027c 22 80&lt;br /&gt;
                LR   $0,A                ; 027e 50&lt;br /&gt;
                LI   $2a                 ; 027f 20 2a&lt;br /&gt;
                LR   $1,A                ; 0281 51&lt;br /&gt;
                LI   $33                 ; 0282 20 33&lt;br /&gt;
                LR   $2,A                ; 0284 52&lt;br /&gt;
                PI   drawchar            ; 0285 28 06 79&lt;br /&gt;
                LR   A,$3                ; 0288 43&lt;br /&gt;
                NI   $0f                 ; 0289 21 0f&lt;br /&gt;
                OI   $80                 ; 028b 22 80&lt;br /&gt;
                LR   $0,A                ; 028d 50&lt;br /&gt;
                PI   drawchar            ; 028e 28 06 79&lt;br /&gt;
                LI   $91                 ; 0291 20 91&lt;br /&gt;
                LR   $0,A                ; 0293 50&lt;br /&gt;
                PI   drawchar            ; 0294 28 06 79&lt;br /&gt;
                LR   A,$4                ; 0297 44&lt;br /&gt;
                SR   4                   ; 0298 14&lt;br /&gt;
                OI   $80                 ; 0299 22 80&lt;br /&gt;
                LR   $0,A                ; 029b 50&lt;br /&gt;
                PI   drawchar            ; 029c 28 06 79&lt;br /&gt;
                LR   A,$4                ; 029f 44&lt;br /&gt;
                NI   $0f                 ; 02a0 21 0f&lt;br /&gt;
                OI   $80                 ; 02a2 22 80&lt;br /&gt;
                LR   $0,A                ; 02a4 50&lt;br /&gt;
                PI   drawchar            ; 02a5 28 06 79&lt;br /&gt;
                PI   popk                ; 02a8 28 01 1e&lt;br /&gt;
                PK                       ; 02ab 0c&lt;br /&gt;
                &lt;br /&gt;
A02ac:          LR   K,P                 ; 02ac 08&lt;br /&gt;
                PI   pushk               ; 02ad 28 01 07&lt;br /&gt;
                LISL 6                   ; 02b0 6e&lt;br /&gt;
                LI   $17                 ; 02b1 20 17&lt;br /&gt;
                BF   $0,A02bc            ; 02b3 90 08&lt;br /&gt;
                &lt;br /&gt;
A02b5:          LR   K,P                 ; 02b5 08&lt;br /&gt;
                PI   pushk               ; 02b6 28 01 07&lt;br /&gt;
                LISL 7                   ; 02b9 6f&lt;br /&gt;
                LI   $50                 ; 02ba 20 50&lt;br /&gt;
A02bc:          LISU 2                   ; 02bc 62&lt;br /&gt;
                LR   $1,A                ; 02bd 51&lt;br /&gt;
                LI   $33                 ; 02be 20 33&lt;br /&gt;
                LR   $2,A                ; 02c0 52&lt;br /&gt;
                LIS  $1                  ; 02c1 71&lt;br /&gt;
                AI   $66                 ; 02c2 24 66&lt;br /&gt;
                ASD  S                ; 02c4 dc&lt;br /&gt;
                LR   S,A              ; 02c5 5c&lt;br /&gt;
                SR   4                   ; 02c6 14&lt;br /&gt;
                OI   $40                 ; 02c7 22 40&lt;br /&gt;
                LR   $0,A                ; 02c9 50&lt;br /&gt;
                PI   drawchar            ; 02ca 28 06 79&lt;br /&gt;
                LR   A,S              ; 02cd 4c&lt;br /&gt;
                NI   $0f                 ; 02ce 21 0f&lt;br /&gt;
                OI   $40                 ; 02d0 22 40&lt;br /&gt;
                LR   $0,A                ; 02d2 50&lt;br /&gt;
                PI   drawchar            ; 02d3 28 06 79&lt;br /&gt;
                PI   popk                ; 02d6 28 01 1e&lt;br /&gt;
                PK                       ; 02d9 0c&lt;br /&gt;
                &lt;br /&gt;
A02da:          LR   K,P                 ; 02da 08&lt;br /&gt;
                PI   pushk               ; 02db 28 01 07&lt;br /&gt;
                LI   $b0                 ; 02de 20 b0&lt;br /&gt;
                LR   $4,A                ; 02e0 54&lt;br /&gt;
                LISU 2                   ; 02e1 62&lt;br /&gt;
                LISL 1                   ; 02e2 69&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02e3 70&lt;br /&gt;
                OUTS 4                   ; 02e4 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A02f4            ; 02e6 90 0d&lt;br /&gt;
                &lt;br /&gt;
A02e8:          LR   K,P                 ; 02e8 08&lt;br /&gt;
                PI   pushk               ; 02e9 28 01 07&lt;br /&gt;
                LI   $71                 ; 02ec 20 71&lt;br /&gt;
                LR   $4,A                ; 02ee 54&lt;br /&gt;
                LISU 2                   ; 02ef 62&lt;br /&gt;
                LISL 4                   ; 02f0 6c&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02f1 70&lt;br /&gt;
                OUTS 1                   ; 02f2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A02f4:          COM                      ; 02f4 18&lt;br /&gt;
                NS   $1                  ; 02f5 f1&lt;br /&gt;
                LR   $0,A                ; 02f6 50&lt;br /&gt;
                LR   A,I             ; 02f7 4d&lt;br /&gt;
                LR   $1,A                ; 02f8 51&lt;br /&gt;
                LR   A,S              ; 02f9 4c&lt;br /&gt;
                LR   $2,A                ; 02fa 52&lt;br /&gt;
                LIS  $1                  ; 02fb 71&lt;br /&gt;
                NS   $0                  ; 02fc f0&lt;br /&gt;
                BT   4,A0303             ; 02fd 84 05&lt;br /&gt;
                LR   A,$1                ; 02ff 41&lt;br /&gt;
                AI   $02                 ; 0300 24 02&lt;br /&gt;
                LR   $1,A                ; 0302 51&lt;br /&gt;
A0303:          LIS  $2                  ; 0303 72&lt;br /&gt;
                NS   $0                  ; 0304 f0&lt;br /&gt;
                BT   4,A030b             ; 0305 84 05&lt;br /&gt;
                LR   A,$1                ; 0307 41&lt;br /&gt;
                AI   $fe                 ; 0308 24 fe&lt;br /&gt;
                LR   $1,A                ; 030a 51&lt;br /&gt;
A030b:          LIS  $4                  ; 030b 74&lt;br /&gt;
                NS   $0                  ; 030c f0&lt;br /&gt;
                BT   4,A0313             ; 030d 84 05&lt;br /&gt;
                LR   A,$2                ; 030f 42&lt;br /&gt;
                AI   $02                 ; 0310 24 02&lt;br /&gt;
                LR   $2,A                ; 0312 52&lt;br /&gt;
A0313:          LIS  $8                  ; 0313 78&lt;br /&gt;
                NS   $0                  ; 0314 f0&lt;br /&gt;
                BT   4,A031b             ; 0315 84 05&lt;br /&gt;
                LR   A,$2                ; 0317 42&lt;br /&gt;
                AI   $fe                 ; 0318 24 fe&lt;br /&gt;
                LR   $2,A                ; 031a 52&lt;br /&gt;
A031b:          LISU 3                   ; 031b 63&lt;br /&gt;
                LISL 7                   ; 031c 6f&lt;br /&gt;
                LR   A,S              ; 031d 4c&lt;br /&gt;
                CI   $02                 ; 031e 25 02&lt;br /&gt;
                BF   $1,A0357            ; 0320 91 36&lt;br /&gt;
                BNZ  A033a            ; 0322 94 17&lt;br /&gt;
                LIS  $1                  ; 0324 71&lt;br /&gt;
                NS   $4                  ; 0325 f4&lt;br /&gt;
                BNZ  A0332            ; 0326 94 0b&lt;br /&gt;
                LR   A,$1                ; 0328 41&lt;br /&gt;
                CI   $2d                 ; 0329 25 2d&lt;br /&gt;
                BT   1,A0330             ; 032b 81 04&lt;br /&gt;
                LI   $2d                 ; 032d 20 2d&lt;br /&gt;
                LR   $1,A                ; 032f 51&lt;br /&gt;
A0330:          BF   $0,A033a            ; 0330 90 09&lt;br /&gt;
&lt;br /&gt;
A0332:          LR   A,$1                ; 0332 41&lt;br /&gt;
                CI   $3d                 ; 0333 25 3d&lt;br /&gt;
                BF   $1,A033a            ; 0335 91 04&lt;br /&gt;
                LI   $3d                 ; 0337 20 3d&lt;br /&gt;
                LR   $1,A                ; 0339 51&lt;br /&gt;
A033a:          LR   A,$1                ; 033a 41&lt;br /&gt;
                CI   $52                 ; 033b 25 52&lt;br /&gt;
                BT   1,A0342             ; 033d 81 04&lt;br /&gt;
                LI   $52                 ; 033f 20 52&lt;br /&gt;
                LR   $1,A                ; 0341 51&lt;br /&gt;
A0342:          CI   $1a                 ; 0342 25 1a&lt;br /&gt;
                BF   $1,A0349            ; 0344 91 04&lt;br /&gt;
                LI   $1a                 ; 0346 20 1a&lt;br /&gt;
                LR   $1,A                ; 0348 51&lt;br /&gt;
A0349:          LR   A,$2                ; 0349 42&lt;br /&gt;
                CI   $2b                 ; 034a 25 2b&lt;br /&gt;
                BT   1,A0351             ; 034c 81 04&lt;br /&gt;
                LI   $2b                 ; 034e 20 2b&lt;br /&gt;
                LR   $2,A                ; 0350 52&lt;br /&gt;
A0351:          CI   $09                 ; 0351 25 09&lt;br /&gt;
                BF   $1,A0357            ; 0353 91 03&lt;br /&gt;
                LIS  $9                  ; 0355 79&lt;br /&gt;
                LR   $2,A                ; 0356 52&lt;br /&gt;
A0357:          LISU 4                   ; 0357 64&lt;br /&gt;
                LISL 7                   ; 0358 6f&lt;br /&gt;
                LR   A,S              ; 0359 4c&lt;br /&gt;
                NI   $03                 ; 035a 21 03&lt;br /&gt;
                CI   $03                 ; 035c 25 03&lt;br /&gt;
                BNZ  A0383            ; 035e 94 24&lt;br /&gt;
                LISU 2                   ; 0360 62&lt;br /&gt;
                LISL 0                   ; 0361 68&lt;br /&gt;
                LIS  $1                  ; 0362 71&lt;br /&gt;
                NS   $4                  ; 0363 f4&lt;br /&gt;
                BT   4,A0367             ; 0364 84 02&lt;br /&gt;
                LISL 3                   ; 0366 6b&lt;br /&gt;
A0367:          LI   $10                 ; 0367 20 10&lt;br /&gt;
                NS   $0                  ; 0369 f0&lt;br /&gt;
                BT   4,A036d             ; 036a 84 02&lt;br /&gt;
                DS   S                ; 036c 3c&lt;br /&gt;
A036d:          LI   $20                 ; 036d 20 20&lt;br /&gt;
                NS   $0                  ; 036f f0&lt;br /&gt;
                BT   4,A0375             ; 0370 84 04&lt;br /&gt;
                LR   A,S              ; 0372 4c&lt;br /&gt;
                INC                      ; 0373 1f&lt;br /&gt;
                LR   S,A              ; 0374 5c&lt;br /&gt;
A0375:          LR   A,S              ; 0375 4c&lt;br /&gt;
                CI   $16                 ; 0376 25 16&lt;br /&gt;
                BNZ  A037c            ; 0378 94 03&lt;br /&gt;
                LI   $1d                 ; 037a 20 1d&lt;br /&gt;
A037c:          CI   $1e                 ; 037c 25 1e&lt;br /&gt;
                BNZ  A0382            ; 037e 94 03&lt;br /&gt;
                LI   $17                 ; 0380 20 17&lt;br /&gt;
A0382:          LR   S,A              ; 0382 5c&lt;br /&gt;
A0383:          LR   A,$4                ; 0383 44&lt;br /&gt;
                LR   $0,A                ; 0384 50&lt;br /&gt;
                PI   drawchar            ; 0385 28 06 79&lt;br /&gt;
                PI   popk                ; 0388 28 01 1e&lt;br /&gt;
                PK                       ; 038b 0c&lt;br /&gt;
                &lt;br /&gt;
A038c:          LR   K,P                 ; 038c 08&lt;br /&gt;
                PI   pushk               ; 038d 28 01 07&lt;br /&gt;
                LISL 0                   ; 0390 68&lt;br /&gt;
                LI   $b2                 ; 0391 20 b2&lt;br /&gt;
                LR   $3,A                ; 0393 53&lt;br /&gt;
                LIS  $0                  ; 0394 70&lt;br /&gt;
                OUTS 4                   ; 0395 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A03a4            ; 0397 90 0c&lt;br /&gt;
                &lt;br /&gt;
A0399:          LR   K,P                 ; 0399 08&lt;br /&gt;
                PI   pushk               ; 039a 28 01 07&lt;br /&gt;
                LISL 2                   ; 039d 6a&lt;br /&gt;
                LI   $73                 ; 039e 20 73&lt;br /&gt;
                LR   $3,A                ; 03a0 53&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 03a1 70&lt;br /&gt;
                OUTS 1                   ; 03a2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A03a4:          COM                      ; 03a4 18&lt;br /&gt;
                LR   $0,A                ; 03a5 50&lt;br /&gt;
                LISU 3                   ; 03a6 63&lt;br /&gt;
                LR   A,I             ; 03a7 4d&lt;br /&gt;
                LR   $1,A                ; 03a8 51&lt;br /&gt;
                LR   A,S              ; 03a9 4c&lt;br /&gt;
                LR   $2,A                ; 03aa 52&lt;br /&gt;
                LR   A,$0                ; 03ab 40&lt;br /&gt;
                NI   $80                 ; 03ac 21 80&lt;br /&gt;
                BT   4,A03b4             ; 03ae 84 05&lt;br /&gt;
                LR   A,$2                ; 03b0 42&lt;br /&gt;
                AI   $02                 ; 03b1 24 02&lt;br /&gt;
                LR   $2,A                ; 03b3 52&lt;br /&gt;
A03b4:          LR   A,$0                ; 03b4 40&lt;br /&gt;
                NI   $40                 ; 03b5 21 40&lt;br /&gt;
                BT   4,A03bb             ; 03b7 84 03&lt;br /&gt;
                DS   $2                  ; 03b9 32&lt;br /&gt;
                DS   $2                  ; 03ba 32&lt;br /&gt;
A03bb:          LR   A,$2                ; 03bb 42&lt;br /&gt;
                CI   $14                 ; 03bc 25 14&lt;br /&gt;
                BF   $1,A03c3            ; 03be 91 04&lt;br /&gt;
                LI   $14                 ; 03c0 20 14&lt;br /&gt;
                LR   $2,A                ; 03c2 52&lt;br /&gt;
A03c3:          CI   $20                 ; 03c3 25 20&lt;br /&gt;
                BT   1,A03ca             ; 03c5 81 04&lt;br /&gt;
                LI   $20                 ; 03c7 20 20&lt;br /&gt;
                LR   $2,A                ; 03c9 52&lt;br /&gt;
A03ca:          LR   A,$3                ; 03ca 43&lt;br /&gt;
                LR   $0,A                ; 03cb 50&lt;br /&gt;
                PI   drawchar            ; 03cc 28 06 79&lt;br /&gt;
                PI   popk                ; 03cf 28 01 1e&lt;br /&gt;
                PK                       ; 03d2 0c&lt;br /&gt;
                &lt;br /&gt;
A03d3:          LR   K,P                 ; 03d3 08&lt;br /&gt;
                PI   pushk               ; 03d4 28 01 07&lt;br /&gt;
                LISU 4                   ; 03d7 64&lt;br /&gt;
                LISL 0                   ; 03d8 68&lt;br /&gt;
                LR   A,I             ; 03d9 4d&lt;br /&gt;
                LR   $1,A                ; 03da 51&lt;br /&gt;
                LR   A,I             ; 03db 4d&lt;br /&gt;
                LR   $2,A                ; 03dc 52&lt;br /&gt;
                LR   A,I             ; 03dd 4d&lt;br /&gt;
                LR   $3,A                ; 03de 53&lt;br /&gt;
                LR   A,I             ; 03df 4d&lt;br /&gt;
                LR   $4,A                ; 03e0 54&lt;br /&gt;
                LR   A,S              ; 03e1 4c&lt;br /&gt;
                CI   $00                 ; 03e2 25 00&lt;br /&gt;
                BT   4,A03f2             ; 03e4 84 0d&lt;br /&gt;
                LIS  $0                  ; 03e6 70&lt;br /&gt;
                LR   S,A              ; 03e7 5c&lt;br /&gt;
                LR   A,$3                ; 03e8 43&lt;br /&gt;
                SL   1                   ; 03e9 13&lt;br /&gt;
                AS   $3                  ; 03ea c3&lt;br /&gt;
                AS   $3                  ; 03eb c3&lt;br /&gt;
                LR   $3,A                ; 03ec 53&lt;br /&gt;
                LR   A,$4                ; 03ed 44&lt;br /&gt;
                SL   1                   ; 03ee 13&lt;br /&gt;
                AS   $4                  ; 03ef c4&lt;br /&gt;
                AS   $4                  ; 03f0 c4&lt;br /&gt;
                LR   $4,A                ; 03f1 54&lt;br /&gt;
A03f2:          LR   A,$1                ; 03f2 41&lt;br /&gt;
                AS   $3                  ; 03f3 c3&lt;br /&gt;
                LR   $1,A                ; 03f4 51&lt;br /&gt;
                LR   A,$2                ; 03f5 42&lt;br /&gt;
                AS   $4                  ; 03f6 c4&lt;br /&gt;
                LR   $2,A                ; 03f7 52&lt;br /&gt;
                LISU 4                   ; 03f8 64&lt;br /&gt;
                LISL 5                   ; 03f9 6d&lt;br /&gt;
                LI   $44                 ; 03fa 20 44&lt;br /&gt;
                NS   S                ; 03fc fc&lt;br /&gt;
                BT   4,A043b             ; 03fd 84 3d&lt;br /&gt;
                PI   A049c               ; 03ff 28 04 9c&lt;br /&gt;
                LISU 4                   ; 0402 64&lt;br /&gt;
                LISL 2                   ; 0403 6a&lt;br /&gt;
                LR   A,$1                ; 0404 41&lt;br /&gt;
                LR   $0,A                ; 0405 50&lt;br /&gt;
                CI   $5c                 ; 0406 25 5c&lt;br /&gt;
                BT   1,A0410             ; 0408 81 07&lt;br /&gt;
                PI   A043f               ; 040a 28 04 3f&lt;br /&gt;
                LI   $5c                 ; 040d 20 5c&lt;br /&gt;
                LR   $1,A                ; 040f 51&lt;br /&gt;
A0410:          LR   A,$1                ; 0410 41&lt;br /&gt;
                LR   $0,A                ; 0411 50&lt;br /&gt;
                CI   $14                 ; 0412 25 14&lt;br /&gt;
                BF   $1,A041c            ; 0414 91 07&lt;br /&gt;
                PI   A043f               ; 0416 28 04 3f&lt;br /&gt;
                LI   $14                 ; 0419 20 14&lt;br /&gt;
                LR   $1,A                ; 041b 51&lt;br /&gt;
A041c:          LISL 3                   ; 041c 6b&lt;br /&gt;
                LR   A,$2                ; 041d 42&lt;br /&gt;
                LR   $0,A                ; 041e 50&lt;br /&gt;
                CI   $08                 ; 041f 25 08&lt;br /&gt;
                BF   $1,A0429            ; 0421 91 07&lt;br /&gt;
                PI   A043f               ; 0423 28 04 3f&lt;br /&gt;
                LI   $09                 ; 0426 20 09&lt;br /&gt;
                LR   $2,A                ; 0428 52&lt;br /&gt;
A0429:          LR   A,$2                ; 0429 42&lt;br /&gt;
                LR   $0,A                ; 042a 50&lt;br /&gt;
                CI   $2e                 ; 042b 25 2e&lt;br /&gt;
                BT   1,A0435             ; 042d 81 07&lt;br /&gt;
                PI   A043f               ; 042f 28 04 3f&lt;br /&gt;
                LI   $2e                 ; 0432 20 2e&lt;br /&gt;
                LR   $2,A                ; 0434 52&lt;br /&gt;
A0435:          LI   $55                 ; 0435 20 55&lt;br /&gt;
                LR   $0,A                ; 0437 50&lt;br /&gt;
                PI   drawchar            ; 0438 28 06 79&lt;br /&gt;
A043b:          PI   popk                ; 043b 28 01 1e&lt;br /&gt;
                PK                       ; 043e 0c&lt;br /&gt;
                &lt;br /&gt;
A043f:          LR   A,S              ; 043f 4c&lt;br /&gt;
                COM                      ; 0440 18&lt;br /&gt;
                INC                      ; 0441 1f&lt;br /&gt;
                LR   S,A              ; 0442 5c&lt;br /&gt;
                LI   $40                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0445 b5&lt;br /&gt;
                POP                      ; 0446 1c&lt;br /&gt;
                &lt;br /&gt;
A0447:          LR   K,P                 ; 0447 08&lt;br /&gt;
                PI   pushk               ; 0448 28 01 07&lt;br /&gt;
                LI   $36                 ; 044b 20 36&lt;br /&gt;
                LR   $1,A                ; 044d 51&lt;br /&gt;
                LIS  $a                  ; 044e 7a&lt;br /&gt;
                LR   $2,A                ; 044f 52&lt;br /&gt;
                LIS  $5                  ; 0450 75&lt;br /&gt;
                LR   $4,A                ; 0451 54&lt;br /&gt;
A0452:          LI   $81                 ; 0452 20 81&lt;br /&gt;
                LR   $0,A                ; 0454 50&lt;br /&gt;
                PI   drawchar            ; 0455 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0458 41&lt;br /&gt;
                AI   $fa                 ; 0459 24 fa&lt;br /&gt;
                LR   $1,A                ; 045b 51&lt;br /&gt;
                LR   A,$2                ; 045c 42&lt;br /&gt;
                AI   $08                 ; 045d 24 08&lt;br /&gt;
                LR   $2,A                ; 045f 52&lt;br /&gt;
                DS   $4                  ; 0460 34&lt;br /&gt;
                BNZ  A0452            ; 0461 94 f0&lt;br /&gt;
                PI   popk                ; 0463 28 01 1e&lt;br /&gt;
                PK                       ; 0466 0c&lt;br /&gt;
                &lt;br /&gt;
A0467:          LR   K,P                 ; 0467 08&lt;br /&gt;
                PI   pushk               ; 0468 28 01 07&lt;br /&gt;
                LISU 7                   ; 046b 67&lt;br /&gt;
                LISL 0                   ; 046c 68&lt;br /&gt;
                LR   A,S              ; 046d 4c&lt;br /&gt;
                OI   $00                 ; 046e 22 00&lt;br /&gt;
                BT   4,A0498             ; 0470 84 27&lt;br /&gt;
                LIS  $0                  ; 0472 70&lt;br /&gt;
                LR   S,A              ; 0473 5c&lt;br /&gt;
                LISL 2                   ; 0474 6a&lt;br /&gt;
                LIS  $1                  ; 0475 71&lt;br /&gt;
                LR   $0,A                ; 0476 50&lt;br /&gt;
                COM                      ; 0477 18&lt;br /&gt;
                ASD  S                ; 0478 dc&lt;br /&gt;
                AI   $66                 ; 0479 24 66&lt;br /&gt;
                ASD  $0                  ; 047b d0&lt;br /&gt;
                LR   S,A              ; 047c 5c&lt;br /&gt;
                CI   $99                 ; 047d 25 99&lt;br /&gt;
                BNZ  A0495            ; 047f 94 15&lt;br /&gt;
                LI   $59                 ; 0481 20 59&lt;br /&gt;
                LR   D,A             ; 0483 5e&lt;br /&gt;
                LIS  $1                  ; 0484 71&lt;br /&gt;
                LR   $0,A                ; 0485 50&lt;br /&gt;
                COM                      ; 0486 18&lt;br /&gt;
                ASD  S                ; 0487 dc&lt;br /&gt;
                AI   $66                 ; 0488 24 66&lt;br /&gt;
                ASD  $0                  ; 048a d0&lt;br /&gt;
                CI   $99                 ; 048b 25 99&lt;br /&gt;
                BNZ  A0494            ; 048d 94 06&lt;br /&gt;
                PI   prompts             ; time expired, print S?&lt;br /&gt;
                BF   $0,A0498            ; 0492 90 05&lt;br /&gt;
                &lt;br /&gt;
A0494:          LR   S,A              ; 0494 5c&lt;br /&gt;
A0495:          PI   $0271               ; 0495 28 02 71&lt;br /&gt;
A0498:          PI   popk                ; 0498 28 01 1e&lt;br /&gt;
                PK                       ; 049b 0c&lt;br /&gt;
                &lt;br /&gt;
A049c:          LR   K,P                 ; 049c 08&lt;br /&gt;
                PI   pushk               ; 049d 28 01 07&lt;br /&gt;
                LISU 4                   ; 04a0 64&lt;br /&gt;
                LISL 7                   ; 04a1 6f&lt;br /&gt;
                LIS  $1                  ; 04a2 71&lt;br /&gt;
                NS   S                ; 04a3 fc&lt;br /&gt;
                BT   4,A04b8             ; 04a4 84 13&lt;br /&gt;
                LISU 2                   ; 04a6 62&lt;br /&gt;
                LISL 4                   ; 04a7 6c&lt;br /&gt;
                PI   A05fc               ; 04a8 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04ab 30&lt;br /&gt;
                BT   4,A04e8             ; 04ac 84 3b&lt;br /&gt;
                LISU 2                   ; 04ae 62&lt;br /&gt;
                LISL 1                   ; 04af 69&lt;br /&gt;
                PI   A05fc               ; 04b0 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04b3 30&lt;br /&gt;
                BT   4,A04e5             ; 04b4 84 30&lt;br /&gt;
                BF   $0,A04c8            ; 04b6 90 11&lt;br /&gt;
                &lt;br /&gt;
A04b8:          LISU 2                   ; 04b8 62&lt;br /&gt;
                LISL 1                   ; 04b9 69&lt;br /&gt;
                PI   A05fc               ; 04ba 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04bd 30&lt;br /&gt;
                BT   4,A04e5             ; 04be 84 26&lt;br /&gt;
                LISU 2                   ; 04c0 62&lt;br /&gt;
                LISL 4                   ; 04c1 6c&lt;br /&gt;
                PI   A05fc               ; 04c2 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04c5 30&lt;br /&gt;
                BT   4,A04e8             ; 04c6 84 21&lt;br /&gt;
A04c8:          LISU 4                   ; 04c8 64&lt;br /&gt;
                LISL 5                   ; 04c9 6d&lt;br /&gt;
                LR   A,S              ; 04ca 4c&lt;br /&gt;
                NI   $04                 ; 04cb 21 04&lt;br /&gt;
                BNZ  A04d2            ; 04cd 94 04&lt;br /&gt;
                JMP  A059d               ; 04cf 29 05 9d&lt;br /&gt;
                &lt;br /&gt;
A04d2:          LISU 3                   ; 04d2 63&lt;br /&gt;
                LISL 0                   ; 04d3 68&lt;br /&gt;
                PI   A05fc               ; 04d4 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04d7 30&lt;br /&gt;
                BT   4,A0555             ; 04d8 84 7c&lt;br /&gt;
                LISU 3                   ; 04da 63&lt;br /&gt;
                LISL 2                   ; 04db 6a&lt;br /&gt;
                PI   A05fc               ; 04dc 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04df 30&lt;br /&gt;
                BT   4,A0559             ; 04e0 84 78&lt;br /&gt;
                JMP  A0588               ; 04e2 29 05 88&lt;br /&gt;
                &lt;br /&gt;
A04e5:          LISL 0                   ; 04e5 68&lt;br /&gt;
                BF   $0,A04e9            ; 04e6 90 02&lt;br /&gt;
                &lt;br /&gt;
A04e8:          LISL 3                   ; 04e8 6b&lt;br /&gt;
A04e9:          LISU 2                   ; 04e9 62&lt;br /&gt;
                LR   A,I             ; 04ea 4d&lt;br /&gt;
                LR   $4,A                ; 04eb 54&lt;br /&gt;
                LR   A,I             ; 04ec 4d&lt;br /&gt;
                LR   A,S              ; 04ed 4c&lt;br /&gt;
                LR   $7,A                ; 04ee 57&lt;br /&gt;
                LISU 4                   ; 04ef 64&lt;br /&gt;
                LISL 5                   ; 04f0 6d&lt;br /&gt;
                LR   A,S              ; 04f1 4c&lt;br /&gt;
                SL   1                   ; 04f2 13&lt;br /&gt;
                LR   A,$4                ; 04f3 44&lt;br /&gt;
                BT   1,A0516             ; 04f4 81 21&lt;br /&gt;
                DCI  A050e               ; 04f6 2a 05 0e&lt;br /&gt;
                LIS  $7                  ; 04f9 77&lt;br /&gt;
                LR   $4,A                ; 04fa 54&lt;br /&gt;
                DS   $7                  ; 04fb 37&lt;br /&gt;
                DS   $7                  ; 04fc 37&lt;br /&gt;
A04fd:          LR   A,$4                ; 04fd 44&lt;br /&gt;
                AS   $7                  ; 04fe c7&lt;br /&gt;
                LR   $3,A                ; 04ff 53&lt;br /&gt;
                LR   A,$2                ; 0500 42&lt;br /&gt;
                COM                      ; 0501 18&lt;br /&gt;
                INC                      ; 0502 1f&lt;br /&gt;
                AS   $3                  ; 0503 c3&lt;br /&gt;
                BT   4,A0509             ; 0504 84 04&lt;br /&gt;
                DS   $4                  ; 0506 34&lt;br /&gt;
                BT   1,A04fd             ; 0507 81 f5&lt;br /&gt;
A0509:          LR   A,$4                ; 0509 44&lt;br /&gt;
                ADC                      ; 050a 8e&lt;br /&gt;
                LM                       ; 050b 16&lt;br /&gt;
                BF   $0,A0518            ; 050c 90 0b&lt;br /&gt;
&lt;br /&gt;
A050e:			db	$04,$04,$05,$06,$00,$01,$02,$03                &lt;br /&gt;
&lt;br /&gt;
A0516:          AI   $e9                 ; 0516 24 e9&lt;br /&gt;
A0518:          DCI  A0547               ; 0518 2a 05 47&lt;br /&gt;
                SL   1                   ; 051b 13&lt;br /&gt;
                ADC                      ; 051c 8e&lt;br /&gt;
                LM                       ; 051d 16&lt;br /&gt;
                LR   $5,A                ; 051e 55&lt;br /&gt;
                LM                       ; 051f 16&lt;br /&gt;
                LR   $6,A                ; 0520 56&lt;br /&gt;
                LISU 4                   ; 0521 64&lt;br /&gt;
                LISL 2                   ; 0522 6a&lt;br /&gt;
                LR   A,S              ; 0523 4c&lt;br /&gt;
                OI   $00                 ; 0524 22 00&lt;br /&gt;
                BF   $1,A053a            ; 0526 91 13&lt;br /&gt;
                LR   A,$5                ; 0528 45&lt;br /&gt;
                COM                      ; 0529 18&lt;br /&gt;
                INC                      ; 052a 1f&lt;br /&gt;
                LR   $5,A                ; 052b 55&lt;br /&gt;
                LISL 5                   ; 052c 6d&lt;br /&gt;
                LR   A,S              ; 052d 4c&lt;br /&gt;
                SL   1                   ; 052e 13&lt;br /&gt;
                LISL 2                   ; 052f 6a&lt;br /&gt;
                BF   $1,A0536            ; 0530 91 05&lt;br /&gt;
                LR   A,$6                ; 0532 46&lt;br /&gt;
                COM                      ; 0533 18&lt;br /&gt;
                INC                      ; 0534 1f&lt;br /&gt;
                LR   $6,A                ; 0535 56&lt;br /&gt;
A0536:          LR   A,$1                ; 0536 41&lt;br /&gt;
                AI   $02                 ; 0537 24 02&lt;br /&gt;
                LR   $1,A                ; 0539 51&lt;br /&gt;
A053a:          LR   A,$5                ; 053a 45&lt;br /&gt;
                LR   I,A             ; 053b 5d&lt;br /&gt;
                LR   A,$6                ; 053c 46&lt;br /&gt;
                LR   I,A             ; 053d 5d&lt;br /&gt;
                LIS  $2                  ; 053e 72&lt;br /&gt;
                LR   S,A              ; 053f 5c&lt;br /&gt;
                LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0542 b5&lt;br /&gt;
A0543:          PI   popk                ; 0543 28 01 1e&lt;br /&gt;
                PK                       ; 0546 0c&lt;br /&gt;
&lt;br /&gt;
A0547:			db	$02,$00,$02,$01,$02,$02,$01,$02,$01,$FE,$02,$FE,$02,$FF	&lt;br /&gt;
&lt;br /&gt;
A0555:          LIS  $1                  ; 0555 71&lt;br /&gt;
                LR   $3,A                ; 0556 53&lt;br /&gt;
                BF   $0,A055b            ; 0557 90 03&lt;br /&gt;
                &lt;br /&gt;
A0559:          LIS  $2                  ; 0559 72&lt;br /&gt;
                LR   $3,A                ; 055a 53&lt;br /&gt;
A055b:          LISU 4                   ; 055b 64&lt;br /&gt;
                LISL 2                   ; 055c 6a&lt;br /&gt;
                LR   A,S              ; 055d 4c&lt;br /&gt;
                DS   $3                  ; 055e 33&lt;br /&gt;
                BT   4,A0567             ; 055f 84 07&lt;br /&gt;
                OI   $00                 ; 0561 22 00&lt;br /&gt;
                BT   1,A056b             ; 0563 81 07&lt;br /&gt;
                BF   $0,A056e            ; 0565 90 08&lt;br /&gt;
                &lt;br /&gt;
A0567:          OI   $00                 ; 0567 22 00&lt;br /&gt;
                BT   1,A056e             ; 0569 81 04&lt;br /&gt;
A056b:          COM                      ; 056b 18&lt;br /&gt;
                INC                      ; 056c 1f&lt;br /&gt;
                LR   S,A              ; 056d 5c&lt;br /&gt;
A056e:          LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0570 b5&lt;br /&gt;
                LISL 3                   ; 0571 6b&lt;br /&gt;
                LR   A,S              ; 0572 4c&lt;br /&gt;
                OI   $00                 ; 0573 22 00&lt;br /&gt;
                BNZ  A0586            ; 0575 94 10&lt;br /&gt;
                LISU 2                   ; 0577 62&lt;br /&gt;
                LISL 1                   ; 0578 69&lt;br /&gt;
                LR   A,S              ; 0579 4c&lt;br /&gt;
                NI   $01                 ; 057a 21 01&lt;br /&gt;
                BT   4,A0581             ; 057c 84 04&lt;br /&gt;
                LIS  $2                  ; 057e 72&lt;br /&gt;
                BF   $0,A0583            ; 057f 90 03&lt;br /&gt;
                &lt;br /&gt;
A0581:          LI   $fe                 ; 0581 20 fe&lt;br /&gt;
A0583:          LISU 4                   ; 0583 64&lt;br /&gt;
                LISL 3                   ; 0584 6b&lt;br /&gt;
                LR   S,A              ; 0585 5c&lt;br /&gt;
A0586:          BF   $0,A05f3            ; 0586 90 6c&lt;br /&gt;
&lt;br /&gt;
A0588:          LR   A,$2                ; 0588 42&lt;br /&gt;
                CI   $14                 ; 0589 25 14&lt;br /&gt;
                BT   1,A059a             ; 058b 81 0e&lt;br /&gt;
                CI   $24                 ; 058d 25 24&lt;br /&gt;
                BF   $1,A059a            ; 058f 91 0a&lt;br /&gt;
                LR   A,$1                ; 0591 41&lt;br /&gt;
                CI   $14                 ; 0592 25 14&lt;br /&gt;
                BT   1,A05a9             ; 0594 81 14&lt;br /&gt;
                CI   $5c                 ; 0596 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 0598 91 10&lt;br /&gt;
A059a:          JMP  A0543               ; 059a 29 05 43&lt;br /&gt;
&lt;br /&gt;
A059d:          LR   A,$1                ; 059d 41&lt;br /&gt;
                CI   $14                 ; 059e 25 14&lt;br /&gt;
                BT   1,A05a9             ; 05a0 81 08&lt;br /&gt;
                CI   $5c                 ; 05a2 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 05a4 91 04&lt;br /&gt;
                JMP  A0543               ; 05a6 29 05 43&lt;br /&gt;
                &lt;br /&gt;
A05a9:          LISU 4                   ; 05a9 64&lt;br /&gt;
                LISL 2                   ; 05aa 6a&lt;br /&gt;
                LR   A,I             ; 05ab 4d&lt;br /&gt;
                SL   1                   ; 05ac 13&lt;br /&gt;
                BF   $1,A05b3            ; 05ad 91 05&lt;br /&gt;
                AI   $02                 ; 05af 24 02&lt;br /&gt;
                BF   $0,A05b5            ; 05b1 90 03&lt;br /&gt;
                &lt;br /&gt;
A05b3:          AI   $fe                 ; 05b3 24 fe&lt;br /&gt;
A05b5:          AS   $1                  ; 05b5 c1&lt;br /&gt;
                LR   $1,A                ; 05b6 51&lt;br /&gt;
                LISL 3                   ; 05b7 6b&lt;br /&gt;
                LR   A,S              ; 05b8 4c&lt;br /&gt;
                AS   $2                  ; 05b9 c2&lt;br /&gt;
                LR   $2,A                ; 05ba 52&lt;br /&gt;
                LI   $55                 ; 05bb 20 55&lt;br /&gt;
                LR   $0,A                ; 05bd 50&lt;br /&gt;
                PI   drawchar            ; 05be 28 06 79&lt;br /&gt;
                LISU 4                   ; 05c1 64&lt;br /&gt;
                LISL 3                   ; 05c2 6b&lt;br /&gt;
                LIS  $0                  ; 05c3 70&lt;br /&gt;
                LR   S,A              ; 05c4 5c&lt;br /&gt;
                LISU 4                   ; 05c5 64&lt;br /&gt;
                LISL 0                   ; 05c6 68&lt;br /&gt;
                LR   A,S              ; 05c7 4c&lt;br /&gt;
                CI   $30                 ; 05c8 25 30&lt;br /&gt;
                BF   $1,A05d1            ; 05ca 91 06&lt;br /&gt;
                PI   A02b5               ; 05cc 28 02 b5&lt;br /&gt;
                BF   $0,A05d4            ; 05cf 90 04&lt;br /&gt;
                &lt;br /&gt;
A05d1:          PI   A02ac               ; 05d1 28 02 ac&lt;br /&gt;
A05d4:          LI   $ff                 ; 05d4 20 ff&lt;br /&gt;
                LR   $5,A                ; 05d6 55&lt;br /&gt;
                PI   delay               ; 05d7 28 00 8f&lt;br /&gt;
                LISU 3                   ; 05da 63&lt;br /&gt;
                LISL 7                   ; 05db 6f&lt;br /&gt;
                LR   A,S              ; 05dc 4c&lt;br /&gt;
                CI   $02                 ; 05dd 25 02&lt;br /&gt;
                BNZ  A05f0            ; 05df 94 10&lt;br /&gt;
                LISU 2                   ; 05e1 62&lt;br /&gt;
                LISL 6                   ; 05e2 6e&lt;br /&gt;
                LR   A,I             ; 05e3 4d&lt;br /&gt;
                CI   $15                 ; 05e4 25 15&lt;br /&gt;
                BT   4,A05ed             ; 05e6 84 06&lt;br /&gt;
                LR   A,S              ; 05e8 4c&lt;br /&gt;
                CI   $15                 ; 05e9 25 15&lt;br /&gt;
                BNZ  A05f0            ; 05eb 94 04&lt;br /&gt;
A05ed:          PI   prompts             ; 05ed 28 02 24&lt;br /&gt;
A05f0:          PI   A01a0               ; 05f0 28 01 a0&lt;br /&gt;
A05f3:          PI   popk                ; 05f3 28 01 1e&lt;br /&gt;
                PI   popk                ; 05f6 28 01 1e&lt;br /&gt;
                JMP  A0037               ; 05f9 29 00 37&lt;br /&gt;
                &lt;br /&gt;
A05fc:          LR   K,P                 ; 05fc 08&lt;br /&gt;
                PI   pushk               ; 05fd 28 01 07&lt;br /&gt;
                LR   A,S              ; 0600 4c&lt;br /&gt;
                COM                      ; 0601 18&lt;br /&gt;
                INC                      ; 0602 1f&lt;br /&gt;
                AS   $1                  ; 0603 c1&lt;br /&gt;
                BF   $1,A0610            ; 0604 91 0b&lt;br /&gt;
                LR   A,S              ; 0606 4c&lt;br /&gt;
                AI   $05                 ; 0607 24 05&lt;br /&gt;
                LR   $6,A                ; 0609 56&lt;br /&gt;
                LR   A,$1                ; 060a 41&lt;br /&gt;
                COM                      ; 060b 18&lt;br /&gt;
                INC                      ; 060c 1f&lt;br /&gt;
                AS   S                ; 060d cc&lt;br /&gt;
                BT   1,A0626             ; 060e 81 17&lt;br /&gt;
A0610:          LR   A,S              ; 0610 4c&lt;br /&gt;
                COM                      ; 0611 18&lt;br /&gt;
                INC                      ; 0612 1f&lt;br /&gt;
                LR   $6,A                ; 0613 56&lt;br /&gt;
                LR   A,$1                ; 0614 41&lt;br /&gt;
                AI   $02                 ; 0615 24 02&lt;br /&gt;
                AS   $6                  ; 0617 c6&lt;br /&gt;
                BF   $1,A064f            ; 0618 91 36&lt;br /&gt;
                LR   A,$1                ; 061a 41&lt;br /&gt;
                AI   $02                 ; 061b 24 02&lt;br /&gt;
                COM                      ; 061d 18&lt;br /&gt;
                INC                      ; 061e 1f&lt;br /&gt;
                LR   $6,A                ; 061f 56&lt;br /&gt;
                LR   A,S              ; 0620 4c&lt;br /&gt;
                AI   $05                 ; 0621 24 05&lt;br /&gt;
                AS   $6                  ; 0623 c6&lt;br /&gt;
                BF   $1,A064f            ; 0624 91 2a&lt;br /&gt;
A0626:          LR   A,I             ; 0626 4d&lt;br /&gt;
                LR   A,S              ; 0627 4c&lt;br /&gt;
                COM                      ; 0628 18&lt;br /&gt;
                INC                      ; 0629 1f&lt;br /&gt;
                LR   $6,A                ; 062a 56&lt;br /&gt;
                LR   A,$2                ; 062b 42&lt;br /&gt;
                AS   $6                  ; 062c c6&lt;br /&gt;
                BF   $1,A0639            ; 062d 91 0b&lt;br /&gt;
                LR   A,$2                ; 062f 42&lt;br /&gt;
                COM                      ; 0630 18&lt;br /&gt;
                INC                      ; 0631 1f&lt;br /&gt;
                LR   $6,A                ; 0632 56&lt;br /&gt;
                LR   A,S              ; 0633 4c&lt;br /&gt;
                AI   $05                 ; 0634 24 05&lt;br /&gt;
                AS   $6                  ; 0636 c6&lt;br /&gt;
                BT   1,A0655             ; 0637 81 1d&lt;br /&gt;
A0639:          LR   A,S              ; 0639 4c&lt;br /&gt;
                COM                      ; 063a 18&lt;br /&gt;
                INC                      ; 063b 1f&lt;br /&gt;
                LR   $6,A                ; 063c 56&lt;br /&gt;
                LR   A,$2                ; 063d 42&lt;br /&gt;
                AI   $02                 ; 063e 24 02&lt;br /&gt;
                AS   $6                  ; 0640 c6&lt;br /&gt;
                BF   $1,A064f            ; 0641 91 0d&lt;br /&gt;
                LR   A,$2                ; 0643 42&lt;br /&gt;
                AI   $02                 ; 0644 24 02&lt;br /&gt;
                COM                      ; 0646 18&lt;br /&gt;
                INC                      ; 0647 1f&lt;br /&gt;
                LR   $6,A                ; 0648 56&lt;br /&gt;
                LR   A,S              ; 0649 4c&lt;br /&gt;
                AI   $05                 ; 064a 24 05&lt;br /&gt;
                AS   $6                  ; 064c c6&lt;br /&gt;
                BT   1,A0655             ; 064d 81 07&lt;br /&gt;
A064f:          LIS  $0                  ; 064f 70&lt;br /&gt;
A0650:          LR   $0,A                ; 0650 50&lt;br /&gt;
                PI   popk                ; 0651 28 01 1e&lt;br /&gt;
                PK                       ; 0654 0c&lt;br /&gt;
                &lt;br /&gt;
A0655:          LIS  $1                  ; 0655 71&lt;br /&gt;
                BF   $0,A0650            ; 0656 90 f9&lt;br /&gt;
                &lt;br /&gt;
A0658:          DCI  A0674               ; 0658 2a 06 74&lt;br /&gt;
                LISU 4                   ; 065b 64&lt;br /&gt;
                LISL 5                   ; 065c 6d&lt;br /&gt;
                LR   A,S              ; 065d 4c&lt;br /&gt;
                NI   $20                 ; 065e 21 20&lt;br /&gt;
                BT   4,A0673             ; 0660 84 12&lt;br /&gt;
                LISU 6                   ; 0662 66&lt;br /&gt;
                LISL 7                   ; 0663 6f&lt;br /&gt;
                DS   S                ; 0664 3c&lt;br /&gt;
                BNZ  A0673            ; 0665 94 0d&lt;br /&gt;
                LISU 3                   ; 0667 63&lt;br /&gt;
                LISL 4                   ; 0668 6c&lt;br /&gt;
                LR   A,S              ; 0669 4c&lt;br /&gt;
                SR   1                   ; 066a 12&lt;br /&gt;
                ADC                      ; 066b 8e&lt;br /&gt;
                LM                       ; 066c 16&lt;br /&gt;
                LISU 6                   ; 066d 66&lt;br /&gt;
                LISL 7                   ; 066e 6f&lt;br /&gt;
                LR   I,A             ; 066f 5d&lt;br /&gt;
                LISU 7                   ; 0670 67&lt;br /&gt;
                LIS  $1                  ; 0671 71&lt;br /&gt;
                LR   S,A              ; 0672 5c&lt;br /&gt;
A0673:          POP                      ; 0673 1c&lt;br /&gt;
&lt;br /&gt;
A0674:			db $09,$0d,$15,$1c,$1c&lt;br /&gt;
                &lt;br /&gt;
drawchar:       DCI  bitmaps             ; $679&lt;br /&gt;
                LR   K,P                 ; 067c 08&lt;br /&gt;
                PI   pushk               ; 067d 28 01 07&lt;br /&gt;
                LR   A,IS                ; 0680 0a&lt;br /&gt;
                LISU 6                   ; 0681 66&lt;br /&gt;
                LISL 4                   ; 0682 6c&lt;br /&gt;
                LR   I,A             ; 0683 5d&lt;br /&gt;
                LR   A,$3                ; 0684 43&lt;br /&gt;
                LR   I,A             ; 0685 5d&lt;br /&gt;
                LR   A,$4                ; 0686 44&lt;br /&gt;
                LR   S,A              ; 0687 5c&lt;br /&gt;
                LIS  $5                  ; 0688 75&lt;br /&gt;
                LR   $4,A                ; 0689 54&lt;br /&gt;
                LI   $c0                 ; 068a 20 c0&lt;br /&gt;
                NS   $0                  ; 068c f0&lt;br /&gt;
                LR   $3,A                ; 068d 53&lt;br /&gt;
                LI   $3f                 ; 068e 20 3f&lt;br /&gt;
                NS   $0                  ; 0690 f0&lt;br /&gt;
                LR   $0,A                ; 0691 50&lt;br /&gt;
                CI   $15                 ; 0692 25 15&lt;br /&gt;
                BNZ  A06b4            ; 0694 94 1f&lt;br /&gt;
                LISU 4                   ; 0696 64&lt;br /&gt;
                LISL 0                   ; 0697 68&lt;br /&gt;
                LIS  $2                  ; 0698 72&lt;br /&gt;
                LR   $4,A                ; 0699 54&lt;br /&gt;
                PI   A06ec               ; 069a 28 06 ec&lt;br /&gt;
                LI   $15                 ; 069d 20 15&lt;br /&gt;
                LR   $0,A                ; 069f 50&lt;br /&gt;
A06a0:          PI   A0718               ; 06a0 28 07 18&lt;br /&gt;
                LR   A,$1                ; 06a3 41&lt;br /&gt;
                AI   $06                 ; 06a4 24 06&lt;br /&gt;
                LR   $1,A                ; 06a6 51&lt;br /&gt;
                LISU 6                   ; 06a7 66&lt;br /&gt;
                LISL 5                   ; 06a8 6d&lt;br /&gt;
                LR   A,I             ; 06a9 4d&lt;br /&gt;
                LR   $3,A                ; 06aa 53&lt;br /&gt;
                LR   A,S              ; 06ab 4c&lt;br /&gt;
                LR   $4,A                ; 06ac 54&lt;br /&gt;
                LISL 4                   ; 06ad 6c&lt;br /&gt;
                LR   A,S              ; 06ae 4c&lt;br /&gt;
                LR   IS,A                ; 06af 0b&lt;br /&gt;
                PI   popk                ; 06b0 28 01 1e&lt;br /&gt;
                PK                       ; 06b3 0c&lt;br /&gt;
                &lt;br /&gt;
A06b4:          CI   $30                 ; 06b4 25 30&lt;br /&gt;
                BNZ  A06c2            ; 06b6 94 0b&lt;br /&gt;
                LISU 2                   ; 06b8 62&lt;br /&gt;
                LISL 1                   ; 06b9 69&lt;br /&gt;
                PI   A06ec               ; 06ba 28 06 ec&lt;br /&gt;
                LISL 0                   ; 06bd 68&lt;br /&gt;
                LR   A,I             ; 06be 4d&lt;br /&gt;
                LR   $0,A                ; 06bf 50&lt;br /&gt;
                BF   $0,A06a0            ; 06c0 90 df&lt;br /&gt;
                &lt;br /&gt;
A06c2:          CI   $31                 ; 06c2 25 31&lt;br /&gt;
                BNZ  A06d0            ; 06c4 94 0b&lt;br /&gt;
                LISU 2                   ; 06c6 62&lt;br /&gt;
                LISL 4                   ; 06c7 6c&lt;br /&gt;
                PI   A06ec               ; 06c8 28 06 ec&lt;br /&gt;
                LISL 3                   ; 06cb 6b&lt;br /&gt;
                LR   A,I             ; 06cc 4d&lt;br /&gt;
                LR   $0,A                ; 06cd 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ce 90 d1&lt;br /&gt;
                &lt;br /&gt;
A06d0:          CI   $32                 ; 06d0 25 32&lt;br /&gt;
                BNZ  A06de            ; 06d2 94 0b&lt;br /&gt;
                LISU 3                   ; 06d4 63&lt;br /&gt;
                LISL 0                   ; 06d5 68&lt;br /&gt;
                PI   A06ec               ; 06d6 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06d9 20 14&lt;br /&gt;
                LR   $0,A                ; 06db 50&lt;br /&gt;
                BF   $0,A06a0            ; 06dc 90 c3&lt;br /&gt;
                &lt;br /&gt;
A06de:          CI   $33                 ; 06de 25 33&lt;br /&gt;
                BNZ  A06a0            ; 06e0 94 bf&lt;br /&gt;
                LISU 3                   ; 06e2 63&lt;br /&gt;
                LISL 2                   ; 06e3 6a&lt;br /&gt;
                PI   A06ec               ; 06e4 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06e7 20 14&lt;br /&gt;
                LR   $0,A                ; 06e9 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ea 90 b5&lt;br /&gt;
                &lt;br /&gt;
A06ec:          LR   K,P                 ; 06ec 08&lt;br /&gt;
                PI   pushk               ; 06ed 28 01 07&lt;br /&gt;
                LR   A,S              ; 06f0 4c&lt;br /&gt;
                XS   $1                  ; 06f1 e1&lt;br /&gt;
                BNZ  A06f9            ; 06f2 94 06&lt;br /&gt;
                LR   A,I             ; 06f4 4d&lt;br /&gt;
                LR   A,D             ; 06f5 4e&lt;br /&gt;
                XS   $2                  ; 06f6 e2&lt;br /&gt;
                BT   4,A0714             ; 06f7 84 1c&lt;br /&gt;
A06f9:          LR   A,$1                ; 06f9 41&lt;br /&gt;
                LR   $5,A                ; 06fa 55&lt;br /&gt;
                LR   A,$2                ; 06fb 42&lt;br /&gt;
                LR   $6,A                ; 06fc 56&lt;br /&gt;
                LR   A,S              ; 06fd 4c&lt;br /&gt;
                LR   $1,A                ; 06fe 51&lt;br /&gt;
                LR   A,$5                ; 06ff 45&lt;br /&gt;
                LR   I,A             ; 0700 5d&lt;br /&gt;
                LR   A,S              ; 0701 4c&lt;br /&gt;
                LR   $2,A                ; 0702 52&lt;br /&gt;
                LR   A,$6                ; 0703 46&lt;br /&gt;
                LR   D,A             ; 0704 5e&lt;br /&gt;
                LIS  $d                  ; 0705 7d&lt;br /&gt;
                LR   $0,A                ; 0706 50&lt;br /&gt;
                DCI  bitmaps             ; 0707 2a 07 67&lt;br /&gt;
                PI   A0718               ; 070a 28 07 18&lt;br /&gt;
                DCI  bitmaps             ; 070d 2a 07 67&lt;br /&gt;
                LR   A,I             ; 0710 4d&lt;br /&gt;
                LR   $1,A                ; 0711 51&lt;br /&gt;
                LR   A,D             ; 0712 4e&lt;br /&gt;
                LR   $2,A                ; 0713 52&lt;br /&gt;
A0714:          PI   popk                ; 0714 28 01 1e&lt;br /&gt;
                PK                       ; 0717 0c&lt;br /&gt;
                &lt;br /&gt;
A0718:          LR   A,$0                ; 0718 40&lt;br /&gt;
                SL   1                   ; 0719 13&lt;br /&gt;
                ADC                      ; 071a 8e&lt;br /&gt;
                AS   $0                  ; 071b c0&lt;br /&gt;
                ADC                      ; 071c 8e&lt;br /&gt;
                LI   $40                 ; 071d 20 40&lt;br /&gt;
                OUTS 0                   ; 071f b0&lt;br /&gt;
                LR   A,$4                ; 0720 44&lt;br /&gt;
                LR   $6,A                ; 0721 56&lt;br /&gt;
A0722:          LR   $5,A                ; 0722 55&lt;br /&gt;
                LM                       ; 0723 16&lt;br /&gt;
                LR   $7,A                ; 0724 57&lt;br /&gt;
                LR   A,$2                ; 0725 42&lt;br /&gt;
                AI   $00                 ; 0726 24 00&lt;br /&gt;
                COM                      ; 0728 18&lt;br /&gt;
                NI   $3f                 ; 0729 21 3f&lt;br /&gt;
                LR   $8,A                ; 072b 58&lt;br /&gt;
                INS  5                   ; 072c a5&lt;br /&gt;
                NI   $c0                 ; 072d 21 c0&lt;br /&gt;
                AS   $8                  ; 072f c8&lt;br /&gt;
                OUTS 5                   ; 0730 b5&lt;br /&gt;
A0731:          LR   A,$1                ; 0731 41&lt;br /&gt;
                AI   $fc                 ; 0732 24 fc&lt;br /&gt;
                COM                      ; 0734 18&lt;br /&gt;
                OUTS 4                   ; 0735 b4&lt;br /&gt;
                LR   A,$7                ; 0736 47&lt;br /&gt;
                OI   $00                 ; 0737 22 00&lt;br /&gt;
                LR   A,$3                ; 0739 43&lt;br /&gt;
                BF   $1,A073d            ; 073a 91 02&lt;br /&gt;
                LIS  $0                  ; 073c 70&lt;br /&gt;
A073d:          COM                      ; 073d 18&lt;br /&gt;
                OUTS 1                   ; 073e b1&lt;br /&gt;
                LR   A,$7                ; 073f 47&lt;br /&gt;
                SL   1                   ; 0740 13&lt;br /&gt;
                LR   $7,A                ; 0741 57&lt;br /&gt;
                LI   $60                 ; 0742 20 60&lt;br /&gt;
                OUTS 0                   ; 0744 b0&lt;br /&gt;
                LI   $50                 ; 0745 20 50 - bit 4 is however n/c, so $40 can be used&lt;br /&gt;
                OUTS 0                   ; 0747 b0&lt;br /&gt;
                LR   A,$1                ; 0748 41&lt;br /&gt;
                INC                      ; 0749 1f&lt;br /&gt;
                LR   $1,A                ; 074a 51&lt;br /&gt;
&lt;br /&gt;
                LIS  $4                  ; 074b 74  after pixel delay&lt;br /&gt;
                LR   $8,A                ; 074c 58&lt;br /&gt;
A074d:          DS   $8                  ; 074d 38&lt;br /&gt;
                BNZ  A074d               ; 074e 94 fe&lt;br /&gt;
&lt;br /&gt;
                DS   $5                  ; 0750 35&lt;br /&gt;
                BNZ  A0731               ; 0751 94 df&lt;br /&gt;
                LR   A,$2                ; 0753 42&lt;br /&gt;
                INC                      ; 0754 1f&lt;br /&gt;
                LR   $2,A                ; 0755 52&lt;br /&gt;
                LR   A,$4                ; 0756 44&lt;br /&gt;
                COM                      ; 0757 18&lt;br /&gt;
                INC                      ; 0758 1f&lt;br /&gt;
                AS   $1                  ; 0759 c1&lt;br /&gt;
                LR   $1,A                ; 075a 51&lt;br /&gt;
                LR   A,$4                ; 075b 44&lt;br /&gt;
                DS   $6                  ; 075c 36&lt;br /&gt;
                BNZ  A0722            ; 075d 94 c4&lt;br /&gt;
                LR   A,$4                ; 075f 44&lt;br /&gt;
                COM                      ; 0760 18&lt;br /&gt;
                INC                      ; 0761 1f&lt;br /&gt;
                AS   $2                  ; 0762 c2&lt;br /&gt;
                LR   $2,A                ; 0763 52&lt;br /&gt;
                LIS  $0                  ; 0764 70&lt;br /&gt;
                OUTS 0                   ; 0765 b0&lt;br /&gt;
                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
&lt;br /&gt;
			                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
	; 0 $0767&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 1 $076C&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; 2 $0771&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 3 $0776&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 4 $077B&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; 5 $0780&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 6 $0785&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 7 $078A&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; 8 $078F&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 9 $0794&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; G $0799&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%10011000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; ? $079E&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; T $07A3&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; (space) $07A8&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; M $07AD&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
&lt;br /&gt;
	; X $07B2&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
&lt;br /&gt;
	; (block) $07B7&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
&lt;br /&gt;
	; : $07BC&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; - $07C1&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; || (center) $07C6&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
&lt;br /&gt;
	; || (left) $07CB&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
&lt;br /&gt;
	; ' $07D0&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players $07D5&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 1 $07DA&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 2 $07DF&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 3 $07E4&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 4 $07E9&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 5 $07EE&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 6 $07F3&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 7 $07F8&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; $07FD&lt;br /&gt;
	.byte	0,0,0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=770</id>
		<title>Disassembly:Bios</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=770"/>
				<updated>2026-08-03T19:32:33Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is the disassembly of the [[Channel F]] [[bios]] made and partially annotated by Sean Riddle. This code is copyright &amp;amp;copy; 1976 Fairchild Semiconductor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cartridgeStart = $0800&lt;br /&gt;
cartridgeEntry = $0802&lt;br /&gt;
&lt;br /&gt;
;=======;&lt;br /&gt;
; Reset ;&lt;br /&gt;
;=======;&lt;br /&gt;
&lt;br /&gt;
; this is the code executed when the system first&lt;br /&gt;
; starts up. it clears the registers, sets the K stack&lt;br /&gt;
; pointer, and checks to see if a cartridge is inserted&lt;br /&gt;
&lt;br /&gt;
reset:&lt;br /&gt;
	clr&lt;br /&gt;
reset.clrRegs:				; clear all the registers to 0&lt;br /&gt;
	lr	IS, A			; set the ISAR&lt;br /&gt;
	clr&lt;br /&gt;
	lr	S, A			; clear the current register&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc				; increase the ISAR&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bnz	reset.clrRegs		; if we're not finished, loop&lt;br /&gt;
&lt;br /&gt;
	; set K stack pointer (see pushk/popk)&lt;br /&gt;
	lisu	7			; K stack pointer (r59)&lt;br /&gt;
	lisl	3&lt;br /&gt;
	li	$28&lt;br /&gt;
	lr	S, A			; pointer is set to r40&lt;br /&gt;
&lt;br /&gt;
	; check to see if a cartridge is inserted&lt;br /&gt;
	dci	cartridgeStart&lt;br /&gt;
	lm&lt;br /&gt;
	ci	$55			; compare the first cartridge byte to $55&lt;br /&gt;
	bnz	noCart			; if it's false, there's no valid cartridge inserted&lt;br /&gt;
	jmp	cartridgeEntry		; otherwise, play the cartridge&lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; No Cartridge ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; no cartridge is inserted, so play the internal games&lt;br /&gt;
                &lt;br /&gt;
noCart:&lt;br /&gt;
	; clear screen to gray&lt;br /&gt;
	li	$d6&lt;br /&gt;
	lr	3, A&lt;br /&gt;
	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
A0020:          LI   $4a                 ; blue G&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; 0026 63&lt;br /&gt;
                LISL 4                   ; 0027 6c&lt;br /&gt;
                LIS  $4                  ; 0028 74&lt;br /&gt;
                LR   S,A              ; 0029 5c&lt;br /&gt;
                LR   A,$4                ; 002a 44&lt;br /&gt;
                LISL 7                   ; 002b 6f&lt;br /&gt;
                LR   S,A              ; 002c 5c&lt;br /&gt;
                CI   $03                 ; 002d 25 03&lt;br /&gt;
                BF   $1,A0020            ; 002f 91 f0&lt;br /&gt;
                PI   A0135               ; 0031 28 01 35&lt;br /&gt;
                PI   prompts             ; 0034 28 02 24&lt;br /&gt;
A0037:          PI   A0088               ; 0037 28 00 88&lt;br /&gt;
                PI   A02da               ; 003a 28 02 da&lt;br /&gt;
                PI   A0088               ; 003d 28 00 88&lt;br /&gt;
                PI   A02e8               ; 0040 28 02 e8&lt;br /&gt;
                PI   A0088               ; 0043 28 00 88&lt;br /&gt;
                NI   $04                 ; 0046 21 04&lt;br /&gt;
                BT   4,A0050             ; 0048 84 07&lt;br /&gt;
                PI   A038c               ; 004a 28 03 8c&lt;br /&gt;
                PI   A0399               ; 004d 28 03 99&lt;br /&gt;
A0050:          PI   A0658               ; 0050 28 06 58&lt;br /&gt;
                PI   A0467               ; 0053 28 04 67&lt;br /&gt;
                PI   A03d3               ; 0056 28 03 d3&lt;br /&gt;
                LISU 3                   ; 0059 63&lt;br /&gt;
                LISL 7                   ; 005a 6f&lt;br /&gt;
                LR   A,S              ; 005b 4c&lt;br /&gt;
                CI   $02                 ; 005c 25 02&lt;br /&gt;
                BNZ  A0063            ; 005e 94 04&lt;br /&gt;
                PI   A0447               ; 0060 28 04 47&lt;br /&gt;
A0063:          LISU 4                   ; 0063 64&lt;br /&gt;
                LISL 7                   ; 0064 6f&lt;br /&gt;
                LR   A,S              ; 0065 4c&lt;br /&gt;
                INC                      ; 0066 1f&lt;br /&gt;
                LR   S,A              ; 0067 5c&lt;br /&gt;
                LIS  $0                  ; 0068 70&lt;br /&gt;
                OUTS 0                   ; 0069 b0&lt;br /&gt;
                INS  0                   ; read buttons&lt;br /&gt;
                NI   $04                 ; hold button hit?&lt;br /&gt;
                BNZ  A0072            ; nope&lt;br /&gt;
                PI   prompts             ; yes, print S? and wait&lt;br /&gt;
A0072:          LISU 3                   ; 0072 63&lt;br /&gt;
                LISL 4                   ; 0073 6c&lt;br /&gt;
                DCI  speeds              ; 0074 2a 00 83&lt;br /&gt;
                LR   A,S              ; 0077 4c&lt;br /&gt;
                SR   1                   ; 0078 12&lt;br /&gt;
                ADC                      ; 0079 8e&lt;br /&gt;
                LM                       ; 007a 16&lt;br /&gt;
                LR   $5,A                ; 007b 55&lt;br /&gt;
                PI   delay               ; 007c 28 00 8f&lt;br /&gt;
                LIS  $0                  ; turn off sound&lt;br /&gt;
                OUTS 5                   ; 0080 b5&lt;br /&gt;
                BF   $0,A0037            ; 0081 90 b5&lt;br /&gt;
                &lt;br /&gt;
speeds:			db	$22,$13,$07,$03,$03		; mode speeds&lt;br /&gt;
&lt;br /&gt;
A0088:          LISU 4                   ;&lt;br /&gt;
                LISL 6                   ; &lt;br /&gt;
                LR   A,D             ; &lt;br /&gt;
                LR   $1,A                ; r1=r38&lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                LR   $0,A                ; r0=r37&lt;br /&gt;
                POP                      ; &lt;br /&gt;
                &lt;br /&gt;
delay:          LI   $ff                 ;$008f - parameter in r5, uses r6&lt;br /&gt;
                LR   $6,A                ;&lt;br /&gt;
dlyloop:        DS   $6                  ;&lt;br /&gt;
                BNZ  dlyloop          ;&lt;br /&gt;
                DS   $5                  ;&lt;br /&gt;
                BNZ  delay            ;&lt;br /&gt;
                POP                      ;&lt;br /&gt;
                &lt;br /&gt;
prompt:         LR   K,P                 ; $0099 - prints char r0 at row r1, col r2, waits for button&lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                LI   $8b                 ; r0=8b	red ?&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                PI   readbuts            ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                LIS  $d                  ; r0=$d&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   popk                ; &lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
readbuts:       INS  0                   ; $00c1 - read buttons&lt;br /&gt;
                COM                      ; &lt;br /&gt;
                NI   $0f                 ; &lt;br /&gt;
                BT   4,readbuts          ; &lt;br /&gt;
                LR   $4,A                ; &lt;br /&gt;
                LI   $ff                 ; &lt;br /&gt;
                LR   $5,A                ; &lt;br /&gt;
debounce:       DS   $5                  ; &lt;br /&gt;
                BNZ  debounce         ; &lt;br /&gt;
                BF   $0,delay            ; &lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; Clear Screen ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; &lt;br /&gt;
; clears the screen to a color and palette specified in r3&lt;br /&gt;
; it clears screen using the drawchar routine, one character at the time&lt;br /&gt;
; it covers the area from (0,0) to (127,63)&lt;br /&gt;
; it uses r31 (O37)&lt;br /&gt;
&lt;br /&gt;
	; clear screen to gray&lt;br /&gt;
;	li	$d6&lt;br /&gt;
	; clear screen to green&lt;br /&gt;
;	li	$c0&lt;br /&gt;
	; clear screen to b/w&lt;br /&gt;
;	li	$21&lt;br /&gt;
	; clear screen to blue&lt;br /&gt;
;	li	$93&lt;br /&gt;
;	lr	3, A&lt;br /&gt;
;	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
clrscrn:                                    ; $00D0&lt;br /&gt;
	; save return address&lt;br /&gt;
	lr	K, P&lt;br /&gt;
	pi	pushk&lt;br /&gt;
&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	2, A&lt;br /&gt;
clrscrn.loop2:&lt;br /&gt;
	li	$7e&lt;br /&gt;
	lr	1, A&lt;br /&gt;
	lr	A, 3&lt;br /&gt;
	oi	10&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar&lt;br /&gt;
	lis	5			; this is LIS 4 in other BIOS!!!&lt;br /&gt;
	lr	1, A&lt;br /&gt;
clrscrn.loop1:&lt;br /&gt;
	lis	13&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar	&lt;br /&gt;
	ds	1&lt;br /&gt;
	lr	A, 1&lt;br /&gt;
	ci	$70&lt;br /&gt;
	bc	clrscrn.loop1&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ai	5&lt;br /&gt;
	lr	2, A&lt;br /&gt;
	lisu	3&lt;br /&gt;
	lisl	7&lt;br /&gt;
	lis	3&lt;br /&gt;
	ns	S&lt;br /&gt;
	bz	A00fe&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$30&lt;br /&gt;
	bc	clrscrn.loop2&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	3, A&lt;br /&gt;
A00fe:&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bc	clrscrn.loop2&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pi	popk&lt;br /&gt;
	pk&lt;br /&gt;
&lt;br /&gt;
;==================;&lt;br /&gt;
; Register K Stack ;&lt;br /&gt;
;==================;&lt;br /&gt;
&lt;br /&gt;
; the K stack is an emulated stack using the register r59&lt;br /&gt;
; as a stack pointer, which holds the register number for&lt;br /&gt;
; the top of the stack, which first points at r40. when&lt;br /&gt;
; pushk is called, K is pushed to the first two registers&lt;br /&gt;
; on the stack, and the pointer is increased.&lt;br /&gt;
;&lt;br /&gt;
; the K stack can hold 9 copies of K (r40-58) before &lt;br /&gt;
; the stack pointer itself is overwritten (r59)&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Push K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; pushes register K (r12-13) onto a stack using r59 as&lt;br /&gt;
; the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
&lt;br /&gt;
pushk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; get the top of the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3			; r59, stack pointer&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	IS, A			; load the referenced register&lt;br /&gt;
	; push K onto the stack&lt;br /&gt;
	lr	A, Ku&lt;br /&gt;
	lr	S, A			; push high byte of K&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR (they could've used lr I, A)&lt;br /&gt;
	lr	A, Kl&lt;br /&gt;
	lr	S, A			; push low byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR to the top of the stack&lt;br /&gt;
	lr	A, IS			; redundantly, get back the register number&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Pop K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; retrieves a 16-bit value from the K stack and&lt;br /&gt;
; stores it in K, using r59 as the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
                &lt;br /&gt;
popk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; retrieve K from the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	A, S			; load the stack pointer&lt;br /&gt;
	ai	$ff			; &amp;quot;subtract&amp;quot; 1 to get the first register on the stack&lt;br /&gt;
	lr	IS, A			; set the ISAR to this register&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Kl, A			; load lower byte of K &lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	ai	$ff			; get previous register (they could've used lr A, D)&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Ku, A			; load upper byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;===================;&lt;br /&gt;
                &lt;br /&gt;
A0135:          LR   K,P                 ; 0135 08&lt;br /&gt;
                PI   pushk               ; 0136 28 01 07&lt;br /&gt;
                LISU 3                   ; 0139 63&lt;br /&gt;
                LISL 7                   ; 013a 6f&lt;br /&gt;
                LR   A,S              ; 013b 4c&lt;br /&gt;
                LISU 4                   ; 013c 64&lt;br /&gt;
                LISL 5                   ; 013d 6d&lt;br /&gt;
                CI   $01                 ; 013e 25 01&lt;br /&gt;
                BT   4,A014f             ; 0140 84 0e&lt;br /&gt;
                LI   $53                 ; 0142 20 53&lt;br /&gt;
                LR   I,A             ; 0144 5d&lt;br /&gt;
                LIS  $c                  ; 0145 7c	!!! this is 7F in other BIOS&lt;br /&gt;
                LR   D,A             ; 0146 5e&lt;br /&gt;
                LI   $d0                 ; 0147 20 d0&lt;br /&gt;
                LR   $3,A                ; 0149 53&lt;br /&gt;
                PI   clrscrn             ; 014a 28 00 d0&lt;br /&gt;
                BF   $0,A017d            ; 014d 90 2f&lt;br /&gt;
                &lt;br /&gt;
A014f:          LI   $17                 ; 014f 20 17&lt;br /&gt;
                LR   I,A             ; 0151 5d&lt;br /&gt;
                LI   $ff                 ; 0152 20 ff&lt;br /&gt;
                LR   S,A              ; 0154 5c&lt;br /&gt;
                LI   $d6                 ; 0155 20 d6&lt;br /&gt;
                LR   $3,A                ; 0157 53&lt;br /&gt;
                PI   clrscrn             ; 0158 28 00 d0&lt;br /&gt;
                LI   $11                 ; 015b 20 11&lt;br /&gt;
                LR   $1,A                ; 015d 51&lt;br /&gt;
                LIS  $8                  ; 015e 78&lt;br /&gt;
                LR   $2,A                ; 015f 52&lt;br /&gt;
                PI   A01f6               ; 0160 28 01 f6&lt;br /&gt;
                LI   $11                 ; 0163 20 11&lt;br /&gt;
                LR   $1,A                ; 0165 51&lt;br /&gt;
                LI   $25                 ; 0166 20 25&lt;br /&gt;
                LR   $2,A                ; 0168 52&lt;br /&gt;
                PI   A01f6               ; 0169 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 016c 20 5c&lt;br /&gt;
                LR   $1,A                ; 016e 51&lt;br /&gt;
                LIS  $8                  ; 016f 78&lt;br /&gt;
                LR   $2,A                ; 0170 52&lt;br /&gt;
                PI   A01f6               ; 0171 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 0174 20 5c&lt;br /&gt;
                LR   $1,A                ; 0176 51&lt;br /&gt;
                LI   $25                 ; 0177 20 25&lt;br /&gt;
                LR   $2,A                ; 0179 52&lt;br /&gt;
                PI   A01f6               ; 017a 28 01 f6&lt;br /&gt;
A017d:          LI   $14                 ; 017d 20 14&lt;br /&gt;
                LR   $1,A                ; 017f 51&lt;br /&gt;
                LIS  $6                  ; 0180 76&lt;br /&gt;
                LR   $2,A                ; 0181 52&lt;br /&gt;
                PI   A020e               ; 0182 28 02 0e&lt;br /&gt;
                LI   $14                 ; 0185 20 14&lt;br /&gt;
                LR   $1,A                ; 0187 51&lt;br /&gt;
                LI   $2e                 ; 0188 20 2e&lt;br /&gt;
                LR   $2,A                ; 018a 52&lt;br /&gt;
                PI   A020e               ; 018b 28 02 0e&lt;br /&gt;
                LI   $99                 ; 018e 20 99&lt;br /&gt;
                LISU 2                   ; 0190 62&lt;br /&gt;
                LISL 6                   ; 0191 6e&lt;br /&gt;
                LR   I,A             ; 0192 5d&lt;br /&gt;
                LR   S,A              ; 0193 5c&lt;br /&gt;
                PI   A02ac               ; 0194 28 02 ac&lt;br /&gt;
                PI   A02b5               ; 0197 28 02 b5&lt;br /&gt;
                LISU 4                   ; 019a 64&lt;br /&gt;
                LISL 2                   ; 019b 6a&lt;br /&gt;
                LIS  $2                  ; 019c 72&lt;br /&gt;
                LR   S,A              ; 019d 5c&lt;br /&gt;
                BF   $0,A01a4            ; 019e 90 05&lt;br /&gt;
                &lt;br /&gt;
A01a0:          LR   K,P                 ; 01a0 08&lt;br /&gt;
                PI   pushk               ; 01a1 28 01 07&lt;br /&gt;
A01a4:          LISU 2                   ; 01a4 62&lt;br /&gt;
                LISL 0                   ; 01a5 68&lt;br /&gt;
                LI   $17                 ; 01a6 20 17&lt;br /&gt;
                LR   S,A              ; 01a8 5c&lt;br /&gt;
                LISL 3                   ; 01a9 6b&lt;br /&gt;
                LR   S,A              ; 01aa 5c&lt;br /&gt;
                LI   $1c                 ; 01ab 20 1c&lt;br /&gt;
                LR   $1,A                ; 01ad 51&lt;br /&gt;
                LI   $1a                 ; 01ae 20 1a&lt;br /&gt;
                LR   $2,A                ; 01b0 52&lt;br /&gt;
                LI   $b0                 ; 01b1 20 b0&lt;br /&gt;
                LR   $0,A                ; 01b3 50&lt;br /&gt;
                PI   drawchar            ; 01b4 28 06 79&lt;br /&gt;
                LI   $38                 ; 01b7 20 38&lt;br /&gt;
                LR   $1,A                ; 01b9 51&lt;br /&gt;
                LI   $1b                 ; 01ba 20 1b&lt;br /&gt;
                LR   $2,A                ; 01bc 52&lt;br /&gt;
                LI   $55                 ; 01bd 20 55&lt;br /&gt;
                LR   $0,A                ; 01bf 50&lt;br /&gt;
                PI   drawchar            ; 01c0 28 06 79&lt;br /&gt;
                LI   $52                 ; 01c3 20 52&lt;br /&gt;
                LR   $1,A                ; 01c5 51&lt;br /&gt;
                LI   $1a                 ; 01c6 20 1a&lt;br /&gt;
                LR   $2,A                ; 01c8 52&lt;br /&gt;
                LI   $71                 ; 01c9 20 71&lt;br /&gt;
                LR   $0,A                ; 01cb 50&lt;br /&gt;
                PI   drawchar            ; 01cc 28 06 79&lt;br /&gt;
                LISU 4                   ; 01cf 64&lt;br /&gt;
                LISL 5                   ; 01d0 6d&lt;br /&gt;
                LR   A,S              ; 01d1 4c&lt;br /&gt;
                SL   1                   ; 01d2 13&lt;br /&gt;
                BT   1,A01da             ; 01d3 81 06&lt;br /&gt;
                PI   A0447               ; 01d5 28 04 47&lt;br /&gt;
                BF   $0,A01f2            ; 01d8 90 19&lt;br /&gt;
                &lt;br /&gt;
A01da:          LI   $11                 ; 01da 20 11&lt;br /&gt;
                LR   $1,A                ; 01dc 51&lt;br /&gt;
                LI   $1a                 ; 01dd 20 1a&lt;br /&gt;
                LR   $2,A                ; 01df 52&lt;br /&gt;
                LI   $b2                 ; 01e0 20 b2&lt;br /&gt;
                LR   $0,A                ; 01e2 50&lt;br /&gt;
                PI   drawchar            ; 01e3 28 06 79&lt;br /&gt;
                LI   $5e                 ; 01e6 20 5e&lt;br /&gt;
                LR   $1,A                ; 01e8 51&lt;br /&gt;
                LI   $1a                 ; 01e9 20 1a&lt;br /&gt;
                LR   $2,A                ; 01eb 52&lt;br /&gt;
                LI   $73                 ; 01ec 20 73&lt;br /&gt;
                LR   $0,A                ; 01ee 50&lt;br /&gt;
                PI   drawchar            ; 01ef 28 06 79&lt;br /&gt;
A01f2:          PI   popk                ; 01f2 28 01 1e&lt;br /&gt;
                PK                       ; 01f5 0c&lt;br /&gt;
                &lt;br /&gt;
A01f6:          LR   K,P                 ; 01f6 08&lt;br /&gt;
                PI   pushk               ; 01f7 28 01 07&lt;br /&gt;
                LIS  $8                  ; 01fa 78&lt;br /&gt;
                LR   $3,A                ; 01fb 53&lt;br /&gt;
A01fc:          LI   $81                 ; 01fc 20 81&lt;br /&gt;
                LR   $0,A                ; 01fe 50&lt;br /&gt;
                PI   drawchar            ; 01ff 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0202 41&lt;br /&gt;
                AI   $fa                 ; 0203 24 fa&lt;br /&gt;
                LR   $1,A                ; 0205 51&lt;br /&gt;
                LR   A,$2                ; 0206 42&lt;br /&gt;
                INC                      ; 0207 1f&lt;br /&gt;
                LR   $2,A                ; 0208 52&lt;br /&gt;
                DS   $3                  ; 0209 33&lt;br /&gt;
                BNZ  A01fc            ; 020a 94 f1&lt;br /&gt;
                BF   $0,A01f2            ; 020c 90 e5&lt;br /&gt;
                &lt;br /&gt;
A020e:          LR   K,P                 ; 020e 08&lt;br /&gt;
                PI   pushk               ; 020f 28 01 07&lt;br /&gt;
                LI   $46                 ; 0212 20 46&lt;br /&gt;
                LR   $3,A                ; 0214 53&lt;br /&gt;
A0215:          LI   $92                 ; 0215 20 92&lt;br /&gt;
                LR   $0,A                ; 0217 50&lt;br /&gt;
                PI   drawchar            ; 0218 28 06 79&lt;br /&gt;
                LR   A,$1                ; 021b 41&lt;br /&gt;
                AI   $fb                 ; 021c 24 fb&lt;br /&gt;
                LR   $1,A                ; 021e 51&lt;br /&gt;
                DS   $3                  ; 021f 33&lt;br /&gt;
                BNZ  A0215            ; 0220 94 f4&lt;br /&gt;
                BF   $0,A01f2            ; 0222 90 cf&lt;br /&gt;
                &lt;br /&gt;
prompts:        LR   K,P                 ; &lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
prompts2:       LI   $85                 ; red 5 (S)&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                CI   $08                 ; is it button 4, Start?&lt;br /&gt;
                BNZ  notbut4          ; no, check others&lt;br /&gt;
                PI   popk                ; yes, return&lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
notbut4:        CI   $02                 ; is it button 2, Mode?&lt;br /&gt;
                BNZ  notbut2          ; &lt;br /&gt;
                LI   $8e                 ; red M&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; &lt;br /&gt;
                LISL 4                   ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
notbut2:        CI   $01                 ; is it button 1, Time?&lt;br /&gt;
                BNZ  prompts2         ; &lt;br /&gt;
                LI   $8c                 ; red T&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                DCI  minutes             ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                SR   1                   ; &lt;br /&gt;
                ADC                      ; &lt;br /&gt;
                LM                       ; &lt;br /&gt;
                LISU 7                   ; &lt;br /&gt;
                LISL 1                   ; &lt;br /&gt;
                LR   I,A             ; &lt;br /&gt;
                LIS  $0                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                LISU 6                   ; &lt;br /&gt;
                LISL 7                   ; &lt;br /&gt;
                LIS  $f                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                PI   A0271               ; &lt;br /&gt;
                LISU 4                   ; &lt;br /&gt;
                LISL 5                   ; &lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                OI   $20                 ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
minutes:		db $02,$05,$10,$10,$20		; minutes of play&lt;br /&gt;
                &lt;br /&gt;
A0271:			LR   K,P                 ; 0271 08&lt;br /&gt;
                PI   pushk               ; 0272 28 01 07&lt;br /&gt;
                LISU 7                   ; 0275 67&lt;br /&gt;
                LISL 2                   ; 0276 6a&lt;br /&gt;
                LR   A,D             ; 0277 4e&lt;br /&gt;
                LR   $4,A                ; 0278 54&lt;br /&gt;
                LR   A,S              ; 0279 4c&lt;br /&gt;
                LR   $3,A                ; 027a 53&lt;br /&gt;
                SR   4                   ; 027b 14&lt;br /&gt;
                OI   $80                 ; 027c 22 80&lt;br /&gt;
                LR   $0,A                ; 027e 50&lt;br /&gt;
                LI   $2a                 ; 027f 20 2a&lt;br /&gt;
                LR   $1,A                ; 0281 51&lt;br /&gt;
                LI   $33                 ; 0282 20 33&lt;br /&gt;
                LR   $2,A                ; 0284 52&lt;br /&gt;
                PI   drawchar            ; 0285 28 06 79&lt;br /&gt;
                LR   A,$3                ; 0288 43&lt;br /&gt;
                NI   $0f                 ; 0289 21 0f&lt;br /&gt;
                OI   $80                 ; 028b 22 80&lt;br /&gt;
                LR   $0,A                ; 028d 50&lt;br /&gt;
                PI   drawchar            ; 028e 28 06 79&lt;br /&gt;
                LI   $91                 ; 0291 20 91&lt;br /&gt;
                LR   $0,A                ; 0293 50&lt;br /&gt;
                PI   drawchar            ; 0294 28 06 79&lt;br /&gt;
                LR   A,$4                ; 0297 44&lt;br /&gt;
                SR   4                   ; 0298 14&lt;br /&gt;
                OI   $80                 ; 0299 22 80&lt;br /&gt;
                LR   $0,A                ; 029b 50&lt;br /&gt;
                PI   drawchar            ; 029c 28 06 79&lt;br /&gt;
                LR   A,$4                ; 029f 44&lt;br /&gt;
                NI   $0f                 ; 02a0 21 0f&lt;br /&gt;
                OI   $80                 ; 02a2 22 80&lt;br /&gt;
                LR   $0,A                ; 02a4 50&lt;br /&gt;
                PI   drawchar            ; 02a5 28 06 79&lt;br /&gt;
                PI   popk                ; 02a8 28 01 1e&lt;br /&gt;
                PK                       ; 02ab 0c&lt;br /&gt;
                &lt;br /&gt;
A02ac:          LR   K,P                 ; 02ac 08&lt;br /&gt;
                PI   pushk               ; 02ad 28 01 07&lt;br /&gt;
                LISL 6                   ; 02b0 6e&lt;br /&gt;
                LI   $17                 ; 02b1 20 17&lt;br /&gt;
                BF   $0,A02bc            ; 02b3 90 08&lt;br /&gt;
                &lt;br /&gt;
A02b5:          LR   K,P                 ; 02b5 08&lt;br /&gt;
                PI   pushk               ; 02b6 28 01 07&lt;br /&gt;
                LISL 7                   ; 02b9 6f&lt;br /&gt;
                LI   $50                 ; 02ba 20 50&lt;br /&gt;
A02bc:          LISU 2                   ; 02bc 62&lt;br /&gt;
                LR   $1,A                ; 02bd 51&lt;br /&gt;
                LI   $33                 ; 02be 20 33&lt;br /&gt;
                LR   $2,A                ; 02c0 52&lt;br /&gt;
                LIS  $1                  ; 02c1 71&lt;br /&gt;
                AI   $66                 ; 02c2 24 66&lt;br /&gt;
                ASD  S                ; 02c4 dc&lt;br /&gt;
                LR   S,A              ; 02c5 5c&lt;br /&gt;
                SR   4                   ; 02c6 14&lt;br /&gt;
                OI   $40                 ; 02c7 22 40&lt;br /&gt;
                LR   $0,A                ; 02c9 50&lt;br /&gt;
                PI   drawchar            ; 02ca 28 06 79&lt;br /&gt;
                LR   A,S              ; 02cd 4c&lt;br /&gt;
                NI   $0f                 ; 02ce 21 0f&lt;br /&gt;
                OI   $40                 ; 02d0 22 40&lt;br /&gt;
                LR   $0,A                ; 02d2 50&lt;br /&gt;
                PI   drawchar            ; 02d3 28 06 79&lt;br /&gt;
                PI   popk                ; 02d6 28 01 1e&lt;br /&gt;
                PK                       ; 02d9 0c&lt;br /&gt;
                &lt;br /&gt;
A02da:          LR   K,P                 ; 02da 08&lt;br /&gt;
                PI   pushk               ; 02db 28 01 07&lt;br /&gt;
                LI   $b0                 ; 02de 20 b0&lt;br /&gt;
                LR   $4,A                ; 02e0 54&lt;br /&gt;
                LISU 2                   ; 02e1 62&lt;br /&gt;
                LISL 1                   ; 02e2 69&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02e3 70&lt;br /&gt;
                OUTS 4                   ; 02e4 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A02f4            ; 02e6 90 0d&lt;br /&gt;
                &lt;br /&gt;
A02e8:          LR   K,P                 ; 02e8 08&lt;br /&gt;
                PI   pushk               ; 02e9 28 01 07&lt;br /&gt;
                LI   $71                 ; 02ec 20 71&lt;br /&gt;
                LR   $4,A                ; 02ee 54&lt;br /&gt;
                LISU 2                   ; 02ef 62&lt;br /&gt;
                LISL 4                   ; 02f0 6c&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02f1 70&lt;br /&gt;
                OUTS 1                   ; 02f2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A02f4:          COM                      ; 02f4 18&lt;br /&gt;
                NS   $1                  ; 02f5 f1&lt;br /&gt;
                LR   $0,A                ; 02f6 50&lt;br /&gt;
                LR   A,I             ; 02f7 4d&lt;br /&gt;
                LR   $1,A                ; 02f8 51&lt;br /&gt;
                LR   A,S              ; 02f9 4c&lt;br /&gt;
                LR   $2,A                ; 02fa 52&lt;br /&gt;
                LIS  $1                  ; 02fb 71&lt;br /&gt;
                NS   $0                  ; 02fc f0&lt;br /&gt;
                BT   4,A0303             ; 02fd 84 05&lt;br /&gt;
                LR   A,$1                ; 02ff 41&lt;br /&gt;
                AI   $02                 ; 0300 24 02&lt;br /&gt;
                LR   $1,A                ; 0302 51&lt;br /&gt;
A0303:          LIS  $2                  ; 0303 72&lt;br /&gt;
                NS   $0                  ; 0304 f0&lt;br /&gt;
                BT   4,A030b             ; 0305 84 05&lt;br /&gt;
                LR   A,$1                ; 0307 41&lt;br /&gt;
                AI   $fe                 ; 0308 24 fe&lt;br /&gt;
                LR   $1,A                ; 030a 51&lt;br /&gt;
A030b:          LIS  $4                  ; 030b 74&lt;br /&gt;
                NS   $0                  ; 030c f0&lt;br /&gt;
                BT   4,A0313             ; 030d 84 05&lt;br /&gt;
                LR   A,$2                ; 030f 42&lt;br /&gt;
                AI   $02                 ; 0310 24 02&lt;br /&gt;
                LR   $2,A                ; 0312 52&lt;br /&gt;
A0313:          LIS  $8                  ; 0313 78&lt;br /&gt;
                NS   $0                  ; 0314 f0&lt;br /&gt;
                BT   4,A031b             ; 0315 84 05&lt;br /&gt;
                LR   A,$2                ; 0317 42&lt;br /&gt;
                AI   $fe                 ; 0318 24 fe&lt;br /&gt;
                LR   $2,A                ; 031a 52&lt;br /&gt;
A031b:          LISU 3                   ; 031b 63&lt;br /&gt;
                LISL 7                   ; 031c 6f&lt;br /&gt;
                LR   A,S              ; 031d 4c&lt;br /&gt;
                CI   $02                 ; 031e 25 02&lt;br /&gt;
                BF   $1,A0357            ; 0320 91 36&lt;br /&gt;
                BNZ  A033a            ; 0322 94 17&lt;br /&gt;
                LIS  $1                  ; 0324 71&lt;br /&gt;
                NS   $4                  ; 0325 f4&lt;br /&gt;
                BNZ  A0332            ; 0326 94 0b&lt;br /&gt;
                LR   A,$1                ; 0328 41&lt;br /&gt;
                CI   $2d                 ; 0329 25 2d&lt;br /&gt;
                BT   1,A0330             ; 032b 81 04&lt;br /&gt;
                LI   $2d                 ; 032d 20 2d&lt;br /&gt;
                LR   $1,A                ; 032f 51&lt;br /&gt;
A0330:          BF   $0,A033a            ; 0330 90 09&lt;br /&gt;
&lt;br /&gt;
A0332:          LR   A,$1                ; 0332 41&lt;br /&gt;
                CI   $3d                 ; 0333 25 3d&lt;br /&gt;
                BF   $1,A033a            ; 0335 91 04&lt;br /&gt;
                LI   $3d                 ; 0337 20 3d&lt;br /&gt;
                LR   $1,A                ; 0339 51&lt;br /&gt;
A033a:          LR   A,$1                ; 033a 41&lt;br /&gt;
                CI   $52                 ; 033b 25 52&lt;br /&gt;
                BT   1,A0342             ; 033d 81 04&lt;br /&gt;
                LI   $52                 ; 033f 20 52&lt;br /&gt;
                LR   $1,A                ; 0341 51&lt;br /&gt;
A0342:          CI   $1a                 ; 0342 25 1a&lt;br /&gt;
                BF   $1,A0349            ; 0344 91 04&lt;br /&gt;
                LI   $1a                 ; 0346 20 1a&lt;br /&gt;
                LR   $1,A                ; 0348 51&lt;br /&gt;
A0349:          LR   A,$2                ; 0349 42&lt;br /&gt;
                CI   $2b                 ; 034a 25 2b&lt;br /&gt;
                BT   1,A0351             ; 034c 81 04&lt;br /&gt;
                LI   $2b                 ; 034e 20 2b&lt;br /&gt;
                LR   $2,A                ; 0350 52&lt;br /&gt;
A0351:          CI   $09                 ; 0351 25 09&lt;br /&gt;
                BF   $1,A0357            ; 0353 91 03&lt;br /&gt;
                LIS  $9                  ; 0355 79&lt;br /&gt;
                LR   $2,A                ; 0356 52&lt;br /&gt;
A0357:          LISU 4                   ; 0357 64&lt;br /&gt;
                LISL 7                   ; 0358 6f&lt;br /&gt;
                LR   A,S              ; 0359 4c&lt;br /&gt;
                NI   $03                 ; 035a 21 03&lt;br /&gt;
                CI   $03                 ; 035c 25 03&lt;br /&gt;
                BNZ  A0383            ; 035e 94 24&lt;br /&gt;
                LISU 2                   ; 0360 62&lt;br /&gt;
                LISL 0                   ; 0361 68&lt;br /&gt;
                LIS  $1                  ; 0362 71&lt;br /&gt;
                NS   $4                  ; 0363 f4&lt;br /&gt;
                BT   4,A0367             ; 0364 84 02&lt;br /&gt;
                LISL 3                   ; 0366 6b&lt;br /&gt;
A0367:          LI   $10                 ; 0367 20 10&lt;br /&gt;
                NS   $0                  ; 0369 f0&lt;br /&gt;
                BT   4,A036d             ; 036a 84 02&lt;br /&gt;
                DS   S                ; 036c 3c&lt;br /&gt;
A036d:          LI   $20                 ; 036d 20 20&lt;br /&gt;
                NS   $0                  ; 036f f0&lt;br /&gt;
                BT   4,A0375             ; 0370 84 04&lt;br /&gt;
                LR   A,S              ; 0372 4c&lt;br /&gt;
                INC                      ; 0373 1f&lt;br /&gt;
                LR   S,A              ; 0374 5c&lt;br /&gt;
A0375:          LR   A,S              ; 0375 4c&lt;br /&gt;
                CI   $16                 ; 0376 25 16&lt;br /&gt;
                BNZ  A037c            ; 0378 94 03&lt;br /&gt;
                LI   $1d                 ; 037a 20 1d&lt;br /&gt;
A037c:          CI   $1e                 ; 037c 25 1e&lt;br /&gt;
                BNZ  A0382            ; 037e 94 03&lt;br /&gt;
                LI   $17                 ; 0380 20 17&lt;br /&gt;
A0382:          LR   S,A              ; 0382 5c&lt;br /&gt;
A0383:          LR   A,$4                ; 0383 44&lt;br /&gt;
                LR   $0,A                ; 0384 50&lt;br /&gt;
                PI   drawchar            ; 0385 28 06 79&lt;br /&gt;
                PI   popk                ; 0388 28 01 1e&lt;br /&gt;
                PK                       ; 038b 0c&lt;br /&gt;
                &lt;br /&gt;
A038c:          LR   K,P                 ; 038c 08&lt;br /&gt;
                PI   pushk               ; 038d 28 01 07&lt;br /&gt;
                LISL 0                   ; 0390 68&lt;br /&gt;
                LI   $b2                 ; 0391 20 b2&lt;br /&gt;
                LR   $3,A                ; 0393 53&lt;br /&gt;
                LIS  $0                  ; 0394 70&lt;br /&gt;
                OUTS 4                   ; 0395 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A03a4            ; 0397 90 0c&lt;br /&gt;
                &lt;br /&gt;
A0399:          LR   K,P                 ; 0399 08&lt;br /&gt;
                PI   pushk               ; 039a 28 01 07&lt;br /&gt;
                LISL 2                   ; 039d 6a&lt;br /&gt;
                LI   $73                 ; 039e 20 73&lt;br /&gt;
                LR   $3,A                ; 03a0 53&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 03a1 70&lt;br /&gt;
                OUTS 1                   ; 03a2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A03a4:          COM                      ; 03a4 18&lt;br /&gt;
                LR   $0,A                ; 03a5 50&lt;br /&gt;
                LISU 3                   ; 03a6 63&lt;br /&gt;
                LR   A,I             ; 03a7 4d&lt;br /&gt;
                LR   $1,A                ; 03a8 51&lt;br /&gt;
                LR   A,S              ; 03a9 4c&lt;br /&gt;
                LR   $2,A                ; 03aa 52&lt;br /&gt;
                LR   A,$0                ; 03ab 40&lt;br /&gt;
                NI   $80                 ; 03ac 21 80&lt;br /&gt;
                BT   4,A03b4             ; 03ae 84 05&lt;br /&gt;
                LR   A,$2                ; 03b0 42&lt;br /&gt;
                AI   $02                 ; 03b1 24 02&lt;br /&gt;
                LR   $2,A                ; 03b3 52&lt;br /&gt;
A03b4:          LR   A,$0                ; 03b4 40&lt;br /&gt;
                NI   $40                 ; 03b5 21 40&lt;br /&gt;
                BT   4,A03bb             ; 03b7 84 03&lt;br /&gt;
                DS   $2                  ; 03b9 32&lt;br /&gt;
                DS   $2                  ; 03ba 32&lt;br /&gt;
A03bb:          LR   A,$2                ; 03bb 42&lt;br /&gt;
                CI   $14                 ; 03bc 25 14&lt;br /&gt;
                BF   $1,A03c3            ; 03be 91 04&lt;br /&gt;
                LI   $14                 ; 03c0 20 14&lt;br /&gt;
                LR   $2,A                ; 03c2 52&lt;br /&gt;
A03c3:          CI   $20                 ; 03c3 25 20&lt;br /&gt;
                BT   1,A03ca             ; 03c5 81 04&lt;br /&gt;
                LI   $20                 ; 03c7 20 20&lt;br /&gt;
                LR   $2,A                ; 03c9 52&lt;br /&gt;
A03ca:          LR   A,$3                ; 03ca 43&lt;br /&gt;
                LR   $0,A                ; 03cb 50&lt;br /&gt;
                PI   drawchar            ; 03cc 28 06 79&lt;br /&gt;
                PI   popk                ; 03cf 28 01 1e&lt;br /&gt;
                PK                       ; 03d2 0c&lt;br /&gt;
                &lt;br /&gt;
A03d3:          LR   K,P                 ; 03d3 08&lt;br /&gt;
                PI   pushk               ; 03d4 28 01 07&lt;br /&gt;
                LISU 4                   ; 03d7 64&lt;br /&gt;
                LISL 0                   ; 03d8 68&lt;br /&gt;
                LR   A,I             ; 03d9 4d&lt;br /&gt;
                LR   $1,A                ; 03da 51&lt;br /&gt;
                LR   A,I             ; 03db 4d&lt;br /&gt;
                LR   $2,A                ; 03dc 52&lt;br /&gt;
                LR   A,I             ; 03dd 4d&lt;br /&gt;
                LR   $3,A                ; 03de 53&lt;br /&gt;
                LR   A,I             ; 03df 4d&lt;br /&gt;
                LR   $4,A                ; 03e0 54&lt;br /&gt;
                LR   A,S              ; 03e1 4c&lt;br /&gt;
                CI   $00                 ; 03e2 25 00&lt;br /&gt;
                BT   4,A03f2             ; 03e4 84 0d&lt;br /&gt;
                LIS  $0                  ; 03e6 70&lt;br /&gt;
                LR   S,A              ; 03e7 5c&lt;br /&gt;
                LR   A,$3                ; 03e8 43&lt;br /&gt;
                SL   1                   ; 03e9 13&lt;br /&gt;
                AS   $3                  ; 03ea c3&lt;br /&gt;
                AS   $3                  ; 03eb c3&lt;br /&gt;
                LR   $3,A                ; 03ec 53&lt;br /&gt;
                LR   A,$4                ; 03ed 44&lt;br /&gt;
                SL   1                   ; 03ee 13&lt;br /&gt;
                AS   $4                  ; 03ef c4&lt;br /&gt;
                AS   $4                  ; 03f0 c4&lt;br /&gt;
                LR   $4,A                ; 03f1 54&lt;br /&gt;
A03f2:          LR   A,$1                ; 03f2 41&lt;br /&gt;
                AS   $3                  ; 03f3 c3&lt;br /&gt;
                LR   $1,A                ; 03f4 51&lt;br /&gt;
                LR   A,$2                ; 03f5 42&lt;br /&gt;
                AS   $4                  ; 03f6 c4&lt;br /&gt;
                LR   $2,A                ; 03f7 52&lt;br /&gt;
                LISU 4                   ; 03f8 64&lt;br /&gt;
                LISL 5                   ; 03f9 6d&lt;br /&gt;
                LI   $44                 ; 03fa 20 44&lt;br /&gt;
                NS   S                ; 03fc fc&lt;br /&gt;
                BT   4,A043b             ; 03fd 84 3d&lt;br /&gt;
                PI   A049c               ; 03ff 28 04 9c&lt;br /&gt;
                LISU 4                   ; 0402 64&lt;br /&gt;
                LISL 2                   ; 0403 6a&lt;br /&gt;
                LR   A,$1                ; 0404 41&lt;br /&gt;
                LR   $0,A                ; 0405 50&lt;br /&gt;
                CI   $5c                 ; 0406 25 5c&lt;br /&gt;
                BT   1,A0410             ; 0408 81 07&lt;br /&gt;
                PI   A043f               ; 040a 28 04 3f&lt;br /&gt;
                LI   $5c                 ; 040d 20 5c&lt;br /&gt;
                LR   $1,A                ; 040f 51&lt;br /&gt;
A0410:          LR   A,$1                ; 0410 41&lt;br /&gt;
                LR   $0,A                ; 0411 50&lt;br /&gt;
                CI   $14                 ; 0412 25 14&lt;br /&gt;
                BF   $1,A041c            ; 0414 91 07&lt;br /&gt;
                PI   A043f               ; 0416 28 04 3f&lt;br /&gt;
                LI   $14                 ; 0419 20 14&lt;br /&gt;
                LR   $1,A                ; 041b 51&lt;br /&gt;
A041c:          LISL 3                   ; 041c 6b&lt;br /&gt;
                LR   A,$2                ; 041d 42&lt;br /&gt;
                LR   $0,A                ; 041e 50&lt;br /&gt;
                CI   $08                 ; 041f 25 08&lt;br /&gt;
                BF   $1,A0429            ; 0421 91 07&lt;br /&gt;
                PI   A043f               ; 0423 28 04 3f&lt;br /&gt;
                LI   $09                 ; 0426 20 09&lt;br /&gt;
                LR   $2,A                ; 0428 52&lt;br /&gt;
A0429:          LR   A,$2                ; 0429 42&lt;br /&gt;
                LR   $0,A                ; 042a 50&lt;br /&gt;
                CI   $2e                 ; 042b 25 2e&lt;br /&gt;
                BT   1,A0435             ; 042d 81 07&lt;br /&gt;
                PI   A043f               ; 042f 28 04 3f&lt;br /&gt;
                LI   $2e                 ; 0432 20 2e&lt;br /&gt;
                LR   $2,A                ; 0434 52&lt;br /&gt;
A0435:          LI   $55                 ; 0435 20 55&lt;br /&gt;
                LR   $0,A                ; 0437 50&lt;br /&gt;
                PI   drawchar            ; 0438 28 06 79&lt;br /&gt;
A043b:          PI   popk                ; 043b 28 01 1e&lt;br /&gt;
                PK                       ; 043e 0c&lt;br /&gt;
                &lt;br /&gt;
A043f:          LR   A,S              ; 043f 4c&lt;br /&gt;
                COM                      ; 0440 18&lt;br /&gt;
                INC                      ; 0441 1f&lt;br /&gt;
                LR   S,A              ; 0442 5c&lt;br /&gt;
                LI   $40                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0445 b5&lt;br /&gt;
                POP                      ; 0446 1c&lt;br /&gt;
                &lt;br /&gt;
A0447:          LR   K,P                 ; 0447 08&lt;br /&gt;
                PI   pushk               ; 0448 28 01 07&lt;br /&gt;
                LI   $36                 ; 044b 20 36&lt;br /&gt;
                LR   $1,A                ; 044d 51&lt;br /&gt;
                LIS  $a                  ; 044e 7a&lt;br /&gt;
                LR   $2,A                ; 044f 52&lt;br /&gt;
                LIS  $5                  ; 0450 75&lt;br /&gt;
                LR   $4,A                ; 0451 54&lt;br /&gt;
A0452:          LI   $81                 ; 0452 20 81&lt;br /&gt;
                LR   $0,A                ; 0454 50&lt;br /&gt;
                PI   drawchar            ; 0455 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0458 41&lt;br /&gt;
                AI   $fa                 ; 0459 24 fa&lt;br /&gt;
                LR   $1,A                ; 045b 51&lt;br /&gt;
                LR   A,$2                ; 045c 42&lt;br /&gt;
                AI   $08                 ; 045d 24 08&lt;br /&gt;
                LR   $2,A                ; 045f 52&lt;br /&gt;
                DS   $4                  ; 0460 34&lt;br /&gt;
                BNZ  A0452            ; 0461 94 f0&lt;br /&gt;
                PI   popk                ; 0463 28 01 1e&lt;br /&gt;
                PK                       ; 0466 0c&lt;br /&gt;
                &lt;br /&gt;
A0467:          LR   K,P                 ; 0467 08&lt;br /&gt;
                PI   pushk               ; 0468 28 01 07&lt;br /&gt;
                LISU 7                   ; 046b 67&lt;br /&gt;
                LISL 0                   ; 046c 68&lt;br /&gt;
                LR   A,S              ; 046d 4c&lt;br /&gt;
                OI   $00                 ; 046e 22 00&lt;br /&gt;
                BT   4,A0498             ; 0470 84 27&lt;br /&gt;
                LIS  $0                  ; 0472 70&lt;br /&gt;
                LR   S,A              ; 0473 5c&lt;br /&gt;
                LISL 2                   ; 0474 6a&lt;br /&gt;
                LIS  $1                  ; 0475 71&lt;br /&gt;
                LR   $0,A                ; 0476 50&lt;br /&gt;
                COM                      ; 0477 18&lt;br /&gt;
                ASD  S                ; 0478 dc&lt;br /&gt;
                AI   $66                 ; 0479 24 66&lt;br /&gt;
                ASD  $0                  ; 047b d0&lt;br /&gt;
                LR   S,A              ; 047c 5c&lt;br /&gt;
                CI   $99                 ; 047d 25 99&lt;br /&gt;
                BNZ  A0495            ; 047f 94 15&lt;br /&gt;
                LI   $59                 ; 0481 20 59&lt;br /&gt;
                LR   D,A             ; 0483 5e&lt;br /&gt;
                LIS  $1                  ; 0484 71&lt;br /&gt;
                LR   $0,A                ; 0485 50&lt;br /&gt;
                COM                      ; 0486 18&lt;br /&gt;
                ASD  S                ; 0487 dc&lt;br /&gt;
                AI   $66                 ; 0488 24 66&lt;br /&gt;
                ASD  $0                  ; 048a d0&lt;br /&gt;
                CI   $99                 ; 048b 25 99&lt;br /&gt;
                BNZ  A0494            ; 048d 94 06&lt;br /&gt;
                PI   prompts             ; time expired, print S?&lt;br /&gt;
                BF   $0,A0498            ; 0492 90 05&lt;br /&gt;
                &lt;br /&gt;
A0494:          LR   S,A              ; 0494 5c&lt;br /&gt;
A0495:          PI   $0271               ; 0495 28 02 71&lt;br /&gt;
A0498:          PI   popk                ; 0498 28 01 1e&lt;br /&gt;
                PK                       ; 049b 0c&lt;br /&gt;
                &lt;br /&gt;
A049c:          LR   K,P                 ; 049c 08&lt;br /&gt;
                PI   pushk               ; 049d 28 01 07&lt;br /&gt;
                LISU 4                   ; 04a0 64&lt;br /&gt;
                LISL 7                   ; 04a1 6f&lt;br /&gt;
                LIS  $1                  ; 04a2 71&lt;br /&gt;
                NS   S                ; 04a3 fc&lt;br /&gt;
                BT   4,A04b8             ; 04a4 84 13&lt;br /&gt;
                LISU 2                   ; 04a6 62&lt;br /&gt;
                LISL 4                   ; 04a7 6c&lt;br /&gt;
                PI   A05fc               ; 04a8 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04ab 30&lt;br /&gt;
                BT   4,A04e8             ; 04ac 84 3b&lt;br /&gt;
                LISU 2                   ; 04ae 62&lt;br /&gt;
                LISL 1                   ; 04af 69&lt;br /&gt;
                PI   A05fc               ; 04b0 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04b3 30&lt;br /&gt;
                BT   4,A04e5             ; 04b4 84 30&lt;br /&gt;
                BF   $0,A04c8            ; 04b6 90 11&lt;br /&gt;
                &lt;br /&gt;
A04b8:          LISU 2                   ; 04b8 62&lt;br /&gt;
                LISL 1                   ; 04b9 69&lt;br /&gt;
                PI   A05fc               ; 04ba 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04bd 30&lt;br /&gt;
                BT   4,A04e5             ; 04be 84 26&lt;br /&gt;
                LISU 2                   ; 04c0 62&lt;br /&gt;
                LISL 4                   ; 04c1 6c&lt;br /&gt;
                PI   A05fc               ; 04c2 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04c5 30&lt;br /&gt;
                BT   4,A04e8             ; 04c6 84 21&lt;br /&gt;
A04c8:          LISU 4                   ; 04c8 64&lt;br /&gt;
                LISL 5                   ; 04c9 6d&lt;br /&gt;
                LR   A,S              ; 04ca 4c&lt;br /&gt;
                NI   $04                 ; 04cb 21 04&lt;br /&gt;
                BNZ  A04d2            ; 04cd 94 04&lt;br /&gt;
                JMP  A059d               ; 04cf 29 05 9d&lt;br /&gt;
                &lt;br /&gt;
A04d2:          LISU 3                   ; 04d2 63&lt;br /&gt;
                LISL 0                   ; 04d3 68&lt;br /&gt;
                PI   A05fc               ; 04d4 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04d7 30&lt;br /&gt;
                BT   4,A0555             ; 04d8 84 7c&lt;br /&gt;
                LISU 3                   ; 04da 63&lt;br /&gt;
                LISL 2                   ; 04db 6a&lt;br /&gt;
                PI   A05fc               ; 04dc 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04df 30&lt;br /&gt;
                BT   4,A0559             ; 04e0 84 78&lt;br /&gt;
                JMP  A0588               ; 04e2 29 05 88&lt;br /&gt;
                &lt;br /&gt;
A04e5:          LISL 0                   ; 04e5 68&lt;br /&gt;
                BF   $0,A04e9            ; 04e6 90 02&lt;br /&gt;
                &lt;br /&gt;
A04e8:          LISL 3                   ; 04e8 6b&lt;br /&gt;
A04e9:          LISU 2                   ; 04e9 62&lt;br /&gt;
                LR   A,I             ; 04ea 4d&lt;br /&gt;
                LR   $4,A                ; 04eb 54&lt;br /&gt;
                LR   A,I             ; 04ec 4d&lt;br /&gt;
                LR   A,S              ; 04ed 4c&lt;br /&gt;
                LR   $7,A                ; 04ee 57&lt;br /&gt;
                LISU 4                   ; 04ef 64&lt;br /&gt;
                LISL 5                   ; 04f0 6d&lt;br /&gt;
                LR   A,S              ; 04f1 4c&lt;br /&gt;
                SL   1                   ; 04f2 13&lt;br /&gt;
                LR   A,$4                ; 04f3 44&lt;br /&gt;
                BT   1,A0516             ; 04f4 81 21&lt;br /&gt;
                DCI  A050e               ; 04f6 2a 05 0e&lt;br /&gt;
                LIS  $7                  ; 04f9 77&lt;br /&gt;
                LR   $4,A                ; 04fa 54&lt;br /&gt;
                DS   $7                  ; 04fb 37&lt;br /&gt;
                DS   $7                  ; 04fc 37&lt;br /&gt;
A04fd:          LR   A,$4                ; 04fd 44&lt;br /&gt;
                AS   $7                  ; 04fe c7&lt;br /&gt;
                LR   $3,A                ; 04ff 53&lt;br /&gt;
                LR   A,$2                ; 0500 42&lt;br /&gt;
                COM                      ; 0501 18&lt;br /&gt;
                INC                      ; 0502 1f&lt;br /&gt;
                AS   $3                  ; 0503 c3&lt;br /&gt;
                BT   4,A0509             ; 0504 84 04&lt;br /&gt;
                DS   $4                  ; 0506 34&lt;br /&gt;
                BT   1,A04fd             ; 0507 81 f5&lt;br /&gt;
A0509:          LR   A,$4                ; 0509 44&lt;br /&gt;
                ADC                      ; 050a 8e&lt;br /&gt;
                LM                       ; 050b 16&lt;br /&gt;
                BF   $0,A0518            ; 050c 90 0b&lt;br /&gt;
&lt;br /&gt;
A050e:			db	$04,$04,$05,$06,$00,$01,$02,$03                &lt;br /&gt;
&lt;br /&gt;
A0516:          AI   $e9                 ; 0516 24 e9&lt;br /&gt;
A0518:          DCI  A0547               ; 0518 2a 05 47&lt;br /&gt;
                SL   1                   ; 051b 13&lt;br /&gt;
                ADC                      ; 051c 8e&lt;br /&gt;
                LM                       ; 051d 16&lt;br /&gt;
                LR   $5,A                ; 051e 55&lt;br /&gt;
                LM                       ; 051f 16&lt;br /&gt;
                LR   $6,A                ; 0520 56&lt;br /&gt;
                LISU 4                   ; 0521 64&lt;br /&gt;
                LISL 2                   ; 0522 6a&lt;br /&gt;
                LR   A,S              ; 0523 4c&lt;br /&gt;
                OI   $00                 ; 0524 22 00&lt;br /&gt;
                BF   $1,A053a            ; 0526 91 13&lt;br /&gt;
                LR   A,$5                ; 0528 45&lt;br /&gt;
                COM                      ; 0529 18&lt;br /&gt;
                INC                      ; 052a 1f&lt;br /&gt;
                LR   $5,A                ; 052b 55&lt;br /&gt;
                LISL 5                   ; 052c 6d&lt;br /&gt;
                LR   A,S              ; 052d 4c&lt;br /&gt;
                SL   1                   ; 052e 13&lt;br /&gt;
                LISL 2                   ; 052f 6a&lt;br /&gt;
                BF   $1,A0536            ; 0530 91 05&lt;br /&gt;
                LR   A,$6                ; 0532 46&lt;br /&gt;
                COM                      ; 0533 18&lt;br /&gt;
                INC                      ; 0534 1f&lt;br /&gt;
                LR   $6,A                ; 0535 56&lt;br /&gt;
A0536:          LR   A,$1                ; 0536 41&lt;br /&gt;
                AI   $02                 ; 0537 24 02&lt;br /&gt;
                LR   $1,A                ; 0539 51&lt;br /&gt;
A053a:          LR   A,$5                ; 053a 45&lt;br /&gt;
                LR   I,A             ; 053b 5d&lt;br /&gt;
                LR   A,$6                ; 053c 46&lt;br /&gt;
                LR   I,A             ; 053d 5d&lt;br /&gt;
                LIS  $2                  ; 053e 72&lt;br /&gt;
                LR   S,A              ; 053f 5c&lt;br /&gt;
                LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0542 b5&lt;br /&gt;
A0543:          PI   popk                ; 0543 28 01 1e&lt;br /&gt;
                PK                       ; 0546 0c&lt;br /&gt;
&lt;br /&gt;
A0547:			db	$02,$00,$02,$01,$02,$02,$01,$02,$01,$FE,$02,$FE,$02,$FF	&lt;br /&gt;
&lt;br /&gt;
A0555:          LIS  $1                  ; 0555 71&lt;br /&gt;
                LR   $3,A                ; 0556 53&lt;br /&gt;
                BF   $0,A055b            ; 0557 90 03&lt;br /&gt;
                &lt;br /&gt;
A0559:          LIS  $2                  ; 0559 72&lt;br /&gt;
                LR   $3,A                ; 055a 53&lt;br /&gt;
A055b:          LISU 4                   ; 055b 64&lt;br /&gt;
                LISL 2                   ; 055c 6a&lt;br /&gt;
                LR   A,S              ; 055d 4c&lt;br /&gt;
                DS   $3                  ; 055e 33&lt;br /&gt;
                BT   4,A0567             ; 055f 84 07&lt;br /&gt;
                OI   $00                 ; 0561 22 00&lt;br /&gt;
                BT   1,A056b             ; 0563 81 07&lt;br /&gt;
                BF   $0,A056e            ; 0565 90 08&lt;br /&gt;
                &lt;br /&gt;
A0567:          OI   $00                 ; 0567 22 00&lt;br /&gt;
                BT   1,A056e             ; 0569 81 04&lt;br /&gt;
A056b:          COM                      ; 056b 18&lt;br /&gt;
                INC                      ; 056c 1f&lt;br /&gt;
                LR   S,A              ; 056d 5c&lt;br /&gt;
A056e:          LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0570 b5&lt;br /&gt;
                LISL 3                   ; 0571 6b&lt;br /&gt;
                LR   A,S              ; 0572 4c&lt;br /&gt;
                OI   $00                 ; 0573 22 00&lt;br /&gt;
                BNZ  A0586            ; 0575 94 10&lt;br /&gt;
                LISU 2                   ; 0577 62&lt;br /&gt;
                LISL 1                   ; 0578 69&lt;br /&gt;
                LR   A,S              ; 0579 4c&lt;br /&gt;
                NI   $01                 ; 057a 21 01&lt;br /&gt;
                BT   4,A0581             ; 057c 84 04&lt;br /&gt;
                LIS  $2                  ; 057e 72&lt;br /&gt;
                BF   $0,A0583            ; 057f 90 03&lt;br /&gt;
                &lt;br /&gt;
A0581:          LI   $fe                 ; 0581 20 fe&lt;br /&gt;
A0583:          LISU 4                   ; 0583 64&lt;br /&gt;
                LISL 3                   ; 0584 6b&lt;br /&gt;
                LR   S,A              ; 0585 5c&lt;br /&gt;
A0586:          BF   $0,A05f3            ; 0586 90 6c&lt;br /&gt;
&lt;br /&gt;
A0588:          LR   A,$2                ; 0588 42&lt;br /&gt;
                CI   $14                 ; 0589 25 14&lt;br /&gt;
                BT   1,A059a             ; 058b 81 0e&lt;br /&gt;
                CI   $24                 ; 058d 25 24&lt;br /&gt;
                BF   $1,A059a            ; 058f 91 0a&lt;br /&gt;
                LR   A,$1                ; 0591 41&lt;br /&gt;
                CI   $14                 ; 0592 25 14&lt;br /&gt;
                BT   1,A05a9             ; 0594 81 14&lt;br /&gt;
                CI   $5c                 ; 0596 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 0598 91 10&lt;br /&gt;
A059a:          JMP  A0543               ; 059a 29 05 43&lt;br /&gt;
&lt;br /&gt;
A059d:          LR   A,$1                ; 059d 41&lt;br /&gt;
                CI   $14                 ; 059e 25 14&lt;br /&gt;
                BT   1,A05a9             ; 05a0 81 08&lt;br /&gt;
                CI   $5c                 ; 05a2 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 05a4 91 04&lt;br /&gt;
                JMP  A0543               ; 05a6 29 05 43&lt;br /&gt;
                &lt;br /&gt;
A05a9:          LISU 4                   ; 05a9 64&lt;br /&gt;
                LISL 2                   ; 05aa 6a&lt;br /&gt;
                LR   A,I             ; 05ab 4d&lt;br /&gt;
                SL   1                   ; 05ac 13&lt;br /&gt;
                BF   $1,A05b3            ; 05ad 91 05&lt;br /&gt;
                AI   $02                 ; 05af 24 02&lt;br /&gt;
                BF   $0,A05b5            ; 05b1 90 03&lt;br /&gt;
                &lt;br /&gt;
A05b3:          AI   $fe                 ; 05b3 24 fe&lt;br /&gt;
A05b5:          AS   $1                  ; 05b5 c1&lt;br /&gt;
                LR   $1,A                ; 05b6 51&lt;br /&gt;
                LISL 3                   ; 05b7 6b&lt;br /&gt;
                LR   A,S              ; 05b8 4c&lt;br /&gt;
                AS   $2                  ; 05b9 c2&lt;br /&gt;
                LR   $2,A                ; 05ba 52&lt;br /&gt;
                LI   $55                 ; 05bb 20 55&lt;br /&gt;
                LR   $0,A                ; 05bd 50&lt;br /&gt;
                PI   drawchar            ; 05be 28 06 79&lt;br /&gt;
                LISU 4                   ; 05c1 64&lt;br /&gt;
                LISL 3                   ; 05c2 6b&lt;br /&gt;
                LIS  $0                  ; 05c3 70&lt;br /&gt;
                LR   S,A              ; 05c4 5c&lt;br /&gt;
                LISU 4                   ; 05c5 64&lt;br /&gt;
                LISL 0                   ; 05c6 68&lt;br /&gt;
                LR   A,S              ; 05c7 4c&lt;br /&gt;
                CI   $30                 ; 05c8 25 30&lt;br /&gt;
                BF   $1,A05d1            ; 05ca 91 06&lt;br /&gt;
                PI   A02b5               ; 05cc 28 02 b5&lt;br /&gt;
                BF   $0,A05d4            ; 05cf 90 04&lt;br /&gt;
                &lt;br /&gt;
A05d1:          PI   A02ac               ; 05d1 28 02 ac&lt;br /&gt;
A05d4:          LI   $ff                 ; 05d4 20 ff&lt;br /&gt;
                LR   $5,A                ; 05d6 55&lt;br /&gt;
                PI   delay               ; 05d7 28 00 8f&lt;br /&gt;
                LISU 3                   ; 05da 63&lt;br /&gt;
                LISL 7                   ; 05db 6f&lt;br /&gt;
                LR   A,S              ; 05dc 4c&lt;br /&gt;
                CI   $02                 ; 05dd 25 02&lt;br /&gt;
                BNZ  A05f0            ; 05df 94 10&lt;br /&gt;
                LISU 2                   ; 05e1 62&lt;br /&gt;
                LISL 6                   ; 05e2 6e&lt;br /&gt;
                LR   A,I             ; 05e3 4d&lt;br /&gt;
                CI   $15                 ; 05e4 25 15&lt;br /&gt;
                BT   4,A05ed             ; 05e6 84 06&lt;br /&gt;
                LR   A,S              ; 05e8 4c&lt;br /&gt;
                CI   $15                 ; 05e9 25 15&lt;br /&gt;
                BNZ  A05f0            ; 05eb 94 04&lt;br /&gt;
A05ed:          PI   prompts             ; 05ed 28 02 24&lt;br /&gt;
A05f0:          PI   A01a0               ; 05f0 28 01 a0&lt;br /&gt;
A05f3:          PI   popk                ; 05f3 28 01 1e&lt;br /&gt;
                PI   popk                ; 05f6 28 01 1e&lt;br /&gt;
                JMP  A0037               ; 05f9 29 00 37&lt;br /&gt;
                &lt;br /&gt;
A05fc:          LR   K,P                 ; 05fc 08&lt;br /&gt;
                PI   pushk               ; 05fd 28 01 07&lt;br /&gt;
                LR   A,S              ; 0600 4c&lt;br /&gt;
                COM                      ; 0601 18&lt;br /&gt;
                INC                      ; 0602 1f&lt;br /&gt;
                AS   $1                  ; 0603 c1&lt;br /&gt;
                BF   $1,A0610            ; 0604 91 0b&lt;br /&gt;
                LR   A,S              ; 0606 4c&lt;br /&gt;
                AI   $05                 ; 0607 24 05&lt;br /&gt;
                LR   $6,A                ; 0609 56&lt;br /&gt;
                LR   A,$1                ; 060a 41&lt;br /&gt;
                COM                      ; 060b 18&lt;br /&gt;
                INC                      ; 060c 1f&lt;br /&gt;
                AS   S                ; 060d cc&lt;br /&gt;
                BT   1,A0626             ; 060e 81 17&lt;br /&gt;
A0610:          LR   A,S              ; 0610 4c&lt;br /&gt;
                COM                      ; 0611 18&lt;br /&gt;
                INC                      ; 0612 1f&lt;br /&gt;
                LR   $6,A                ; 0613 56&lt;br /&gt;
                LR   A,$1                ; 0614 41&lt;br /&gt;
                AI   $02                 ; 0615 24 02&lt;br /&gt;
                AS   $6                  ; 0617 c6&lt;br /&gt;
                BF   $1,A064f            ; 0618 91 36&lt;br /&gt;
                LR   A,$1                ; 061a 41&lt;br /&gt;
                AI   $02                 ; 061b 24 02&lt;br /&gt;
                COM                      ; 061d 18&lt;br /&gt;
                INC                      ; 061e 1f&lt;br /&gt;
                LR   $6,A                ; 061f 56&lt;br /&gt;
                LR   A,S              ; 0620 4c&lt;br /&gt;
                AI   $05                 ; 0621 24 05&lt;br /&gt;
                AS   $6                  ; 0623 c6&lt;br /&gt;
                BF   $1,A064f            ; 0624 91 2a&lt;br /&gt;
A0626:          LR   A,I             ; 0626 4d&lt;br /&gt;
                LR   A,S              ; 0627 4c&lt;br /&gt;
                COM                      ; 0628 18&lt;br /&gt;
                INC                      ; 0629 1f&lt;br /&gt;
                LR   $6,A                ; 062a 56&lt;br /&gt;
                LR   A,$2                ; 062b 42&lt;br /&gt;
                AS   $6                  ; 062c c6&lt;br /&gt;
                BF   $1,A0639            ; 062d 91 0b&lt;br /&gt;
                LR   A,$2                ; 062f 42&lt;br /&gt;
                COM                      ; 0630 18&lt;br /&gt;
                INC                      ; 0631 1f&lt;br /&gt;
                LR   $6,A                ; 0632 56&lt;br /&gt;
                LR   A,S              ; 0633 4c&lt;br /&gt;
                AI   $05                 ; 0634 24 05&lt;br /&gt;
                AS   $6                  ; 0636 c6&lt;br /&gt;
                BT   1,A0655             ; 0637 81 1d&lt;br /&gt;
A0639:          LR   A,S              ; 0639 4c&lt;br /&gt;
                COM                      ; 063a 18&lt;br /&gt;
                INC                      ; 063b 1f&lt;br /&gt;
                LR   $6,A                ; 063c 56&lt;br /&gt;
                LR   A,$2                ; 063d 42&lt;br /&gt;
                AI   $02                 ; 063e 24 02&lt;br /&gt;
                AS   $6                  ; 0640 c6&lt;br /&gt;
                BF   $1,A064f            ; 0641 91 0d&lt;br /&gt;
                LR   A,$2                ; 0643 42&lt;br /&gt;
                AI   $02                 ; 0644 24 02&lt;br /&gt;
                COM                      ; 0646 18&lt;br /&gt;
                INC                      ; 0647 1f&lt;br /&gt;
                LR   $6,A                ; 0648 56&lt;br /&gt;
                LR   A,S              ; 0649 4c&lt;br /&gt;
                AI   $05                 ; 064a 24 05&lt;br /&gt;
                AS   $6                  ; 064c c6&lt;br /&gt;
                BT   1,A0655             ; 064d 81 07&lt;br /&gt;
A064f:          LIS  $0                  ; 064f 70&lt;br /&gt;
A0650:          LR   $0,A                ; 0650 50&lt;br /&gt;
                PI   popk                ; 0651 28 01 1e&lt;br /&gt;
                PK                       ; 0654 0c&lt;br /&gt;
                &lt;br /&gt;
A0655:          LIS  $1                  ; 0655 71&lt;br /&gt;
                BF   $0,A0650            ; 0656 90 f9&lt;br /&gt;
                &lt;br /&gt;
A0658:          DCI  A0674               ; 0658 2a 06 74&lt;br /&gt;
                LISU 4                   ; 065b 64&lt;br /&gt;
                LISL 5                   ; 065c 6d&lt;br /&gt;
                LR   A,S              ; 065d 4c&lt;br /&gt;
                NI   $20                 ; 065e 21 20&lt;br /&gt;
                BT   4,A0673             ; 0660 84 12&lt;br /&gt;
                LISU 6                   ; 0662 66&lt;br /&gt;
                LISL 7                   ; 0663 6f&lt;br /&gt;
                DS   S                ; 0664 3c&lt;br /&gt;
                BNZ  A0673            ; 0665 94 0d&lt;br /&gt;
                LISU 3                   ; 0667 63&lt;br /&gt;
                LISL 4                   ; 0668 6c&lt;br /&gt;
                LR   A,S              ; 0669 4c&lt;br /&gt;
                SR   1                   ; 066a 12&lt;br /&gt;
                ADC                      ; 066b 8e&lt;br /&gt;
                LM                       ; 066c 16&lt;br /&gt;
                LISU 6                   ; 066d 66&lt;br /&gt;
                LISL 7                   ; 066e 6f&lt;br /&gt;
                LR   I,A             ; 066f 5d&lt;br /&gt;
                LISU 7                   ; 0670 67&lt;br /&gt;
                LIS  $1                  ; 0671 71&lt;br /&gt;
                LR   S,A              ; 0672 5c&lt;br /&gt;
A0673:          POP                      ; 0673 1c&lt;br /&gt;
&lt;br /&gt;
A0674:			db $09,$0d,$15,$1c,$1c&lt;br /&gt;
                &lt;br /&gt;
drawchar:       DCI  bitmaps             ; $679&lt;br /&gt;
                LR   K,P                 ; 067c 08&lt;br /&gt;
                PI   pushk               ; 067d 28 01 07&lt;br /&gt;
                LR   A,IS                ; 0680 0a&lt;br /&gt;
                LISU 6                   ; 0681 66&lt;br /&gt;
                LISL 4                   ; 0682 6c&lt;br /&gt;
                LR   I,A             ; 0683 5d&lt;br /&gt;
                LR   A,$3                ; 0684 43&lt;br /&gt;
                LR   I,A             ; 0685 5d&lt;br /&gt;
                LR   A,$4                ; 0686 44&lt;br /&gt;
                LR   S,A              ; 0687 5c&lt;br /&gt;
                LIS  $5                  ; 0688 75&lt;br /&gt;
                LR   $4,A                ; 0689 54&lt;br /&gt;
                LI   $c0                 ; 068a 20 c0&lt;br /&gt;
                NS   $0                  ; 068c f0&lt;br /&gt;
                LR   $3,A                ; 068d 53&lt;br /&gt;
                LI   $3f                 ; 068e 20 3f&lt;br /&gt;
                NS   $0                  ; 0690 f0&lt;br /&gt;
                LR   $0,A                ; 0691 50&lt;br /&gt;
                CI   $15                 ; 0692 25 15&lt;br /&gt;
                BNZ  A06b4            ; 0694 94 1f&lt;br /&gt;
                LISU 4                   ; 0696 64&lt;br /&gt;
                LISL 0                   ; 0697 68&lt;br /&gt;
                LIS  $2                  ; 0698 72&lt;br /&gt;
                LR   $4,A                ; 0699 54&lt;br /&gt;
                PI   A06ec               ; 069a 28 06 ec&lt;br /&gt;
                LI   $15                 ; 069d 20 15&lt;br /&gt;
                LR   $0,A                ; 069f 50&lt;br /&gt;
A06a0:          PI   A0718               ; 06a0 28 07 18&lt;br /&gt;
                LR   A,$1                ; 06a3 41&lt;br /&gt;
                AI   $06                 ; 06a4 24 06&lt;br /&gt;
                LR   $1,A                ; 06a6 51&lt;br /&gt;
                LISU 6                   ; 06a7 66&lt;br /&gt;
                LISL 5                   ; 06a8 6d&lt;br /&gt;
                LR   A,I             ; 06a9 4d&lt;br /&gt;
                LR   $3,A                ; 06aa 53&lt;br /&gt;
                LR   A,S              ; 06ab 4c&lt;br /&gt;
                LR   $4,A                ; 06ac 54&lt;br /&gt;
                LISL 4                   ; 06ad 6c&lt;br /&gt;
                LR   A,S              ; 06ae 4c&lt;br /&gt;
                LR   IS,A                ; 06af 0b&lt;br /&gt;
                PI   popk                ; 06b0 28 01 1e&lt;br /&gt;
                PK                       ; 06b3 0c&lt;br /&gt;
                &lt;br /&gt;
A06b4:          CI   $30                 ; 06b4 25 30&lt;br /&gt;
                BNZ  A06c2            ; 06b6 94 0b&lt;br /&gt;
                LISU 2                   ; 06b8 62&lt;br /&gt;
                LISL 1                   ; 06b9 69&lt;br /&gt;
                PI   A06ec               ; 06ba 28 06 ec&lt;br /&gt;
                LISL 0                   ; 06bd 68&lt;br /&gt;
                LR   A,I             ; 06be 4d&lt;br /&gt;
                LR   $0,A                ; 06bf 50&lt;br /&gt;
                BF   $0,A06a0            ; 06c0 90 df&lt;br /&gt;
                &lt;br /&gt;
A06c2:          CI   $31                 ; 06c2 25 31&lt;br /&gt;
                BNZ  A06d0            ; 06c4 94 0b&lt;br /&gt;
                LISU 2                   ; 06c6 62&lt;br /&gt;
                LISL 4                   ; 06c7 6c&lt;br /&gt;
                PI   A06ec               ; 06c8 28 06 ec&lt;br /&gt;
                LISL 3                   ; 06cb 6b&lt;br /&gt;
                LR   A,I             ; 06cc 4d&lt;br /&gt;
                LR   $0,A                ; 06cd 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ce 90 d1&lt;br /&gt;
                &lt;br /&gt;
A06d0:          CI   $32                 ; 06d0 25 32&lt;br /&gt;
                BNZ  A06de            ; 06d2 94 0b&lt;br /&gt;
                LISU 3                   ; 06d4 63&lt;br /&gt;
                LISL 0                   ; 06d5 68&lt;br /&gt;
                PI   A06ec               ; 06d6 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06d9 20 14&lt;br /&gt;
                LR   $0,A                ; 06db 50&lt;br /&gt;
                BF   $0,A06a0            ; 06dc 90 c3&lt;br /&gt;
                &lt;br /&gt;
A06de:          CI   $33                 ; 06de 25 33&lt;br /&gt;
                BNZ  A06a0            ; 06e0 94 bf&lt;br /&gt;
                LISU 3                   ; 06e2 63&lt;br /&gt;
                LISL 2                   ; 06e3 6a&lt;br /&gt;
                PI   A06ec               ; 06e4 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06e7 20 14&lt;br /&gt;
                LR   $0,A                ; 06e9 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ea 90 b5&lt;br /&gt;
                &lt;br /&gt;
A06ec:          LR   K,P                 ; 06ec 08&lt;br /&gt;
                PI   pushk               ; 06ed 28 01 07&lt;br /&gt;
                LR   A,S              ; 06f0 4c&lt;br /&gt;
                XS   $1                  ; 06f1 e1&lt;br /&gt;
                BNZ  A06f9            ; 06f2 94 06&lt;br /&gt;
                LR   A,I             ; 06f4 4d&lt;br /&gt;
                LR   A,D             ; 06f5 4e&lt;br /&gt;
                XS   $2                  ; 06f6 e2&lt;br /&gt;
                BT   4,A0714             ; 06f7 84 1c&lt;br /&gt;
A06f9:          LR   A,$1                ; 06f9 41&lt;br /&gt;
                LR   $5,A                ; 06fa 55&lt;br /&gt;
                LR   A,$2                ; 06fb 42&lt;br /&gt;
                LR   $6,A                ; 06fc 56&lt;br /&gt;
                LR   A,S              ; 06fd 4c&lt;br /&gt;
                LR   $1,A                ; 06fe 51&lt;br /&gt;
                LR   A,$5                ; 06ff 45&lt;br /&gt;
                LR   I,A             ; 0700 5d&lt;br /&gt;
                LR   A,S              ; 0701 4c&lt;br /&gt;
                LR   $2,A                ; 0702 52&lt;br /&gt;
                LR   A,$6                ; 0703 46&lt;br /&gt;
                LR   D,A             ; 0704 5e&lt;br /&gt;
                LIS  $d                  ; 0705 7d&lt;br /&gt;
                LR   $0,A                ; 0706 50&lt;br /&gt;
                DCI  bitmaps             ; 0707 2a 07 67&lt;br /&gt;
                PI   A0718               ; 070a 28 07 18&lt;br /&gt;
                DCI  bitmaps             ; 070d 2a 07 67&lt;br /&gt;
                LR   A,I             ; 0710 4d&lt;br /&gt;
                LR   $1,A                ; 0711 51&lt;br /&gt;
                LR   A,D             ; 0712 4e&lt;br /&gt;
                LR   $2,A                ; 0713 52&lt;br /&gt;
A0714:          PI   popk                ; 0714 28 01 1e&lt;br /&gt;
                PK                       ; 0717 0c&lt;br /&gt;
                &lt;br /&gt;
A0718:          LR   A,$0                ; 0718 40&lt;br /&gt;
                SL   1                   ; 0719 13&lt;br /&gt;
                ADC                      ; 071a 8e&lt;br /&gt;
                AS   $0                  ; 071b c0&lt;br /&gt;
                ADC                      ; 071c 8e&lt;br /&gt;
                LI   $40                 ; 071d 20 40&lt;br /&gt;
                OUTS 0                   ; 071f b0&lt;br /&gt;
                LR   A,$4                ; 0720 44&lt;br /&gt;
                LR   $6,A                ; 0721 56&lt;br /&gt;
A0722:          LR   $5,A                ; 0722 55&lt;br /&gt;
                LM                       ; 0723 16&lt;br /&gt;
                LR   $7,A                ; 0724 57&lt;br /&gt;
                LR   A,$2                ; 0725 42&lt;br /&gt;
                AI   $00                 ; 0726 24 00&lt;br /&gt;
                COM                      ; 0728 18&lt;br /&gt;
                NI   $3f                 ; 0729 21 3f&lt;br /&gt;
                LR   $8,A                ; 072b 58&lt;br /&gt;
                INS  5                   ; 072c a5&lt;br /&gt;
                NI   $c0                 ; 072d 21 c0&lt;br /&gt;
                AS   $8                  ; 072f c8&lt;br /&gt;
                OUTS 5                   ; 0730 b5&lt;br /&gt;
A0731:          LR   A,$1                ; 0731 41&lt;br /&gt;
                AI   $fc                 ; 0732 24 fc&lt;br /&gt;
                COM                      ; 0734 18&lt;br /&gt;
                OUTS 4                   ; 0735 b4&lt;br /&gt;
                LR   A,$7                ; 0736 47&lt;br /&gt;
                OI   $00                 ; 0737 22 00&lt;br /&gt;
                LR   A,$3                ; 0739 43&lt;br /&gt;
                BF   $1,A073d            ; 073a 91 02&lt;br /&gt;
                LIS  $0                  ; 073c 70&lt;br /&gt;
A073d:          COM                      ; 073d 18&lt;br /&gt;
                OUTS 1                   ; 073e b1&lt;br /&gt;
                LR   A,$7                ; 073f 47&lt;br /&gt;
                SL   1                   ; 0740 13&lt;br /&gt;
                LR   $7,A                ; 0741 57&lt;br /&gt;
                LI   $60                 ; 0742 20 60&lt;br /&gt;
                OUTS 0                   ; 0744 b0&lt;br /&gt;
                LI   $50                 ; 0745 20 50 - bit 4 is however n/c, so $40 can be used&lt;br /&gt;
                OUTS 0                   ; 0747 b0&lt;br /&gt;
                LR   A,$1                ; 0748 41&lt;br /&gt;
                INC                      ; 0749 1f&lt;br /&gt;
                LR   $1,A                ; 074a 51&lt;br /&gt;
&lt;br /&gt;
                LIS  $4                  ; 074b 74  after pixel delay&lt;br /&gt;
                LR   $8,A                ; 074c 58&lt;br /&gt;
A074d:          DS   $8                  ; 074d 38&lt;br /&gt;
                BNZ  A074d               ; 074e 94 fe&lt;br /&gt;
&lt;br /&gt;
                DS   $5                  ; 0750 35&lt;br /&gt;
                BNZ  A0731               ; 0751 94 df&lt;br /&gt;
                LR   A,$2                ; 0753 42&lt;br /&gt;
                INC                      ; 0754 1f&lt;br /&gt;
                LR   $2,A                ; 0755 52&lt;br /&gt;
                LR   A,$4                ; 0756 44&lt;br /&gt;
                COM                      ; 0757 18&lt;br /&gt;
                INC                      ; 0758 1f&lt;br /&gt;
                AS   $1                  ; 0759 c1&lt;br /&gt;
                LR   $1,A                ; 075a 51&lt;br /&gt;
                LR   A,$4                ; 075b 44&lt;br /&gt;
                DS   $6                  ; 075c 36&lt;br /&gt;
                BNZ  A0722            ; 075d 94 c4&lt;br /&gt;
                LR   A,$4                ; 075f 44&lt;br /&gt;
                COM                      ; 0760 18&lt;br /&gt;
                INC                      ; 0761 1f&lt;br /&gt;
                AS   $2                  ; 0762 c2&lt;br /&gt;
                LR   $2,A                ; 0763 52&lt;br /&gt;
                LIS  $0                  ; 0764 70&lt;br /&gt;
                OUTS 0                   ; 0765 b0&lt;br /&gt;
                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
&lt;br /&gt;
			                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
	; 0 $0767&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 1 $076C&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; 2 $0771&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 3 $0776&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 4 $077B&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; 5 $0780&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 6 $0785&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 7 $078A&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; 8 $078F&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 9 $0794&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; G $0799&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%10011000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; ? $079E&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; T $07A3&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; (space) $07A8&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; M $07AD&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
&lt;br /&gt;
	; X $07B2&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
&lt;br /&gt;
	; (block) $07B7&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
&lt;br /&gt;
	; : $07BC&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; - $07C1&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; || (center) $07C6&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
&lt;br /&gt;
	; || (left) $07CB&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
&lt;br /&gt;
	; ' $07D0&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players $07D5&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 1 $07DA&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 2 $07DF&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 3 $07E4&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 4 $07E9&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 5 $07EE&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 6 $07F3&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 7 $07F8&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; $07FD&lt;br /&gt;
	.byte	0,0,0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=769</id>
		<title>Disassembly:Bios</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=769"/>
				<updated>2026-08-03T18:35:28Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is the disassembly of the [[Channel F]] [[bios]] made and partially annotated by Sean Riddle. This code is copyright &amp;amp;copy; 1976 Fairchild Semiconductor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cartridgeStart = $0800&lt;br /&gt;
cartridgeEntry = $0802&lt;br /&gt;
&lt;br /&gt;
;=======;&lt;br /&gt;
; Reset ;&lt;br /&gt;
;=======;&lt;br /&gt;
&lt;br /&gt;
; this is the code executed when the system first&lt;br /&gt;
; starts up. it clears the registers, sets the K stack&lt;br /&gt;
; pointer, and checks to see if a cartridge is inserted&lt;br /&gt;
&lt;br /&gt;
reset:&lt;br /&gt;
	clr&lt;br /&gt;
reset.clrRegs:				; clear all the registers to 0&lt;br /&gt;
	lr	IS, A			; set the ISAR&lt;br /&gt;
	clr&lt;br /&gt;
	lr	S, A			; clear the current register&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc				; increase the ISAR&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bnz	reset.clrRegs		; if we're not finished, loop&lt;br /&gt;
&lt;br /&gt;
	; set K stack pointer (see pushk/popk)&lt;br /&gt;
	lisu	7			; K stack pointer (r59)&lt;br /&gt;
	lisl	3&lt;br /&gt;
	li	$28&lt;br /&gt;
	lr	S, A			; pointer is set to r40&lt;br /&gt;
&lt;br /&gt;
	; check to see if a cartridge is inserted&lt;br /&gt;
	dci	cartridgeStart&lt;br /&gt;
	lm&lt;br /&gt;
	ci	$55			; compare the first cartridge byte to $55&lt;br /&gt;
	bnz	noCart			; if it's false, there's no valid cartridge inserted&lt;br /&gt;
	jmp	cartridgeEntry		; otherwise, play the cartridge&lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; No Cartridge ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; no cartridge is inserted, so play the internal games&lt;br /&gt;
                &lt;br /&gt;
noCart:&lt;br /&gt;
	; clear screen to gray&lt;br /&gt;
	li	$d6&lt;br /&gt;
	lr	3, A&lt;br /&gt;
	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
A0020:          LI   $4a                 ; blue G&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; 0026 63&lt;br /&gt;
                LISL 4                   ; 0027 6c&lt;br /&gt;
                LIS  $4                  ; 0028 74&lt;br /&gt;
                LR   S,A              ; 0029 5c&lt;br /&gt;
                LR   A,$4                ; 002a 44&lt;br /&gt;
                LISL 7                   ; 002b 6f&lt;br /&gt;
                LR   S,A              ; 002c 5c&lt;br /&gt;
                CI   $03                 ; 002d 25 03&lt;br /&gt;
                BF   $1,A0020            ; 002f 91 f0&lt;br /&gt;
                PI   A0135               ; 0031 28 01 35&lt;br /&gt;
                PI   prompts             ; 0034 28 02 24&lt;br /&gt;
A0037:          PI   A0088               ; 0037 28 00 88&lt;br /&gt;
                PI   A02da               ; 003a 28 02 da&lt;br /&gt;
                PI   A0088               ; 003d 28 00 88&lt;br /&gt;
                PI   A02e8               ; 0040 28 02 e8&lt;br /&gt;
                PI   A0088               ; 0043 28 00 88&lt;br /&gt;
                NI   $04                 ; 0046 21 04&lt;br /&gt;
                BT   4,A0050             ; 0048 84 07&lt;br /&gt;
                PI   A038c               ; 004a 28 03 8c&lt;br /&gt;
                PI   A0399               ; 004d 28 03 99&lt;br /&gt;
A0050:          PI   A0658               ; 0050 28 06 58&lt;br /&gt;
                PI   A0467               ; 0053 28 04 67&lt;br /&gt;
                PI   A03d3               ; 0056 28 03 d3&lt;br /&gt;
                LISU 3                   ; 0059 63&lt;br /&gt;
                LISL 7                   ; 005a 6f&lt;br /&gt;
                LR   A,S              ; 005b 4c&lt;br /&gt;
                CI   $02                 ; 005c 25 02&lt;br /&gt;
                BNZ  A0063            ; 005e 94 04&lt;br /&gt;
                PI   A0447               ; 0060 28 04 47&lt;br /&gt;
A0063:          LISU 4                   ; 0063 64&lt;br /&gt;
                LISL 7                   ; 0064 6f&lt;br /&gt;
                LR   A,S              ; 0065 4c&lt;br /&gt;
                INC                      ; 0066 1f&lt;br /&gt;
                LR   S,A              ; 0067 5c&lt;br /&gt;
                LIS  $0                  ; 0068 70&lt;br /&gt;
                OUTS 0                   ; 0069 b0&lt;br /&gt;
                INS  0                   ; read buttons&lt;br /&gt;
                NI   $04                 ; hold button hit?&lt;br /&gt;
                BNZ  A0072            ; nope&lt;br /&gt;
                PI   prompts             ; yes, print S? and wait&lt;br /&gt;
A0072:          LISU 3                   ; 0072 63&lt;br /&gt;
                LISL 4                   ; 0073 6c&lt;br /&gt;
                DCI  speeds              ; 0074 2a 00 83&lt;br /&gt;
                LR   A,S              ; 0077 4c&lt;br /&gt;
                SR   1                   ; 0078 12&lt;br /&gt;
                ADC                      ; 0079 8e&lt;br /&gt;
                LM                       ; 007a 16&lt;br /&gt;
                LR   $5,A                ; 007b 55&lt;br /&gt;
                PI   delay               ; 007c 28 00 8f&lt;br /&gt;
                LIS  $0                  ; turn off sound&lt;br /&gt;
                OUTS 5                   ; 0080 b5&lt;br /&gt;
                BF   $0,A0037            ; 0081 90 b5&lt;br /&gt;
                &lt;br /&gt;
speeds:			db	$22,$13,$07,$03,$03		; mode speeds&lt;br /&gt;
&lt;br /&gt;
A0088:          LISU 4                   ;&lt;br /&gt;
                LISL 6                   ; &lt;br /&gt;
                LR   A,D             ; &lt;br /&gt;
                LR   $1,A                ; r1=r38&lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                LR   $0,A                ; r0=r37&lt;br /&gt;
                POP                      ; &lt;br /&gt;
                &lt;br /&gt;
delay:          LI   $ff                 ;$008f - parameter in r5, uses r6&lt;br /&gt;
                LR   $6,A                ;&lt;br /&gt;
dlyloop:        DS   $6                  ;&lt;br /&gt;
                BNZ  dlyloop          ;&lt;br /&gt;
                DS   $5                  ;&lt;br /&gt;
                BNZ  delay            ;&lt;br /&gt;
                POP                      ;&lt;br /&gt;
                &lt;br /&gt;
prompt:         LR   K,P                 ; $0099 - prints char r0 at row r1, col r2, waits for button&lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                LI   $8b                 ; r0=8b	red ?&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                PI   readbuts            ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                LIS  $d                  ; r0=$d&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   popk                ; &lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
readbuts:       INS  0                   ; $00c1 - read buttons&lt;br /&gt;
                COM                      ; &lt;br /&gt;
                NI   $0f                 ; &lt;br /&gt;
                BT   4,readbuts          ; &lt;br /&gt;
                LR   $4,A                ; &lt;br /&gt;
                LI   $ff                 ; &lt;br /&gt;
                LR   $5,A                ; &lt;br /&gt;
debounce:       DS   $5                  ; &lt;br /&gt;
                BNZ  debounce         ; &lt;br /&gt;
                BF   $0,delay            ; &lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; Clear Screen ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; clears the screen to a color and palette specified in r3&lt;br /&gt;
&lt;br /&gt;
	; clear screen to gray&lt;br /&gt;
;	li	$d6&lt;br /&gt;
	; clear screen to green&lt;br /&gt;
;	li	$c0&lt;br /&gt;
	; clear screen to b/w&lt;br /&gt;
;	li	$21&lt;br /&gt;
	; clear screen to blue&lt;br /&gt;
;	li	$93&lt;br /&gt;
;	lr	3, A&lt;br /&gt;
;	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
clrscrn:                                    ; $00D0&lt;br /&gt;
	; save return address&lt;br /&gt;
	lr	K, P&lt;br /&gt;
	pi	pushk&lt;br /&gt;
&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	2, A&lt;br /&gt;
clrscrn.loop2:&lt;br /&gt;
	li	$7e&lt;br /&gt;
	lr	1, A&lt;br /&gt;
	lr	A, 3&lt;br /&gt;
	oi	10&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar&lt;br /&gt;
	lis	5			; this is LIS 4 in other BIOS!!!&lt;br /&gt;
	lr	1, A&lt;br /&gt;
clrscrn.loop1:&lt;br /&gt;
	lis	13&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar	&lt;br /&gt;
	ds	1&lt;br /&gt;
	lr	A, 1&lt;br /&gt;
	ci	$70&lt;br /&gt;
	bc	clrscrn.loop1&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ai	5&lt;br /&gt;
	lr	2, A&lt;br /&gt;
	lisu	3&lt;br /&gt;
	lisl	7&lt;br /&gt;
	lis	3&lt;br /&gt;
	ns	S&lt;br /&gt;
	bz	A00fe&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$30&lt;br /&gt;
	bc	clrscrn.loop2&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	3, A&lt;br /&gt;
A00fe:&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bc	clrscrn.loop2&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pi	popk&lt;br /&gt;
	pk&lt;br /&gt;
&lt;br /&gt;
;==================;&lt;br /&gt;
; Register K Stack ;&lt;br /&gt;
;==================;&lt;br /&gt;
&lt;br /&gt;
; the K stack is an emulated stack using the register r59&lt;br /&gt;
; as a stack pointer, which holds the register number for&lt;br /&gt;
; the top of the stack, which first points at r40. when&lt;br /&gt;
; pushk is called, K is pushed to the first two registers&lt;br /&gt;
; on the stack, and the pointer is increased.&lt;br /&gt;
;&lt;br /&gt;
; the K stack can hold 9 copies of K (r40-58) before &lt;br /&gt;
; the stack pointer itself is overwritten (r59)&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Push K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; pushes register K (r12-13) onto a stack using r59 as&lt;br /&gt;
; the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
&lt;br /&gt;
pushk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; get the top of the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3			; r59, stack pointer&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	IS, A			; load the referenced register&lt;br /&gt;
	; push K onto the stack&lt;br /&gt;
	lr	A, Ku&lt;br /&gt;
	lr	S, A			; push high byte of K&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR (they could've used lr I, A)&lt;br /&gt;
	lr	A, Kl&lt;br /&gt;
	lr	S, A			; push low byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR to the top of the stack&lt;br /&gt;
	lr	A, IS			; redundantly, get back the register number&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Pop K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; retrieves a 16-bit value from the K stack and&lt;br /&gt;
; stores it in K, using r59 as the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
                &lt;br /&gt;
popk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; retrieve K from the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	A, S			; load the stack pointer&lt;br /&gt;
	ai	$ff			; &amp;quot;subtract&amp;quot; 1 to get the first register on the stack&lt;br /&gt;
	lr	IS, A			; set the ISAR to this register&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Kl, A			; load lower byte of K &lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	ai	$ff			; get previous register (they could've used lr A, D)&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Ku, A			; load upper byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;===================;&lt;br /&gt;
                &lt;br /&gt;
A0135:          LR   K,P                 ; 0135 08&lt;br /&gt;
                PI   pushk               ; 0136 28 01 07&lt;br /&gt;
                LISU 3                   ; 0139 63&lt;br /&gt;
                LISL 7                   ; 013a 6f&lt;br /&gt;
                LR   A,S              ; 013b 4c&lt;br /&gt;
                LISU 4                   ; 013c 64&lt;br /&gt;
                LISL 5                   ; 013d 6d&lt;br /&gt;
                CI   $01                 ; 013e 25 01&lt;br /&gt;
                BT   4,A014f             ; 0140 84 0e&lt;br /&gt;
                LI   $53                 ; 0142 20 53&lt;br /&gt;
                LR   I,A             ; 0144 5d&lt;br /&gt;
                LIS  $c                  ; 0145 7c	!!! this is 7F in other BIOS&lt;br /&gt;
                LR   D,A             ; 0146 5e&lt;br /&gt;
                LI   $d0                 ; 0147 20 d0&lt;br /&gt;
                LR   $3,A                ; 0149 53&lt;br /&gt;
                PI   clrscrn             ; 014a 28 00 d0&lt;br /&gt;
                BF   $0,A017d            ; 014d 90 2f&lt;br /&gt;
                &lt;br /&gt;
A014f:          LI   $17                 ; 014f 20 17&lt;br /&gt;
                LR   I,A             ; 0151 5d&lt;br /&gt;
                LI   $ff                 ; 0152 20 ff&lt;br /&gt;
                LR   S,A              ; 0154 5c&lt;br /&gt;
                LI   $d6                 ; 0155 20 d6&lt;br /&gt;
                LR   $3,A                ; 0157 53&lt;br /&gt;
                PI   clrscrn             ; 0158 28 00 d0&lt;br /&gt;
                LI   $11                 ; 015b 20 11&lt;br /&gt;
                LR   $1,A                ; 015d 51&lt;br /&gt;
                LIS  $8                  ; 015e 78&lt;br /&gt;
                LR   $2,A                ; 015f 52&lt;br /&gt;
                PI   A01f6               ; 0160 28 01 f6&lt;br /&gt;
                LI   $11                 ; 0163 20 11&lt;br /&gt;
                LR   $1,A                ; 0165 51&lt;br /&gt;
                LI   $25                 ; 0166 20 25&lt;br /&gt;
                LR   $2,A                ; 0168 52&lt;br /&gt;
                PI   A01f6               ; 0169 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 016c 20 5c&lt;br /&gt;
                LR   $1,A                ; 016e 51&lt;br /&gt;
                LIS  $8                  ; 016f 78&lt;br /&gt;
                LR   $2,A                ; 0170 52&lt;br /&gt;
                PI   A01f6               ; 0171 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 0174 20 5c&lt;br /&gt;
                LR   $1,A                ; 0176 51&lt;br /&gt;
                LI   $25                 ; 0177 20 25&lt;br /&gt;
                LR   $2,A                ; 0179 52&lt;br /&gt;
                PI   A01f6               ; 017a 28 01 f6&lt;br /&gt;
A017d:          LI   $14                 ; 017d 20 14&lt;br /&gt;
                LR   $1,A                ; 017f 51&lt;br /&gt;
                LIS  $6                  ; 0180 76&lt;br /&gt;
                LR   $2,A                ; 0181 52&lt;br /&gt;
                PI   A020e               ; 0182 28 02 0e&lt;br /&gt;
                LI   $14                 ; 0185 20 14&lt;br /&gt;
                LR   $1,A                ; 0187 51&lt;br /&gt;
                LI   $2e                 ; 0188 20 2e&lt;br /&gt;
                LR   $2,A                ; 018a 52&lt;br /&gt;
                PI   A020e               ; 018b 28 02 0e&lt;br /&gt;
                LI   $99                 ; 018e 20 99&lt;br /&gt;
                LISU 2                   ; 0190 62&lt;br /&gt;
                LISL 6                   ; 0191 6e&lt;br /&gt;
                LR   I,A             ; 0192 5d&lt;br /&gt;
                LR   S,A              ; 0193 5c&lt;br /&gt;
                PI   A02ac               ; 0194 28 02 ac&lt;br /&gt;
                PI   A02b5               ; 0197 28 02 b5&lt;br /&gt;
                LISU 4                   ; 019a 64&lt;br /&gt;
                LISL 2                   ; 019b 6a&lt;br /&gt;
                LIS  $2                  ; 019c 72&lt;br /&gt;
                LR   S,A              ; 019d 5c&lt;br /&gt;
                BF   $0,A01a4            ; 019e 90 05&lt;br /&gt;
                &lt;br /&gt;
A01a0:          LR   K,P                 ; 01a0 08&lt;br /&gt;
                PI   pushk               ; 01a1 28 01 07&lt;br /&gt;
A01a4:          LISU 2                   ; 01a4 62&lt;br /&gt;
                LISL 0                   ; 01a5 68&lt;br /&gt;
                LI   $17                 ; 01a6 20 17&lt;br /&gt;
                LR   S,A              ; 01a8 5c&lt;br /&gt;
                LISL 3                   ; 01a9 6b&lt;br /&gt;
                LR   S,A              ; 01aa 5c&lt;br /&gt;
                LI   $1c                 ; 01ab 20 1c&lt;br /&gt;
                LR   $1,A                ; 01ad 51&lt;br /&gt;
                LI   $1a                 ; 01ae 20 1a&lt;br /&gt;
                LR   $2,A                ; 01b0 52&lt;br /&gt;
                LI   $b0                 ; 01b1 20 b0&lt;br /&gt;
                LR   $0,A                ; 01b3 50&lt;br /&gt;
                PI   drawchar            ; 01b4 28 06 79&lt;br /&gt;
                LI   $38                 ; 01b7 20 38&lt;br /&gt;
                LR   $1,A                ; 01b9 51&lt;br /&gt;
                LI   $1b                 ; 01ba 20 1b&lt;br /&gt;
                LR   $2,A                ; 01bc 52&lt;br /&gt;
                LI   $55                 ; 01bd 20 55&lt;br /&gt;
                LR   $0,A                ; 01bf 50&lt;br /&gt;
                PI   drawchar            ; 01c0 28 06 79&lt;br /&gt;
                LI   $52                 ; 01c3 20 52&lt;br /&gt;
                LR   $1,A                ; 01c5 51&lt;br /&gt;
                LI   $1a                 ; 01c6 20 1a&lt;br /&gt;
                LR   $2,A                ; 01c8 52&lt;br /&gt;
                LI   $71                 ; 01c9 20 71&lt;br /&gt;
                LR   $0,A                ; 01cb 50&lt;br /&gt;
                PI   drawchar            ; 01cc 28 06 79&lt;br /&gt;
                LISU 4                   ; 01cf 64&lt;br /&gt;
                LISL 5                   ; 01d0 6d&lt;br /&gt;
                LR   A,S              ; 01d1 4c&lt;br /&gt;
                SL   1                   ; 01d2 13&lt;br /&gt;
                BT   1,A01da             ; 01d3 81 06&lt;br /&gt;
                PI   A0447               ; 01d5 28 04 47&lt;br /&gt;
                BF   $0,A01f2            ; 01d8 90 19&lt;br /&gt;
                &lt;br /&gt;
A01da:          LI   $11                 ; 01da 20 11&lt;br /&gt;
                LR   $1,A                ; 01dc 51&lt;br /&gt;
                LI   $1a                 ; 01dd 20 1a&lt;br /&gt;
                LR   $2,A                ; 01df 52&lt;br /&gt;
                LI   $b2                 ; 01e0 20 b2&lt;br /&gt;
                LR   $0,A                ; 01e2 50&lt;br /&gt;
                PI   drawchar            ; 01e3 28 06 79&lt;br /&gt;
                LI   $5e                 ; 01e6 20 5e&lt;br /&gt;
                LR   $1,A                ; 01e8 51&lt;br /&gt;
                LI   $1a                 ; 01e9 20 1a&lt;br /&gt;
                LR   $2,A                ; 01eb 52&lt;br /&gt;
                LI   $73                 ; 01ec 20 73&lt;br /&gt;
                LR   $0,A                ; 01ee 50&lt;br /&gt;
                PI   drawchar            ; 01ef 28 06 79&lt;br /&gt;
A01f2:          PI   popk                ; 01f2 28 01 1e&lt;br /&gt;
                PK                       ; 01f5 0c&lt;br /&gt;
                &lt;br /&gt;
A01f6:          LR   K,P                 ; 01f6 08&lt;br /&gt;
                PI   pushk               ; 01f7 28 01 07&lt;br /&gt;
                LIS  $8                  ; 01fa 78&lt;br /&gt;
                LR   $3,A                ; 01fb 53&lt;br /&gt;
A01fc:          LI   $81                 ; 01fc 20 81&lt;br /&gt;
                LR   $0,A                ; 01fe 50&lt;br /&gt;
                PI   drawchar            ; 01ff 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0202 41&lt;br /&gt;
                AI   $fa                 ; 0203 24 fa&lt;br /&gt;
                LR   $1,A                ; 0205 51&lt;br /&gt;
                LR   A,$2                ; 0206 42&lt;br /&gt;
                INC                      ; 0207 1f&lt;br /&gt;
                LR   $2,A                ; 0208 52&lt;br /&gt;
                DS   $3                  ; 0209 33&lt;br /&gt;
                BNZ  A01fc            ; 020a 94 f1&lt;br /&gt;
                BF   $0,A01f2            ; 020c 90 e5&lt;br /&gt;
                &lt;br /&gt;
A020e:          LR   K,P                 ; 020e 08&lt;br /&gt;
                PI   pushk               ; 020f 28 01 07&lt;br /&gt;
                LI   $46                 ; 0212 20 46&lt;br /&gt;
                LR   $3,A                ; 0214 53&lt;br /&gt;
A0215:          LI   $92                 ; 0215 20 92&lt;br /&gt;
                LR   $0,A                ; 0217 50&lt;br /&gt;
                PI   drawchar            ; 0218 28 06 79&lt;br /&gt;
                LR   A,$1                ; 021b 41&lt;br /&gt;
                AI   $fb                 ; 021c 24 fb&lt;br /&gt;
                LR   $1,A                ; 021e 51&lt;br /&gt;
                DS   $3                  ; 021f 33&lt;br /&gt;
                BNZ  A0215            ; 0220 94 f4&lt;br /&gt;
                BF   $0,A01f2            ; 0222 90 cf&lt;br /&gt;
                &lt;br /&gt;
prompts:        LR   K,P                 ; &lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
prompts2:       LI   $85                 ; red 5 (S)&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                CI   $08                 ; is it button 4, Start?&lt;br /&gt;
                BNZ  notbut4          ; no, check others&lt;br /&gt;
                PI   popk                ; yes, return&lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
notbut4:        CI   $02                 ; is it button 2, Mode?&lt;br /&gt;
                BNZ  notbut2          ; &lt;br /&gt;
                LI   $8e                 ; red M&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; &lt;br /&gt;
                LISL 4                   ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
notbut2:        CI   $01                 ; is it button 1, Time?&lt;br /&gt;
                BNZ  prompts2         ; &lt;br /&gt;
                LI   $8c                 ; red T&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                DCI  minutes             ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                SR   1                   ; &lt;br /&gt;
                ADC                      ; &lt;br /&gt;
                LM                       ; &lt;br /&gt;
                LISU 7                   ; &lt;br /&gt;
                LISL 1                   ; &lt;br /&gt;
                LR   I,A             ; &lt;br /&gt;
                LIS  $0                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                LISU 6                   ; &lt;br /&gt;
                LISL 7                   ; &lt;br /&gt;
                LIS  $f                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                PI   A0271               ; &lt;br /&gt;
                LISU 4                   ; &lt;br /&gt;
                LISL 5                   ; &lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                OI   $20                 ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
minutes:		db $02,$05,$10,$10,$20		; minutes of play&lt;br /&gt;
                &lt;br /&gt;
A0271:			LR   K,P                 ; 0271 08&lt;br /&gt;
                PI   pushk               ; 0272 28 01 07&lt;br /&gt;
                LISU 7                   ; 0275 67&lt;br /&gt;
                LISL 2                   ; 0276 6a&lt;br /&gt;
                LR   A,D             ; 0277 4e&lt;br /&gt;
                LR   $4,A                ; 0278 54&lt;br /&gt;
                LR   A,S              ; 0279 4c&lt;br /&gt;
                LR   $3,A                ; 027a 53&lt;br /&gt;
                SR   4                   ; 027b 14&lt;br /&gt;
                OI   $80                 ; 027c 22 80&lt;br /&gt;
                LR   $0,A                ; 027e 50&lt;br /&gt;
                LI   $2a                 ; 027f 20 2a&lt;br /&gt;
                LR   $1,A                ; 0281 51&lt;br /&gt;
                LI   $33                 ; 0282 20 33&lt;br /&gt;
                LR   $2,A                ; 0284 52&lt;br /&gt;
                PI   drawchar            ; 0285 28 06 79&lt;br /&gt;
                LR   A,$3                ; 0288 43&lt;br /&gt;
                NI   $0f                 ; 0289 21 0f&lt;br /&gt;
                OI   $80                 ; 028b 22 80&lt;br /&gt;
                LR   $0,A                ; 028d 50&lt;br /&gt;
                PI   drawchar            ; 028e 28 06 79&lt;br /&gt;
                LI   $91                 ; 0291 20 91&lt;br /&gt;
                LR   $0,A                ; 0293 50&lt;br /&gt;
                PI   drawchar            ; 0294 28 06 79&lt;br /&gt;
                LR   A,$4                ; 0297 44&lt;br /&gt;
                SR   4                   ; 0298 14&lt;br /&gt;
                OI   $80                 ; 0299 22 80&lt;br /&gt;
                LR   $0,A                ; 029b 50&lt;br /&gt;
                PI   drawchar            ; 029c 28 06 79&lt;br /&gt;
                LR   A,$4                ; 029f 44&lt;br /&gt;
                NI   $0f                 ; 02a0 21 0f&lt;br /&gt;
                OI   $80                 ; 02a2 22 80&lt;br /&gt;
                LR   $0,A                ; 02a4 50&lt;br /&gt;
                PI   drawchar            ; 02a5 28 06 79&lt;br /&gt;
                PI   popk                ; 02a8 28 01 1e&lt;br /&gt;
                PK                       ; 02ab 0c&lt;br /&gt;
                &lt;br /&gt;
A02ac:          LR   K,P                 ; 02ac 08&lt;br /&gt;
                PI   pushk               ; 02ad 28 01 07&lt;br /&gt;
                LISL 6                   ; 02b0 6e&lt;br /&gt;
                LI   $17                 ; 02b1 20 17&lt;br /&gt;
                BF   $0,A02bc            ; 02b3 90 08&lt;br /&gt;
                &lt;br /&gt;
A02b5:          LR   K,P                 ; 02b5 08&lt;br /&gt;
                PI   pushk               ; 02b6 28 01 07&lt;br /&gt;
                LISL 7                   ; 02b9 6f&lt;br /&gt;
                LI   $50                 ; 02ba 20 50&lt;br /&gt;
A02bc:          LISU 2                   ; 02bc 62&lt;br /&gt;
                LR   $1,A                ; 02bd 51&lt;br /&gt;
                LI   $33                 ; 02be 20 33&lt;br /&gt;
                LR   $2,A                ; 02c0 52&lt;br /&gt;
                LIS  $1                  ; 02c1 71&lt;br /&gt;
                AI   $66                 ; 02c2 24 66&lt;br /&gt;
                ASD  S                ; 02c4 dc&lt;br /&gt;
                LR   S,A              ; 02c5 5c&lt;br /&gt;
                SR   4                   ; 02c6 14&lt;br /&gt;
                OI   $40                 ; 02c7 22 40&lt;br /&gt;
                LR   $0,A                ; 02c9 50&lt;br /&gt;
                PI   drawchar            ; 02ca 28 06 79&lt;br /&gt;
                LR   A,S              ; 02cd 4c&lt;br /&gt;
                NI   $0f                 ; 02ce 21 0f&lt;br /&gt;
                OI   $40                 ; 02d0 22 40&lt;br /&gt;
                LR   $0,A                ; 02d2 50&lt;br /&gt;
                PI   drawchar            ; 02d3 28 06 79&lt;br /&gt;
                PI   popk                ; 02d6 28 01 1e&lt;br /&gt;
                PK                       ; 02d9 0c&lt;br /&gt;
                &lt;br /&gt;
A02da:          LR   K,P                 ; 02da 08&lt;br /&gt;
                PI   pushk               ; 02db 28 01 07&lt;br /&gt;
                LI   $b0                 ; 02de 20 b0&lt;br /&gt;
                LR   $4,A                ; 02e0 54&lt;br /&gt;
                LISU 2                   ; 02e1 62&lt;br /&gt;
                LISL 1                   ; 02e2 69&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02e3 70&lt;br /&gt;
                OUTS 4                   ; 02e4 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A02f4            ; 02e6 90 0d&lt;br /&gt;
                &lt;br /&gt;
A02e8:          LR   K,P                 ; 02e8 08&lt;br /&gt;
                PI   pushk               ; 02e9 28 01 07&lt;br /&gt;
                LI   $71                 ; 02ec 20 71&lt;br /&gt;
                LR   $4,A                ; 02ee 54&lt;br /&gt;
                LISU 2                   ; 02ef 62&lt;br /&gt;
                LISL 4                   ; 02f0 6c&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02f1 70&lt;br /&gt;
                OUTS 1                   ; 02f2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A02f4:          COM                      ; 02f4 18&lt;br /&gt;
                NS   $1                  ; 02f5 f1&lt;br /&gt;
                LR   $0,A                ; 02f6 50&lt;br /&gt;
                LR   A,I             ; 02f7 4d&lt;br /&gt;
                LR   $1,A                ; 02f8 51&lt;br /&gt;
                LR   A,S              ; 02f9 4c&lt;br /&gt;
                LR   $2,A                ; 02fa 52&lt;br /&gt;
                LIS  $1                  ; 02fb 71&lt;br /&gt;
                NS   $0                  ; 02fc f0&lt;br /&gt;
                BT   4,A0303             ; 02fd 84 05&lt;br /&gt;
                LR   A,$1                ; 02ff 41&lt;br /&gt;
                AI   $02                 ; 0300 24 02&lt;br /&gt;
                LR   $1,A                ; 0302 51&lt;br /&gt;
A0303:          LIS  $2                  ; 0303 72&lt;br /&gt;
                NS   $0                  ; 0304 f0&lt;br /&gt;
                BT   4,A030b             ; 0305 84 05&lt;br /&gt;
                LR   A,$1                ; 0307 41&lt;br /&gt;
                AI   $fe                 ; 0308 24 fe&lt;br /&gt;
                LR   $1,A                ; 030a 51&lt;br /&gt;
A030b:          LIS  $4                  ; 030b 74&lt;br /&gt;
                NS   $0                  ; 030c f0&lt;br /&gt;
                BT   4,A0313             ; 030d 84 05&lt;br /&gt;
                LR   A,$2                ; 030f 42&lt;br /&gt;
                AI   $02                 ; 0310 24 02&lt;br /&gt;
                LR   $2,A                ; 0312 52&lt;br /&gt;
A0313:          LIS  $8                  ; 0313 78&lt;br /&gt;
                NS   $0                  ; 0314 f0&lt;br /&gt;
                BT   4,A031b             ; 0315 84 05&lt;br /&gt;
                LR   A,$2                ; 0317 42&lt;br /&gt;
                AI   $fe                 ; 0318 24 fe&lt;br /&gt;
                LR   $2,A                ; 031a 52&lt;br /&gt;
A031b:          LISU 3                   ; 031b 63&lt;br /&gt;
                LISL 7                   ; 031c 6f&lt;br /&gt;
                LR   A,S              ; 031d 4c&lt;br /&gt;
                CI   $02                 ; 031e 25 02&lt;br /&gt;
                BF   $1,A0357            ; 0320 91 36&lt;br /&gt;
                BNZ  A033a            ; 0322 94 17&lt;br /&gt;
                LIS  $1                  ; 0324 71&lt;br /&gt;
                NS   $4                  ; 0325 f4&lt;br /&gt;
                BNZ  A0332            ; 0326 94 0b&lt;br /&gt;
                LR   A,$1                ; 0328 41&lt;br /&gt;
                CI   $2d                 ; 0329 25 2d&lt;br /&gt;
                BT   1,A0330             ; 032b 81 04&lt;br /&gt;
                LI   $2d                 ; 032d 20 2d&lt;br /&gt;
                LR   $1,A                ; 032f 51&lt;br /&gt;
A0330:          BF   $0,A033a            ; 0330 90 09&lt;br /&gt;
&lt;br /&gt;
A0332:          LR   A,$1                ; 0332 41&lt;br /&gt;
                CI   $3d                 ; 0333 25 3d&lt;br /&gt;
                BF   $1,A033a            ; 0335 91 04&lt;br /&gt;
                LI   $3d                 ; 0337 20 3d&lt;br /&gt;
                LR   $1,A                ; 0339 51&lt;br /&gt;
A033a:          LR   A,$1                ; 033a 41&lt;br /&gt;
                CI   $52                 ; 033b 25 52&lt;br /&gt;
                BT   1,A0342             ; 033d 81 04&lt;br /&gt;
                LI   $52                 ; 033f 20 52&lt;br /&gt;
                LR   $1,A                ; 0341 51&lt;br /&gt;
A0342:          CI   $1a                 ; 0342 25 1a&lt;br /&gt;
                BF   $1,A0349            ; 0344 91 04&lt;br /&gt;
                LI   $1a                 ; 0346 20 1a&lt;br /&gt;
                LR   $1,A                ; 0348 51&lt;br /&gt;
A0349:          LR   A,$2                ; 0349 42&lt;br /&gt;
                CI   $2b                 ; 034a 25 2b&lt;br /&gt;
                BT   1,A0351             ; 034c 81 04&lt;br /&gt;
                LI   $2b                 ; 034e 20 2b&lt;br /&gt;
                LR   $2,A                ; 0350 52&lt;br /&gt;
A0351:          CI   $09                 ; 0351 25 09&lt;br /&gt;
                BF   $1,A0357            ; 0353 91 03&lt;br /&gt;
                LIS  $9                  ; 0355 79&lt;br /&gt;
                LR   $2,A                ; 0356 52&lt;br /&gt;
A0357:          LISU 4                   ; 0357 64&lt;br /&gt;
                LISL 7                   ; 0358 6f&lt;br /&gt;
                LR   A,S              ; 0359 4c&lt;br /&gt;
                NI   $03                 ; 035a 21 03&lt;br /&gt;
                CI   $03                 ; 035c 25 03&lt;br /&gt;
                BNZ  A0383            ; 035e 94 24&lt;br /&gt;
                LISU 2                   ; 0360 62&lt;br /&gt;
                LISL 0                   ; 0361 68&lt;br /&gt;
                LIS  $1                  ; 0362 71&lt;br /&gt;
                NS   $4                  ; 0363 f4&lt;br /&gt;
                BT   4,A0367             ; 0364 84 02&lt;br /&gt;
                LISL 3                   ; 0366 6b&lt;br /&gt;
A0367:          LI   $10                 ; 0367 20 10&lt;br /&gt;
                NS   $0                  ; 0369 f0&lt;br /&gt;
                BT   4,A036d             ; 036a 84 02&lt;br /&gt;
                DS   S                ; 036c 3c&lt;br /&gt;
A036d:          LI   $20                 ; 036d 20 20&lt;br /&gt;
                NS   $0                  ; 036f f0&lt;br /&gt;
                BT   4,A0375             ; 0370 84 04&lt;br /&gt;
                LR   A,S              ; 0372 4c&lt;br /&gt;
                INC                      ; 0373 1f&lt;br /&gt;
                LR   S,A              ; 0374 5c&lt;br /&gt;
A0375:          LR   A,S              ; 0375 4c&lt;br /&gt;
                CI   $16                 ; 0376 25 16&lt;br /&gt;
                BNZ  A037c            ; 0378 94 03&lt;br /&gt;
                LI   $1d                 ; 037a 20 1d&lt;br /&gt;
A037c:          CI   $1e                 ; 037c 25 1e&lt;br /&gt;
                BNZ  A0382            ; 037e 94 03&lt;br /&gt;
                LI   $17                 ; 0380 20 17&lt;br /&gt;
A0382:          LR   S,A              ; 0382 5c&lt;br /&gt;
A0383:          LR   A,$4                ; 0383 44&lt;br /&gt;
                LR   $0,A                ; 0384 50&lt;br /&gt;
                PI   drawchar            ; 0385 28 06 79&lt;br /&gt;
                PI   popk                ; 0388 28 01 1e&lt;br /&gt;
                PK                       ; 038b 0c&lt;br /&gt;
                &lt;br /&gt;
A038c:          LR   K,P                 ; 038c 08&lt;br /&gt;
                PI   pushk               ; 038d 28 01 07&lt;br /&gt;
                LISL 0                   ; 0390 68&lt;br /&gt;
                LI   $b2                 ; 0391 20 b2&lt;br /&gt;
                LR   $3,A                ; 0393 53&lt;br /&gt;
                LIS  $0                  ; 0394 70&lt;br /&gt;
                OUTS 4                   ; 0395 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A03a4            ; 0397 90 0c&lt;br /&gt;
                &lt;br /&gt;
A0399:          LR   K,P                 ; 0399 08&lt;br /&gt;
                PI   pushk               ; 039a 28 01 07&lt;br /&gt;
                LISL 2                   ; 039d 6a&lt;br /&gt;
                LI   $73                 ; 039e 20 73&lt;br /&gt;
                LR   $3,A                ; 03a0 53&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 03a1 70&lt;br /&gt;
                OUTS 1                   ; 03a2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A03a4:          COM                      ; 03a4 18&lt;br /&gt;
                LR   $0,A                ; 03a5 50&lt;br /&gt;
                LISU 3                   ; 03a6 63&lt;br /&gt;
                LR   A,I             ; 03a7 4d&lt;br /&gt;
                LR   $1,A                ; 03a8 51&lt;br /&gt;
                LR   A,S              ; 03a9 4c&lt;br /&gt;
                LR   $2,A                ; 03aa 52&lt;br /&gt;
                LR   A,$0                ; 03ab 40&lt;br /&gt;
                NI   $80                 ; 03ac 21 80&lt;br /&gt;
                BT   4,A03b4             ; 03ae 84 05&lt;br /&gt;
                LR   A,$2                ; 03b0 42&lt;br /&gt;
                AI   $02                 ; 03b1 24 02&lt;br /&gt;
                LR   $2,A                ; 03b3 52&lt;br /&gt;
A03b4:          LR   A,$0                ; 03b4 40&lt;br /&gt;
                NI   $40                 ; 03b5 21 40&lt;br /&gt;
                BT   4,A03bb             ; 03b7 84 03&lt;br /&gt;
                DS   $2                  ; 03b9 32&lt;br /&gt;
                DS   $2                  ; 03ba 32&lt;br /&gt;
A03bb:          LR   A,$2                ; 03bb 42&lt;br /&gt;
                CI   $14                 ; 03bc 25 14&lt;br /&gt;
                BF   $1,A03c3            ; 03be 91 04&lt;br /&gt;
                LI   $14                 ; 03c0 20 14&lt;br /&gt;
                LR   $2,A                ; 03c2 52&lt;br /&gt;
A03c3:          CI   $20                 ; 03c3 25 20&lt;br /&gt;
                BT   1,A03ca             ; 03c5 81 04&lt;br /&gt;
                LI   $20                 ; 03c7 20 20&lt;br /&gt;
                LR   $2,A                ; 03c9 52&lt;br /&gt;
A03ca:          LR   A,$3                ; 03ca 43&lt;br /&gt;
                LR   $0,A                ; 03cb 50&lt;br /&gt;
                PI   drawchar            ; 03cc 28 06 79&lt;br /&gt;
                PI   popk                ; 03cf 28 01 1e&lt;br /&gt;
                PK                       ; 03d2 0c&lt;br /&gt;
                &lt;br /&gt;
A03d3:          LR   K,P                 ; 03d3 08&lt;br /&gt;
                PI   pushk               ; 03d4 28 01 07&lt;br /&gt;
                LISU 4                   ; 03d7 64&lt;br /&gt;
                LISL 0                   ; 03d8 68&lt;br /&gt;
                LR   A,I             ; 03d9 4d&lt;br /&gt;
                LR   $1,A                ; 03da 51&lt;br /&gt;
                LR   A,I             ; 03db 4d&lt;br /&gt;
                LR   $2,A                ; 03dc 52&lt;br /&gt;
                LR   A,I             ; 03dd 4d&lt;br /&gt;
                LR   $3,A                ; 03de 53&lt;br /&gt;
                LR   A,I             ; 03df 4d&lt;br /&gt;
                LR   $4,A                ; 03e0 54&lt;br /&gt;
                LR   A,S              ; 03e1 4c&lt;br /&gt;
                CI   $00                 ; 03e2 25 00&lt;br /&gt;
                BT   4,A03f2             ; 03e4 84 0d&lt;br /&gt;
                LIS  $0                  ; 03e6 70&lt;br /&gt;
                LR   S,A              ; 03e7 5c&lt;br /&gt;
                LR   A,$3                ; 03e8 43&lt;br /&gt;
                SL   1                   ; 03e9 13&lt;br /&gt;
                AS   $3                  ; 03ea c3&lt;br /&gt;
                AS   $3                  ; 03eb c3&lt;br /&gt;
                LR   $3,A                ; 03ec 53&lt;br /&gt;
                LR   A,$4                ; 03ed 44&lt;br /&gt;
                SL   1                   ; 03ee 13&lt;br /&gt;
                AS   $4                  ; 03ef c4&lt;br /&gt;
                AS   $4                  ; 03f0 c4&lt;br /&gt;
                LR   $4,A                ; 03f1 54&lt;br /&gt;
A03f2:          LR   A,$1                ; 03f2 41&lt;br /&gt;
                AS   $3                  ; 03f3 c3&lt;br /&gt;
                LR   $1,A                ; 03f4 51&lt;br /&gt;
                LR   A,$2                ; 03f5 42&lt;br /&gt;
                AS   $4                  ; 03f6 c4&lt;br /&gt;
                LR   $2,A                ; 03f7 52&lt;br /&gt;
                LISU 4                   ; 03f8 64&lt;br /&gt;
                LISL 5                   ; 03f9 6d&lt;br /&gt;
                LI   $44                 ; 03fa 20 44&lt;br /&gt;
                NS   S                ; 03fc fc&lt;br /&gt;
                BT   4,A043b             ; 03fd 84 3d&lt;br /&gt;
                PI   A049c               ; 03ff 28 04 9c&lt;br /&gt;
                LISU 4                   ; 0402 64&lt;br /&gt;
                LISL 2                   ; 0403 6a&lt;br /&gt;
                LR   A,$1                ; 0404 41&lt;br /&gt;
                LR   $0,A                ; 0405 50&lt;br /&gt;
                CI   $5c                 ; 0406 25 5c&lt;br /&gt;
                BT   1,A0410             ; 0408 81 07&lt;br /&gt;
                PI   A043f               ; 040a 28 04 3f&lt;br /&gt;
                LI   $5c                 ; 040d 20 5c&lt;br /&gt;
                LR   $1,A                ; 040f 51&lt;br /&gt;
A0410:          LR   A,$1                ; 0410 41&lt;br /&gt;
                LR   $0,A                ; 0411 50&lt;br /&gt;
                CI   $14                 ; 0412 25 14&lt;br /&gt;
                BF   $1,A041c            ; 0414 91 07&lt;br /&gt;
                PI   A043f               ; 0416 28 04 3f&lt;br /&gt;
                LI   $14                 ; 0419 20 14&lt;br /&gt;
                LR   $1,A                ; 041b 51&lt;br /&gt;
A041c:          LISL 3                   ; 041c 6b&lt;br /&gt;
                LR   A,$2                ; 041d 42&lt;br /&gt;
                LR   $0,A                ; 041e 50&lt;br /&gt;
                CI   $08                 ; 041f 25 08&lt;br /&gt;
                BF   $1,A0429            ; 0421 91 07&lt;br /&gt;
                PI   A043f               ; 0423 28 04 3f&lt;br /&gt;
                LI   $09                 ; 0426 20 09&lt;br /&gt;
                LR   $2,A                ; 0428 52&lt;br /&gt;
A0429:          LR   A,$2                ; 0429 42&lt;br /&gt;
                LR   $0,A                ; 042a 50&lt;br /&gt;
                CI   $2e                 ; 042b 25 2e&lt;br /&gt;
                BT   1,A0435             ; 042d 81 07&lt;br /&gt;
                PI   A043f               ; 042f 28 04 3f&lt;br /&gt;
                LI   $2e                 ; 0432 20 2e&lt;br /&gt;
                LR   $2,A                ; 0434 52&lt;br /&gt;
A0435:          LI   $55                 ; 0435 20 55&lt;br /&gt;
                LR   $0,A                ; 0437 50&lt;br /&gt;
                PI   drawchar            ; 0438 28 06 79&lt;br /&gt;
A043b:          PI   popk                ; 043b 28 01 1e&lt;br /&gt;
                PK                       ; 043e 0c&lt;br /&gt;
                &lt;br /&gt;
A043f:          LR   A,S              ; 043f 4c&lt;br /&gt;
                COM                      ; 0440 18&lt;br /&gt;
                INC                      ; 0441 1f&lt;br /&gt;
                LR   S,A              ; 0442 5c&lt;br /&gt;
                LI   $40                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0445 b5&lt;br /&gt;
                POP                      ; 0446 1c&lt;br /&gt;
                &lt;br /&gt;
A0447:          LR   K,P                 ; 0447 08&lt;br /&gt;
                PI   pushk               ; 0448 28 01 07&lt;br /&gt;
                LI   $36                 ; 044b 20 36&lt;br /&gt;
                LR   $1,A                ; 044d 51&lt;br /&gt;
                LIS  $a                  ; 044e 7a&lt;br /&gt;
                LR   $2,A                ; 044f 52&lt;br /&gt;
                LIS  $5                  ; 0450 75&lt;br /&gt;
                LR   $4,A                ; 0451 54&lt;br /&gt;
A0452:          LI   $81                 ; 0452 20 81&lt;br /&gt;
                LR   $0,A                ; 0454 50&lt;br /&gt;
                PI   drawchar            ; 0455 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0458 41&lt;br /&gt;
                AI   $fa                 ; 0459 24 fa&lt;br /&gt;
                LR   $1,A                ; 045b 51&lt;br /&gt;
                LR   A,$2                ; 045c 42&lt;br /&gt;
                AI   $08                 ; 045d 24 08&lt;br /&gt;
                LR   $2,A                ; 045f 52&lt;br /&gt;
                DS   $4                  ; 0460 34&lt;br /&gt;
                BNZ  A0452            ; 0461 94 f0&lt;br /&gt;
                PI   popk                ; 0463 28 01 1e&lt;br /&gt;
                PK                       ; 0466 0c&lt;br /&gt;
                &lt;br /&gt;
A0467:          LR   K,P                 ; 0467 08&lt;br /&gt;
                PI   pushk               ; 0468 28 01 07&lt;br /&gt;
                LISU 7                   ; 046b 67&lt;br /&gt;
                LISL 0                   ; 046c 68&lt;br /&gt;
                LR   A,S              ; 046d 4c&lt;br /&gt;
                OI   $00                 ; 046e 22 00&lt;br /&gt;
                BT   4,A0498             ; 0470 84 27&lt;br /&gt;
                LIS  $0                  ; 0472 70&lt;br /&gt;
                LR   S,A              ; 0473 5c&lt;br /&gt;
                LISL 2                   ; 0474 6a&lt;br /&gt;
                LIS  $1                  ; 0475 71&lt;br /&gt;
                LR   $0,A                ; 0476 50&lt;br /&gt;
                COM                      ; 0477 18&lt;br /&gt;
                ASD  S                ; 0478 dc&lt;br /&gt;
                AI   $66                 ; 0479 24 66&lt;br /&gt;
                ASD  $0                  ; 047b d0&lt;br /&gt;
                LR   S,A              ; 047c 5c&lt;br /&gt;
                CI   $99                 ; 047d 25 99&lt;br /&gt;
                BNZ  A0495            ; 047f 94 15&lt;br /&gt;
                LI   $59                 ; 0481 20 59&lt;br /&gt;
                LR   D,A             ; 0483 5e&lt;br /&gt;
                LIS  $1                  ; 0484 71&lt;br /&gt;
                LR   $0,A                ; 0485 50&lt;br /&gt;
                COM                      ; 0486 18&lt;br /&gt;
                ASD  S                ; 0487 dc&lt;br /&gt;
                AI   $66                 ; 0488 24 66&lt;br /&gt;
                ASD  $0                  ; 048a d0&lt;br /&gt;
                CI   $99                 ; 048b 25 99&lt;br /&gt;
                BNZ  A0494            ; 048d 94 06&lt;br /&gt;
                PI   prompts             ; time expired, print S?&lt;br /&gt;
                BF   $0,A0498            ; 0492 90 05&lt;br /&gt;
                &lt;br /&gt;
A0494:          LR   S,A              ; 0494 5c&lt;br /&gt;
A0495:          PI   $0271               ; 0495 28 02 71&lt;br /&gt;
A0498:          PI   popk                ; 0498 28 01 1e&lt;br /&gt;
                PK                       ; 049b 0c&lt;br /&gt;
                &lt;br /&gt;
A049c:          LR   K,P                 ; 049c 08&lt;br /&gt;
                PI   pushk               ; 049d 28 01 07&lt;br /&gt;
                LISU 4                   ; 04a0 64&lt;br /&gt;
                LISL 7                   ; 04a1 6f&lt;br /&gt;
                LIS  $1                  ; 04a2 71&lt;br /&gt;
                NS   S                ; 04a3 fc&lt;br /&gt;
                BT   4,A04b8             ; 04a4 84 13&lt;br /&gt;
                LISU 2                   ; 04a6 62&lt;br /&gt;
                LISL 4                   ; 04a7 6c&lt;br /&gt;
                PI   A05fc               ; 04a8 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04ab 30&lt;br /&gt;
                BT   4,A04e8             ; 04ac 84 3b&lt;br /&gt;
                LISU 2                   ; 04ae 62&lt;br /&gt;
                LISL 1                   ; 04af 69&lt;br /&gt;
                PI   A05fc               ; 04b0 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04b3 30&lt;br /&gt;
                BT   4,A04e5             ; 04b4 84 30&lt;br /&gt;
                BF   $0,A04c8            ; 04b6 90 11&lt;br /&gt;
                &lt;br /&gt;
A04b8:          LISU 2                   ; 04b8 62&lt;br /&gt;
                LISL 1                   ; 04b9 69&lt;br /&gt;
                PI   A05fc               ; 04ba 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04bd 30&lt;br /&gt;
                BT   4,A04e5             ; 04be 84 26&lt;br /&gt;
                LISU 2                   ; 04c0 62&lt;br /&gt;
                LISL 4                   ; 04c1 6c&lt;br /&gt;
                PI   A05fc               ; 04c2 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04c5 30&lt;br /&gt;
                BT   4,A04e8             ; 04c6 84 21&lt;br /&gt;
A04c8:          LISU 4                   ; 04c8 64&lt;br /&gt;
                LISL 5                   ; 04c9 6d&lt;br /&gt;
                LR   A,S              ; 04ca 4c&lt;br /&gt;
                NI   $04                 ; 04cb 21 04&lt;br /&gt;
                BNZ  A04d2            ; 04cd 94 04&lt;br /&gt;
                JMP  A059d               ; 04cf 29 05 9d&lt;br /&gt;
                &lt;br /&gt;
A04d2:          LISU 3                   ; 04d2 63&lt;br /&gt;
                LISL 0                   ; 04d3 68&lt;br /&gt;
                PI   A05fc               ; 04d4 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04d7 30&lt;br /&gt;
                BT   4,A0555             ; 04d8 84 7c&lt;br /&gt;
                LISU 3                   ; 04da 63&lt;br /&gt;
                LISL 2                   ; 04db 6a&lt;br /&gt;
                PI   A05fc               ; 04dc 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04df 30&lt;br /&gt;
                BT   4,A0559             ; 04e0 84 78&lt;br /&gt;
                JMP  A0588               ; 04e2 29 05 88&lt;br /&gt;
                &lt;br /&gt;
A04e5:          LISL 0                   ; 04e5 68&lt;br /&gt;
                BF   $0,A04e9            ; 04e6 90 02&lt;br /&gt;
                &lt;br /&gt;
A04e8:          LISL 3                   ; 04e8 6b&lt;br /&gt;
A04e9:          LISU 2                   ; 04e9 62&lt;br /&gt;
                LR   A,I             ; 04ea 4d&lt;br /&gt;
                LR   $4,A                ; 04eb 54&lt;br /&gt;
                LR   A,I             ; 04ec 4d&lt;br /&gt;
                LR   A,S              ; 04ed 4c&lt;br /&gt;
                LR   $7,A                ; 04ee 57&lt;br /&gt;
                LISU 4                   ; 04ef 64&lt;br /&gt;
                LISL 5                   ; 04f0 6d&lt;br /&gt;
                LR   A,S              ; 04f1 4c&lt;br /&gt;
                SL   1                   ; 04f2 13&lt;br /&gt;
                LR   A,$4                ; 04f3 44&lt;br /&gt;
                BT   1,A0516             ; 04f4 81 21&lt;br /&gt;
                DCI  A050e               ; 04f6 2a 05 0e&lt;br /&gt;
                LIS  $7                  ; 04f9 77&lt;br /&gt;
                LR   $4,A                ; 04fa 54&lt;br /&gt;
                DS   $7                  ; 04fb 37&lt;br /&gt;
                DS   $7                  ; 04fc 37&lt;br /&gt;
A04fd:          LR   A,$4                ; 04fd 44&lt;br /&gt;
                AS   $7                  ; 04fe c7&lt;br /&gt;
                LR   $3,A                ; 04ff 53&lt;br /&gt;
                LR   A,$2                ; 0500 42&lt;br /&gt;
                COM                      ; 0501 18&lt;br /&gt;
                INC                      ; 0502 1f&lt;br /&gt;
                AS   $3                  ; 0503 c3&lt;br /&gt;
                BT   4,A0509             ; 0504 84 04&lt;br /&gt;
                DS   $4                  ; 0506 34&lt;br /&gt;
                BT   1,A04fd             ; 0507 81 f5&lt;br /&gt;
A0509:          LR   A,$4                ; 0509 44&lt;br /&gt;
                ADC                      ; 050a 8e&lt;br /&gt;
                LM                       ; 050b 16&lt;br /&gt;
                BF   $0,A0518            ; 050c 90 0b&lt;br /&gt;
&lt;br /&gt;
A050e:			db	$04,$04,$05,$06,$00,$01,$02,$03                &lt;br /&gt;
&lt;br /&gt;
A0516:          AI   $e9                 ; 0516 24 e9&lt;br /&gt;
A0518:          DCI  A0547               ; 0518 2a 05 47&lt;br /&gt;
                SL   1                   ; 051b 13&lt;br /&gt;
                ADC                      ; 051c 8e&lt;br /&gt;
                LM                       ; 051d 16&lt;br /&gt;
                LR   $5,A                ; 051e 55&lt;br /&gt;
                LM                       ; 051f 16&lt;br /&gt;
                LR   $6,A                ; 0520 56&lt;br /&gt;
                LISU 4                   ; 0521 64&lt;br /&gt;
                LISL 2                   ; 0522 6a&lt;br /&gt;
                LR   A,S              ; 0523 4c&lt;br /&gt;
                OI   $00                 ; 0524 22 00&lt;br /&gt;
                BF   $1,A053a            ; 0526 91 13&lt;br /&gt;
                LR   A,$5                ; 0528 45&lt;br /&gt;
                COM                      ; 0529 18&lt;br /&gt;
                INC                      ; 052a 1f&lt;br /&gt;
                LR   $5,A                ; 052b 55&lt;br /&gt;
                LISL 5                   ; 052c 6d&lt;br /&gt;
                LR   A,S              ; 052d 4c&lt;br /&gt;
                SL   1                   ; 052e 13&lt;br /&gt;
                LISL 2                   ; 052f 6a&lt;br /&gt;
                BF   $1,A0536            ; 0530 91 05&lt;br /&gt;
                LR   A,$6                ; 0532 46&lt;br /&gt;
                COM                      ; 0533 18&lt;br /&gt;
                INC                      ; 0534 1f&lt;br /&gt;
                LR   $6,A                ; 0535 56&lt;br /&gt;
A0536:          LR   A,$1                ; 0536 41&lt;br /&gt;
                AI   $02                 ; 0537 24 02&lt;br /&gt;
                LR   $1,A                ; 0539 51&lt;br /&gt;
A053a:          LR   A,$5                ; 053a 45&lt;br /&gt;
                LR   I,A             ; 053b 5d&lt;br /&gt;
                LR   A,$6                ; 053c 46&lt;br /&gt;
                LR   I,A             ; 053d 5d&lt;br /&gt;
                LIS  $2                  ; 053e 72&lt;br /&gt;
                LR   S,A              ; 053f 5c&lt;br /&gt;
                LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0542 b5&lt;br /&gt;
A0543:          PI   popk                ; 0543 28 01 1e&lt;br /&gt;
                PK                       ; 0546 0c&lt;br /&gt;
&lt;br /&gt;
A0547:			db	$02,$00,$02,$01,$02,$02,$01,$02,$01,$FE,$02,$FE,$02,$FF	&lt;br /&gt;
&lt;br /&gt;
A0555:          LIS  $1                  ; 0555 71&lt;br /&gt;
                LR   $3,A                ; 0556 53&lt;br /&gt;
                BF   $0,A055b            ; 0557 90 03&lt;br /&gt;
                &lt;br /&gt;
A0559:          LIS  $2                  ; 0559 72&lt;br /&gt;
                LR   $3,A                ; 055a 53&lt;br /&gt;
A055b:          LISU 4                   ; 055b 64&lt;br /&gt;
                LISL 2                   ; 055c 6a&lt;br /&gt;
                LR   A,S              ; 055d 4c&lt;br /&gt;
                DS   $3                  ; 055e 33&lt;br /&gt;
                BT   4,A0567             ; 055f 84 07&lt;br /&gt;
                OI   $00                 ; 0561 22 00&lt;br /&gt;
                BT   1,A056b             ; 0563 81 07&lt;br /&gt;
                BF   $0,A056e            ; 0565 90 08&lt;br /&gt;
                &lt;br /&gt;
A0567:          OI   $00                 ; 0567 22 00&lt;br /&gt;
                BT   1,A056e             ; 0569 81 04&lt;br /&gt;
A056b:          COM                      ; 056b 18&lt;br /&gt;
                INC                      ; 056c 1f&lt;br /&gt;
                LR   S,A              ; 056d 5c&lt;br /&gt;
A056e:          LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0570 b5&lt;br /&gt;
                LISL 3                   ; 0571 6b&lt;br /&gt;
                LR   A,S              ; 0572 4c&lt;br /&gt;
                OI   $00                 ; 0573 22 00&lt;br /&gt;
                BNZ  A0586            ; 0575 94 10&lt;br /&gt;
                LISU 2                   ; 0577 62&lt;br /&gt;
                LISL 1                   ; 0578 69&lt;br /&gt;
                LR   A,S              ; 0579 4c&lt;br /&gt;
                NI   $01                 ; 057a 21 01&lt;br /&gt;
                BT   4,A0581             ; 057c 84 04&lt;br /&gt;
                LIS  $2                  ; 057e 72&lt;br /&gt;
                BF   $0,A0583            ; 057f 90 03&lt;br /&gt;
                &lt;br /&gt;
A0581:          LI   $fe                 ; 0581 20 fe&lt;br /&gt;
A0583:          LISU 4                   ; 0583 64&lt;br /&gt;
                LISL 3                   ; 0584 6b&lt;br /&gt;
                LR   S,A              ; 0585 5c&lt;br /&gt;
A0586:          BF   $0,A05f3            ; 0586 90 6c&lt;br /&gt;
&lt;br /&gt;
A0588:          LR   A,$2                ; 0588 42&lt;br /&gt;
                CI   $14                 ; 0589 25 14&lt;br /&gt;
                BT   1,A059a             ; 058b 81 0e&lt;br /&gt;
                CI   $24                 ; 058d 25 24&lt;br /&gt;
                BF   $1,A059a            ; 058f 91 0a&lt;br /&gt;
                LR   A,$1                ; 0591 41&lt;br /&gt;
                CI   $14                 ; 0592 25 14&lt;br /&gt;
                BT   1,A05a9             ; 0594 81 14&lt;br /&gt;
                CI   $5c                 ; 0596 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 0598 91 10&lt;br /&gt;
A059a:          JMP  A0543               ; 059a 29 05 43&lt;br /&gt;
&lt;br /&gt;
A059d:          LR   A,$1                ; 059d 41&lt;br /&gt;
                CI   $14                 ; 059e 25 14&lt;br /&gt;
                BT   1,A05a9             ; 05a0 81 08&lt;br /&gt;
                CI   $5c                 ; 05a2 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 05a4 91 04&lt;br /&gt;
                JMP  A0543               ; 05a6 29 05 43&lt;br /&gt;
                &lt;br /&gt;
A05a9:          LISU 4                   ; 05a9 64&lt;br /&gt;
                LISL 2                   ; 05aa 6a&lt;br /&gt;
                LR   A,I             ; 05ab 4d&lt;br /&gt;
                SL   1                   ; 05ac 13&lt;br /&gt;
                BF   $1,A05b3            ; 05ad 91 05&lt;br /&gt;
                AI   $02                 ; 05af 24 02&lt;br /&gt;
                BF   $0,A05b5            ; 05b1 90 03&lt;br /&gt;
                &lt;br /&gt;
A05b3:          AI   $fe                 ; 05b3 24 fe&lt;br /&gt;
A05b5:          AS   $1                  ; 05b5 c1&lt;br /&gt;
                LR   $1,A                ; 05b6 51&lt;br /&gt;
                LISL 3                   ; 05b7 6b&lt;br /&gt;
                LR   A,S              ; 05b8 4c&lt;br /&gt;
                AS   $2                  ; 05b9 c2&lt;br /&gt;
                LR   $2,A                ; 05ba 52&lt;br /&gt;
                LI   $55                 ; 05bb 20 55&lt;br /&gt;
                LR   $0,A                ; 05bd 50&lt;br /&gt;
                PI   drawchar            ; 05be 28 06 79&lt;br /&gt;
                LISU 4                   ; 05c1 64&lt;br /&gt;
                LISL 3                   ; 05c2 6b&lt;br /&gt;
                LIS  $0                  ; 05c3 70&lt;br /&gt;
                LR   S,A              ; 05c4 5c&lt;br /&gt;
                LISU 4                   ; 05c5 64&lt;br /&gt;
                LISL 0                   ; 05c6 68&lt;br /&gt;
                LR   A,S              ; 05c7 4c&lt;br /&gt;
                CI   $30                 ; 05c8 25 30&lt;br /&gt;
                BF   $1,A05d1            ; 05ca 91 06&lt;br /&gt;
                PI   A02b5               ; 05cc 28 02 b5&lt;br /&gt;
                BF   $0,A05d4            ; 05cf 90 04&lt;br /&gt;
                &lt;br /&gt;
A05d1:          PI   A02ac               ; 05d1 28 02 ac&lt;br /&gt;
A05d4:          LI   $ff                 ; 05d4 20 ff&lt;br /&gt;
                LR   $5,A                ; 05d6 55&lt;br /&gt;
                PI   delay               ; 05d7 28 00 8f&lt;br /&gt;
                LISU 3                   ; 05da 63&lt;br /&gt;
                LISL 7                   ; 05db 6f&lt;br /&gt;
                LR   A,S              ; 05dc 4c&lt;br /&gt;
                CI   $02                 ; 05dd 25 02&lt;br /&gt;
                BNZ  A05f0            ; 05df 94 10&lt;br /&gt;
                LISU 2                   ; 05e1 62&lt;br /&gt;
                LISL 6                   ; 05e2 6e&lt;br /&gt;
                LR   A,I             ; 05e3 4d&lt;br /&gt;
                CI   $15                 ; 05e4 25 15&lt;br /&gt;
                BT   4,A05ed             ; 05e6 84 06&lt;br /&gt;
                LR   A,S              ; 05e8 4c&lt;br /&gt;
                CI   $15                 ; 05e9 25 15&lt;br /&gt;
                BNZ  A05f0            ; 05eb 94 04&lt;br /&gt;
A05ed:          PI   prompts             ; 05ed 28 02 24&lt;br /&gt;
A05f0:          PI   A01a0               ; 05f0 28 01 a0&lt;br /&gt;
A05f3:          PI   popk                ; 05f3 28 01 1e&lt;br /&gt;
                PI   popk                ; 05f6 28 01 1e&lt;br /&gt;
                JMP  A0037               ; 05f9 29 00 37&lt;br /&gt;
                &lt;br /&gt;
A05fc:          LR   K,P                 ; 05fc 08&lt;br /&gt;
                PI   pushk               ; 05fd 28 01 07&lt;br /&gt;
                LR   A,S              ; 0600 4c&lt;br /&gt;
                COM                      ; 0601 18&lt;br /&gt;
                INC                      ; 0602 1f&lt;br /&gt;
                AS   $1                  ; 0603 c1&lt;br /&gt;
                BF   $1,A0610            ; 0604 91 0b&lt;br /&gt;
                LR   A,S              ; 0606 4c&lt;br /&gt;
                AI   $05                 ; 0607 24 05&lt;br /&gt;
                LR   $6,A                ; 0609 56&lt;br /&gt;
                LR   A,$1                ; 060a 41&lt;br /&gt;
                COM                      ; 060b 18&lt;br /&gt;
                INC                      ; 060c 1f&lt;br /&gt;
                AS   S                ; 060d cc&lt;br /&gt;
                BT   1,A0626             ; 060e 81 17&lt;br /&gt;
A0610:          LR   A,S              ; 0610 4c&lt;br /&gt;
                COM                      ; 0611 18&lt;br /&gt;
                INC                      ; 0612 1f&lt;br /&gt;
                LR   $6,A                ; 0613 56&lt;br /&gt;
                LR   A,$1                ; 0614 41&lt;br /&gt;
                AI   $02                 ; 0615 24 02&lt;br /&gt;
                AS   $6                  ; 0617 c6&lt;br /&gt;
                BF   $1,A064f            ; 0618 91 36&lt;br /&gt;
                LR   A,$1                ; 061a 41&lt;br /&gt;
                AI   $02                 ; 061b 24 02&lt;br /&gt;
                COM                      ; 061d 18&lt;br /&gt;
                INC                      ; 061e 1f&lt;br /&gt;
                LR   $6,A                ; 061f 56&lt;br /&gt;
                LR   A,S              ; 0620 4c&lt;br /&gt;
                AI   $05                 ; 0621 24 05&lt;br /&gt;
                AS   $6                  ; 0623 c6&lt;br /&gt;
                BF   $1,A064f            ; 0624 91 2a&lt;br /&gt;
A0626:          LR   A,I             ; 0626 4d&lt;br /&gt;
                LR   A,S              ; 0627 4c&lt;br /&gt;
                COM                      ; 0628 18&lt;br /&gt;
                INC                      ; 0629 1f&lt;br /&gt;
                LR   $6,A                ; 062a 56&lt;br /&gt;
                LR   A,$2                ; 062b 42&lt;br /&gt;
                AS   $6                  ; 062c c6&lt;br /&gt;
                BF   $1,A0639            ; 062d 91 0b&lt;br /&gt;
                LR   A,$2                ; 062f 42&lt;br /&gt;
                COM                      ; 0630 18&lt;br /&gt;
                INC                      ; 0631 1f&lt;br /&gt;
                LR   $6,A                ; 0632 56&lt;br /&gt;
                LR   A,S              ; 0633 4c&lt;br /&gt;
                AI   $05                 ; 0634 24 05&lt;br /&gt;
                AS   $6                  ; 0636 c6&lt;br /&gt;
                BT   1,A0655             ; 0637 81 1d&lt;br /&gt;
A0639:          LR   A,S              ; 0639 4c&lt;br /&gt;
                COM                      ; 063a 18&lt;br /&gt;
                INC                      ; 063b 1f&lt;br /&gt;
                LR   $6,A                ; 063c 56&lt;br /&gt;
                LR   A,$2                ; 063d 42&lt;br /&gt;
                AI   $02                 ; 063e 24 02&lt;br /&gt;
                AS   $6                  ; 0640 c6&lt;br /&gt;
                BF   $1,A064f            ; 0641 91 0d&lt;br /&gt;
                LR   A,$2                ; 0643 42&lt;br /&gt;
                AI   $02                 ; 0644 24 02&lt;br /&gt;
                COM                      ; 0646 18&lt;br /&gt;
                INC                      ; 0647 1f&lt;br /&gt;
                LR   $6,A                ; 0648 56&lt;br /&gt;
                LR   A,S              ; 0649 4c&lt;br /&gt;
                AI   $05                 ; 064a 24 05&lt;br /&gt;
                AS   $6                  ; 064c c6&lt;br /&gt;
                BT   1,A0655             ; 064d 81 07&lt;br /&gt;
A064f:          LIS  $0                  ; 064f 70&lt;br /&gt;
A0650:          LR   $0,A                ; 0650 50&lt;br /&gt;
                PI   popk                ; 0651 28 01 1e&lt;br /&gt;
                PK                       ; 0654 0c&lt;br /&gt;
                &lt;br /&gt;
A0655:          LIS  $1                  ; 0655 71&lt;br /&gt;
                BF   $0,A0650            ; 0656 90 f9&lt;br /&gt;
                &lt;br /&gt;
A0658:          DCI  A0674               ; 0658 2a 06 74&lt;br /&gt;
                LISU 4                   ; 065b 64&lt;br /&gt;
                LISL 5                   ; 065c 6d&lt;br /&gt;
                LR   A,S              ; 065d 4c&lt;br /&gt;
                NI   $20                 ; 065e 21 20&lt;br /&gt;
                BT   4,A0673             ; 0660 84 12&lt;br /&gt;
                LISU 6                   ; 0662 66&lt;br /&gt;
                LISL 7                   ; 0663 6f&lt;br /&gt;
                DS   S                ; 0664 3c&lt;br /&gt;
                BNZ  A0673            ; 0665 94 0d&lt;br /&gt;
                LISU 3                   ; 0667 63&lt;br /&gt;
                LISL 4                   ; 0668 6c&lt;br /&gt;
                LR   A,S              ; 0669 4c&lt;br /&gt;
                SR   1                   ; 066a 12&lt;br /&gt;
                ADC                      ; 066b 8e&lt;br /&gt;
                LM                       ; 066c 16&lt;br /&gt;
                LISU 6                   ; 066d 66&lt;br /&gt;
                LISL 7                   ; 066e 6f&lt;br /&gt;
                LR   I,A             ; 066f 5d&lt;br /&gt;
                LISU 7                   ; 0670 67&lt;br /&gt;
                LIS  $1                  ; 0671 71&lt;br /&gt;
                LR   S,A              ; 0672 5c&lt;br /&gt;
A0673:          POP                      ; 0673 1c&lt;br /&gt;
&lt;br /&gt;
A0674:			db $09,$0d,$15,$1c,$1c&lt;br /&gt;
                &lt;br /&gt;
drawchar:       DCI  bitmaps             ; $679&lt;br /&gt;
                LR   K,P                 ; 067c 08&lt;br /&gt;
                PI   pushk               ; 067d 28 01 07&lt;br /&gt;
                LR   A,IS                ; 0680 0a&lt;br /&gt;
                LISU 6                   ; 0681 66&lt;br /&gt;
                LISL 4                   ; 0682 6c&lt;br /&gt;
                LR   I,A             ; 0683 5d&lt;br /&gt;
                LR   A,$3                ; 0684 43&lt;br /&gt;
                LR   I,A             ; 0685 5d&lt;br /&gt;
                LR   A,$4                ; 0686 44&lt;br /&gt;
                LR   S,A              ; 0687 5c&lt;br /&gt;
                LIS  $5                  ; 0688 75&lt;br /&gt;
                LR   $4,A                ; 0689 54&lt;br /&gt;
                LI   $c0                 ; 068a 20 c0&lt;br /&gt;
                NS   $0                  ; 068c f0&lt;br /&gt;
                LR   $3,A                ; 068d 53&lt;br /&gt;
                LI   $3f                 ; 068e 20 3f&lt;br /&gt;
                NS   $0                  ; 0690 f0&lt;br /&gt;
                LR   $0,A                ; 0691 50&lt;br /&gt;
                CI   $15                 ; 0692 25 15&lt;br /&gt;
                BNZ  A06b4            ; 0694 94 1f&lt;br /&gt;
                LISU 4                   ; 0696 64&lt;br /&gt;
                LISL 0                   ; 0697 68&lt;br /&gt;
                LIS  $2                  ; 0698 72&lt;br /&gt;
                LR   $4,A                ; 0699 54&lt;br /&gt;
                PI   A06ec               ; 069a 28 06 ec&lt;br /&gt;
                LI   $15                 ; 069d 20 15&lt;br /&gt;
                LR   $0,A                ; 069f 50&lt;br /&gt;
A06a0:          PI   A0718               ; 06a0 28 07 18&lt;br /&gt;
                LR   A,$1                ; 06a3 41&lt;br /&gt;
                AI   $06                 ; 06a4 24 06&lt;br /&gt;
                LR   $1,A                ; 06a6 51&lt;br /&gt;
                LISU 6                   ; 06a7 66&lt;br /&gt;
                LISL 5                   ; 06a8 6d&lt;br /&gt;
                LR   A,I             ; 06a9 4d&lt;br /&gt;
                LR   $3,A                ; 06aa 53&lt;br /&gt;
                LR   A,S              ; 06ab 4c&lt;br /&gt;
                LR   $4,A                ; 06ac 54&lt;br /&gt;
                LISL 4                   ; 06ad 6c&lt;br /&gt;
                LR   A,S              ; 06ae 4c&lt;br /&gt;
                LR   IS,A                ; 06af 0b&lt;br /&gt;
                PI   popk                ; 06b0 28 01 1e&lt;br /&gt;
                PK                       ; 06b3 0c&lt;br /&gt;
                &lt;br /&gt;
A06b4:          CI   $30                 ; 06b4 25 30&lt;br /&gt;
                BNZ  A06c2            ; 06b6 94 0b&lt;br /&gt;
                LISU 2                   ; 06b8 62&lt;br /&gt;
                LISL 1                   ; 06b9 69&lt;br /&gt;
                PI   A06ec               ; 06ba 28 06 ec&lt;br /&gt;
                LISL 0                   ; 06bd 68&lt;br /&gt;
                LR   A,I             ; 06be 4d&lt;br /&gt;
                LR   $0,A                ; 06bf 50&lt;br /&gt;
                BF   $0,A06a0            ; 06c0 90 df&lt;br /&gt;
                &lt;br /&gt;
A06c2:          CI   $31                 ; 06c2 25 31&lt;br /&gt;
                BNZ  A06d0            ; 06c4 94 0b&lt;br /&gt;
                LISU 2                   ; 06c6 62&lt;br /&gt;
                LISL 4                   ; 06c7 6c&lt;br /&gt;
                PI   A06ec               ; 06c8 28 06 ec&lt;br /&gt;
                LISL 3                   ; 06cb 6b&lt;br /&gt;
                LR   A,I             ; 06cc 4d&lt;br /&gt;
                LR   $0,A                ; 06cd 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ce 90 d1&lt;br /&gt;
                &lt;br /&gt;
A06d0:          CI   $32                 ; 06d0 25 32&lt;br /&gt;
                BNZ  A06de            ; 06d2 94 0b&lt;br /&gt;
                LISU 3                   ; 06d4 63&lt;br /&gt;
                LISL 0                   ; 06d5 68&lt;br /&gt;
                PI   A06ec               ; 06d6 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06d9 20 14&lt;br /&gt;
                LR   $0,A                ; 06db 50&lt;br /&gt;
                BF   $0,A06a0            ; 06dc 90 c3&lt;br /&gt;
                &lt;br /&gt;
A06de:          CI   $33                 ; 06de 25 33&lt;br /&gt;
                BNZ  A06a0            ; 06e0 94 bf&lt;br /&gt;
                LISU 3                   ; 06e2 63&lt;br /&gt;
                LISL 2                   ; 06e3 6a&lt;br /&gt;
                PI   A06ec               ; 06e4 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06e7 20 14&lt;br /&gt;
                LR   $0,A                ; 06e9 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ea 90 b5&lt;br /&gt;
                &lt;br /&gt;
A06ec:          LR   K,P                 ; 06ec 08&lt;br /&gt;
                PI   pushk               ; 06ed 28 01 07&lt;br /&gt;
                LR   A,S              ; 06f0 4c&lt;br /&gt;
                XS   $1                  ; 06f1 e1&lt;br /&gt;
                BNZ  A06f9            ; 06f2 94 06&lt;br /&gt;
                LR   A,I             ; 06f4 4d&lt;br /&gt;
                LR   A,D             ; 06f5 4e&lt;br /&gt;
                XS   $2                  ; 06f6 e2&lt;br /&gt;
                BT   4,A0714             ; 06f7 84 1c&lt;br /&gt;
A06f9:          LR   A,$1                ; 06f9 41&lt;br /&gt;
                LR   $5,A                ; 06fa 55&lt;br /&gt;
                LR   A,$2                ; 06fb 42&lt;br /&gt;
                LR   $6,A                ; 06fc 56&lt;br /&gt;
                LR   A,S              ; 06fd 4c&lt;br /&gt;
                LR   $1,A                ; 06fe 51&lt;br /&gt;
                LR   A,$5                ; 06ff 45&lt;br /&gt;
                LR   I,A             ; 0700 5d&lt;br /&gt;
                LR   A,S              ; 0701 4c&lt;br /&gt;
                LR   $2,A                ; 0702 52&lt;br /&gt;
                LR   A,$6                ; 0703 46&lt;br /&gt;
                LR   D,A             ; 0704 5e&lt;br /&gt;
                LIS  $d                  ; 0705 7d&lt;br /&gt;
                LR   $0,A                ; 0706 50&lt;br /&gt;
                DCI  bitmaps             ; 0707 2a 07 67&lt;br /&gt;
                PI   A0718               ; 070a 28 07 18&lt;br /&gt;
                DCI  bitmaps             ; 070d 2a 07 67&lt;br /&gt;
                LR   A,I             ; 0710 4d&lt;br /&gt;
                LR   $1,A                ; 0711 51&lt;br /&gt;
                LR   A,D             ; 0712 4e&lt;br /&gt;
                LR   $2,A                ; 0713 52&lt;br /&gt;
A0714:          PI   popk                ; 0714 28 01 1e&lt;br /&gt;
                PK                       ; 0717 0c&lt;br /&gt;
                &lt;br /&gt;
A0718:          LR   A,$0                ; 0718 40&lt;br /&gt;
                SL   1                   ; 0719 13&lt;br /&gt;
                ADC                      ; 071a 8e&lt;br /&gt;
                AS   $0                  ; 071b c0&lt;br /&gt;
                ADC                      ; 071c 8e&lt;br /&gt;
                LI   $40                 ; 071d 20 40&lt;br /&gt;
                OUTS 0                   ; 071f b0&lt;br /&gt;
                LR   A,$4                ; 0720 44&lt;br /&gt;
                LR   $6,A                ; 0721 56&lt;br /&gt;
A0722:          LR   $5,A                ; 0722 55&lt;br /&gt;
                LM                       ; 0723 16&lt;br /&gt;
                LR   $7,A                ; 0724 57&lt;br /&gt;
                LR   A,$2                ; 0725 42&lt;br /&gt;
                AI   $00                 ; 0726 24 00&lt;br /&gt;
                COM                      ; 0728 18&lt;br /&gt;
                NI   $3f                 ; 0729 21 3f&lt;br /&gt;
                LR   $8,A                ; 072b 58&lt;br /&gt;
                INS  5                   ; 072c a5&lt;br /&gt;
                NI   $c0                 ; 072d 21 c0&lt;br /&gt;
                AS   $8                  ; 072f c8&lt;br /&gt;
                OUTS 5                   ; 0730 b5&lt;br /&gt;
A0731:          LR   A,$1                ; 0731 41&lt;br /&gt;
                AI   $fc                 ; 0732 24 fc&lt;br /&gt;
                COM                      ; 0734 18&lt;br /&gt;
                OUTS 4                   ; 0735 b4&lt;br /&gt;
                LR   A,$7                ; 0736 47&lt;br /&gt;
                OI   $00                 ; 0737 22 00&lt;br /&gt;
                LR   A,$3                ; 0739 43&lt;br /&gt;
                BF   $1,A073d            ; 073a 91 02&lt;br /&gt;
                LIS  $0                  ; 073c 70&lt;br /&gt;
A073d:          COM                      ; 073d 18&lt;br /&gt;
                OUTS 1                   ; 073e b1&lt;br /&gt;
                LR   A,$7                ; 073f 47&lt;br /&gt;
                SL   1                   ; 0740 13&lt;br /&gt;
                LR   $7,A                ; 0741 57&lt;br /&gt;
                LI   $60                 ; 0742 20 60&lt;br /&gt;
                OUTS 0                   ; 0744 b0&lt;br /&gt;
                LI   $50                 ; 0745 20 50 - bit 4 is however n/c, so $40 can be used&lt;br /&gt;
                OUTS 0                   ; 0747 b0&lt;br /&gt;
                LR   A,$1                ; 0748 41&lt;br /&gt;
                INC                      ; 0749 1f&lt;br /&gt;
                LR   $1,A                ; 074a 51&lt;br /&gt;
&lt;br /&gt;
                LIS  $4                  ; 074b 74  after pixel delay&lt;br /&gt;
                LR   $8,A                ; 074c 58&lt;br /&gt;
A074d:          DS   $8                  ; 074d 38&lt;br /&gt;
                BNZ  A074d               ; 074e 94 fe&lt;br /&gt;
&lt;br /&gt;
                DS   $5                  ; 0750 35&lt;br /&gt;
                BNZ  A0731               ; 0751 94 df&lt;br /&gt;
                LR   A,$2                ; 0753 42&lt;br /&gt;
                INC                      ; 0754 1f&lt;br /&gt;
                LR   $2,A                ; 0755 52&lt;br /&gt;
                LR   A,$4                ; 0756 44&lt;br /&gt;
                COM                      ; 0757 18&lt;br /&gt;
                INC                      ; 0758 1f&lt;br /&gt;
                AS   $1                  ; 0759 c1&lt;br /&gt;
                LR   $1,A                ; 075a 51&lt;br /&gt;
                LR   A,$4                ; 075b 44&lt;br /&gt;
                DS   $6                  ; 075c 36&lt;br /&gt;
                BNZ  A0722            ; 075d 94 c4&lt;br /&gt;
                LR   A,$4                ; 075f 44&lt;br /&gt;
                COM                      ; 0760 18&lt;br /&gt;
                INC                      ; 0761 1f&lt;br /&gt;
                AS   $2                  ; 0762 c2&lt;br /&gt;
                LR   $2,A                ; 0763 52&lt;br /&gt;
                LIS  $0                  ; 0764 70&lt;br /&gt;
                OUTS 0                   ; 0765 b0&lt;br /&gt;
                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
&lt;br /&gt;
			                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
	; 0 $0767&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 1 $076C&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; 2 $0771&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 3 $0776&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 4 $077B&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; 5 $0780&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 6 $0785&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 7 $078A&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; 8 $078F&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 9 $0794&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; G $0799&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%10011000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; ? $079E&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; T $07A3&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; (space) $07A8&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; M $07AD&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
&lt;br /&gt;
	; X $07B2&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
&lt;br /&gt;
	; (block) $07B7&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
&lt;br /&gt;
	; : $07BC&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; - $07C1&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; || (center) $07C6&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
&lt;br /&gt;
	; || (left) $07CB&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
&lt;br /&gt;
	; ' $07D0&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players $07D5&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 1 $07DA&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 2 $07DF&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 3 $07E4&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 4 $07E9&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 5 $07EE&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 6 $07F3&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 7 $07F8&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; $07FD&lt;br /&gt;
	.byte	0,0,0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=768</id>
		<title>Disassembly:Bios</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=768"/>
				<updated>2026-08-03T17:59:05Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is the disassembly of the [[Channel F]] [[bios]] made and partially annotated by Sean Riddle. This code is copyright &amp;amp;copy; 1976 Fairchild Semiconductor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cartridgeStart = $0800&lt;br /&gt;
cartridgeEntry = $0802&lt;br /&gt;
&lt;br /&gt;
;=======;&lt;br /&gt;
; Reset ;&lt;br /&gt;
;=======;&lt;br /&gt;
&lt;br /&gt;
; this is the code executed when the system first&lt;br /&gt;
; starts up. it clears the registers, sets the K stack&lt;br /&gt;
; pointer, and checks to see if a cartridge is inserted&lt;br /&gt;
&lt;br /&gt;
reset:&lt;br /&gt;
	clr&lt;br /&gt;
reset.clrRegs:				; clear all the registers to 0&lt;br /&gt;
	lr	IS, A			; set the ISAR&lt;br /&gt;
	clr&lt;br /&gt;
	lr	S, A			; clear the current register&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc				; increase the ISAR&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bnz	reset.clrRegs		; if we're not finished, loop&lt;br /&gt;
&lt;br /&gt;
	; set K stack pointer (see pushk/popk)&lt;br /&gt;
	lisu	7			; K stack pointer (r59)&lt;br /&gt;
	lisl	3&lt;br /&gt;
	li	$28&lt;br /&gt;
	lr	S, A			; pointer is set to r40&lt;br /&gt;
&lt;br /&gt;
	; check to see if a cartridge is inserted&lt;br /&gt;
	dci	cartridgeStart&lt;br /&gt;
	lm&lt;br /&gt;
	ci	$55			; compare the first cartridge byte to $55&lt;br /&gt;
	bnz	noCart			; if it's false, there's no valid cartridge inserted&lt;br /&gt;
	jmp	cartridgeEntry		; otherwise, play the cartridge&lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; No Cartridge ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; no cartridge is inserted, so play the internal games&lt;br /&gt;
                &lt;br /&gt;
noCart:&lt;br /&gt;
	; clear screen to gray&lt;br /&gt;
	li	$d6&lt;br /&gt;
	lr	3, A&lt;br /&gt;
	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
A0020:          LI   $4a                 ; blue G&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; 0026 63&lt;br /&gt;
                LISL 4                   ; 0027 6c&lt;br /&gt;
                LIS  $4                  ; 0028 74&lt;br /&gt;
                LR   S,A              ; 0029 5c&lt;br /&gt;
                LR   A,$4                ; 002a 44&lt;br /&gt;
                LISL 7                   ; 002b 6f&lt;br /&gt;
                LR   S,A              ; 002c 5c&lt;br /&gt;
                CI   $03                 ; 002d 25 03&lt;br /&gt;
                BF   $1,A0020            ; 002f 91 f0&lt;br /&gt;
                PI   A0135               ; 0031 28 01 35&lt;br /&gt;
                PI   prompts             ; 0034 28 02 24&lt;br /&gt;
A0037:          PI   A0088               ; 0037 28 00 88&lt;br /&gt;
                PI   A02da               ; 003a 28 02 da&lt;br /&gt;
                PI   A0088               ; 003d 28 00 88&lt;br /&gt;
                PI   A02e8               ; 0040 28 02 e8&lt;br /&gt;
                PI   A0088               ; 0043 28 00 88&lt;br /&gt;
                NI   $04                 ; 0046 21 04&lt;br /&gt;
                BT   4,A0050             ; 0048 84 07&lt;br /&gt;
                PI   A038c               ; 004a 28 03 8c&lt;br /&gt;
                PI   A0399               ; 004d 28 03 99&lt;br /&gt;
A0050:          PI   A0658               ; 0050 28 06 58&lt;br /&gt;
                PI   A0467               ; 0053 28 04 67&lt;br /&gt;
                PI   A03d3               ; 0056 28 03 d3&lt;br /&gt;
                LISU 3                   ; 0059 63&lt;br /&gt;
                LISL 7                   ; 005a 6f&lt;br /&gt;
                LR   A,S              ; 005b 4c&lt;br /&gt;
                CI   $02                 ; 005c 25 02&lt;br /&gt;
                BNZ  A0063            ; 005e 94 04&lt;br /&gt;
                PI   A0447               ; 0060 28 04 47&lt;br /&gt;
A0063:          LISU 4                   ; 0063 64&lt;br /&gt;
                LISL 7                   ; 0064 6f&lt;br /&gt;
                LR   A,S              ; 0065 4c&lt;br /&gt;
                INC                      ; 0066 1f&lt;br /&gt;
                LR   S,A              ; 0067 5c&lt;br /&gt;
                LIS  $0                  ; 0068 70&lt;br /&gt;
                OUTS 0                   ; 0069 b0&lt;br /&gt;
                INS  0                   ; read buttons&lt;br /&gt;
                NI   $04                 ; hold button hit?&lt;br /&gt;
                BNZ  A0072            ; nope&lt;br /&gt;
                PI   prompts             ; yes, print S? and wait&lt;br /&gt;
A0072:          LISU 3                   ; 0072 63&lt;br /&gt;
                LISL 4                   ; 0073 6c&lt;br /&gt;
                DCI  speeds              ; 0074 2a 00 83&lt;br /&gt;
                LR   A,S              ; 0077 4c&lt;br /&gt;
                SR   1                   ; 0078 12&lt;br /&gt;
                ADC                      ; 0079 8e&lt;br /&gt;
                LM                       ; 007a 16&lt;br /&gt;
                LR   $5,A                ; 007b 55&lt;br /&gt;
                PI   delay               ; 007c 28 00 8f&lt;br /&gt;
                LIS  $0                  ; turn off sound&lt;br /&gt;
                OUTS 5                   ; 0080 b5&lt;br /&gt;
                BF   $0,A0037            ; 0081 90 b5&lt;br /&gt;
                &lt;br /&gt;
speeds:			db	$22,$13,$07,$03,$03		; mode speeds&lt;br /&gt;
&lt;br /&gt;
A0088:          LISU 4                   ;&lt;br /&gt;
                LISL 6                   ; &lt;br /&gt;
                LR   A,D             ; &lt;br /&gt;
                LR   $1,A                ; r1=r38&lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                LR   $0,A                ; r0=r37&lt;br /&gt;
                POP                      ; &lt;br /&gt;
                &lt;br /&gt;
delay:          LI   $ff                 ;$008f - parameter in r5, uses r6&lt;br /&gt;
                LR   $6,A                ;&lt;br /&gt;
dlyloop:        DS   $6                  ;&lt;br /&gt;
                BNZ  dlyloop          ;&lt;br /&gt;
                DS   $5                  ;&lt;br /&gt;
                BNZ  delay            ;&lt;br /&gt;
                POP                      ;&lt;br /&gt;
                &lt;br /&gt;
prompt:         LR   K,P                 ; $0099 - prints char r0 at row r1, col r2, waits for button&lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                LI   $8b                 ; r0=8b	red ?&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                PI   readbuts            ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                LIS  $d                  ; r0=$d&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   popk                ; &lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
readbuts:       INS  0                   ; $00c1 - read buttons&lt;br /&gt;
                COM                      ; &lt;br /&gt;
                NI   $0f                 ; &lt;br /&gt;
                BT   4,readbuts          ; &lt;br /&gt;
                LR   $4,A                ; &lt;br /&gt;
                LI   $ff                 ; &lt;br /&gt;
                LR   $5,A                ; &lt;br /&gt;
debounce:       DS   $5                  ; &lt;br /&gt;
                BNZ  debounce         ; &lt;br /&gt;
                BF   $0,delay            ; &lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; Clear Screen ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; clears the screen to a color and palette specified in r3&lt;br /&gt;
&lt;br /&gt;
	; clear screen to gray&lt;br /&gt;
;	li	$d6&lt;br /&gt;
	; clear screen to green&lt;br /&gt;
;	li	$c0&lt;br /&gt;
	; clear screen to b/w&lt;br /&gt;
;	li	$21&lt;br /&gt;
	; clear screen to blue&lt;br /&gt;
;	li	$93&lt;br /&gt;
;	lr	3, A&lt;br /&gt;
;	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
clrscrn:                                    ; $00D0&lt;br /&gt;
	; save return address&lt;br /&gt;
	lr	K, P&lt;br /&gt;
	pi	pushk&lt;br /&gt;
&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	2, A&lt;br /&gt;
clrscrn.loop2:&lt;br /&gt;
	li	$7e&lt;br /&gt;
	lr	1, A&lt;br /&gt;
	lr	A, 3&lt;br /&gt;
	oi	10&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar&lt;br /&gt;
	lis	5			; this is LIS 4 in other BIOS!!!&lt;br /&gt;
	lr	1, A&lt;br /&gt;
clrscrn.loop1:&lt;br /&gt;
	lis	13&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar	&lt;br /&gt;
	ds	1&lt;br /&gt;
	lr	A, 1&lt;br /&gt;
	ci	$70&lt;br /&gt;
	bc	clrscrn.loop1&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ai	5&lt;br /&gt;
	lr	2, A&lt;br /&gt;
	lisu	3&lt;br /&gt;
	lisl	7&lt;br /&gt;
	lis	3&lt;br /&gt;
	ns	S&lt;br /&gt;
	bz	A00fe&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$30&lt;br /&gt;
	bc	csloop2&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	3, A&lt;br /&gt;
A00fe:&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bc	clrscrn.loop2&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pi	popk&lt;br /&gt;
	pk&lt;br /&gt;
&lt;br /&gt;
;==================;&lt;br /&gt;
; Register K Stack ;&lt;br /&gt;
;==================;&lt;br /&gt;
&lt;br /&gt;
; the K stack is an emulated stack using the register r59&lt;br /&gt;
; as a stack pointer, which holds the register number for&lt;br /&gt;
; the top of the stack, which first points at r40. when&lt;br /&gt;
; pushk is called, K is pushed to the first two registers&lt;br /&gt;
; on the stack, and the pointer is increased.&lt;br /&gt;
;&lt;br /&gt;
; the K stack can hold 9 copies of K (r40-58) before &lt;br /&gt;
; the stack pointer itself is overwritten (r59)&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Push K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; pushes register K (r12-13) onto a stack using r59 as&lt;br /&gt;
; the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
&lt;br /&gt;
pushk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; get the top of the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3			; r59, stack pointer&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	IS, A			; load the referenced register&lt;br /&gt;
	; push K onto the stack&lt;br /&gt;
	lr	A, Ku&lt;br /&gt;
	lr	S, A			; push high byte of K&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR (they could've used lr I, A)&lt;br /&gt;
	lr	A, Kl&lt;br /&gt;
	lr	S, A			; push low byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR to the top of the stack&lt;br /&gt;
	lr	A, IS			; redundantly, get back the register number&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Pop K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; retrieves a 16-bit value from the K stack and&lt;br /&gt;
; stores it in K, using r59 as the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
                &lt;br /&gt;
popk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; retrieve K from the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	A, S			; load the stack pointer&lt;br /&gt;
	ai	$ff			; &amp;quot;subtract&amp;quot; 1 to get the first register on the stack&lt;br /&gt;
	lr	IS, A			; set the ISAR to this register&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Kl, A			; load lower byte of K &lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	ai	$ff			; get previous register (they could've used lr A, D)&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Ku, A			; load upper byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;===================;&lt;br /&gt;
                &lt;br /&gt;
A0135:          LR   K,P                 ; 0135 08&lt;br /&gt;
                PI   pushk               ; 0136 28 01 07&lt;br /&gt;
                LISU 3                   ; 0139 63&lt;br /&gt;
                LISL 7                   ; 013a 6f&lt;br /&gt;
                LR   A,S              ; 013b 4c&lt;br /&gt;
                LISU 4                   ; 013c 64&lt;br /&gt;
                LISL 5                   ; 013d 6d&lt;br /&gt;
                CI   $01                 ; 013e 25 01&lt;br /&gt;
                BT   4,A014f             ; 0140 84 0e&lt;br /&gt;
                LI   $53                 ; 0142 20 53&lt;br /&gt;
                LR   I,A             ; 0144 5d&lt;br /&gt;
                LIS  $c                  ; 0145 7c	!!! this is 7F in other BIOS&lt;br /&gt;
                LR   D,A             ; 0146 5e&lt;br /&gt;
                LI   $d0                 ; 0147 20 d0&lt;br /&gt;
                LR   $3,A                ; 0149 53&lt;br /&gt;
                PI   clrscrn             ; 014a 28 00 d0&lt;br /&gt;
                BF   $0,A017d            ; 014d 90 2f&lt;br /&gt;
                &lt;br /&gt;
A014f:          LI   $17                 ; 014f 20 17&lt;br /&gt;
                LR   I,A             ; 0151 5d&lt;br /&gt;
                LI   $ff                 ; 0152 20 ff&lt;br /&gt;
                LR   S,A              ; 0154 5c&lt;br /&gt;
                LI   $d6                 ; 0155 20 d6&lt;br /&gt;
                LR   $3,A                ; 0157 53&lt;br /&gt;
                PI   clrscrn             ; 0158 28 00 d0&lt;br /&gt;
                LI   $11                 ; 015b 20 11&lt;br /&gt;
                LR   $1,A                ; 015d 51&lt;br /&gt;
                LIS  $8                  ; 015e 78&lt;br /&gt;
                LR   $2,A                ; 015f 52&lt;br /&gt;
                PI   A01f6               ; 0160 28 01 f6&lt;br /&gt;
                LI   $11                 ; 0163 20 11&lt;br /&gt;
                LR   $1,A                ; 0165 51&lt;br /&gt;
                LI   $25                 ; 0166 20 25&lt;br /&gt;
                LR   $2,A                ; 0168 52&lt;br /&gt;
                PI   A01f6               ; 0169 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 016c 20 5c&lt;br /&gt;
                LR   $1,A                ; 016e 51&lt;br /&gt;
                LIS  $8                  ; 016f 78&lt;br /&gt;
                LR   $2,A                ; 0170 52&lt;br /&gt;
                PI   A01f6               ; 0171 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 0174 20 5c&lt;br /&gt;
                LR   $1,A                ; 0176 51&lt;br /&gt;
                LI   $25                 ; 0177 20 25&lt;br /&gt;
                LR   $2,A                ; 0179 52&lt;br /&gt;
                PI   A01f6               ; 017a 28 01 f6&lt;br /&gt;
A017d:          LI   $14                 ; 017d 20 14&lt;br /&gt;
                LR   $1,A                ; 017f 51&lt;br /&gt;
                LIS  $6                  ; 0180 76&lt;br /&gt;
                LR   $2,A                ; 0181 52&lt;br /&gt;
                PI   A020e               ; 0182 28 02 0e&lt;br /&gt;
                LI   $14                 ; 0185 20 14&lt;br /&gt;
                LR   $1,A                ; 0187 51&lt;br /&gt;
                LI   $2e                 ; 0188 20 2e&lt;br /&gt;
                LR   $2,A                ; 018a 52&lt;br /&gt;
                PI   A020e               ; 018b 28 02 0e&lt;br /&gt;
                LI   $99                 ; 018e 20 99&lt;br /&gt;
                LISU 2                   ; 0190 62&lt;br /&gt;
                LISL 6                   ; 0191 6e&lt;br /&gt;
                LR   I,A             ; 0192 5d&lt;br /&gt;
                LR   S,A              ; 0193 5c&lt;br /&gt;
                PI   A02ac               ; 0194 28 02 ac&lt;br /&gt;
                PI   A02b5               ; 0197 28 02 b5&lt;br /&gt;
                LISU 4                   ; 019a 64&lt;br /&gt;
                LISL 2                   ; 019b 6a&lt;br /&gt;
                LIS  $2                  ; 019c 72&lt;br /&gt;
                LR   S,A              ; 019d 5c&lt;br /&gt;
                BF   $0,A01a4            ; 019e 90 05&lt;br /&gt;
                &lt;br /&gt;
A01a0:          LR   K,P                 ; 01a0 08&lt;br /&gt;
                PI   pushk               ; 01a1 28 01 07&lt;br /&gt;
A01a4:          LISU 2                   ; 01a4 62&lt;br /&gt;
                LISL 0                   ; 01a5 68&lt;br /&gt;
                LI   $17                 ; 01a6 20 17&lt;br /&gt;
                LR   S,A              ; 01a8 5c&lt;br /&gt;
                LISL 3                   ; 01a9 6b&lt;br /&gt;
                LR   S,A              ; 01aa 5c&lt;br /&gt;
                LI   $1c                 ; 01ab 20 1c&lt;br /&gt;
                LR   $1,A                ; 01ad 51&lt;br /&gt;
                LI   $1a                 ; 01ae 20 1a&lt;br /&gt;
                LR   $2,A                ; 01b0 52&lt;br /&gt;
                LI   $b0                 ; 01b1 20 b0&lt;br /&gt;
                LR   $0,A                ; 01b3 50&lt;br /&gt;
                PI   drawchar            ; 01b4 28 06 79&lt;br /&gt;
                LI   $38                 ; 01b7 20 38&lt;br /&gt;
                LR   $1,A                ; 01b9 51&lt;br /&gt;
                LI   $1b                 ; 01ba 20 1b&lt;br /&gt;
                LR   $2,A                ; 01bc 52&lt;br /&gt;
                LI   $55                 ; 01bd 20 55&lt;br /&gt;
                LR   $0,A                ; 01bf 50&lt;br /&gt;
                PI   drawchar            ; 01c0 28 06 79&lt;br /&gt;
                LI   $52                 ; 01c3 20 52&lt;br /&gt;
                LR   $1,A                ; 01c5 51&lt;br /&gt;
                LI   $1a                 ; 01c6 20 1a&lt;br /&gt;
                LR   $2,A                ; 01c8 52&lt;br /&gt;
                LI   $71                 ; 01c9 20 71&lt;br /&gt;
                LR   $0,A                ; 01cb 50&lt;br /&gt;
                PI   drawchar            ; 01cc 28 06 79&lt;br /&gt;
                LISU 4                   ; 01cf 64&lt;br /&gt;
                LISL 5                   ; 01d0 6d&lt;br /&gt;
                LR   A,S              ; 01d1 4c&lt;br /&gt;
                SL   1                   ; 01d2 13&lt;br /&gt;
                BT   1,A01da             ; 01d3 81 06&lt;br /&gt;
                PI   A0447               ; 01d5 28 04 47&lt;br /&gt;
                BF   $0,A01f2            ; 01d8 90 19&lt;br /&gt;
                &lt;br /&gt;
A01da:          LI   $11                 ; 01da 20 11&lt;br /&gt;
                LR   $1,A                ; 01dc 51&lt;br /&gt;
                LI   $1a                 ; 01dd 20 1a&lt;br /&gt;
                LR   $2,A                ; 01df 52&lt;br /&gt;
                LI   $b2                 ; 01e0 20 b2&lt;br /&gt;
                LR   $0,A                ; 01e2 50&lt;br /&gt;
                PI   drawchar            ; 01e3 28 06 79&lt;br /&gt;
                LI   $5e                 ; 01e6 20 5e&lt;br /&gt;
                LR   $1,A                ; 01e8 51&lt;br /&gt;
                LI   $1a                 ; 01e9 20 1a&lt;br /&gt;
                LR   $2,A                ; 01eb 52&lt;br /&gt;
                LI   $73                 ; 01ec 20 73&lt;br /&gt;
                LR   $0,A                ; 01ee 50&lt;br /&gt;
                PI   drawchar            ; 01ef 28 06 79&lt;br /&gt;
A01f2:          PI   popk                ; 01f2 28 01 1e&lt;br /&gt;
                PK                       ; 01f5 0c&lt;br /&gt;
                &lt;br /&gt;
A01f6:          LR   K,P                 ; 01f6 08&lt;br /&gt;
                PI   pushk               ; 01f7 28 01 07&lt;br /&gt;
                LIS  $8                  ; 01fa 78&lt;br /&gt;
                LR   $3,A                ; 01fb 53&lt;br /&gt;
A01fc:          LI   $81                 ; 01fc 20 81&lt;br /&gt;
                LR   $0,A                ; 01fe 50&lt;br /&gt;
                PI   drawchar            ; 01ff 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0202 41&lt;br /&gt;
                AI   $fa                 ; 0203 24 fa&lt;br /&gt;
                LR   $1,A                ; 0205 51&lt;br /&gt;
                LR   A,$2                ; 0206 42&lt;br /&gt;
                INC                      ; 0207 1f&lt;br /&gt;
                LR   $2,A                ; 0208 52&lt;br /&gt;
                DS   $3                  ; 0209 33&lt;br /&gt;
                BNZ  A01fc            ; 020a 94 f1&lt;br /&gt;
                BF   $0,A01f2            ; 020c 90 e5&lt;br /&gt;
                &lt;br /&gt;
A020e:          LR   K,P                 ; 020e 08&lt;br /&gt;
                PI   pushk               ; 020f 28 01 07&lt;br /&gt;
                LI   $46                 ; 0212 20 46&lt;br /&gt;
                LR   $3,A                ; 0214 53&lt;br /&gt;
A0215:          LI   $92                 ; 0215 20 92&lt;br /&gt;
                LR   $0,A                ; 0217 50&lt;br /&gt;
                PI   drawchar            ; 0218 28 06 79&lt;br /&gt;
                LR   A,$1                ; 021b 41&lt;br /&gt;
                AI   $fb                 ; 021c 24 fb&lt;br /&gt;
                LR   $1,A                ; 021e 51&lt;br /&gt;
                DS   $3                  ; 021f 33&lt;br /&gt;
                BNZ  A0215            ; 0220 94 f4&lt;br /&gt;
                BF   $0,A01f2            ; 0222 90 cf&lt;br /&gt;
                &lt;br /&gt;
prompts:        LR   K,P                 ; &lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
prompts2:       LI   $85                 ; red 5 (S)&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                CI   $08                 ; is it button 4, Start?&lt;br /&gt;
                BNZ  notbut4          ; no, check others&lt;br /&gt;
                PI   popk                ; yes, return&lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
notbut4:        CI   $02                 ; is it button 2, Mode?&lt;br /&gt;
                BNZ  notbut2          ; &lt;br /&gt;
                LI   $8e                 ; red M&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; &lt;br /&gt;
                LISL 4                   ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
notbut2:        CI   $01                 ; is it button 1, Time?&lt;br /&gt;
                BNZ  prompts2         ; &lt;br /&gt;
                LI   $8c                 ; red T&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                DCI  minutes             ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                SR   1                   ; &lt;br /&gt;
                ADC                      ; &lt;br /&gt;
                LM                       ; &lt;br /&gt;
                LISU 7                   ; &lt;br /&gt;
                LISL 1                   ; &lt;br /&gt;
                LR   I,A             ; &lt;br /&gt;
                LIS  $0                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                LISU 6                   ; &lt;br /&gt;
                LISL 7                   ; &lt;br /&gt;
                LIS  $f                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                PI   A0271               ; &lt;br /&gt;
                LISU 4                   ; &lt;br /&gt;
                LISL 5                   ; &lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                OI   $20                 ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
minutes:		db $02,$05,$10,$10,$20		; minutes of play&lt;br /&gt;
                &lt;br /&gt;
A0271:			LR   K,P                 ; 0271 08&lt;br /&gt;
                PI   pushk               ; 0272 28 01 07&lt;br /&gt;
                LISU 7                   ; 0275 67&lt;br /&gt;
                LISL 2                   ; 0276 6a&lt;br /&gt;
                LR   A,D             ; 0277 4e&lt;br /&gt;
                LR   $4,A                ; 0278 54&lt;br /&gt;
                LR   A,S              ; 0279 4c&lt;br /&gt;
                LR   $3,A                ; 027a 53&lt;br /&gt;
                SR   4                   ; 027b 14&lt;br /&gt;
                OI   $80                 ; 027c 22 80&lt;br /&gt;
                LR   $0,A                ; 027e 50&lt;br /&gt;
                LI   $2a                 ; 027f 20 2a&lt;br /&gt;
                LR   $1,A                ; 0281 51&lt;br /&gt;
                LI   $33                 ; 0282 20 33&lt;br /&gt;
                LR   $2,A                ; 0284 52&lt;br /&gt;
                PI   drawchar            ; 0285 28 06 79&lt;br /&gt;
                LR   A,$3                ; 0288 43&lt;br /&gt;
                NI   $0f                 ; 0289 21 0f&lt;br /&gt;
                OI   $80                 ; 028b 22 80&lt;br /&gt;
                LR   $0,A                ; 028d 50&lt;br /&gt;
                PI   drawchar            ; 028e 28 06 79&lt;br /&gt;
                LI   $91                 ; 0291 20 91&lt;br /&gt;
                LR   $0,A                ; 0293 50&lt;br /&gt;
                PI   drawchar            ; 0294 28 06 79&lt;br /&gt;
                LR   A,$4                ; 0297 44&lt;br /&gt;
                SR   4                   ; 0298 14&lt;br /&gt;
                OI   $80                 ; 0299 22 80&lt;br /&gt;
                LR   $0,A                ; 029b 50&lt;br /&gt;
                PI   drawchar            ; 029c 28 06 79&lt;br /&gt;
                LR   A,$4                ; 029f 44&lt;br /&gt;
                NI   $0f                 ; 02a0 21 0f&lt;br /&gt;
                OI   $80                 ; 02a2 22 80&lt;br /&gt;
                LR   $0,A                ; 02a4 50&lt;br /&gt;
                PI   drawchar            ; 02a5 28 06 79&lt;br /&gt;
                PI   popk                ; 02a8 28 01 1e&lt;br /&gt;
                PK                       ; 02ab 0c&lt;br /&gt;
                &lt;br /&gt;
A02ac:          LR   K,P                 ; 02ac 08&lt;br /&gt;
                PI   pushk               ; 02ad 28 01 07&lt;br /&gt;
                LISL 6                   ; 02b0 6e&lt;br /&gt;
                LI   $17                 ; 02b1 20 17&lt;br /&gt;
                BF   $0,A02bc            ; 02b3 90 08&lt;br /&gt;
                &lt;br /&gt;
A02b5:          LR   K,P                 ; 02b5 08&lt;br /&gt;
                PI   pushk               ; 02b6 28 01 07&lt;br /&gt;
                LISL 7                   ; 02b9 6f&lt;br /&gt;
                LI   $50                 ; 02ba 20 50&lt;br /&gt;
A02bc:          LISU 2                   ; 02bc 62&lt;br /&gt;
                LR   $1,A                ; 02bd 51&lt;br /&gt;
                LI   $33                 ; 02be 20 33&lt;br /&gt;
                LR   $2,A                ; 02c0 52&lt;br /&gt;
                LIS  $1                  ; 02c1 71&lt;br /&gt;
                AI   $66                 ; 02c2 24 66&lt;br /&gt;
                ASD  S                ; 02c4 dc&lt;br /&gt;
                LR   S,A              ; 02c5 5c&lt;br /&gt;
                SR   4                   ; 02c6 14&lt;br /&gt;
                OI   $40                 ; 02c7 22 40&lt;br /&gt;
                LR   $0,A                ; 02c9 50&lt;br /&gt;
                PI   drawchar            ; 02ca 28 06 79&lt;br /&gt;
                LR   A,S              ; 02cd 4c&lt;br /&gt;
                NI   $0f                 ; 02ce 21 0f&lt;br /&gt;
                OI   $40                 ; 02d0 22 40&lt;br /&gt;
                LR   $0,A                ; 02d2 50&lt;br /&gt;
                PI   drawchar            ; 02d3 28 06 79&lt;br /&gt;
                PI   popk                ; 02d6 28 01 1e&lt;br /&gt;
                PK                       ; 02d9 0c&lt;br /&gt;
                &lt;br /&gt;
A02da:          LR   K,P                 ; 02da 08&lt;br /&gt;
                PI   pushk               ; 02db 28 01 07&lt;br /&gt;
                LI   $b0                 ; 02de 20 b0&lt;br /&gt;
                LR   $4,A                ; 02e0 54&lt;br /&gt;
                LISU 2                   ; 02e1 62&lt;br /&gt;
                LISL 1                   ; 02e2 69&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02e3 70&lt;br /&gt;
                OUTS 4                   ; 02e4 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A02f4            ; 02e6 90 0d&lt;br /&gt;
                &lt;br /&gt;
A02e8:          LR   K,P                 ; 02e8 08&lt;br /&gt;
                PI   pushk               ; 02e9 28 01 07&lt;br /&gt;
                LI   $71                 ; 02ec 20 71&lt;br /&gt;
                LR   $4,A                ; 02ee 54&lt;br /&gt;
                LISU 2                   ; 02ef 62&lt;br /&gt;
                LISL 4                   ; 02f0 6c&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02f1 70&lt;br /&gt;
                OUTS 1                   ; 02f2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A02f4:          COM                      ; 02f4 18&lt;br /&gt;
                NS   $1                  ; 02f5 f1&lt;br /&gt;
                LR   $0,A                ; 02f6 50&lt;br /&gt;
                LR   A,I             ; 02f7 4d&lt;br /&gt;
                LR   $1,A                ; 02f8 51&lt;br /&gt;
                LR   A,S              ; 02f9 4c&lt;br /&gt;
                LR   $2,A                ; 02fa 52&lt;br /&gt;
                LIS  $1                  ; 02fb 71&lt;br /&gt;
                NS   $0                  ; 02fc f0&lt;br /&gt;
                BT   4,A0303             ; 02fd 84 05&lt;br /&gt;
                LR   A,$1                ; 02ff 41&lt;br /&gt;
                AI   $02                 ; 0300 24 02&lt;br /&gt;
                LR   $1,A                ; 0302 51&lt;br /&gt;
A0303:          LIS  $2                  ; 0303 72&lt;br /&gt;
                NS   $0                  ; 0304 f0&lt;br /&gt;
                BT   4,A030b             ; 0305 84 05&lt;br /&gt;
                LR   A,$1                ; 0307 41&lt;br /&gt;
                AI   $fe                 ; 0308 24 fe&lt;br /&gt;
                LR   $1,A                ; 030a 51&lt;br /&gt;
A030b:          LIS  $4                  ; 030b 74&lt;br /&gt;
                NS   $0                  ; 030c f0&lt;br /&gt;
                BT   4,A0313             ; 030d 84 05&lt;br /&gt;
                LR   A,$2                ; 030f 42&lt;br /&gt;
                AI   $02                 ; 0310 24 02&lt;br /&gt;
                LR   $2,A                ; 0312 52&lt;br /&gt;
A0313:          LIS  $8                  ; 0313 78&lt;br /&gt;
                NS   $0                  ; 0314 f0&lt;br /&gt;
                BT   4,A031b             ; 0315 84 05&lt;br /&gt;
                LR   A,$2                ; 0317 42&lt;br /&gt;
                AI   $fe                 ; 0318 24 fe&lt;br /&gt;
                LR   $2,A                ; 031a 52&lt;br /&gt;
A031b:          LISU 3                   ; 031b 63&lt;br /&gt;
                LISL 7                   ; 031c 6f&lt;br /&gt;
                LR   A,S              ; 031d 4c&lt;br /&gt;
                CI   $02                 ; 031e 25 02&lt;br /&gt;
                BF   $1,A0357            ; 0320 91 36&lt;br /&gt;
                BNZ  A033a            ; 0322 94 17&lt;br /&gt;
                LIS  $1                  ; 0324 71&lt;br /&gt;
                NS   $4                  ; 0325 f4&lt;br /&gt;
                BNZ  A0332            ; 0326 94 0b&lt;br /&gt;
                LR   A,$1                ; 0328 41&lt;br /&gt;
                CI   $2d                 ; 0329 25 2d&lt;br /&gt;
                BT   1,A0330             ; 032b 81 04&lt;br /&gt;
                LI   $2d                 ; 032d 20 2d&lt;br /&gt;
                LR   $1,A                ; 032f 51&lt;br /&gt;
A0330:          BF   $0,A033a            ; 0330 90 09&lt;br /&gt;
&lt;br /&gt;
A0332:          LR   A,$1                ; 0332 41&lt;br /&gt;
                CI   $3d                 ; 0333 25 3d&lt;br /&gt;
                BF   $1,A033a            ; 0335 91 04&lt;br /&gt;
                LI   $3d                 ; 0337 20 3d&lt;br /&gt;
                LR   $1,A                ; 0339 51&lt;br /&gt;
A033a:          LR   A,$1                ; 033a 41&lt;br /&gt;
                CI   $52                 ; 033b 25 52&lt;br /&gt;
                BT   1,A0342             ; 033d 81 04&lt;br /&gt;
                LI   $52                 ; 033f 20 52&lt;br /&gt;
                LR   $1,A                ; 0341 51&lt;br /&gt;
A0342:          CI   $1a                 ; 0342 25 1a&lt;br /&gt;
                BF   $1,A0349            ; 0344 91 04&lt;br /&gt;
                LI   $1a                 ; 0346 20 1a&lt;br /&gt;
                LR   $1,A                ; 0348 51&lt;br /&gt;
A0349:          LR   A,$2                ; 0349 42&lt;br /&gt;
                CI   $2b                 ; 034a 25 2b&lt;br /&gt;
                BT   1,A0351             ; 034c 81 04&lt;br /&gt;
                LI   $2b                 ; 034e 20 2b&lt;br /&gt;
                LR   $2,A                ; 0350 52&lt;br /&gt;
A0351:          CI   $09                 ; 0351 25 09&lt;br /&gt;
                BF   $1,A0357            ; 0353 91 03&lt;br /&gt;
                LIS  $9                  ; 0355 79&lt;br /&gt;
                LR   $2,A                ; 0356 52&lt;br /&gt;
A0357:          LISU 4                   ; 0357 64&lt;br /&gt;
                LISL 7                   ; 0358 6f&lt;br /&gt;
                LR   A,S              ; 0359 4c&lt;br /&gt;
                NI   $03                 ; 035a 21 03&lt;br /&gt;
                CI   $03                 ; 035c 25 03&lt;br /&gt;
                BNZ  A0383            ; 035e 94 24&lt;br /&gt;
                LISU 2                   ; 0360 62&lt;br /&gt;
                LISL 0                   ; 0361 68&lt;br /&gt;
                LIS  $1                  ; 0362 71&lt;br /&gt;
                NS   $4                  ; 0363 f4&lt;br /&gt;
                BT   4,A0367             ; 0364 84 02&lt;br /&gt;
                LISL 3                   ; 0366 6b&lt;br /&gt;
A0367:          LI   $10                 ; 0367 20 10&lt;br /&gt;
                NS   $0                  ; 0369 f0&lt;br /&gt;
                BT   4,A036d             ; 036a 84 02&lt;br /&gt;
                DS   S                ; 036c 3c&lt;br /&gt;
A036d:          LI   $20                 ; 036d 20 20&lt;br /&gt;
                NS   $0                  ; 036f f0&lt;br /&gt;
                BT   4,A0375             ; 0370 84 04&lt;br /&gt;
                LR   A,S              ; 0372 4c&lt;br /&gt;
                INC                      ; 0373 1f&lt;br /&gt;
                LR   S,A              ; 0374 5c&lt;br /&gt;
A0375:          LR   A,S              ; 0375 4c&lt;br /&gt;
                CI   $16                 ; 0376 25 16&lt;br /&gt;
                BNZ  A037c            ; 0378 94 03&lt;br /&gt;
                LI   $1d                 ; 037a 20 1d&lt;br /&gt;
A037c:          CI   $1e                 ; 037c 25 1e&lt;br /&gt;
                BNZ  A0382            ; 037e 94 03&lt;br /&gt;
                LI   $17                 ; 0380 20 17&lt;br /&gt;
A0382:          LR   S,A              ; 0382 5c&lt;br /&gt;
A0383:          LR   A,$4                ; 0383 44&lt;br /&gt;
                LR   $0,A                ; 0384 50&lt;br /&gt;
                PI   drawchar            ; 0385 28 06 79&lt;br /&gt;
                PI   popk                ; 0388 28 01 1e&lt;br /&gt;
                PK                       ; 038b 0c&lt;br /&gt;
                &lt;br /&gt;
A038c:          LR   K,P                 ; 038c 08&lt;br /&gt;
                PI   pushk               ; 038d 28 01 07&lt;br /&gt;
                LISL 0                   ; 0390 68&lt;br /&gt;
                LI   $b2                 ; 0391 20 b2&lt;br /&gt;
                LR   $3,A                ; 0393 53&lt;br /&gt;
                LIS  $0                  ; 0394 70&lt;br /&gt;
                OUTS 4                   ; 0395 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A03a4            ; 0397 90 0c&lt;br /&gt;
                &lt;br /&gt;
A0399:          LR   K,P                 ; 0399 08&lt;br /&gt;
                PI   pushk               ; 039a 28 01 07&lt;br /&gt;
                LISL 2                   ; 039d 6a&lt;br /&gt;
                LI   $73                 ; 039e 20 73&lt;br /&gt;
                LR   $3,A                ; 03a0 53&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 03a1 70&lt;br /&gt;
                OUTS 1                   ; 03a2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A03a4:          COM                      ; 03a4 18&lt;br /&gt;
                LR   $0,A                ; 03a5 50&lt;br /&gt;
                LISU 3                   ; 03a6 63&lt;br /&gt;
                LR   A,I             ; 03a7 4d&lt;br /&gt;
                LR   $1,A                ; 03a8 51&lt;br /&gt;
                LR   A,S              ; 03a9 4c&lt;br /&gt;
                LR   $2,A                ; 03aa 52&lt;br /&gt;
                LR   A,$0                ; 03ab 40&lt;br /&gt;
                NI   $80                 ; 03ac 21 80&lt;br /&gt;
                BT   4,A03b4             ; 03ae 84 05&lt;br /&gt;
                LR   A,$2                ; 03b0 42&lt;br /&gt;
                AI   $02                 ; 03b1 24 02&lt;br /&gt;
                LR   $2,A                ; 03b3 52&lt;br /&gt;
A03b4:          LR   A,$0                ; 03b4 40&lt;br /&gt;
                NI   $40                 ; 03b5 21 40&lt;br /&gt;
                BT   4,A03bb             ; 03b7 84 03&lt;br /&gt;
                DS   $2                  ; 03b9 32&lt;br /&gt;
                DS   $2                  ; 03ba 32&lt;br /&gt;
A03bb:          LR   A,$2                ; 03bb 42&lt;br /&gt;
                CI   $14                 ; 03bc 25 14&lt;br /&gt;
                BF   $1,A03c3            ; 03be 91 04&lt;br /&gt;
                LI   $14                 ; 03c0 20 14&lt;br /&gt;
                LR   $2,A                ; 03c2 52&lt;br /&gt;
A03c3:          CI   $20                 ; 03c3 25 20&lt;br /&gt;
                BT   1,A03ca             ; 03c5 81 04&lt;br /&gt;
                LI   $20                 ; 03c7 20 20&lt;br /&gt;
                LR   $2,A                ; 03c9 52&lt;br /&gt;
A03ca:          LR   A,$3                ; 03ca 43&lt;br /&gt;
                LR   $0,A                ; 03cb 50&lt;br /&gt;
                PI   drawchar            ; 03cc 28 06 79&lt;br /&gt;
                PI   popk                ; 03cf 28 01 1e&lt;br /&gt;
                PK                       ; 03d2 0c&lt;br /&gt;
                &lt;br /&gt;
A03d3:          LR   K,P                 ; 03d3 08&lt;br /&gt;
                PI   pushk               ; 03d4 28 01 07&lt;br /&gt;
                LISU 4                   ; 03d7 64&lt;br /&gt;
                LISL 0                   ; 03d8 68&lt;br /&gt;
                LR   A,I             ; 03d9 4d&lt;br /&gt;
                LR   $1,A                ; 03da 51&lt;br /&gt;
                LR   A,I             ; 03db 4d&lt;br /&gt;
                LR   $2,A                ; 03dc 52&lt;br /&gt;
                LR   A,I             ; 03dd 4d&lt;br /&gt;
                LR   $3,A                ; 03de 53&lt;br /&gt;
                LR   A,I             ; 03df 4d&lt;br /&gt;
                LR   $4,A                ; 03e0 54&lt;br /&gt;
                LR   A,S              ; 03e1 4c&lt;br /&gt;
                CI   $00                 ; 03e2 25 00&lt;br /&gt;
                BT   4,A03f2             ; 03e4 84 0d&lt;br /&gt;
                LIS  $0                  ; 03e6 70&lt;br /&gt;
                LR   S,A              ; 03e7 5c&lt;br /&gt;
                LR   A,$3                ; 03e8 43&lt;br /&gt;
                SL   1                   ; 03e9 13&lt;br /&gt;
                AS   $3                  ; 03ea c3&lt;br /&gt;
                AS   $3                  ; 03eb c3&lt;br /&gt;
                LR   $3,A                ; 03ec 53&lt;br /&gt;
                LR   A,$4                ; 03ed 44&lt;br /&gt;
                SL   1                   ; 03ee 13&lt;br /&gt;
                AS   $4                  ; 03ef c4&lt;br /&gt;
                AS   $4                  ; 03f0 c4&lt;br /&gt;
                LR   $4,A                ; 03f1 54&lt;br /&gt;
A03f2:          LR   A,$1                ; 03f2 41&lt;br /&gt;
                AS   $3                  ; 03f3 c3&lt;br /&gt;
                LR   $1,A                ; 03f4 51&lt;br /&gt;
                LR   A,$2                ; 03f5 42&lt;br /&gt;
                AS   $4                  ; 03f6 c4&lt;br /&gt;
                LR   $2,A                ; 03f7 52&lt;br /&gt;
                LISU 4                   ; 03f8 64&lt;br /&gt;
                LISL 5                   ; 03f9 6d&lt;br /&gt;
                LI   $44                 ; 03fa 20 44&lt;br /&gt;
                NS   S                ; 03fc fc&lt;br /&gt;
                BT   4,A043b             ; 03fd 84 3d&lt;br /&gt;
                PI   A049c               ; 03ff 28 04 9c&lt;br /&gt;
                LISU 4                   ; 0402 64&lt;br /&gt;
                LISL 2                   ; 0403 6a&lt;br /&gt;
                LR   A,$1                ; 0404 41&lt;br /&gt;
                LR   $0,A                ; 0405 50&lt;br /&gt;
                CI   $5c                 ; 0406 25 5c&lt;br /&gt;
                BT   1,A0410             ; 0408 81 07&lt;br /&gt;
                PI   A043f               ; 040a 28 04 3f&lt;br /&gt;
                LI   $5c                 ; 040d 20 5c&lt;br /&gt;
                LR   $1,A                ; 040f 51&lt;br /&gt;
A0410:          LR   A,$1                ; 0410 41&lt;br /&gt;
                LR   $0,A                ; 0411 50&lt;br /&gt;
                CI   $14                 ; 0412 25 14&lt;br /&gt;
                BF   $1,A041c            ; 0414 91 07&lt;br /&gt;
                PI   A043f               ; 0416 28 04 3f&lt;br /&gt;
                LI   $14                 ; 0419 20 14&lt;br /&gt;
                LR   $1,A                ; 041b 51&lt;br /&gt;
A041c:          LISL 3                   ; 041c 6b&lt;br /&gt;
                LR   A,$2                ; 041d 42&lt;br /&gt;
                LR   $0,A                ; 041e 50&lt;br /&gt;
                CI   $08                 ; 041f 25 08&lt;br /&gt;
                BF   $1,A0429            ; 0421 91 07&lt;br /&gt;
                PI   A043f               ; 0423 28 04 3f&lt;br /&gt;
                LI   $09                 ; 0426 20 09&lt;br /&gt;
                LR   $2,A                ; 0428 52&lt;br /&gt;
A0429:          LR   A,$2                ; 0429 42&lt;br /&gt;
                LR   $0,A                ; 042a 50&lt;br /&gt;
                CI   $2e                 ; 042b 25 2e&lt;br /&gt;
                BT   1,A0435             ; 042d 81 07&lt;br /&gt;
                PI   A043f               ; 042f 28 04 3f&lt;br /&gt;
                LI   $2e                 ; 0432 20 2e&lt;br /&gt;
                LR   $2,A                ; 0434 52&lt;br /&gt;
A0435:          LI   $55                 ; 0435 20 55&lt;br /&gt;
                LR   $0,A                ; 0437 50&lt;br /&gt;
                PI   drawchar            ; 0438 28 06 79&lt;br /&gt;
A043b:          PI   popk                ; 043b 28 01 1e&lt;br /&gt;
                PK                       ; 043e 0c&lt;br /&gt;
                &lt;br /&gt;
A043f:          LR   A,S              ; 043f 4c&lt;br /&gt;
                COM                      ; 0440 18&lt;br /&gt;
                INC                      ; 0441 1f&lt;br /&gt;
                LR   S,A              ; 0442 5c&lt;br /&gt;
                LI   $40                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0445 b5&lt;br /&gt;
                POP                      ; 0446 1c&lt;br /&gt;
                &lt;br /&gt;
A0447:          LR   K,P                 ; 0447 08&lt;br /&gt;
                PI   pushk               ; 0448 28 01 07&lt;br /&gt;
                LI   $36                 ; 044b 20 36&lt;br /&gt;
                LR   $1,A                ; 044d 51&lt;br /&gt;
                LIS  $a                  ; 044e 7a&lt;br /&gt;
                LR   $2,A                ; 044f 52&lt;br /&gt;
                LIS  $5                  ; 0450 75&lt;br /&gt;
                LR   $4,A                ; 0451 54&lt;br /&gt;
A0452:          LI   $81                 ; 0452 20 81&lt;br /&gt;
                LR   $0,A                ; 0454 50&lt;br /&gt;
                PI   drawchar            ; 0455 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0458 41&lt;br /&gt;
                AI   $fa                 ; 0459 24 fa&lt;br /&gt;
                LR   $1,A                ; 045b 51&lt;br /&gt;
                LR   A,$2                ; 045c 42&lt;br /&gt;
                AI   $08                 ; 045d 24 08&lt;br /&gt;
                LR   $2,A                ; 045f 52&lt;br /&gt;
                DS   $4                  ; 0460 34&lt;br /&gt;
                BNZ  A0452            ; 0461 94 f0&lt;br /&gt;
                PI   popk                ; 0463 28 01 1e&lt;br /&gt;
                PK                       ; 0466 0c&lt;br /&gt;
                &lt;br /&gt;
A0467:          LR   K,P                 ; 0467 08&lt;br /&gt;
                PI   pushk               ; 0468 28 01 07&lt;br /&gt;
                LISU 7                   ; 046b 67&lt;br /&gt;
                LISL 0                   ; 046c 68&lt;br /&gt;
                LR   A,S              ; 046d 4c&lt;br /&gt;
                OI   $00                 ; 046e 22 00&lt;br /&gt;
                BT   4,A0498             ; 0470 84 27&lt;br /&gt;
                LIS  $0                  ; 0472 70&lt;br /&gt;
                LR   S,A              ; 0473 5c&lt;br /&gt;
                LISL 2                   ; 0474 6a&lt;br /&gt;
                LIS  $1                  ; 0475 71&lt;br /&gt;
                LR   $0,A                ; 0476 50&lt;br /&gt;
                COM                      ; 0477 18&lt;br /&gt;
                ASD  S                ; 0478 dc&lt;br /&gt;
                AI   $66                 ; 0479 24 66&lt;br /&gt;
                ASD  $0                  ; 047b d0&lt;br /&gt;
                LR   S,A              ; 047c 5c&lt;br /&gt;
                CI   $99                 ; 047d 25 99&lt;br /&gt;
                BNZ  A0495            ; 047f 94 15&lt;br /&gt;
                LI   $59                 ; 0481 20 59&lt;br /&gt;
                LR   D,A             ; 0483 5e&lt;br /&gt;
                LIS  $1                  ; 0484 71&lt;br /&gt;
                LR   $0,A                ; 0485 50&lt;br /&gt;
                COM                      ; 0486 18&lt;br /&gt;
                ASD  S                ; 0487 dc&lt;br /&gt;
                AI   $66                 ; 0488 24 66&lt;br /&gt;
                ASD  $0                  ; 048a d0&lt;br /&gt;
                CI   $99                 ; 048b 25 99&lt;br /&gt;
                BNZ  A0494            ; 048d 94 06&lt;br /&gt;
                PI   prompts             ; time expired, print S?&lt;br /&gt;
                BF   $0,A0498            ; 0492 90 05&lt;br /&gt;
                &lt;br /&gt;
A0494:          LR   S,A              ; 0494 5c&lt;br /&gt;
A0495:          PI   $0271               ; 0495 28 02 71&lt;br /&gt;
A0498:          PI   popk                ; 0498 28 01 1e&lt;br /&gt;
                PK                       ; 049b 0c&lt;br /&gt;
                &lt;br /&gt;
A049c:          LR   K,P                 ; 049c 08&lt;br /&gt;
                PI   pushk               ; 049d 28 01 07&lt;br /&gt;
                LISU 4                   ; 04a0 64&lt;br /&gt;
                LISL 7                   ; 04a1 6f&lt;br /&gt;
                LIS  $1                  ; 04a2 71&lt;br /&gt;
                NS   S                ; 04a3 fc&lt;br /&gt;
                BT   4,A04b8             ; 04a4 84 13&lt;br /&gt;
                LISU 2                   ; 04a6 62&lt;br /&gt;
                LISL 4                   ; 04a7 6c&lt;br /&gt;
                PI   A05fc               ; 04a8 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04ab 30&lt;br /&gt;
                BT   4,A04e8             ; 04ac 84 3b&lt;br /&gt;
                LISU 2                   ; 04ae 62&lt;br /&gt;
                LISL 1                   ; 04af 69&lt;br /&gt;
                PI   A05fc               ; 04b0 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04b3 30&lt;br /&gt;
                BT   4,A04e5             ; 04b4 84 30&lt;br /&gt;
                BF   $0,A04c8            ; 04b6 90 11&lt;br /&gt;
                &lt;br /&gt;
A04b8:          LISU 2                   ; 04b8 62&lt;br /&gt;
                LISL 1                   ; 04b9 69&lt;br /&gt;
                PI   A05fc               ; 04ba 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04bd 30&lt;br /&gt;
                BT   4,A04e5             ; 04be 84 26&lt;br /&gt;
                LISU 2                   ; 04c0 62&lt;br /&gt;
                LISL 4                   ; 04c1 6c&lt;br /&gt;
                PI   A05fc               ; 04c2 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04c5 30&lt;br /&gt;
                BT   4,A04e8             ; 04c6 84 21&lt;br /&gt;
A04c8:          LISU 4                   ; 04c8 64&lt;br /&gt;
                LISL 5                   ; 04c9 6d&lt;br /&gt;
                LR   A,S              ; 04ca 4c&lt;br /&gt;
                NI   $04                 ; 04cb 21 04&lt;br /&gt;
                BNZ  A04d2            ; 04cd 94 04&lt;br /&gt;
                JMP  A059d               ; 04cf 29 05 9d&lt;br /&gt;
                &lt;br /&gt;
A04d2:          LISU 3                   ; 04d2 63&lt;br /&gt;
                LISL 0                   ; 04d3 68&lt;br /&gt;
                PI   A05fc               ; 04d4 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04d7 30&lt;br /&gt;
                BT   4,A0555             ; 04d8 84 7c&lt;br /&gt;
                LISU 3                   ; 04da 63&lt;br /&gt;
                LISL 2                   ; 04db 6a&lt;br /&gt;
                PI   A05fc               ; 04dc 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04df 30&lt;br /&gt;
                BT   4,A0559             ; 04e0 84 78&lt;br /&gt;
                JMP  A0588               ; 04e2 29 05 88&lt;br /&gt;
                &lt;br /&gt;
A04e5:          LISL 0                   ; 04e5 68&lt;br /&gt;
                BF   $0,A04e9            ; 04e6 90 02&lt;br /&gt;
                &lt;br /&gt;
A04e8:          LISL 3                   ; 04e8 6b&lt;br /&gt;
A04e9:          LISU 2                   ; 04e9 62&lt;br /&gt;
                LR   A,I             ; 04ea 4d&lt;br /&gt;
                LR   $4,A                ; 04eb 54&lt;br /&gt;
                LR   A,I             ; 04ec 4d&lt;br /&gt;
                LR   A,S              ; 04ed 4c&lt;br /&gt;
                LR   $7,A                ; 04ee 57&lt;br /&gt;
                LISU 4                   ; 04ef 64&lt;br /&gt;
                LISL 5                   ; 04f0 6d&lt;br /&gt;
                LR   A,S              ; 04f1 4c&lt;br /&gt;
                SL   1                   ; 04f2 13&lt;br /&gt;
                LR   A,$4                ; 04f3 44&lt;br /&gt;
                BT   1,A0516             ; 04f4 81 21&lt;br /&gt;
                DCI  A050e               ; 04f6 2a 05 0e&lt;br /&gt;
                LIS  $7                  ; 04f9 77&lt;br /&gt;
                LR   $4,A                ; 04fa 54&lt;br /&gt;
                DS   $7                  ; 04fb 37&lt;br /&gt;
                DS   $7                  ; 04fc 37&lt;br /&gt;
A04fd:          LR   A,$4                ; 04fd 44&lt;br /&gt;
                AS   $7                  ; 04fe c7&lt;br /&gt;
                LR   $3,A                ; 04ff 53&lt;br /&gt;
                LR   A,$2                ; 0500 42&lt;br /&gt;
                COM                      ; 0501 18&lt;br /&gt;
                INC                      ; 0502 1f&lt;br /&gt;
                AS   $3                  ; 0503 c3&lt;br /&gt;
                BT   4,A0509             ; 0504 84 04&lt;br /&gt;
                DS   $4                  ; 0506 34&lt;br /&gt;
                BT   1,A04fd             ; 0507 81 f5&lt;br /&gt;
A0509:          LR   A,$4                ; 0509 44&lt;br /&gt;
                ADC                      ; 050a 8e&lt;br /&gt;
                LM                       ; 050b 16&lt;br /&gt;
                BF   $0,A0518            ; 050c 90 0b&lt;br /&gt;
&lt;br /&gt;
A050e:			db	$04,$04,$05,$06,$00,$01,$02,$03                &lt;br /&gt;
&lt;br /&gt;
A0516:          AI   $e9                 ; 0516 24 e9&lt;br /&gt;
A0518:          DCI  A0547               ; 0518 2a 05 47&lt;br /&gt;
                SL   1                   ; 051b 13&lt;br /&gt;
                ADC                      ; 051c 8e&lt;br /&gt;
                LM                       ; 051d 16&lt;br /&gt;
                LR   $5,A                ; 051e 55&lt;br /&gt;
                LM                       ; 051f 16&lt;br /&gt;
                LR   $6,A                ; 0520 56&lt;br /&gt;
                LISU 4                   ; 0521 64&lt;br /&gt;
                LISL 2                   ; 0522 6a&lt;br /&gt;
                LR   A,S              ; 0523 4c&lt;br /&gt;
                OI   $00                 ; 0524 22 00&lt;br /&gt;
                BF   $1,A053a            ; 0526 91 13&lt;br /&gt;
                LR   A,$5                ; 0528 45&lt;br /&gt;
                COM                      ; 0529 18&lt;br /&gt;
                INC                      ; 052a 1f&lt;br /&gt;
                LR   $5,A                ; 052b 55&lt;br /&gt;
                LISL 5                   ; 052c 6d&lt;br /&gt;
                LR   A,S              ; 052d 4c&lt;br /&gt;
                SL   1                   ; 052e 13&lt;br /&gt;
                LISL 2                   ; 052f 6a&lt;br /&gt;
                BF   $1,A0536            ; 0530 91 05&lt;br /&gt;
                LR   A,$6                ; 0532 46&lt;br /&gt;
                COM                      ; 0533 18&lt;br /&gt;
                INC                      ; 0534 1f&lt;br /&gt;
                LR   $6,A                ; 0535 56&lt;br /&gt;
A0536:          LR   A,$1                ; 0536 41&lt;br /&gt;
                AI   $02                 ; 0537 24 02&lt;br /&gt;
                LR   $1,A                ; 0539 51&lt;br /&gt;
A053a:          LR   A,$5                ; 053a 45&lt;br /&gt;
                LR   I,A             ; 053b 5d&lt;br /&gt;
                LR   A,$6                ; 053c 46&lt;br /&gt;
                LR   I,A             ; 053d 5d&lt;br /&gt;
                LIS  $2                  ; 053e 72&lt;br /&gt;
                LR   S,A              ; 053f 5c&lt;br /&gt;
                LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0542 b5&lt;br /&gt;
A0543:          PI   popk                ; 0543 28 01 1e&lt;br /&gt;
                PK                       ; 0546 0c&lt;br /&gt;
&lt;br /&gt;
A0547:			db	$02,$00,$02,$01,$02,$02,$01,$02,$01,$FE,$02,$FE,$02,$FF	&lt;br /&gt;
&lt;br /&gt;
A0555:          LIS  $1                  ; 0555 71&lt;br /&gt;
                LR   $3,A                ; 0556 53&lt;br /&gt;
                BF   $0,A055b            ; 0557 90 03&lt;br /&gt;
                &lt;br /&gt;
A0559:          LIS  $2                  ; 0559 72&lt;br /&gt;
                LR   $3,A                ; 055a 53&lt;br /&gt;
A055b:          LISU 4                   ; 055b 64&lt;br /&gt;
                LISL 2                   ; 055c 6a&lt;br /&gt;
                LR   A,S              ; 055d 4c&lt;br /&gt;
                DS   $3                  ; 055e 33&lt;br /&gt;
                BT   4,A0567             ; 055f 84 07&lt;br /&gt;
                OI   $00                 ; 0561 22 00&lt;br /&gt;
                BT   1,A056b             ; 0563 81 07&lt;br /&gt;
                BF   $0,A056e            ; 0565 90 08&lt;br /&gt;
                &lt;br /&gt;
A0567:          OI   $00                 ; 0567 22 00&lt;br /&gt;
                BT   1,A056e             ; 0569 81 04&lt;br /&gt;
A056b:          COM                      ; 056b 18&lt;br /&gt;
                INC                      ; 056c 1f&lt;br /&gt;
                LR   S,A              ; 056d 5c&lt;br /&gt;
A056e:          LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0570 b5&lt;br /&gt;
                LISL 3                   ; 0571 6b&lt;br /&gt;
                LR   A,S              ; 0572 4c&lt;br /&gt;
                OI   $00                 ; 0573 22 00&lt;br /&gt;
                BNZ  A0586            ; 0575 94 10&lt;br /&gt;
                LISU 2                   ; 0577 62&lt;br /&gt;
                LISL 1                   ; 0578 69&lt;br /&gt;
                LR   A,S              ; 0579 4c&lt;br /&gt;
                NI   $01                 ; 057a 21 01&lt;br /&gt;
                BT   4,A0581             ; 057c 84 04&lt;br /&gt;
                LIS  $2                  ; 057e 72&lt;br /&gt;
                BF   $0,A0583            ; 057f 90 03&lt;br /&gt;
                &lt;br /&gt;
A0581:          LI   $fe                 ; 0581 20 fe&lt;br /&gt;
A0583:          LISU 4                   ; 0583 64&lt;br /&gt;
                LISL 3                   ; 0584 6b&lt;br /&gt;
                LR   S,A              ; 0585 5c&lt;br /&gt;
A0586:          BF   $0,A05f3            ; 0586 90 6c&lt;br /&gt;
&lt;br /&gt;
A0588:          LR   A,$2                ; 0588 42&lt;br /&gt;
                CI   $14                 ; 0589 25 14&lt;br /&gt;
                BT   1,A059a             ; 058b 81 0e&lt;br /&gt;
                CI   $24                 ; 058d 25 24&lt;br /&gt;
                BF   $1,A059a            ; 058f 91 0a&lt;br /&gt;
                LR   A,$1                ; 0591 41&lt;br /&gt;
                CI   $14                 ; 0592 25 14&lt;br /&gt;
                BT   1,A05a9             ; 0594 81 14&lt;br /&gt;
                CI   $5c                 ; 0596 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 0598 91 10&lt;br /&gt;
A059a:          JMP  A0543               ; 059a 29 05 43&lt;br /&gt;
&lt;br /&gt;
A059d:          LR   A,$1                ; 059d 41&lt;br /&gt;
                CI   $14                 ; 059e 25 14&lt;br /&gt;
                BT   1,A05a9             ; 05a0 81 08&lt;br /&gt;
                CI   $5c                 ; 05a2 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 05a4 91 04&lt;br /&gt;
                JMP  A0543               ; 05a6 29 05 43&lt;br /&gt;
                &lt;br /&gt;
A05a9:          LISU 4                   ; 05a9 64&lt;br /&gt;
                LISL 2                   ; 05aa 6a&lt;br /&gt;
                LR   A,I             ; 05ab 4d&lt;br /&gt;
                SL   1                   ; 05ac 13&lt;br /&gt;
                BF   $1,A05b3            ; 05ad 91 05&lt;br /&gt;
                AI   $02                 ; 05af 24 02&lt;br /&gt;
                BF   $0,A05b5            ; 05b1 90 03&lt;br /&gt;
                &lt;br /&gt;
A05b3:          AI   $fe                 ; 05b3 24 fe&lt;br /&gt;
A05b5:          AS   $1                  ; 05b5 c1&lt;br /&gt;
                LR   $1,A                ; 05b6 51&lt;br /&gt;
                LISL 3                   ; 05b7 6b&lt;br /&gt;
                LR   A,S              ; 05b8 4c&lt;br /&gt;
                AS   $2                  ; 05b9 c2&lt;br /&gt;
                LR   $2,A                ; 05ba 52&lt;br /&gt;
                LI   $55                 ; 05bb 20 55&lt;br /&gt;
                LR   $0,A                ; 05bd 50&lt;br /&gt;
                PI   drawchar            ; 05be 28 06 79&lt;br /&gt;
                LISU 4                   ; 05c1 64&lt;br /&gt;
                LISL 3                   ; 05c2 6b&lt;br /&gt;
                LIS  $0                  ; 05c3 70&lt;br /&gt;
                LR   S,A              ; 05c4 5c&lt;br /&gt;
                LISU 4                   ; 05c5 64&lt;br /&gt;
                LISL 0                   ; 05c6 68&lt;br /&gt;
                LR   A,S              ; 05c7 4c&lt;br /&gt;
                CI   $30                 ; 05c8 25 30&lt;br /&gt;
                BF   $1,A05d1            ; 05ca 91 06&lt;br /&gt;
                PI   A02b5               ; 05cc 28 02 b5&lt;br /&gt;
                BF   $0,A05d4            ; 05cf 90 04&lt;br /&gt;
                &lt;br /&gt;
A05d1:          PI   A02ac               ; 05d1 28 02 ac&lt;br /&gt;
A05d4:          LI   $ff                 ; 05d4 20 ff&lt;br /&gt;
                LR   $5,A                ; 05d6 55&lt;br /&gt;
                PI   delay               ; 05d7 28 00 8f&lt;br /&gt;
                LISU 3                   ; 05da 63&lt;br /&gt;
                LISL 7                   ; 05db 6f&lt;br /&gt;
                LR   A,S              ; 05dc 4c&lt;br /&gt;
                CI   $02                 ; 05dd 25 02&lt;br /&gt;
                BNZ  A05f0            ; 05df 94 10&lt;br /&gt;
                LISU 2                   ; 05e1 62&lt;br /&gt;
                LISL 6                   ; 05e2 6e&lt;br /&gt;
                LR   A,I             ; 05e3 4d&lt;br /&gt;
                CI   $15                 ; 05e4 25 15&lt;br /&gt;
                BT   4,A05ed             ; 05e6 84 06&lt;br /&gt;
                LR   A,S              ; 05e8 4c&lt;br /&gt;
                CI   $15                 ; 05e9 25 15&lt;br /&gt;
                BNZ  A05f0            ; 05eb 94 04&lt;br /&gt;
A05ed:          PI   prompts             ; 05ed 28 02 24&lt;br /&gt;
A05f0:          PI   A01a0               ; 05f0 28 01 a0&lt;br /&gt;
A05f3:          PI   popk                ; 05f3 28 01 1e&lt;br /&gt;
                PI   popk                ; 05f6 28 01 1e&lt;br /&gt;
                JMP  A0037               ; 05f9 29 00 37&lt;br /&gt;
                &lt;br /&gt;
A05fc:          LR   K,P                 ; 05fc 08&lt;br /&gt;
                PI   pushk               ; 05fd 28 01 07&lt;br /&gt;
                LR   A,S              ; 0600 4c&lt;br /&gt;
                COM                      ; 0601 18&lt;br /&gt;
                INC                      ; 0602 1f&lt;br /&gt;
                AS   $1                  ; 0603 c1&lt;br /&gt;
                BF   $1,A0610            ; 0604 91 0b&lt;br /&gt;
                LR   A,S              ; 0606 4c&lt;br /&gt;
                AI   $05                 ; 0607 24 05&lt;br /&gt;
                LR   $6,A                ; 0609 56&lt;br /&gt;
                LR   A,$1                ; 060a 41&lt;br /&gt;
                COM                      ; 060b 18&lt;br /&gt;
                INC                      ; 060c 1f&lt;br /&gt;
                AS   S                ; 060d cc&lt;br /&gt;
                BT   1,A0626             ; 060e 81 17&lt;br /&gt;
A0610:          LR   A,S              ; 0610 4c&lt;br /&gt;
                COM                      ; 0611 18&lt;br /&gt;
                INC                      ; 0612 1f&lt;br /&gt;
                LR   $6,A                ; 0613 56&lt;br /&gt;
                LR   A,$1                ; 0614 41&lt;br /&gt;
                AI   $02                 ; 0615 24 02&lt;br /&gt;
                AS   $6                  ; 0617 c6&lt;br /&gt;
                BF   $1,A064f            ; 0618 91 36&lt;br /&gt;
                LR   A,$1                ; 061a 41&lt;br /&gt;
                AI   $02                 ; 061b 24 02&lt;br /&gt;
                COM                      ; 061d 18&lt;br /&gt;
                INC                      ; 061e 1f&lt;br /&gt;
                LR   $6,A                ; 061f 56&lt;br /&gt;
                LR   A,S              ; 0620 4c&lt;br /&gt;
                AI   $05                 ; 0621 24 05&lt;br /&gt;
                AS   $6                  ; 0623 c6&lt;br /&gt;
                BF   $1,A064f            ; 0624 91 2a&lt;br /&gt;
A0626:          LR   A,I             ; 0626 4d&lt;br /&gt;
                LR   A,S              ; 0627 4c&lt;br /&gt;
                COM                      ; 0628 18&lt;br /&gt;
                INC                      ; 0629 1f&lt;br /&gt;
                LR   $6,A                ; 062a 56&lt;br /&gt;
                LR   A,$2                ; 062b 42&lt;br /&gt;
                AS   $6                  ; 062c c6&lt;br /&gt;
                BF   $1,A0639            ; 062d 91 0b&lt;br /&gt;
                LR   A,$2                ; 062f 42&lt;br /&gt;
                COM                      ; 0630 18&lt;br /&gt;
                INC                      ; 0631 1f&lt;br /&gt;
                LR   $6,A                ; 0632 56&lt;br /&gt;
                LR   A,S              ; 0633 4c&lt;br /&gt;
                AI   $05                 ; 0634 24 05&lt;br /&gt;
                AS   $6                  ; 0636 c6&lt;br /&gt;
                BT   1,A0655             ; 0637 81 1d&lt;br /&gt;
A0639:          LR   A,S              ; 0639 4c&lt;br /&gt;
                COM                      ; 063a 18&lt;br /&gt;
                INC                      ; 063b 1f&lt;br /&gt;
                LR   $6,A                ; 063c 56&lt;br /&gt;
                LR   A,$2                ; 063d 42&lt;br /&gt;
                AI   $02                 ; 063e 24 02&lt;br /&gt;
                AS   $6                  ; 0640 c6&lt;br /&gt;
                BF   $1,A064f            ; 0641 91 0d&lt;br /&gt;
                LR   A,$2                ; 0643 42&lt;br /&gt;
                AI   $02                 ; 0644 24 02&lt;br /&gt;
                COM                      ; 0646 18&lt;br /&gt;
                INC                      ; 0647 1f&lt;br /&gt;
                LR   $6,A                ; 0648 56&lt;br /&gt;
                LR   A,S              ; 0649 4c&lt;br /&gt;
                AI   $05                 ; 064a 24 05&lt;br /&gt;
                AS   $6                  ; 064c c6&lt;br /&gt;
                BT   1,A0655             ; 064d 81 07&lt;br /&gt;
A064f:          LIS  $0                  ; 064f 70&lt;br /&gt;
A0650:          LR   $0,A                ; 0650 50&lt;br /&gt;
                PI   popk                ; 0651 28 01 1e&lt;br /&gt;
                PK                       ; 0654 0c&lt;br /&gt;
                &lt;br /&gt;
A0655:          LIS  $1                  ; 0655 71&lt;br /&gt;
                BF   $0,A0650            ; 0656 90 f9&lt;br /&gt;
                &lt;br /&gt;
A0658:          DCI  A0674               ; 0658 2a 06 74&lt;br /&gt;
                LISU 4                   ; 065b 64&lt;br /&gt;
                LISL 5                   ; 065c 6d&lt;br /&gt;
                LR   A,S              ; 065d 4c&lt;br /&gt;
                NI   $20                 ; 065e 21 20&lt;br /&gt;
                BT   4,A0673             ; 0660 84 12&lt;br /&gt;
                LISU 6                   ; 0662 66&lt;br /&gt;
                LISL 7                   ; 0663 6f&lt;br /&gt;
                DS   S                ; 0664 3c&lt;br /&gt;
                BNZ  A0673            ; 0665 94 0d&lt;br /&gt;
                LISU 3                   ; 0667 63&lt;br /&gt;
                LISL 4                   ; 0668 6c&lt;br /&gt;
                LR   A,S              ; 0669 4c&lt;br /&gt;
                SR   1                   ; 066a 12&lt;br /&gt;
                ADC                      ; 066b 8e&lt;br /&gt;
                LM                       ; 066c 16&lt;br /&gt;
                LISU 6                   ; 066d 66&lt;br /&gt;
                LISL 7                   ; 066e 6f&lt;br /&gt;
                LR   I,A             ; 066f 5d&lt;br /&gt;
                LISU 7                   ; 0670 67&lt;br /&gt;
                LIS  $1                  ; 0671 71&lt;br /&gt;
                LR   S,A              ; 0672 5c&lt;br /&gt;
A0673:          POP                      ; 0673 1c&lt;br /&gt;
&lt;br /&gt;
A0674:			db $09,$0d,$15,$1c,$1c&lt;br /&gt;
                &lt;br /&gt;
drawchar:       DCI  bitmaps             ; $679&lt;br /&gt;
                LR   K,P                 ; 067c 08&lt;br /&gt;
                PI   pushk               ; 067d 28 01 07&lt;br /&gt;
                LR   A,IS                ; 0680 0a&lt;br /&gt;
                LISU 6                   ; 0681 66&lt;br /&gt;
                LISL 4                   ; 0682 6c&lt;br /&gt;
                LR   I,A             ; 0683 5d&lt;br /&gt;
                LR   A,$3                ; 0684 43&lt;br /&gt;
                LR   I,A             ; 0685 5d&lt;br /&gt;
                LR   A,$4                ; 0686 44&lt;br /&gt;
                LR   S,A              ; 0687 5c&lt;br /&gt;
                LIS  $5                  ; 0688 75&lt;br /&gt;
                LR   $4,A                ; 0689 54&lt;br /&gt;
                LI   $c0                 ; 068a 20 c0&lt;br /&gt;
                NS   $0                  ; 068c f0&lt;br /&gt;
                LR   $3,A                ; 068d 53&lt;br /&gt;
                LI   $3f                 ; 068e 20 3f&lt;br /&gt;
                NS   $0                  ; 0690 f0&lt;br /&gt;
                LR   $0,A                ; 0691 50&lt;br /&gt;
                CI   $15                 ; 0692 25 15&lt;br /&gt;
                BNZ  A06b4            ; 0694 94 1f&lt;br /&gt;
                LISU 4                   ; 0696 64&lt;br /&gt;
                LISL 0                   ; 0697 68&lt;br /&gt;
                LIS  $2                  ; 0698 72&lt;br /&gt;
                LR   $4,A                ; 0699 54&lt;br /&gt;
                PI   A06ec               ; 069a 28 06 ec&lt;br /&gt;
                LI   $15                 ; 069d 20 15&lt;br /&gt;
                LR   $0,A                ; 069f 50&lt;br /&gt;
A06a0:          PI   A0718               ; 06a0 28 07 18&lt;br /&gt;
                LR   A,$1                ; 06a3 41&lt;br /&gt;
                AI   $06                 ; 06a4 24 06&lt;br /&gt;
                LR   $1,A                ; 06a6 51&lt;br /&gt;
                LISU 6                   ; 06a7 66&lt;br /&gt;
                LISL 5                   ; 06a8 6d&lt;br /&gt;
                LR   A,I             ; 06a9 4d&lt;br /&gt;
                LR   $3,A                ; 06aa 53&lt;br /&gt;
                LR   A,S              ; 06ab 4c&lt;br /&gt;
                LR   $4,A                ; 06ac 54&lt;br /&gt;
                LISL 4                   ; 06ad 6c&lt;br /&gt;
                LR   A,S              ; 06ae 4c&lt;br /&gt;
                LR   IS,A                ; 06af 0b&lt;br /&gt;
                PI   popk                ; 06b0 28 01 1e&lt;br /&gt;
                PK                       ; 06b3 0c&lt;br /&gt;
                &lt;br /&gt;
A06b4:          CI   $30                 ; 06b4 25 30&lt;br /&gt;
                BNZ  A06c2            ; 06b6 94 0b&lt;br /&gt;
                LISU 2                   ; 06b8 62&lt;br /&gt;
                LISL 1                   ; 06b9 69&lt;br /&gt;
                PI   A06ec               ; 06ba 28 06 ec&lt;br /&gt;
                LISL 0                   ; 06bd 68&lt;br /&gt;
                LR   A,I             ; 06be 4d&lt;br /&gt;
                LR   $0,A                ; 06bf 50&lt;br /&gt;
                BF   $0,A06a0            ; 06c0 90 df&lt;br /&gt;
                &lt;br /&gt;
A06c2:          CI   $31                 ; 06c2 25 31&lt;br /&gt;
                BNZ  A06d0            ; 06c4 94 0b&lt;br /&gt;
                LISU 2                   ; 06c6 62&lt;br /&gt;
                LISL 4                   ; 06c7 6c&lt;br /&gt;
                PI   A06ec               ; 06c8 28 06 ec&lt;br /&gt;
                LISL 3                   ; 06cb 6b&lt;br /&gt;
                LR   A,I             ; 06cc 4d&lt;br /&gt;
                LR   $0,A                ; 06cd 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ce 90 d1&lt;br /&gt;
                &lt;br /&gt;
A06d0:          CI   $32                 ; 06d0 25 32&lt;br /&gt;
                BNZ  A06de            ; 06d2 94 0b&lt;br /&gt;
                LISU 3                   ; 06d4 63&lt;br /&gt;
                LISL 0                   ; 06d5 68&lt;br /&gt;
                PI   A06ec               ; 06d6 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06d9 20 14&lt;br /&gt;
                LR   $0,A                ; 06db 50&lt;br /&gt;
                BF   $0,A06a0            ; 06dc 90 c3&lt;br /&gt;
                &lt;br /&gt;
A06de:          CI   $33                 ; 06de 25 33&lt;br /&gt;
                BNZ  A06a0            ; 06e0 94 bf&lt;br /&gt;
                LISU 3                   ; 06e2 63&lt;br /&gt;
                LISL 2                   ; 06e3 6a&lt;br /&gt;
                PI   A06ec               ; 06e4 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06e7 20 14&lt;br /&gt;
                LR   $0,A                ; 06e9 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ea 90 b5&lt;br /&gt;
                &lt;br /&gt;
A06ec:          LR   K,P                 ; 06ec 08&lt;br /&gt;
                PI   pushk               ; 06ed 28 01 07&lt;br /&gt;
                LR   A,S              ; 06f0 4c&lt;br /&gt;
                XS   $1                  ; 06f1 e1&lt;br /&gt;
                BNZ  A06f9            ; 06f2 94 06&lt;br /&gt;
                LR   A,I             ; 06f4 4d&lt;br /&gt;
                LR   A,D             ; 06f5 4e&lt;br /&gt;
                XS   $2                  ; 06f6 e2&lt;br /&gt;
                BT   4,A0714             ; 06f7 84 1c&lt;br /&gt;
A06f9:          LR   A,$1                ; 06f9 41&lt;br /&gt;
                LR   $5,A                ; 06fa 55&lt;br /&gt;
                LR   A,$2                ; 06fb 42&lt;br /&gt;
                LR   $6,A                ; 06fc 56&lt;br /&gt;
                LR   A,S              ; 06fd 4c&lt;br /&gt;
                LR   $1,A                ; 06fe 51&lt;br /&gt;
                LR   A,$5                ; 06ff 45&lt;br /&gt;
                LR   I,A             ; 0700 5d&lt;br /&gt;
                LR   A,S              ; 0701 4c&lt;br /&gt;
                LR   $2,A                ; 0702 52&lt;br /&gt;
                LR   A,$6                ; 0703 46&lt;br /&gt;
                LR   D,A             ; 0704 5e&lt;br /&gt;
                LIS  $d                  ; 0705 7d&lt;br /&gt;
                LR   $0,A                ; 0706 50&lt;br /&gt;
                DCI  bitmaps             ; 0707 2a 07 67&lt;br /&gt;
                PI   A0718               ; 070a 28 07 18&lt;br /&gt;
                DCI  bitmaps             ; 070d 2a 07 67&lt;br /&gt;
                LR   A,I             ; 0710 4d&lt;br /&gt;
                LR   $1,A                ; 0711 51&lt;br /&gt;
                LR   A,D             ; 0712 4e&lt;br /&gt;
                LR   $2,A                ; 0713 52&lt;br /&gt;
A0714:          PI   popk                ; 0714 28 01 1e&lt;br /&gt;
                PK                       ; 0717 0c&lt;br /&gt;
                &lt;br /&gt;
A0718:          LR   A,$0                ; 0718 40&lt;br /&gt;
                SL   1                   ; 0719 13&lt;br /&gt;
                ADC                      ; 071a 8e&lt;br /&gt;
                AS   $0                  ; 071b c0&lt;br /&gt;
                ADC                      ; 071c 8e&lt;br /&gt;
                LI   $40                 ; 071d 20 40&lt;br /&gt;
                OUTS 0                   ; 071f b0&lt;br /&gt;
                LR   A,$4                ; 0720 44&lt;br /&gt;
                LR   $6,A                ; 0721 56&lt;br /&gt;
A0722:          LR   $5,A                ; 0722 55&lt;br /&gt;
                LM                       ; 0723 16&lt;br /&gt;
                LR   $7,A                ; 0724 57&lt;br /&gt;
                LR   A,$2                ; 0725 42&lt;br /&gt;
                AI   $00                 ; 0726 24 00&lt;br /&gt;
                COM                      ; 0728 18&lt;br /&gt;
                NI   $3f                 ; 0729 21 3f&lt;br /&gt;
                LR   $8,A                ; 072b 58&lt;br /&gt;
                INS  5                   ; 072c a5&lt;br /&gt;
                NI   $c0                 ; 072d 21 c0&lt;br /&gt;
                AS   $8                  ; 072f c8&lt;br /&gt;
                OUTS 5                   ; 0730 b5&lt;br /&gt;
A0731:          LR   A,$1                ; 0731 41&lt;br /&gt;
                AI   $fc                 ; 0732 24 fc&lt;br /&gt;
                COM                      ; 0734 18&lt;br /&gt;
                OUTS 4                   ; 0735 b4&lt;br /&gt;
                LR   A,$7                ; 0736 47&lt;br /&gt;
                OI   $00                 ; 0737 22 00&lt;br /&gt;
                LR   A,$3                ; 0739 43&lt;br /&gt;
                BF   $1,A073d            ; 073a 91 02&lt;br /&gt;
                LIS  $0                  ; 073c 70&lt;br /&gt;
A073d:          COM                      ; 073d 18&lt;br /&gt;
                OUTS 1                   ; 073e b1&lt;br /&gt;
                LR   A,$7                ; 073f 47&lt;br /&gt;
                SL   1                   ; 0740 13&lt;br /&gt;
                LR   $7,A                ; 0741 57&lt;br /&gt;
                LI   $60                 ; 0742 20 60&lt;br /&gt;
                OUTS 0                   ; 0744 b0&lt;br /&gt;
                LI   $50                 ; 0745 20 50 - bit 4 is however n/c, so $40 can be used&lt;br /&gt;
                OUTS 0                   ; 0747 b0&lt;br /&gt;
                LR   A,$1                ; 0748 41&lt;br /&gt;
                INC                      ; 0749 1f&lt;br /&gt;
                LR   $1,A                ; 074a 51&lt;br /&gt;
&lt;br /&gt;
                LIS  $4                  ; 074b 74  after pixel delay&lt;br /&gt;
                LR   $8,A                ; 074c 58&lt;br /&gt;
A074d:          DS   $8                  ; 074d 38&lt;br /&gt;
                BNZ  A074d               ; 074e 94 fe&lt;br /&gt;
&lt;br /&gt;
                DS   $5                  ; 0750 35&lt;br /&gt;
                BNZ  A0731               ; 0751 94 df&lt;br /&gt;
                LR   A,$2                ; 0753 42&lt;br /&gt;
                INC                      ; 0754 1f&lt;br /&gt;
                LR   $2,A                ; 0755 52&lt;br /&gt;
                LR   A,$4                ; 0756 44&lt;br /&gt;
                COM                      ; 0757 18&lt;br /&gt;
                INC                      ; 0758 1f&lt;br /&gt;
                AS   $1                  ; 0759 c1&lt;br /&gt;
                LR   $1,A                ; 075a 51&lt;br /&gt;
                LR   A,$4                ; 075b 44&lt;br /&gt;
                DS   $6                  ; 075c 36&lt;br /&gt;
                BNZ  A0722            ; 075d 94 c4&lt;br /&gt;
                LR   A,$4                ; 075f 44&lt;br /&gt;
                COM                      ; 0760 18&lt;br /&gt;
                INC                      ; 0761 1f&lt;br /&gt;
                AS   $2                  ; 0762 c2&lt;br /&gt;
                LR   $2,A                ; 0763 52&lt;br /&gt;
                LIS  $0                  ; 0764 70&lt;br /&gt;
                OUTS 0                   ; 0765 b0&lt;br /&gt;
                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
&lt;br /&gt;
			                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
	; 0 $0767&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 1 $076C&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; 2 $0771&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 3 $0776&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 4 $077B&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; 5 $0780&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 6 $0785&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 7 $078A&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; 8 $078F&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 9 $0794&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; G $0799&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%10011000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; ? $079E&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; T $07A3&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; (space) $07A8&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; M $07AD&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
&lt;br /&gt;
	; X $07B2&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
&lt;br /&gt;
	; (block) $07B7&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
&lt;br /&gt;
	; : $07BC&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; - $07C1&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; || (center) $07C6&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
&lt;br /&gt;
	; || (left) $07CB&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
&lt;br /&gt;
	; ' $07D0&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players $07D5&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 1 $07DA&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 2 $07DF&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 3 $07E4&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 4 $07E9&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 5 $07EE&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 6 $07F3&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 7 $07F8&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; $07FD&lt;br /&gt;
	.byte	0,0,0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=767</id>
		<title>Disassembly:Bios</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Disassembly:Bios&amp;diff=767"/>
				<updated>2026-08-03T17:36:15Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is the disassembly of the [[Channel F]] [[bios]] made and partially annotated by Sean Riddle. This code is copyright &amp;amp;copy; 1976 Fairchild Semiconductor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cartridgeStart = $0800&lt;br /&gt;
cartridgeEntry = $0802&lt;br /&gt;
&lt;br /&gt;
;=======;&lt;br /&gt;
; Reset ;&lt;br /&gt;
;=======;&lt;br /&gt;
&lt;br /&gt;
; this is the code executed when the system first&lt;br /&gt;
; starts up. it clears the registers, sets the K stack&lt;br /&gt;
; pointer, and checks to see if a cartridge is inserted&lt;br /&gt;
&lt;br /&gt;
reset:&lt;br /&gt;
	clr&lt;br /&gt;
reset.clrRegs:				; clear all the registers to 0&lt;br /&gt;
	lr	IS, A			; set the ISAR&lt;br /&gt;
	clr&lt;br /&gt;
	lr	S, A			; clear the current register&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc				; increase the ISAR&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bnz	reset.clrRegs		; if we're not finished, loop&lt;br /&gt;
&lt;br /&gt;
	; set K stack pointer (see pushk/popk)&lt;br /&gt;
	lisu	7			; K stack pointer (r59)&lt;br /&gt;
	lisl	3&lt;br /&gt;
	li	$28&lt;br /&gt;
	lr	S, A			; pointer is set to r40&lt;br /&gt;
&lt;br /&gt;
	; check to see if a cartridge is inserted&lt;br /&gt;
	dci	cartridgeStart&lt;br /&gt;
	lm&lt;br /&gt;
	ci	$55			; compare the first cartridge byte to $55&lt;br /&gt;
	bnz	noCart			; if it's false, there's no valid cartridge inserted&lt;br /&gt;
	jmp	cartridgeEntry		; otherwise, play the cartridge&lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; No Cartridge ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; no cartridge is inserted, so play the internal games&lt;br /&gt;
                &lt;br /&gt;
noCart:&lt;br /&gt;
	; clear screen to gray&lt;br /&gt;
	li	$d6&lt;br /&gt;
	lr	3, A&lt;br /&gt;
	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
A0020:          LI   $4a                 ; blue G&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; 0026 63&lt;br /&gt;
                LISL 4                   ; 0027 6c&lt;br /&gt;
                LIS  $4                  ; 0028 74&lt;br /&gt;
                LR   S,A              ; 0029 5c&lt;br /&gt;
                LR   A,$4                ; 002a 44&lt;br /&gt;
                LISL 7                   ; 002b 6f&lt;br /&gt;
                LR   S,A              ; 002c 5c&lt;br /&gt;
                CI   $03                 ; 002d 25 03&lt;br /&gt;
                BF   $1,A0020            ; 002f 91 f0&lt;br /&gt;
                PI   A0135               ; 0031 28 01 35&lt;br /&gt;
                PI   prompts             ; 0034 28 02 24&lt;br /&gt;
A0037:          PI   A0088               ; 0037 28 00 88&lt;br /&gt;
                PI   A02da               ; 003a 28 02 da&lt;br /&gt;
                PI   A0088               ; 003d 28 00 88&lt;br /&gt;
                PI   A02e8               ; 0040 28 02 e8&lt;br /&gt;
                PI   A0088               ; 0043 28 00 88&lt;br /&gt;
                NI   $04                 ; 0046 21 04&lt;br /&gt;
                BT   4,A0050             ; 0048 84 07&lt;br /&gt;
                PI   A038c               ; 004a 28 03 8c&lt;br /&gt;
                PI   A0399               ; 004d 28 03 99&lt;br /&gt;
A0050:          PI   A0658               ; 0050 28 06 58&lt;br /&gt;
                PI   A0467               ; 0053 28 04 67&lt;br /&gt;
                PI   A03d3               ; 0056 28 03 d3&lt;br /&gt;
                LISU 3                   ; 0059 63&lt;br /&gt;
                LISL 7                   ; 005a 6f&lt;br /&gt;
                LR   A,S              ; 005b 4c&lt;br /&gt;
                CI   $02                 ; 005c 25 02&lt;br /&gt;
                BNZ  A0063            ; 005e 94 04&lt;br /&gt;
                PI   A0447               ; 0060 28 04 47&lt;br /&gt;
A0063:          LISU 4                   ; 0063 64&lt;br /&gt;
                LISL 7                   ; 0064 6f&lt;br /&gt;
                LR   A,S              ; 0065 4c&lt;br /&gt;
                INC                      ; 0066 1f&lt;br /&gt;
                LR   S,A              ; 0067 5c&lt;br /&gt;
                LIS  $0                  ; 0068 70&lt;br /&gt;
                OUTS 0                   ; 0069 b0&lt;br /&gt;
                INS  0                   ; read buttons&lt;br /&gt;
                NI   $04                 ; hold button hit?&lt;br /&gt;
                BNZ  A0072            ; nope&lt;br /&gt;
                PI   prompts             ; yes, print S? and wait&lt;br /&gt;
A0072:          LISU 3                   ; 0072 63&lt;br /&gt;
                LISL 4                   ; 0073 6c&lt;br /&gt;
                DCI  speeds              ; 0074 2a 00 83&lt;br /&gt;
                LR   A,S              ; 0077 4c&lt;br /&gt;
                SR   1                   ; 0078 12&lt;br /&gt;
                ADC                      ; 0079 8e&lt;br /&gt;
                LM                       ; 007a 16&lt;br /&gt;
                LR   $5,A                ; 007b 55&lt;br /&gt;
                PI   delay               ; 007c 28 00 8f&lt;br /&gt;
                LIS  $0                  ; turn off sound&lt;br /&gt;
                OUTS 5                   ; 0080 b5&lt;br /&gt;
                BF   $0,A0037            ; 0081 90 b5&lt;br /&gt;
                &lt;br /&gt;
speeds:			db	$22,$13,$07,$03,$03		; mode speeds&lt;br /&gt;
&lt;br /&gt;
A0088:          LISU 4                   ;&lt;br /&gt;
                LISL 6                   ; &lt;br /&gt;
                LR   A,D             ; &lt;br /&gt;
                LR   $1,A                ; r1=r38&lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                LR   $0,A                ; r0=r37&lt;br /&gt;
                POP                      ; &lt;br /&gt;
                &lt;br /&gt;
delay:          LI   $ff                 ;$008f - parameter in r5, uses r6&lt;br /&gt;
                LR   $6,A                ;&lt;br /&gt;
dlyloop:        DS   $6                  ;&lt;br /&gt;
                BNZ  dlyloop          ;&lt;br /&gt;
                DS   $5                  ;&lt;br /&gt;
                BNZ  delay            ;&lt;br /&gt;
                POP                      ;&lt;br /&gt;
                &lt;br /&gt;
prompt:         LR   K,P                 ; $0099 - prints char r0 at row r1, col r2, waits for button&lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                LI   $8b                 ; r0=8b	red ?&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                &lt;br /&gt;
                PI   readbuts            ; &lt;br /&gt;
                LI   $33                 ; r1=$33&lt;br /&gt;
                LR   $1,A                ; &lt;br /&gt;
                LI   $13                 ; r2=$13&lt;br /&gt;
                LR   $2,A                ; &lt;br /&gt;
                LIS  $d                  ; r0=$d&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   drawchar            ; &lt;br /&gt;
                PI   popk                ; &lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
readbuts:       INS  0                   ; $00c1 - read buttons&lt;br /&gt;
                COM                      ; &lt;br /&gt;
                NI   $0f                 ; &lt;br /&gt;
                BT   4,readbuts          ; &lt;br /&gt;
                LR   $4,A                ; &lt;br /&gt;
                LI   $ff                 ; &lt;br /&gt;
                LR   $5,A                ; &lt;br /&gt;
debounce:       DS   $5                  ; &lt;br /&gt;
                BNZ  debounce         ; &lt;br /&gt;
                BF   $0,delay            ; &lt;br /&gt;
&lt;br /&gt;
;==============;&lt;br /&gt;
; Clear Screen ;&lt;br /&gt;
;==============;&lt;br /&gt;
&lt;br /&gt;
; clears the screen to a color and palette specified in r3&lt;br /&gt;
&lt;br /&gt;
	; clear screen to gray&lt;br /&gt;
;	li	$d6&lt;br /&gt;
	; clear screen to green&lt;br /&gt;
;	li	$c0&lt;br /&gt;
	; clear screen to b/w&lt;br /&gt;
;	li	$21&lt;br /&gt;
	; clear screen to blue&lt;br /&gt;
;	li	$93&lt;br /&gt;
;	lr	3, A&lt;br /&gt;
;	pi	clrscrn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
clrscrn:                                    ; $00D0&lt;br /&gt;
	; save return address&lt;br /&gt;
	lr	K, P&lt;br /&gt;
	pi	pushk&lt;br /&gt;
&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	2, A&lt;br /&gt;
clrscrn.loop2:&lt;br /&gt;
	li	$7e&lt;br /&gt;
	lr	1, A&lt;br /&gt;
	lr	A, 3&lt;br /&gt;
	oi	10&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar&lt;br /&gt;
	lis	5			; this is LIS 4 in other BIOS!!!&lt;br /&gt;
	lr	1, A&lt;br /&gt;
clrscrn.loop1:&lt;br /&gt;
	lis	13&lt;br /&gt;
	lr	0, A&lt;br /&gt;
	pi	drawchar	&lt;br /&gt;
	ds	1&lt;br /&gt;
	lr	A, 1&lt;br /&gt;
	ci	$70&lt;br /&gt;
	bc	clrscrn.loop1&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ai	5&lt;br /&gt;
	lr	2, A&lt;br /&gt;
	lisu	3&lt;br /&gt;
	lisl	7&lt;br /&gt;
	lis	3&lt;br /&gt;
	ns	S&lt;br /&gt;
	bz	A00fe&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$30&lt;br /&gt;
	bc	csloop2&lt;br /&gt;
	lis	0&lt;br /&gt;
	lr	3, A&lt;br /&gt;
A00fe:&lt;br /&gt;
	lr	A, 2&lt;br /&gt;
	ci	$40&lt;br /&gt;
	bc	clrscrn.loop2&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pi	popk&lt;br /&gt;
	pk&lt;br /&gt;
&lt;br /&gt;
;==================;&lt;br /&gt;
; Register K Stack ;&lt;br /&gt;
;==================;&lt;br /&gt;
&lt;br /&gt;
; the K stack is an emulated stack using the register r59&lt;br /&gt;
; as a stack pointer, which holds the register number for&lt;br /&gt;
; the top of the stack, which first points at r40. when&lt;br /&gt;
; pushk is called, K is pushed to the first two registers&lt;br /&gt;
; on the stack, and the pointer is increased.&lt;br /&gt;
;&lt;br /&gt;
; the K stack can hold 9 copies of K (r40-58) before &lt;br /&gt;
; the stack pointer itself is overwritten (r59)&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Push K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; pushes register K (r12-13) onto a stack using r59 as&lt;br /&gt;
; the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
&lt;br /&gt;
pushk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; get the top of the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3			; r59, stack pointer&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	IS, A			; load the referenced register&lt;br /&gt;
	; push K onto the stack&lt;br /&gt;
	lr	A, Ku&lt;br /&gt;
	lr	S, A			; push high byte of K&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR (they could've used lr I, A)&lt;br /&gt;
	lr	A, Kl&lt;br /&gt;
	lr	S, A			; push low byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	inc&lt;br /&gt;
	lr	IS, A			; increase ISAR to the top of the stack&lt;br /&gt;
	lr	A, IS			; redundantly, get back the register number&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;--------;&lt;br /&gt;
; Pop K ;&lt;br /&gt;
;--------;&lt;br /&gt;
&lt;br /&gt;
; retrieves a 16-bit value from the K stack and&lt;br /&gt;
; stores it in K, using r59 as the stack pointer&lt;br /&gt;
;&lt;br /&gt;
; modifies: r7&lt;br /&gt;
                &lt;br /&gt;
popk:&lt;br /&gt;
	; backup the ISAR&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	; retrieve K from the stack&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	A, S			; load the stack pointer&lt;br /&gt;
	ai	$ff			; &amp;quot;subtract&amp;quot; 1 to get the first register on the stack&lt;br /&gt;
	lr	IS, A			; set the ISAR to this register&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Kl, A			; load lower byte of K &lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	ai	$ff			; get previous register (they could've used lr A, D)&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
	lr	A, S&lt;br /&gt;
	lr	Ku, A			; load upper byte of K&lt;br /&gt;
	; adjust pointer to the top of the stack&lt;br /&gt;
	lr	A, IS&lt;br /&gt;
	lisu	7&lt;br /&gt;
	lisl	3&lt;br /&gt;
	lr	S, A			; save the register number to the stack pointer&lt;br /&gt;
&lt;br /&gt;
	; restore the ISAR&lt;br /&gt;
	lr	A, 7&lt;br /&gt;
	lr	IS, A&lt;br /&gt;
&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
;===================;&lt;br /&gt;
                &lt;br /&gt;
A0135:          LR   K,P                 ; 0135 08&lt;br /&gt;
                PI   pushk               ; 0136 28 01 07&lt;br /&gt;
                LISU 3                   ; 0139 63&lt;br /&gt;
                LISL 7                   ; 013a 6f&lt;br /&gt;
                LR   A,S              ; 013b 4c&lt;br /&gt;
                LISU 4                   ; 013c 64&lt;br /&gt;
                LISL 5                   ; 013d 6d&lt;br /&gt;
                CI   $01                 ; 013e 25 01&lt;br /&gt;
                BT   4,A014f             ; 0140 84 0e&lt;br /&gt;
                LI   $53                 ; 0142 20 53&lt;br /&gt;
                LR   I,A             ; 0144 5d&lt;br /&gt;
                LIS  $c                  ; 0145 7c	!!! this is 7F in other BIOS&lt;br /&gt;
                LR   D,A             ; 0146 5e&lt;br /&gt;
                LI   $d0                 ; 0147 20 d0&lt;br /&gt;
                LR   $3,A                ; 0149 53&lt;br /&gt;
                PI   clrscrn             ; 014a 28 00 d0&lt;br /&gt;
                BF   $0,A017d            ; 014d 90 2f&lt;br /&gt;
                &lt;br /&gt;
A014f:          LI   $17                 ; 014f 20 17&lt;br /&gt;
                LR   I,A             ; 0151 5d&lt;br /&gt;
                LI   $ff                 ; 0152 20 ff&lt;br /&gt;
                LR   S,A              ; 0154 5c&lt;br /&gt;
                LI   $d6                 ; 0155 20 d6&lt;br /&gt;
                LR   $3,A                ; 0157 53&lt;br /&gt;
                PI   clrscrn             ; 0158 28 00 d0&lt;br /&gt;
                LI   $11                 ; 015b 20 11&lt;br /&gt;
                LR   $1,A                ; 015d 51&lt;br /&gt;
                LIS  $8                  ; 015e 78&lt;br /&gt;
                LR   $2,A                ; 015f 52&lt;br /&gt;
                PI   A01f6               ; 0160 28 01 f6&lt;br /&gt;
                LI   $11                 ; 0163 20 11&lt;br /&gt;
                LR   $1,A                ; 0165 51&lt;br /&gt;
                LI   $25                 ; 0166 20 25&lt;br /&gt;
                LR   $2,A                ; 0168 52&lt;br /&gt;
                PI   A01f6               ; 0169 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 016c 20 5c&lt;br /&gt;
                LR   $1,A                ; 016e 51&lt;br /&gt;
                LIS  $8                  ; 016f 78&lt;br /&gt;
                LR   $2,A                ; 0170 52&lt;br /&gt;
                PI   A01f6               ; 0171 28 01 f6&lt;br /&gt;
                LI   $5c                 ; 0174 20 5c&lt;br /&gt;
                LR   $1,A                ; 0176 51&lt;br /&gt;
                LI   $25                 ; 0177 20 25&lt;br /&gt;
                LR   $2,A                ; 0179 52&lt;br /&gt;
                PI   A01f6               ; 017a 28 01 f6&lt;br /&gt;
A017d:          LI   $14                 ; 017d 20 14&lt;br /&gt;
                LR   $1,A                ; 017f 51&lt;br /&gt;
                LIS  $6                  ; 0180 76&lt;br /&gt;
                LR   $2,A                ; 0181 52&lt;br /&gt;
                PI   A020e               ; 0182 28 02 0e&lt;br /&gt;
                LI   $14                 ; 0185 20 14&lt;br /&gt;
                LR   $1,A                ; 0187 51&lt;br /&gt;
                LI   $2e                 ; 0188 20 2e&lt;br /&gt;
                LR   $2,A                ; 018a 52&lt;br /&gt;
                PI   A020e               ; 018b 28 02 0e&lt;br /&gt;
                LI   $99                 ; 018e 20 99&lt;br /&gt;
                LISU 2                   ; 0190 62&lt;br /&gt;
                LISL 6                   ; 0191 6e&lt;br /&gt;
                LR   I,A             ; 0192 5d&lt;br /&gt;
                LR   S,A              ; 0193 5c&lt;br /&gt;
                PI   A02ac               ; 0194 28 02 ac&lt;br /&gt;
                PI   A02b5               ; 0197 28 02 b5&lt;br /&gt;
                LISU 4                   ; 019a 64&lt;br /&gt;
                LISL 2                   ; 019b 6a&lt;br /&gt;
                LIS  $2                  ; 019c 72&lt;br /&gt;
                LR   S,A              ; 019d 5c&lt;br /&gt;
                BF   $0,A01a4            ; 019e 90 05&lt;br /&gt;
                &lt;br /&gt;
A01a0:          LR   K,P                 ; 01a0 08&lt;br /&gt;
                PI   pushk               ; 01a1 28 01 07&lt;br /&gt;
A01a4:          LISU 2                   ; 01a4 62&lt;br /&gt;
                LISL 0                   ; 01a5 68&lt;br /&gt;
                LI   $17                 ; 01a6 20 17&lt;br /&gt;
                LR   S,A              ; 01a8 5c&lt;br /&gt;
                LISL 3                   ; 01a9 6b&lt;br /&gt;
                LR   S,A              ; 01aa 5c&lt;br /&gt;
                LI   $1c                 ; 01ab 20 1c&lt;br /&gt;
                LR   $1,A                ; 01ad 51&lt;br /&gt;
                LI   $1a                 ; 01ae 20 1a&lt;br /&gt;
                LR   $2,A                ; 01b0 52&lt;br /&gt;
                LI   $b0                 ; 01b1 20 b0&lt;br /&gt;
                LR   $0,A                ; 01b3 50&lt;br /&gt;
                PI   drawchar            ; 01b4 28 06 79&lt;br /&gt;
                LI   $38                 ; 01b7 20 38&lt;br /&gt;
                LR   $1,A                ; 01b9 51&lt;br /&gt;
                LI   $1b                 ; 01ba 20 1b&lt;br /&gt;
                LR   $2,A                ; 01bc 52&lt;br /&gt;
                LI   $55                 ; 01bd 20 55&lt;br /&gt;
                LR   $0,A                ; 01bf 50&lt;br /&gt;
                PI   drawchar            ; 01c0 28 06 79&lt;br /&gt;
                LI   $52                 ; 01c3 20 52&lt;br /&gt;
                LR   $1,A                ; 01c5 51&lt;br /&gt;
                LI   $1a                 ; 01c6 20 1a&lt;br /&gt;
                LR   $2,A                ; 01c8 52&lt;br /&gt;
                LI   $71                 ; 01c9 20 71&lt;br /&gt;
                LR   $0,A                ; 01cb 50&lt;br /&gt;
                PI   drawchar            ; 01cc 28 06 79&lt;br /&gt;
                LISU 4                   ; 01cf 64&lt;br /&gt;
                LISL 5                   ; 01d0 6d&lt;br /&gt;
                LR   A,S              ; 01d1 4c&lt;br /&gt;
                SL   1                   ; 01d2 13&lt;br /&gt;
                BT   1,A01da             ; 01d3 81 06&lt;br /&gt;
                PI   A0447               ; 01d5 28 04 47&lt;br /&gt;
                BF   $0,A01f2            ; 01d8 90 19&lt;br /&gt;
                &lt;br /&gt;
A01da:          LI   $11                 ; 01da 20 11&lt;br /&gt;
                LR   $1,A                ; 01dc 51&lt;br /&gt;
                LI   $1a                 ; 01dd 20 1a&lt;br /&gt;
                LR   $2,A                ; 01df 52&lt;br /&gt;
                LI   $b2                 ; 01e0 20 b2&lt;br /&gt;
                LR   $0,A                ; 01e2 50&lt;br /&gt;
                PI   drawchar            ; 01e3 28 06 79&lt;br /&gt;
                LI   $5e                 ; 01e6 20 5e&lt;br /&gt;
                LR   $1,A                ; 01e8 51&lt;br /&gt;
                LI   $1a                 ; 01e9 20 1a&lt;br /&gt;
                LR   $2,A                ; 01eb 52&lt;br /&gt;
                LI   $73                 ; 01ec 20 73&lt;br /&gt;
                LR   $0,A                ; 01ee 50&lt;br /&gt;
                PI   drawchar            ; 01ef 28 06 79&lt;br /&gt;
A01f2:          PI   popk                ; 01f2 28 01 1e&lt;br /&gt;
                PK                       ; 01f5 0c&lt;br /&gt;
                &lt;br /&gt;
A01f6:          LR   K,P                 ; 01f6 08&lt;br /&gt;
                PI   pushk               ; 01f7 28 01 07&lt;br /&gt;
                LIS  $8                  ; 01fa 78&lt;br /&gt;
                LR   $3,A                ; 01fb 53&lt;br /&gt;
A01fc:          LI   $81                 ; 01fc 20 81&lt;br /&gt;
                LR   $0,A                ; 01fe 50&lt;br /&gt;
                PI   drawchar            ; 01ff 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0202 41&lt;br /&gt;
                AI   $fa                 ; 0203 24 fa&lt;br /&gt;
                LR   $1,A                ; 0205 51&lt;br /&gt;
                LR   A,$2                ; 0206 42&lt;br /&gt;
                INC                      ; 0207 1f&lt;br /&gt;
                LR   $2,A                ; 0208 52&lt;br /&gt;
                DS   $3                  ; 0209 33&lt;br /&gt;
                BNZ  A01fc            ; 020a 94 f1&lt;br /&gt;
                BF   $0,A01f2            ; 020c 90 e5&lt;br /&gt;
                &lt;br /&gt;
A020e:          LR   K,P                 ; 020e 08&lt;br /&gt;
                PI   pushk               ; 020f 28 01 07&lt;br /&gt;
                LI   $46                 ; 0212 20 46&lt;br /&gt;
                LR   $3,A                ; 0214 53&lt;br /&gt;
A0215:          LI   $92                 ; 0215 20 92&lt;br /&gt;
                LR   $0,A                ; 0217 50&lt;br /&gt;
                PI   drawchar            ; 0218 28 06 79&lt;br /&gt;
                LR   A,$1                ; 021b 41&lt;br /&gt;
                AI   $fb                 ; 021c 24 fb&lt;br /&gt;
                LR   $1,A                ; 021e 51&lt;br /&gt;
                DS   $3                  ; 021f 33&lt;br /&gt;
                BNZ  A0215            ; 0220 94 f4&lt;br /&gt;
                BF   $0,A01f2            ; 0222 90 cf&lt;br /&gt;
                &lt;br /&gt;
prompts:        LR   K,P                 ; &lt;br /&gt;
                PI   pushk               ; &lt;br /&gt;
prompts2:       LI   $85                 ; red 5 (S)&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                CI   $08                 ; is it button 4, Start?&lt;br /&gt;
                BNZ  notbut4          ; no, check others&lt;br /&gt;
                PI   popk                ; yes, return&lt;br /&gt;
                PK                       ; &lt;br /&gt;
                &lt;br /&gt;
notbut4:        CI   $02                 ; is it button 2, Mode?&lt;br /&gt;
                BNZ  notbut2          ; &lt;br /&gt;
                LI   $8e                 ; red M&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                LISU 3                   ; &lt;br /&gt;
                LISL 4                   ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
notbut2:        CI   $01                 ; is it button 1, Time?&lt;br /&gt;
                BNZ  prompts2         ; &lt;br /&gt;
                LI   $8c                 ; red T&lt;br /&gt;
                LR   $0,A                ; &lt;br /&gt;
                PI   prompt              ; &lt;br /&gt;
                DCI  minutes             ; &lt;br /&gt;
                LR   A,$4                ; &lt;br /&gt;
                SR   1                   ; &lt;br /&gt;
                ADC                      ; &lt;br /&gt;
                LM                       ; &lt;br /&gt;
                LISU 7                   ; &lt;br /&gt;
                LISL 1                   ; &lt;br /&gt;
                LR   I,A             ; &lt;br /&gt;
                LIS  $0                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                LISU 6                   ; &lt;br /&gt;
                LISL 7                   ; &lt;br /&gt;
                LIS  $f                  ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                PI   A0271               ; &lt;br /&gt;
                LISU 4                   ; &lt;br /&gt;
                LISL 5                   ; &lt;br /&gt;
                LR   A,S              ; &lt;br /&gt;
                OI   $20                 ; &lt;br /&gt;
                LR   S,A              ; &lt;br /&gt;
                BF   $0,prompts2         ; &lt;br /&gt;
                &lt;br /&gt;
minutes:		db $02,$05,$10,$10,$20		; minutes of play&lt;br /&gt;
                &lt;br /&gt;
A0271:			LR   K,P                 ; 0271 08&lt;br /&gt;
                PI   pushk               ; 0272 28 01 07&lt;br /&gt;
                LISU 7                   ; 0275 67&lt;br /&gt;
                LISL 2                   ; 0276 6a&lt;br /&gt;
                LR   A,D             ; 0277 4e&lt;br /&gt;
                LR   $4,A                ; 0278 54&lt;br /&gt;
                LR   A,S              ; 0279 4c&lt;br /&gt;
                LR   $3,A                ; 027a 53&lt;br /&gt;
                SR   4                   ; 027b 14&lt;br /&gt;
                OI   $80                 ; 027c 22 80&lt;br /&gt;
                LR   $0,A                ; 027e 50&lt;br /&gt;
                LI   $2a                 ; 027f 20 2a&lt;br /&gt;
                LR   $1,A                ; 0281 51&lt;br /&gt;
                LI   $33                 ; 0282 20 33&lt;br /&gt;
                LR   $2,A                ; 0284 52&lt;br /&gt;
                PI   drawchar            ; 0285 28 06 79&lt;br /&gt;
                LR   A,$3                ; 0288 43&lt;br /&gt;
                NI   $0f                 ; 0289 21 0f&lt;br /&gt;
                OI   $80                 ; 028b 22 80&lt;br /&gt;
                LR   $0,A                ; 028d 50&lt;br /&gt;
                PI   drawchar            ; 028e 28 06 79&lt;br /&gt;
                LI   $91                 ; 0291 20 91&lt;br /&gt;
                LR   $0,A                ; 0293 50&lt;br /&gt;
                PI   drawchar            ; 0294 28 06 79&lt;br /&gt;
                LR   A,$4                ; 0297 44&lt;br /&gt;
                SR   4                   ; 0298 14&lt;br /&gt;
                OI   $80                 ; 0299 22 80&lt;br /&gt;
                LR   $0,A                ; 029b 50&lt;br /&gt;
                PI   drawchar            ; 029c 28 06 79&lt;br /&gt;
                LR   A,$4                ; 029f 44&lt;br /&gt;
                NI   $0f                 ; 02a0 21 0f&lt;br /&gt;
                OI   $80                 ; 02a2 22 80&lt;br /&gt;
                LR   $0,A                ; 02a4 50&lt;br /&gt;
                PI   drawchar            ; 02a5 28 06 79&lt;br /&gt;
                PI   popk                ; 02a8 28 01 1e&lt;br /&gt;
                PK                       ; 02ab 0c&lt;br /&gt;
                &lt;br /&gt;
A02ac:          LR   K,P                 ; 02ac 08&lt;br /&gt;
                PI   pushk               ; 02ad 28 01 07&lt;br /&gt;
                LISL 6                   ; 02b0 6e&lt;br /&gt;
                LI   $17                 ; 02b1 20 17&lt;br /&gt;
                BF   $0,A02bc            ; 02b3 90 08&lt;br /&gt;
                &lt;br /&gt;
A02b5:          LR   K,P                 ; 02b5 08&lt;br /&gt;
                PI   pushk               ; 02b6 28 01 07&lt;br /&gt;
                LISL 7                   ; 02b9 6f&lt;br /&gt;
                LI   $50                 ; 02ba 20 50&lt;br /&gt;
A02bc:          LISU 2                   ; 02bc 62&lt;br /&gt;
                LR   $1,A                ; 02bd 51&lt;br /&gt;
                LI   $33                 ; 02be 20 33&lt;br /&gt;
                LR   $2,A                ; 02c0 52&lt;br /&gt;
                LIS  $1                  ; 02c1 71&lt;br /&gt;
                AI   $66                 ; 02c2 24 66&lt;br /&gt;
                ASD  S                ; 02c4 dc&lt;br /&gt;
                LR   S,A              ; 02c5 5c&lt;br /&gt;
                SR   4                   ; 02c6 14&lt;br /&gt;
                OI   $40                 ; 02c7 22 40&lt;br /&gt;
                LR   $0,A                ; 02c9 50&lt;br /&gt;
                PI   drawchar            ; 02ca 28 06 79&lt;br /&gt;
                LR   A,S              ; 02cd 4c&lt;br /&gt;
                NI   $0f                 ; 02ce 21 0f&lt;br /&gt;
                OI   $40                 ; 02d0 22 40&lt;br /&gt;
                LR   $0,A                ; 02d2 50&lt;br /&gt;
                PI   drawchar            ; 02d3 28 06 79&lt;br /&gt;
                PI   popk                ; 02d6 28 01 1e&lt;br /&gt;
                PK                       ; 02d9 0c&lt;br /&gt;
                &lt;br /&gt;
A02da:          LR   K,P                 ; 02da 08&lt;br /&gt;
                PI   pushk               ; 02db 28 01 07&lt;br /&gt;
                LI   $b0                 ; 02de 20 b0&lt;br /&gt;
                LR   $4,A                ; 02e0 54&lt;br /&gt;
                LISU 2                   ; 02e1 62&lt;br /&gt;
                LISL 1                   ; 02e2 69&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02e3 70&lt;br /&gt;
                OUTS 4                   ; 02e4 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A02f4            ; 02e6 90 0d&lt;br /&gt;
                &lt;br /&gt;
A02e8:          LR   K,P                 ; 02e8 08&lt;br /&gt;
                PI   pushk               ; 02e9 28 01 07&lt;br /&gt;
                LI   $71                 ; 02ec 20 71&lt;br /&gt;
                LR   $4,A                ; 02ee 54&lt;br /&gt;
                LISU 2                   ; 02ef 62&lt;br /&gt;
                LISL 4                   ; 02f0 6c&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 02f1 70&lt;br /&gt;
                OUTS 1                   ; 02f2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A02f4:          COM                      ; 02f4 18&lt;br /&gt;
                NS   $1                  ; 02f5 f1&lt;br /&gt;
                LR   $0,A                ; 02f6 50&lt;br /&gt;
                LR   A,I             ; 02f7 4d&lt;br /&gt;
                LR   $1,A                ; 02f8 51&lt;br /&gt;
                LR   A,S              ; 02f9 4c&lt;br /&gt;
                LR   $2,A                ; 02fa 52&lt;br /&gt;
                LIS  $1                  ; 02fb 71&lt;br /&gt;
                NS   $0                  ; 02fc f0&lt;br /&gt;
                BT   4,A0303             ; 02fd 84 05&lt;br /&gt;
                LR   A,$1                ; 02ff 41&lt;br /&gt;
                AI   $02                 ; 0300 24 02&lt;br /&gt;
                LR   $1,A                ; 0302 51&lt;br /&gt;
A0303:          LIS  $2                  ; 0303 72&lt;br /&gt;
                NS   $0                  ; 0304 f0&lt;br /&gt;
                BT   4,A030b             ; 0305 84 05&lt;br /&gt;
                LR   A,$1                ; 0307 41&lt;br /&gt;
                AI   $fe                 ; 0308 24 fe&lt;br /&gt;
                LR   $1,A                ; 030a 51&lt;br /&gt;
A030b:          LIS  $4                  ; 030b 74&lt;br /&gt;
                NS   $0                  ; 030c f0&lt;br /&gt;
                BT   4,A0313             ; 030d 84 05&lt;br /&gt;
                LR   A,$2                ; 030f 42&lt;br /&gt;
                AI   $02                 ; 0310 24 02&lt;br /&gt;
                LR   $2,A                ; 0312 52&lt;br /&gt;
A0313:          LIS  $8                  ; 0313 78&lt;br /&gt;
                NS   $0                  ; 0314 f0&lt;br /&gt;
                BT   4,A031b             ; 0315 84 05&lt;br /&gt;
                LR   A,$2                ; 0317 42&lt;br /&gt;
                AI   $fe                 ; 0318 24 fe&lt;br /&gt;
                LR   $2,A                ; 031a 52&lt;br /&gt;
A031b:          LISU 3                   ; 031b 63&lt;br /&gt;
                LISL 7                   ; 031c 6f&lt;br /&gt;
                LR   A,S              ; 031d 4c&lt;br /&gt;
                CI   $02                 ; 031e 25 02&lt;br /&gt;
                BF   $1,A0357            ; 0320 91 36&lt;br /&gt;
                BNZ  A033a            ; 0322 94 17&lt;br /&gt;
                LIS  $1                  ; 0324 71&lt;br /&gt;
                NS   $4                  ; 0325 f4&lt;br /&gt;
                BNZ  A0332            ; 0326 94 0b&lt;br /&gt;
                LR   A,$1                ; 0328 41&lt;br /&gt;
                CI   $2d                 ; 0329 25 2d&lt;br /&gt;
                BT   1,A0330             ; 032b 81 04&lt;br /&gt;
                LI   $2d                 ; 032d 20 2d&lt;br /&gt;
                LR   $1,A                ; 032f 51&lt;br /&gt;
A0330:          BF   $0,A033a            ; 0330 90 09&lt;br /&gt;
&lt;br /&gt;
A0332:          LR   A,$1                ; 0332 41&lt;br /&gt;
                CI   $3d                 ; 0333 25 3d&lt;br /&gt;
                BF   $1,A033a            ; 0335 91 04&lt;br /&gt;
                LI   $3d                 ; 0337 20 3d&lt;br /&gt;
                LR   $1,A                ; 0339 51&lt;br /&gt;
A033a:          LR   A,$1                ; 033a 41&lt;br /&gt;
                CI   $52                 ; 033b 25 52&lt;br /&gt;
                BT   1,A0342             ; 033d 81 04&lt;br /&gt;
                LI   $52                 ; 033f 20 52&lt;br /&gt;
                LR   $1,A                ; 0341 51&lt;br /&gt;
A0342:          CI   $1a                 ; 0342 25 1a&lt;br /&gt;
                BF   $1,A0349            ; 0344 91 04&lt;br /&gt;
                LI   $1a                 ; 0346 20 1a&lt;br /&gt;
                LR   $1,A                ; 0348 51&lt;br /&gt;
A0349:          LR   A,$2                ; 0349 42&lt;br /&gt;
                CI   $2b                 ; 034a 25 2b&lt;br /&gt;
                BT   1,A0351             ; 034c 81 04&lt;br /&gt;
                LI   $2b                 ; 034e 20 2b&lt;br /&gt;
                LR   $2,A                ; 0350 52&lt;br /&gt;
A0351:          CI   $09                 ; 0351 25 09&lt;br /&gt;
                BF   $1,A0357            ; 0353 91 03&lt;br /&gt;
                LIS  $9                  ; 0355 79&lt;br /&gt;
                LR   $2,A                ; 0356 52&lt;br /&gt;
A0357:          LISU 4                   ; 0357 64&lt;br /&gt;
                LISL 7                   ; 0358 6f&lt;br /&gt;
                LR   A,S              ; 0359 4c&lt;br /&gt;
                NI   $03                 ; 035a 21 03&lt;br /&gt;
                CI   $03                 ; 035c 25 03&lt;br /&gt;
                BNZ  A0383            ; 035e 94 24&lt;br /&gt;
                LISU 2                   ; 0360 62&lt;br /&gt;
                LISL 0                   ; 0361 68&lt;br /&gt;
                LIS  $1                  ; 0362 71&lt;br /&gt;
                NS   $4                  ; 0363 f4&lt;br /&gt;
                BT   4,A0367             ; 0364 84 02&lt;br /&gt;
                LISL 3                   ; 0366 6b&lt;br /&gt;
A0367:          LI   $10                 ; 0367 20 10&lt;br /&gt;
                NS   $0                  ; 0369 f0&lt;br /&gt;
                BT   4,A036d             ; 036a 84 02&lt;br /&gt;
                DS   S                ; 036c 3c&lt;br /&gt;
A036d:          LI   $20                 ; 036d 20 20&lt;br /&gt;
                NS   $0                  ; 036f f0&lt;br /&gt;
                BT   4,A0375             ; 0370 84 04&lt;br /&gt;
                LR   A,S              ; 0372 4c&lt;br /&gt;
                INC                      ; 0373 1f&lt;br /&gt;
                LR   S,A              ; 0374 5c&lt;br /&gt;
A0375:          LR   A,S              ; 0375 4c&lt;br /&gt;
                CI   $16                 ; 0376 25 16&lt;br /&gt;
                BNZ  A037c            ; 0378 94 03&lt;br /&gt;
                LI   $1d                 ; 037a 20 1d&lt;br /&gt;
A037c:          CI   $1e                 ; 037c 25 1e&lt;br /&gt;
                BNZ  A0382            ; 037e 94 03&lt;br /&gt;
                LI   $17                 ; 0380 20 17&lt;br /&gt;
A0382:          LR   S,A              ; 0382 5c&lt;br /&gt;
A0383:          LR   A,$4                ; 0383 44&lt;br /&gt;
                LR   $0,A                ; 0384 50&lt;br /&gt;
                PI   drawchar            ; 0385 28 06 79&lt;br /&gt;
                PI   popk                ; 0388 28 01 1e&lt;br /&gt;
                PK                       ; 038b 0c&lt;br /&gt;
                &lt;br /&gt;
A038c:          LR   K,P                 ; 038c 08&lt;br /&gt;
                PI   pushk               ; 038d 28 01 07&lt;br /&gt;
                LISL 0                   ; 0390 68&lt;br /&gt;
                LI   $b2                 ; 0391 20 b2&lt;br /&gt;
                LR   $3,A                ; 0393 53&lt;br /&gt;
                LIS  $0                  ; 0394 70&lt;br /&gt;
                OUTS 4                   ; 0395 b4&lt;br /&gt;
                INS  4                   ; read hand controller&lt;br /&gt;
                BF   $0,A03a4            ; 0397 90 0c&lt;br /&gt;
                &lt;br /&gt;
A0399:          LR   K,P                 ; 0399 08&lt;br /&gt;
                PI   pushk               ; 039a 28 01 07&lt;br /&gt;
                LISL 2                   ; 039d 6a&lt;br /&gt;
                LI   $73                 ; 039e 20 73&lt;br /&gt;
                LR   $3,A                ; 03a0 53&lt;br /&gt;
                &lt;br /&gt;
                LIS  $0                  ; 03a1 70&lt;br /&gt;
                OUTS 1                   ; 03a2 b1&lt;br /&gt;
                INS  1                   ; read hand controller&lt;br /&gt;
A03a4:          COM                      ; 03a4 18&lt;br /&gt;
                LR   $0,A                ; 03a5 50&lt;br /&gt;
                LISU 3                   ; 03a6 63&lt;br /&gt;
                LR   A,I             ; 03a7 4d&lt;br /&gt;
                LR   $1,A                ; 03a8 51&lt;br /&gt;
                LR   A,S              ; 03a9 4c&lt;br /&gt;
                LR   $2,A                ; 03aa 52&lt;br /&gt;
                LR   A,$0                ; 03ab 40&lt;br /&gt;
                NI   $80                 ; 03ac 21 80&lt;br /&gt;
                BT   4,A03b4             ; 03ae 84 05&lt;br /&gt;
                LR   A,$2                ; 03b0 42&lt;br /&gt;
                AI   $02                 ; 03b1 24 02&lt;br /&gt;
                LR   $2,A                ; 03b3 52&lt;br /&gt;
A03b4:          LR   A,$0                ; 03b4 40&lt;br /&gt;
                NI   $40                 ; 03b5 21 40&lt;br /&gt;
                BT   4,A03bb             ; 03b7 84 03&lt;br /&gt;
                DS   $2                  ; 03b9 32&lt;br /&gt;
                DS   $2                  ; 03ba 32&lt;br /&gt;
A03bb:          LR   A,$2                ; 03bb 42&lt;br /&gt;
                CI   $14                 ; 03bc 25 14&lt;br /&gt;
                BF   $1,A03c3            ; 03be 91 04&lt;br /&gt;
                LI   $14                 ; 03c0 20 14&lt;br /&gt;
                LR   $2,A                ; 03c2 52&lt;br /&gt;
A03c3:          CI   $20                 ; 03c3 25 20&lt;br /&gt;
                BT   1,A03ca             ; 03c5 81 04&lt;br /&gt;
                LI   $20                 ; 03c7 20 20&lt;br /&gt;
                LR   $2,A                ; 03c9 52&lt;br /&gt;
A03ca:          LR   A,$3                ; 03ca 43&lt;br /&gt;
                LR   $0,A                ; 03cb 50&lt;br /&gt;
                PI   drawchar            ; 03cc 28 06 79&lt;br /&gt;
                PI   popk                ; 03cf 28 01 1e&lt;br /&gt;
                PK                       ; 03d2 0c&lt;br /&gt;
                &lt;br /&gt;
A03d3:          LR   K,P                 ; 03d3 08&lt;br /&gt;
                PI   pushk               ; 03d4 28 01 07&lt;br /&gt;
                LISU 4                   ; 03d7 64&lt;br /&gt;
                LISL 0                   ; 03d8 68&lt;br /&gt;
                LR   A,I             ; 03d9 4d&lt;br /&gt;
                LR   $1,A                ; 03da 51&lt;br /&gt;
                LR   A,I             ; 03db 4d&lt;br /&gt;
                LR   $2,A                ; 03dc 52&lt;br /&gt;
                LR   A,I             ; 03dd 4d&lt;br /&gt;
                LR   $3,A                ; 03de 53&lt;br /&gt;
                LR   A,I             ; 03df 4d&lt;br /&gt;
                LR   $4,A                ; 03e0 54&lt;br /&gt;
                LR   A,S              ; 03e1 4c&lt;br /&gt;
                CI   $00                 ; 03e2 25 00&lt;br /&gt;
                BT   4,A03f2             ; 03e4 84 0d&lt;br /&gt;
                LIS  $0                  ; 03e6 70&lt;br /&gt;
                LR   S,A              ; 03e7 5c&lt;br /&gt;
                LR   A,$3                ; 03e8 43&lt;br /&gt;
                SL   1                   ; 03e9 13&lt;br /&gt;
                AS   $3                  ; 03ea c3&lt;br /&gt;
                AS   $3                  ; 03eb c3&lt;br /&gt;
                LR   $3,A                ; 03ec 53&lt;br /&gt;
                LR   A,$4                ; 03ed 44&lt;br /&gt;
                SL   1                   ; 03ee 13&lt;br /&gt;
                AS   $4                  ; 03ef c4&lt;br /&gt;
                AS   $4                  ; 03f0 c4&lt;br /&gt;
                LR   $4,A                ; 03f1 54&lt;br /&gt;
A03f2:          LR   A,$1                ; 03f2 41&lt;br /&gt;
                AS   $3                  ; 03f3 c3&lt;br /&gt;
                LR   $1,A                ; 03f4 51&lt;br /&gt;
                LR   A,$2                ; 03f5 42&lt;br /&gt;
                AS   $4                  ; 03f6 c4&lt;br /&gt;
                LR   $2,A                ; 03f7 52&lt;br /&gt;
                LISU 4                   ; 03f8 64&lt;br /&gt;
                LISL 5                   ; 03f9 6d&lt;br /&gt;
                LI   $44                 ; 03fa 20 44&lt;br /&gt;
                NS   S                ; 03fc fc&lt;br /&gt;
                BT   4,A043b             ; 03fd 84 3d&lt;br /&gt;
                PI   A049c               ; 03ff 28 04 9c&lt;br /&gt;
                LISU 4                   ; 0402 64&lt;br /&gt;
                LISL 2                   ; 0403 6a&lt;br /&gt;
                LR   A,$1                ; 0404 41&lt;br /&gt;
                LR   $0,A                ; 0405 50&lt;br /&gt;
                CI   $5c                 ; 0406 25 5c&lt;br /&gt;
                BT   1,A0410             ; 0408 81 07&lt;br /&gt;
                PI   A043f               ; 040a 28 04 3f&lt;br /&gt;
                LI   $5c                 ; 040d 20 5c&lt;br /&gt;
                LR   $1,A                ; 040f 51&lt;br /&gt;
A0410:          LR   A,$1                ; 0410 41&lt;br /&gt;
                LR   $0,A                ; 0411 50&lt;br /&gt;
                CI   $14                 ; 0412 25 14&lt;br /&gt;
                BF   $1,A041c            ; 0414 91 07&lt;br /&gt;
                PI   A043f               ; 0416 28 04 3f&lt;br /&gt;
                LI   $14                 ; 0419 20 14&lt;br /&gt;
                LR   $1,A                ; 041b 51&lt;br /&gt;
A041c:          LISL 3                   ; 041c 6b&lt;br /&gt;
                LR   A,$2                ; 041d 42&lt;br /&gt;
                LR   $0,A                ; 041e 50&lt;br /&gt;
                CI   $08                 ; 041f 25 08&lt;br /&gt;
                BF   $1,A0429            ; 0421 91 07&lt;br /&gt;
                PI   A043f               ; 0423 28 04 3f&lt;br /&gt;
                LI   $09                 ; 0426 20 09&lt;br /&gt;
                LR   $2,A                ; 0428 52&lt;br /&gt;
A0429:          LR   A,$2                ; 0429 42&lt;br /&gt;
                LR   $0,A                ; 042a 50&lt;br /&gt;
                CI   $2e                 ; 042b 25 2e&lt;br /&gt;
                BT   1,A0435             ; 042d 81 07&lt;br /&gt;
                PI   A043f               ; 042f 28 04 3f&lt;br /&gt;
                LI   $2e                 ; 0432 20 2e&lt;br /&gt;
                LR   $2,A                ; 0434 52&lt;br /&gt;
A0435:          LI   $55                 ; 0435 20 55&lt;br /&gt;
                LR   $0,A                ; 0437 50&lt;br /&gt;
                PI   drawchar            ; 0438 28 06 79&lt;br /&gt;
A043b:          PI   popk                ; 043b 28 01 1e&lt;br /&gt;
                PK                       ; 043e 0c&lt;br /&gt;
                &lt;br /&gt;
A043f:          LR   A,S              ; 043f 4c&lt;br /&gt;
                COM                      ; 0440 18&lt;br /&gt;
                INC                      ; 0441 1f&lt;br /&gt;
                LR   S,A              ; 0442 5c&lt;br /&gt;
                LI   $40                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0445 b5&lt;br /&gt;
                POP                      ; 0446 1c&lt;br /&gt;
                &lt;br /&gt;
A0447:          LR   K,P                 ; 0447 08&lt;br /&gt;
                PI   pushk               ; 0448 28 01 07&lt;br /&gt;
                LI   $36                 ; 044b 20 36&lt;br /&gt;
                LR   $1,A                ; 044d 51&lt;br /&gt;
                LIS  $a                  ; 044e 7a&lt;br /&gt;
                LR   $2,A                ; 044f 52&lt;br /&gt;
                LIS  $5                  ; 0450 75&lt;br /&gt;
                LR   $4,A                ; 0451 54&lt;br /&gt;
A0452:          LI   $81                 ; 0452 20 81&lt;br /&gt;
                LR   $0,A                ; 0454 50&lt;br /&gt;
                PI   drawchar            ; 0455 28 06 79&lt;br /&gt;
                LR   A,$1                ; 0458 41&lt;br /&gt;
                AI   $fa                 ; 0459 24 fa&lt;br /&gt;
                LR   $1,A                ; 045b 51&lt;br /&gt;
                LR   A,$2                ; 045c 42&lt;br /&gt;
                AI   $08                 ; 045d 24 08&lt;br /&gt;
                LR   $2,A                ; 045f 52&lt;br /&gt;
                DS   $4                  ; 0460 34&lt;br /&gt;
                BNZ  A0452            ; 0461 94 f0&lt;br /&gt;
                PI   popk                ; 0463 28 01 1e&lt;br /&gt;
                PK                       ; 0466 0c&lt;br /&gt;
                &lt;br /&gt;
A0467:          LR   K,P                 ; 0467 08&lt;br /&gt;
                PI   pushk               ; 0468 28 01 07&lt;br /&gt;
                LISU 7                   ; 046b 67&lt;br /&gt;
                LISL 0                   ; 046c 68&lt;br /&gt;
                LR   A,S              ; 046d 4c&lt;br /&gt;
                OI   $00                 ; 046e 22 00&lt;br /&gt;
                BT   4,A0498             ; 0470 84 27&lt;br /&gt;
                LIS  $0                  ; 0472 70&lt;br /&gt;
                LR   S,A              ; 0473 5c&lt;br /&gt;
                LISL 2                   ; 0474 6a&lt;br /&gt;
                LIS  $1                  ; 0475 71&lt;br /&gt;
                LR   $0,A                ; 0476 50&lt;br /&gt;
                COM                      ; 0477 18&lt;br /&gt;
                ASD  S                ; 0478 dc&lt;br /&gt;
                AI   $66                 ; 0479 24 66&lt;br /&gt;
                ASD  $0                  ; 047b d0&lt;br /&gt;
                LR   S,A              ; 047c 5c&lt;br /&gt;
                CI   $99                 ; 047d 25 99&lt;br /&gt;
                BNZ  A0495            ; 047f 94 15&lt;br /&gt;
                LI   $59                 ; 0481 20 59&lt;br /&gt;
                LR   D,A             ; 0483 5e&lt;br /&gt;
                LIS  $1                  ; 0484 71&lt;br /&gt;
                LR   $0,A                ; 0485 50&lt;br /&gt;
                COM                      ; 0486 18&lt;br /&gt;
                ASD  S                ; 0487 dc&lt;br /&gt;
                AI   $66                 ; 0488 24 66&lt;br /&gt;
                ASD  $0                  ; 048a d0&lt;br /&gt;
                CI   $99                 ; 048b 25 99&lt;br /&gt;
                BNZ  A0494            ; 048d 94 06&lt;br /&gt;
                PI   prompts             ; time expired, print S?&lt;br /&gt;
                BF   $0,A0498            ; 0492 90 05&lt;br /&gt;
                &lt;br /&gt;
A0494:          LR   S,A              ; 0494 5c&lt;br /&gt;
A0495:          PI   $0271               ; 0495 28 02 71&lt;br /&gt;
A0498:          PI   popk                ; 0498 28 01 1e&lt;br /&gt;
                PK                       ; 049b 0c&lt;br /&gt;
                &lt;br /&gt;
A049c:          LR   K,P                 ; 049c 08&lt;br /&gt;
                PI   pushk               ; 049d 28 01 07&lt;br /&gt;
                LISU 4                   ; 04a0 64&lt;br /&gt;
                LISL 7                   ; 04a1 6f&lt;br /&gt;
                LIS  $1                  ; 04a2 71&lt;br /&gt;
                NS   S                ; 04a3 fc&lt;br /&gt;
                BT   4,A04b8             ; 04a4 84 13&lt;br /&gt;
                LISU 2                   ; 04a6 62&lt;br /&gt;
                LISL 4                   ; 04a7 6c&lt;br /&gt;
                PI   A05fc               ; 04a8 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04ab 30&lt;br /&gt;
                BT   4,A04e8             ; 04ac 84 3b&lt;br /&gt;
                LISU 2                   ; 04ae 62&lt;br /&gt;
                LISL 1                   ; 04af 69&lt;br /&gt;
                PI   A05fc               ; 04b0 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04b3 30&lt;br /&gt;
                BT   4,A04e5             ; 04b4 84 30&lt;br /&gt;
                BF   $0,A04c8            ; 04b6 90 11&lt;br /&gt;
                &lt;br /&gt;
A04b8:          LISU 2                   ; 04b8 62&lt;br /&gt;
                LISL 1                   ; 04b9 69&lt;br /&gt;
                PI   A05fc               ; 04ba 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04bd 30&lt;br /&gt;
                BT   4,A04e5             ; 04be 84 26&lt;br /&gt;
                LISU 2                   ; 04c0 62&lt;br /&gt;
                LISL 4                   ; 04c1 6c&lt;br /&gt;
                PI   A05fc               ; 04c2 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04c5 30&lt;br /&gt;
                BT   4,A04e8             ; 04c6 84 21&lt;br /&gt;
A04c8:          LISU 4                   ; 04c8 64&lt;br /&gt;
                LISL 5                   ; 04c9 6d&lt;br /&gt;
                LR   A,S              ; 04ca 4c&lt;br /&gt;
                NI   $04                 ; 04cb 21 04&lt;br /&gt;
                BNZ  A04d2            ; 04cd 94 04&lt;br /&gt;
                JMP  A059d               ; 04cf 29 05 9d&lt;br /&gt;
                &lt;br /&gt;
A04d2:          LISU 3                   ; 04d2 63&lt;br /&gt;
                LISL 0                   ; 04d3 68&lt;br /&gt;
                PI   A05fc               ; 04d4 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04d7 30&lt;br /&gt;
                BT   4,A0555             ; 04d8 84 7c&lt;br /&gt;
                LISU 3                   ; 04da 63&lt;br /&gt;
                LISL 2                   ; 04db 6a&lt;br /&gt;
                PI   A05fc               ; 04dc 28 05 fc&lt;br /&gt;
                DS   $0                  ; 04df 30&lt;br /&gt;
                BT   4,A0559             ; 04e0 84 78&lt;br /&gt;
                JMP  A0588               ; 04e2 29 05 88&lt;br /&gt;
                &lt;br /&gt;
A04e5:          LISL 0                   ; 04e5 68&lt;br /&gt;
                BF   $0,A04e9            ; 04e6 90 02&lt;br /&gt;
                &lt;br /&gt;
A04e8:          LISL 3                   ; 04e8 6b&lt;br /&gt;
A04e9:          LISU 2                   ; 04e9 62&lt;br /&gt;
                LR   A,I             ; 04ea 4d&lt;br /&gt;
                LR   $4,A                ; 04eb 54&lt;br /&gt;
                LR   A,I             ; 04ec 4d&lt;br /&gt;
                LR   A,S              ; 04ed 4c&lt;br /&gt;
                LR   $7,A                ; 04ee 57&lt;br /&gt;
                LISU 4                   ; 04ef 64&lt;br /&gt;
                LISL 5                   ; 04f0 6d&lt;br /&gt;
                LR   A,S              ; 04f1 4c&lt;br /&gt;
                SL   1                   ; 04f2 13&lt;br /&gt;
                LR   A,$4                ; 04f3 44&lt;br /&gt;
                BT   1,A0516             ; 04f4 81 21&lt;br /&gt;
                DCI  A050e               ; 04f6 2a 05 0e&lt;br /&gt;
                LIS  $7                  ; 04f9 77&lt;br /&gt;
                LR   $4,A                ; 04fa 54&lt;br /&gt;
                DS   $7                  ; 04fb 37&lt;br /&gt;
                DS   $7                  ; 04fc 37&lt;br /&gt;
A04fd:          LR   A,$4                ; 04fd 44&lt;br /&gt;
                AS   $7                  ; 04fe c7&lt;br /&gt;
                LR   $3,A                ; 04ff 53&lt;br /&gt;
                LR   A,$2                ; 0500 42&lt;br /&gt;
                COM                      ; 0501 18&lt;br /&gt;
                INC                      ; 0502 1f&lt;br /&gt;
                AS   $3                  ; 0503 c3&lt;br /&gt;
                BT   4,A0509             ; 0504 84 04&lt;br /&gt;
                DS   $4                  ; 0506 34&lt;br /&gt;
                BT   1,A04fd             ; 0507 81 f5&lt;br /&gt;
A0509:          LR   A,$4                ; 0509 44&lt;br /&gt;
                ADC                      ; 050a 8e&lt;br /&gt;
                LM                       ; 050b 16&lt;br /&gt;
                BF   $0,A0518            ; 050c 90 0b&lt;br /&gt;
&lt;br /&gt;
A050e:			db	$04,$04,$05,$06,$00,$01,$02,$03                &lt;br /&gt;
&lt;br /&gt;
A0516:          AI   $e9                 ; 0516 24 e9&lt;br /&gt;
A0518:          DCI  A0547               ; 0518 2a 05 47&lt;br /&gt;
                SL   1                   ; 051b 13&lt;br /&gt;
                ADC                      ; 051c 8e&lt;br /&gt;
                LM                       ; 051d 16&lt;br /&gt;
                LR   $5,A                ; 051e 55&lt;br /&gt;
                LM                       ; 051f 16&lt;br /&gt;
                LR   $6,A                ; 0520 56&lt;br /&gt;
                LISU 4                   ; 0521 64&lt;br /&gt;
                LISL 2                   ; 0522 6a&lt;br /&gt;
                LR   A,S              ; 0523 4c&lt;br /&gt;
                OI   $00                 ; 0524 22 00&lt;br /&gt;
                BF   $1,A053a            ; 0526 91 13&lt;br /&gt;
                LR   A,$5                ; 0528 45&lt;br /&gt;
                COM                      ; 0529 18&lt;br /&gt;
                INC                      ; 052a 1f&lt;br /&gt;
                LR   $5,A                ; 052b 55&lt;br /&gt;
                LISL 5                   ; 052c 6d&lt;br /&gt;
                LR   A,S              ; 052d 4c&lt;br /&gt;
                SL   1                   ; 052e 13&lt;br /&gt;
                LISL 2                   ; 052f 6a&lt;br /&gt;
                BF   $1,A0536            ; 0530 91 05&lt;br /&gt;
                LR   A,$6                ; 0532 46&lt;br /&gt;
                COM                      ; 0533 18&lt;br /&gt;
                INC                      ; 0534 1f&lt;br /&gt;
                LR   $6,A                ; 0535 56&lt;br /&gt;
A0536:          LR   A,$1                ; 0536 41&lt;br /&gt;
                AI   $02                 ; 0537 24 02&lt;br /&gt;
                LR   $1,A                ; 0539 51&lt;br /&gt;
A053a:          LR   A,$5                ; 053a 45&lt;br /&gt;
                LR   I,A             ; 053b 5d&lt;br /&gt;
                LR   A,$6                ; 053c 46&lt;br /&gt;
                LR   I,A             ; 053d 5d&lt;br /&gt;
                LIS  $2                  ; 053e 72&lt;br /&gt;
                LR   S,A              ; 053f 5c&lt;br /&gt;
                LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0542 b5&lt;br /&gt;
A0543:          PI   popk                ; 0543 28 01 1e&lt;br /&gt;
                PK                       ; 0546 0c&lt;br /&gt;
&lt;br /&gt;
A0547:			db	$02,$00,$02,$01,$02,$02,$01,$02,$01,$FE,$02,$FE,$02,$FF	&lt;br /&gt;
&lt;br /&gt;
A0555:          LIS  $1                  ; 0555 71&lt;br /&gt;
                LR   $3,A                ; 0556 53&lt;br /&gt;
                BF   $0,A055b            ; 0557 90 03&lt;br /&gt;
                &lt;br /&gt;
A0559:          LIS  $2                  ; 0559 72&lt;br /&gt;
                LR   $3,A                ; 055a 53&lt;br /&gt;
A055b:          LISU 4                   ; 055b 64&lt;br /&gt;
                LISL 2                   ; 055c 6a&lt;br /&gt;
                LR   A,S              ; 055d 4c&lt;br /&gt;
                DS   $3                  ; 055e 33&lt;br /&gt;
                BT   4,A0567             ; 055f 84 07&lt;br /&gt;
                OI   $00                 ; 0561 22 00&lt;br /&gt;
                BT   1,A056b             ; 0563 81 07&lt;br /&gt;
                BF   $0,A056e            ; 0565 90 08&lt;br /&gt;
                &lt;br /&gt;
A0567:          OI   $00                 ; 0567 22 00&lt;br /&gt;
                BT   1,A056e             ; 0569 81 04&lt;br /&gt;
A056b:          COM                      ; 056b 18&lt;br /&gt;
                INC                      ; 056c 1f&lt;br /&gt;
                LR   S,A              ; 056d 5c&lt;br /&gt;
A056e:          LI   $80                 ; beep&lt;br /&gt;
                OUTS 5                   ; 0570 b5&lt;br /&gt;
                LISL 3                   ; 0571 6b&lt;br /&gt;
                LR   A,S              ; 0572 4c&lt;br /&gt;
                OI   $00                 ; 0573 22 00&lt;br /&gt;
                BNZ  A0586            ; 0575 94 10&lt;br /&gt;
                LISU 2                   ; 0577 62&lt;br /&gt;
                LISL 1                   ; 0578 69&lt;br /&gt;
                LR   A,S              ; 0579 4c&lt;br /&gt;
                NI   $01                 ; 057a 21 01&lt;br /&gt;
                BT   4,A0581             ; 057c 84 04&lt;br /&gt;
                LIS  $2                  ; 057e 72&lt;br /&gt;
                BF   $0,A0583            ; 057f 90 03&lt;br /&gt;
                &lt;br /&gt;
A0581:          LI   $fe                 ; 0581 20 fe&lt;br /&gt;
A0583:          LISU 4                   ; 0583 64&lt;br /&gt;
                LISL 3                   ; 0584 6b&lt;br /&gt;
                LR   S,A              ; 0585 5c&lt;br /&gt;
A0586:          BF   $0,A05f3            ; 0586 90 6c&lt;br /&gt;
&lt;br /&gt;
A0588:          LR   A,$2                ; 0588 42&lt;br /&gt;
                CI   $14                 ; 0589 25 14&lt;br /&gt;
                BT   1,A059a             ; 058b 81 0e&lt;br /&gt;
                CI   $24                 ; 058d 25 24&lt;br /&gt;
                BF   $1,A059a            ; 058f 91 0a&lt;br /&gt;
                LR   A,$1                ; 0591 41&lt;br /&gt;
                CI   $14                 ; 0592 25 14&lt;br /&gt;
                BT   1,A05a9             ; 0594 81 14&lt;br /&gt;
                CI   $5c                 ; 0596 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 0598 91 10&lt;br /&gt;
A059a:          JMP  A0543               ; 059a 29 05 43&lt;br /&gt;
&lt;br /&gt;
A059d:          LR   A,$1                ; 059d 41&lt;br /&gt;
                CI   $14                 ; 059e 25 14&lt;br /&gt;
                BT   1,A05a9             ; 05a0 81 08&lt;br /&gt;
                CI   $5c                 ; 05a2 25 5c&lt;br /&gt;
                BF   $1,A05a9            ; 05a4 91 04&lt;br /&gt;
                JMP  A0543               ; 05a6 29 05 43&lt;br /&gt;
                &lt;br /&gt;
A05a9:          LISU 4                   ; 05a9 64&lt;br /&gt;
                LISL 2                   ; 05aa 6a&lt;br /&gt;
                LR   A,I             ; 05ab 4d&lt;br /&gt;
                SL   1                   ; 05ac 13&lt;br /&gt;
                BF   $1,A05b3            ; 05ad 91 05&lt;br /&gt;
                AI   $02                 ; 05af 24 02&lt;br /&gt;
                BF   $0,A05b5            ; 05b1 90 03&lt;br /&gt;
                &lt;br /&gt;
A05b3:          AI   $fe                 ; 05b3 24 fe&lt;br /&gt;
A05b5:          AS   $1                  ; 05b5 c1&lt;br /&gt;
                LR   $1,A                ; 05b6 51&lt;br /&gt;
                LISL 3                   ; 05b7 6b&lt;br /&gt;
                LR   A,S              ; 05b8 4c&lt;br /&gt;
                AS   $2                  ; 05b9 c2&lt;br /&gt;
                LR   $2,A                ; 05ba 52&lt;br /&gt;
                LI   $55                 ; 05bb 20 55&lt;br /&gt;
                LR   $0,A                ; 05bd 50&lt;br /&gt;
                PI   drawchar            ; 05be 28 06 79&lt;br /&gt;
                LISU 4                   ; 05c1 64&lt;br /&gt;
                LISL 3                   ; 05c2 6b&lt;br /&gt;
                LIS  $0                  ; 05c3 70&lt;br /&gt;
                LR   S,A              ; 05c4 5c&lt;br /&gt;
                LISU 4                   ; 05c5 64&lt;br /&gt;
                LISL 0                   ; 05c6 68&lt;br /&gt;
                LR   A,S              ; 05c7 4c&lt;br /&gt;
                CI   $30                 ; 05c8 25 30&lt;br /&gt;
                BF   $1,A05d1            ; 05ca 91 06&lt;br /&gt;
                PI   A02b5               ; 05cc 28 02 b5&lt;br /&gt;
                BF   $0,A05d4            ; 05cf 90 04&lt;br /&gt;
                &lt;br /&gt;
A05d1:          PI   A02ac               ; 05d1 28 02 ac&lt;br /&gt;
A05d4:          LI   $ff                 ; 05d4 20 ff&lt;br /&gt;
                LR   $5,A                ; 05d6 55&lt;br /&gt;
                PI   delay               ; 05d7 28 00 8f&lt;br /&gt;
                LISU 3                   ; 05da 63&lt;br /&gt;
                LISL 7                   ; 05db 6f&lt;br /&gt;
                LR   A,S              ; 05dc 4c&lt;br /&gt;
                CI   $02                 ; 05dd 25 02&lt;br /&gt;
                BNZ  A05f0            ; 05df 94 10&lt;br /&gt;
                LISU 2                   ; 05e1 62&lt;br /&gt;
                LISL 6                   ; 05e2 6e&lt;br /&gt;
                LR   A,I             ; 05e3 4d&lt;br /&gt;
                CI   $15                 ; 05e4 25 15&lt;br /&gt;
                BT   4,A05ed             ; 05e6 84 06&lt;br /&gt;
                LR   A,S              ; 05e8 4c&lt;br /&gt;
                CI   $15                 ; 05e9 25 15&lt;br /&gt;
                BNZ  A05f0            ; 05eb 94 04&lt;br /&gt;
A05ed:          PI   prompts             ; 05ed 28 02 24&lt;br /&gt;
A05f0:          PI   A01a0               ; 05f0 28 01 a0&lt;br /&gt;
A05f3:          PI   popk                ; 05f3 28 01 1e&lt;br /&gt;
                PI   popk                ; 05f6 28 01 1e&lt;br /&gt;
                JMP  A0037               ; 05f9 29 00 37&lt;br /&gt;
                &lt;br /&gt;
A05fc:          LR   K,P                 ; 05fc 08&lt;br /&gt;
                PI   pushk               ; 05fd 28 01 07&lt;br /&gt;
                LR   A,S              ; 0600 4c&lt;br /&gt;
                COM                      ; 0601 18&lt;br /&gt;
                INC                      ; 0602 1f&lt;br /&gt;
                AS   $1                  ; 0603 c1&lt;br /&gt;
                BF   $1,A0610            ; 0604 91 0b&lt;br /&gt;
                LR   A,S              ; 0606 4c&lt;br /&gt;
                AI   $05                 ; 0607 24 05&lt;br /&gt;
                LR   $6,A                ; 0609 56&lt;br /&gt;
                LR   A,$1                ; 060a 41&lt;br /&gt;
                COM                      ; 060b 18&lt;br /&gt;
                INC                      ; 060c 1f&lt;br /&gt;
                AS   S                ; 060d cc&lt;br /&gt;
                BT   1,A0626             ; 060e 81 17&lt;br /&gt;
A0610:          LR   A,S              ; 0610 4c&lt;br /&gt;
                COM                      ; 0611 18&lt;br /&gt;
                INC                      ; 0612 1f&lt;br /&gt;
                LR   $6,A                ; 0613 56&lt;br /&gt;
                LR   A,$1                ; 0614 41&lt;br /&gt;
                AI   $02                 ; 0615 24 02&lt;br /&gt;
                AS   $6                  ; 0617 c6&lt;br /&gt;
                BF   $1,A064f            ; 0618 91 36&lt;br /&gt;
                LR   A,$1                ; 061a 41&lt;br /&gt;
                AI   $02                 ; 061b 24 02&lt;br /&gt;
                COM                      ; 061d 18&lt;br /&gt;
                INC                      ; 061e 1f&lt;br /&gt;
                LR   $6,A                ; 061f 56&lt;br /&gt;
                LR   A,S              ; 0620 4c&lt;br /&gt;
                AI   $05                 ; 0621 24 05&lt;br /&gt;
                AS   $6                  ; 0623 c6&lt;br /&gt;
                BF   $1,A064f            ; 0624 91 2a&lt;br /&gt;
A0626:          LR   A,I             ; 0626 4d&lt;br /&gt;
                LR   A,S              ; 0627 4c&lt;br /&gt;
                COM                      ; 0628 18&lt;br /&gt;
                INC                      ; 0629 1f&lt;br /&gt;
                LR   $6,A                ; 062a 56&lt;br /&gt;
                LR   A,$2                ; 062b 42&lt;br /&gt;
                AS   $6                  ; 062c c6&lt;br /&gt;
                BF   $1,A0639            ; 062d 91 0b&lt;br /&gt;
                LR   A,$2                ; 062f 42&lt;br /&gt;
                COM                      ; 0630 18&lt;br /&gt;
                INC                      ; 0631 1f&lt;br /&gt;
                LR   $6,A                ; 0632 56&lt;br /&gt;
                LR   A,S              ; 0633 4c&lt;br /&gt;
                AI   $05                 ; 0634 24 05&lt;br /&gt;
                AS   $6                  ; 0636 c6&lt;br /&gt;
                BT   1,A0655             ; 0637 81 1d&lt;br /&gt;
A0639:          LR   A,S              ; 0639 4c&lt;br /&gt;
                COM                      ; 063a 18&lt;br /&gt;
                INC                      ; 063b 1f&lt;br /&gt;
                LR   $6,A                ; 063c 56&lt;br /&gt;
                LR   A,$2                ; 063d 42&lt;br /&gt;
                AI   $02                 ; 063e 24 02&lt;br /&gt;
                AS   $6                  ; 0640 c6&lt;br /&gt;
                BF   $1,A064f            ; 0641 91 0d&lt;br /&gt;
                LR   A,$2                ; 0643 42&lt;br /&gt;
                AI   $02                 ; 0644 24 02&lt;br /&gt;
                COM                      ; 0646 18&lt;br /&gt;
                INC                      ; 0647 1f&lt;br /&gt;
                LR   $6,A                ; 0648 56&lt;br /&gt;
                LR   A,S              ; 0649 4c&lt;br /&gt;
                AI   $05                 ; 064a 24 05&lt;br /&gt;
                AS   $6                  ; 064c c6&lt;br /&gt;
                BT   1,A0655             ; 064d 81 07&lt;br /&gt;
A064f:          LIS  $0                  ; 064f 70&lt;br /&gt;
A0650:          LR   $0,A                ; 0650 50&lt;br /&gt;
                PI   popk                ; 0651 28 01 1e&lt;br /&gt;
                PK                       ; 0654 0c&lt;br /&gt;
                &lt;br /&gt;
A0655:          LIS  $1                  ; 0655 71&lt;br /&gt;
                BF   $0,A0650            ; 0656 90 f9&lt;br /&gt;
                &lt;br /&gt;
A0658:          DCI  A0674               ; 0658 2a 06 74&lt;br /&gt;
                LISU 4                   ; 065b 64&lt;br /&gt;
                LISL 5                   ; 065c 6d&lt;br /&gt;
                LR   A,S              ; 065d 4c&lt;br /&gt;
                NI   $20                 ; 065e 21 20&lt;br /&gt;
                BT   4,A0673             ; 0660 84 12&lt;br /&gt;
                LISU 6                   ; 0662 66&lt;br /&gt;
                LISL 7                   ; 0663 6f&lt;br /&gt;
                DS   S                ; 0664 3c&lt;br /&gt;
                BNZ  A0673            ; 0665 94 0d&lt;br /&gt;
                LISU 3                   ; 0667 63&lt;br /&gt;
                LISL 4                   ; 0668 6c&lt;br /&gt;
                LR   A,S              ; 0669 4c&lt;br /&gt;
                SR   1                   ; 066a 12&lt;br /&gt;
                ADC                      ; 066b 8e&lt;br /&gt;
                LM                       ; 066c 16&lt;br /&gt;
                LISU 6                   ; 066d 66&lt;br /&gt;
                LISL 7                   ; 066e 6f&lt;br /&gt;
                LR   I,A             ; 066f 5d&lt;br /&gt;
                LISU 7                   ; 0670 67&lt;br /&gt;
                LIS  $1                  ; 0671 71&lt;br /&gt;
                LR   S,A              ; 0672 5c&lt;br /&gt;
A0673:          POP                      ; 0673 1c&lt;br /&gt;
&lt;br /&gt;
A0674:			db $09,$0d,$15,$1c,$1c&lt;br /&gt;
                &lt;br /&gt;
drawchar:       DCI  bitmaps             ; $679&lt;br /&gt;
                LR   K,P                 ; 067c 08&lt;br /&gt;
                PI   pushk               ; 067d 28 01 07&lt;br /&gt;
                LR   A,IS                ; 0680 0a&lt;br /&gt;
                LISU 6                   ; 0681 66&lt;br /&gt;
                LISL 4                   ; 0682 6c&lt;br /&gt;
                LR   I,A             ; 0683 5d&lt;br /&gt;
                LR   A,$3                ; 0684 43&lt;br /&gt;
                LR   I,A             ; 0685 5d&lt;br /&gt;
                LR   A,$4                ; 0686 44&lt;br /&gt;
                LR   S,A              ; 0687 5c&lt;br /&gt;
                LIS  $5                  ; 0688 75&lt;br /&gt;
                LR   $4,A                ; 0689 54&lt;br /&gt;
                LI   $c0                 ; 068a 20 c0&lt;br /&gt;
                NS   $0                  ; 068c f0&lt;br /&gt;
                LR   $3,A                ; 068d 53&lt;br /&gt;
                LI   $3f                 ; 068e 20 3f&lt;br /&gt;
                NS   $0                  ; 0690 f0&lt;br /&gt;
                LR   $0,A                ; 0691 50&lt;br /&gt;
                CI   $15                 ; 0692 25 15&lt;br /&gt;
                BNZ  A06b4            ; 0694 94 1f&lt;br /&gt;
                LISU 4                   ; 0696 64&lt;br /&gt;
                LISL 0                   ; 0697 68&lt;br /&gt;
                LIS  $2                  ; 0698 72&lt;br /&gt;
                LR   $4,A                ; 0699 54&lt;br /&gt;
                PI   A06ec               ; 069a 28 06 ec&lt;br /&gt;
                LI   $15                 ; 069d 20 15&lt;br /&gt;
                LR   $0,A                ; 069f 50&lt;br /&gt;
A06a0:          PI   A0718               ; 06a0 28 07 18&lt;br /&gt;
                LR   A,$1                ; 06a3 41&lt;br /&gt;
                AI   $06                 ; 06a4 24 06&lt;br /&gt;
                LR   $1,A                ; 06a6 51&lt;br /&gt;
                LISU 6                   ; 06a7 66&lt;br /&gt;
                LISL 5                   ; 06a8 6d&lt;br /&gt;
                LR   A,I             ; 06a9 4d&lt;br /&gt;
                LR   $3,A                ; 06aa 53&lt;br /&gt;
                LR   A,S              ; 06ab 4c&lt;br /&gt;
                LR   $4,A                ; 06ac 54&lt;br /&gt;
                LISL 4                   ; 06ad 6c&lt;br /&gt;
                LR   A,S              ; 06ae 4c&lt;br /&gt;
                LR   IS,A                ; 06af 0b&lt;br /&gt;
                PI   popk                ; 06b0 28 01 1e&lt;br /&gt;
                PK                       ; 06b3 0c&lt;br /&gt;
                &lt;br /&gt;
A06b4:          CI   $30                 ; 06b4 25 30&lt;br /&gt;
                BNZ  A06c2            ; 06b6 94 0b&lt;br /&gt;
                LISU 2                   ; 06b8 62&lt;br /&gt;
                LISL 1                   ; 06b9 69&lt;br /&gt;
                PI   A06ec               ; 06ba 28 06 ec&lt;br /&gt;
                LISL 0                   ; 06bd 68&lt;br /&gt;
                LR   A,I             ; 06be 4d&lt;br /&gt;
                LR   $0,A                ; 06bf 50&lt;br /&gt;
                BF   $0,A06a0            ; 06c0 90 df&lt;br /&gt;
                &lt;br /&gt;
A06c2:          CI   $31                 ; 06c2 25 31&lt;br /&gt;
                BNZ  A06d0            ; 06c4 94 0b&lt;br /&gt;
                LISU 2                   ; 06c6 62&lt;br /&gt;
                LISL 4                   ; 06c7 6c&lt;br /&gt;
                PI   A06ec               ; 06c8 28 06 ec&lt;br /&gt;
                LISL 3                   ; 06cb 6b&lt;br /&gt;
                LR   A,I             ; 06cc 4d&lt;br /&gt;
                LR   $0,A                ; 06cd 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ce 90 d1&lt;br /&gt;
                &lt;br /&gt;
A06d0:          CI   $32                 ; 06d0 25 32&lt;br /&gt;
                BNZ  A06de            ; 06d2 94 0b&lt;br /&gt;
                LISU 3                   ; 06d4 63&lt;br /&gt;
                LISL 0                   ; 06d5 68&lt;br /&gt;
                PI   A06ec               ; 06d6 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06d9 20 14&lt;br /&gt;
                LR   $0,A                ; 06db 50&lt;br /&gt;
                BF   $0,A06a0            ; 06dc 90 c3&lt;br /&gt;
                &lt;br /&gt;
A06de:          CI   $33                 ; 06de 25 33&lt;br /&gt;
                BNZ  A06a0            ; 06e0 94 bf&lt;br /&gt;
                LISU 3                   ; 06e2 63&lt;br /&gt;
                LISL 2                   ; 06e3 6a&lt;br /&gt;
                PI   A06ec               ; 06e4 28 06 ec&lt;br /&gt;
                LI   $14                 ; 06e7 20 14&lt;br /&gt;
                LR   $0,A                ; 06e9 50&lt;br /&gt;
                BF   $0,A06a0            ; 06ea 90 b5&lt;br /&gt;
                &lt;br /&gt;
A06ec:          LR   K,P                 ; 06ec 08&lt;br /&gt;
                PI   pushk               ; 06ed 28 01 07&lt;br /&gt;
                LR   A,S              ; 06f0 4c&lt;br /&gt;
                XS   $1                  ; 06f1 e1&lt;br /&gt;
                BNZ  A06f9            ; 06f2 94 06&lt;br /&gt;
                LR   A,I             ; 06f4 4d&lt;br /&gt;
                LR   A,D             ; 06f5 4e&lt;br /&gt;
                XS   $2                  ; 06f6 e2&lt;br /&gt;
                BT   4,A0714             ; 06f7 84 1c&lt;br /&gt;
A06f9:          LR   A,$1                ; 06f9 41&lt;br /&gt;
                LR   $5,A                ; 06fa 55&lt;br /&gt;
                LR   A,$2                ; 06fb 42&lt;br /&gt;
                LR   $6,A                ; 06fc 56&lt;br /&gt;
                LR   A,S              ; 06fd 4c&lt;br /&gt;
                LR   $1,A                ; 06fe 51&lt;br /&gt;
                LR   A,$5                ; 06ff 45&lt;br /&gt;
                LR   I,A             ; 0700 5d&lt;br /&gt;
                LR   A,S              ; 0701 4c&lt;br /&gt;
                LR   $2,A                ; 0702 52&lt;br /&gt;
                LR   A,$6                ; 0703 46&lt;br /&gt;
                LR   D,A             ; 0704 5e&lt;br /&gt;
                LIS  $d                  ; 0705 7d&lt;br /&gt;
                LR   $0,A                ; 0706 50&lt;br /&gt;
                DCI  bitmaps             ; 0707 2a 07 67&lt;br /&gt;
                PI   A0718               ; 070a 28 07 18&lt;br /&gt;
                DCI  bitmaps             ; 070d 2a 07 67&lt;br /&gt;
                LR   A,I             ; 0710 4d&lt;br /&gt;
                LR   $1,A                ; 0711 51&lt;br /&gt;
                LR   A,D             ; 0712 4e&lt;br /&gt;
                LR   $2,A                ; 0713 52&lt;br /&gt;
A0714:          PI   popk                ; 0714 28 01 1e&lt;br /&gt;
                PK                       ; 0717 0c&lt;br /&gt;
                &lt;br /&gt;
A0718:          LR   A,$0                ; 0718 40&lt;br /&gt;
                SL   1                   ; 0719 13&lt;br /&gt;
                ADC                      ; 071a 8e&lt;br /&gt;
                AS   $0                  ; 071b c0&lt;br /&gt;
                ADC                      ; 071c 8e&lt;br /&gt;
                LI   $40                 ; 071d 20 40&lt;br /&gt;
                OUTS 0                   ; 071f b0&lt;br /&gt;
                LR   A,$4                ; 0720 44&lt;br /&gt;
                LR   $6,A                ; 0721 56&lt;br /&gt;
A0722:          LR   $5,A                ; 0722 55&lt;br /&gt;
                LM                       ; 0723 16&lt;br /&gt;
                LR   $7,A                ; 0724 57&lt;br /&gt;
                LR   A,$2                ; 0725 42&lt;br /&gt;
                AI   $00                 ; 0726 24 00&lt;br /&gt;
                COM                      ; 0728 18&lt;br /&gt;
                NI   $3f                 ; 0729 21 3f&lt;br /&gt;
                LR   $8,A                ; 072b 58&lt;br /&gt;
                INS  5                   ; 072c a5&lt;br /&gt;
                NI   $c0                 ; 072d 21 c0&lt;br /&gt;
                AS   $8                  ; 072f c8&lt;br /&gt;
                OUTS 5                   ; 0730 b5&lt;br /&gt;
A0731:          LR   A,$1                ; 0731 41&lt;br /&gt;
                AI   $fc                 ; 0732 24 fc&lt;br /&gt;
                COM                      ; 0734 18&lt;br /&gt;
                OUTS 4                   ; 0735 b4&lt;br /&gt;
                LR   A,$7                ; 0736 47&lt;br /&gt;
                OI   $00                 ; 0737 22 00&lt;br /&gt;
                LR   A,$3                ; 0739 43&lt;br /&gt;
                BF   $1,A073d            ; 073a 91 02&lt;br /&gt;
                LIS  $0                  ; 073c 70&lt;br /&gt;
A073d:          COM                      ; 073d 18&lt;br /&gt;
                OUTS 1                   ; 073e b1&lt;br /&gt;
                LR   A,$7                ; 073f 47&lt;br /&gt;
                SL   1                   ; 0740 13&lt;br /&gt;
                LR   $7,A                ; 0741 57&lt;br /&gt;
                LI   $60                 ; 0742 20 60&lt;br /&gt;
                OUTS 0                   ; 0744 b0&lt;br /&gt;
                LI   $50                 ; 0745 20 50 - bit 4 is however n/c, so $40 can be used&lt;br /&gt;
                OUTS 0                   ; 0747 b0&lt;br /&gt;
                LR   A,$1                ; 0748 41&lt;br /&gt;
                INC                      ; 0749 1f&lt;br /&gt;
                LR   $1,A                ; 074a 51&lt;br /&gt;
                LIS  $4                  ; 074b 74&lt;br /&gt;
                LR   $8,A                ; 074c 58&lt;br /&gt;
A074d:          DS   $8                  ; 074d 38&lt;br /&gt;
                BNZ  A074d            ; 074e 94 fe&lt;br /&gt;
                DS   $5                  ; 0750 35&lt;br /&gt;
                BNZ  A0731            ; 0751 94 df&lt;br /&gt;
                LR   A,$2                ; 0753 42&lt;br /&gt;
                INC                      ; 0754 1f&lt;br /&gt;
                LR   $2,A                ; 0755 52&lt;br /&gt;
                LR   A,$4                ; 0756 44&lt;br /&gt;
                COM                      ; 0757 18&lt;br /&gt;
                INC                      ; 0758 1f&lt;br /&gt;
                AS   $1                  ; 0759 c1&lt;br /&gt;
                LR   $1,A                ; 075a 51&lt;br /&gt;
                LR   A,$4                ; 075b 44&lt;br /&gt;
                DS   $6                  ; 075c 36&lt;br /&gt;
                BNZ  A0722            ; 075d 94 c4&lt;br /&gt;
                LR   A,$4                ; 075f 44&lt;br /&gt;
                COM                      ; 0760 18&lt;br /&gt;
                INC                      ; 0761 1f&lt;br /&gt;
                AS   $2                  ; 0762 c2&lt;br /&gt;
                LR   $2,A                ; 0763 52&lt;br /&gt;
                LIS  $0                  ; 0764 70&lt;br /&gt;
                OUTS 0                   ; 0765 b0&lt;br /&gt;
                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
&lt;br /&gt;
			                POP                      ; 0766 1c&lt;br /&gt;
&lt;br /&gt;
;=========;&lt;br /&gt;
; Bitmaps ;&lt;br /&gt;
;=========;&lt;br /&gt;
&lt;br /&gt;
; a series of 5x8 bitmaps used by the internal games,&lt;br /&gt;
; the prompt routine, and several cartridges&lt;br /&gt;
&lt;br /&gt;
bitmaps:&lt;br /&gt;
	; 0 $0767&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 1 $076C&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; 2 $0771&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 3 $0776&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 4 $077B&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; 5 $0780&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 6 $0785&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 7 $078A&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; 8 $078F&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; 9 $0794&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; G $0799&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%10011000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
&lt;br /&gt;
	; ? $079E&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; T $07A3&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; (space) $07A8&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; M $07AD&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
	.byte	%10101000&lt;br /&gt;
&lt;br /&gt;
	; X $07B2&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%10001000&lt;br /&gt;
&lt;br /&gt;
	; (block) $07B7&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
	.byte	%11111111&lt;br /&gt;
&lt;br /&gt;
	; : $07BC&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; - $07C1&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11111000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; || (center) $07C6&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
	.byte	%01010000&lt;br /&gt;
&lt;br /&gt;
	; || (left) $07CB&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
	.byte	%10100000&lt;br /&gt;
&lt;br /&gt;
	; ' $07D0&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players $07D5&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 1 $07DA&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 2 $07DF&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 3 $07E4&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 4 $07E9&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 5 $07EE&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
	.byte	%11000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00011000&lt;br /&gt;
	.byte	%00000000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 6 $07F3&lt;br /&gt;
	.byte	%10000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00001000&lt;br /&gt;
&lt;br /&gt;
	; Hockey (Tennis) players 7 $07F8&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%01000000&lt;br /&gt;
	.byte	%00100000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
	.byte	%00010000&lt;br /&gt;
&lt;br /&gt;
	; $07FD&lt;br /&gt;
	.byte	0,0,0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Main_Page&amp;diff=766</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Main_Page&amp;diff=766"/>
				<updated>2026-08-01T05:51:13Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the [[Channel F|VES]] wiki! Here you can find out user-donated information on all sorts of programming info for the Channel F. __NOTOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;col1&amp;quot; style=&amp;quot;width: 30%; float: right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
== Channel F Information ==&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* [[Schematics]]&lt;br /&gt;
* [[Pinouts]]&lt;br /&gt;
* [[Resolution]]&lt;br /&gt;
* [[Register]]s&lt;br /&gt;
* [[F8]]&lt;br /&gt;
* [[ROMC|ROMC explained]]&lt;br /&gt;
* [[RAM]]&lt;br /&gt;
* [[VRAM]]&lt;br /&gt;
* [[Port|Ports]]&lt;br /&gt;
* [[Modding]]&lt;br /&gt;
'''Programming:'''&lt;br /&gt;
* [[Opcode]]s&lt;br /&gt;
* [[DASM|DASM compiler]]&lt;br /&gt;
* [[Accessing VRAM|Draw graphics]]&lt;br /&gt;
* [[Reading Controllers|Reading Controller and Buttons]]&lt;br /&gt;
* [[Outputting Sound]]&lt;br /&gt;
* [[Subtraction]]&lt;br /&gt;
* [[Binary coded decimal]]&lt;br /&gt;
* [[Subroutines]]&lt;br /&gt;
* [[Ves.h]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
* [[Snippet:Blit|Draw in two colors]]&lt;br /&gt;
* [[Snippet:Multiblit|Draw in all colors]]&lt;br /&gt;
* [[Snippet:Plot|Draw just one dot]]&lt;br /&gt;
* [[Snippet:Score|Keep track of score]]&lt;br /&gt;
* [[Snippet:Playsong|Make sweet monophonic music]]&lt;br /&gt;
** [[Snippet:Music_60.h|Music_60.h]]&lt;br /&gt;
* [[Snippet:Pseudorandom numbers|Pseudorandom numbers]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Homebrews ==&lt;br /&gt;
* [[Homebrew:Cannibal Slug Battle|Cannibal Slug Battle]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:F8 of Nations|F8 of Nations]] by Nycurt&lt;br /&gt;
* [[Homebrew:Fullscreenpicture|Full screen picture]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:International Karate|International Karate]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Lights Out|Lights Out]] by Sean Riddle&lt;br /&gt;
* [[Homebrew:Multi-Cart Menu|Multi-Cart Menu]] by Sean Riddle and [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Pac-Man|Pac-Man]] by Blackbird and [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:RAM test|RAM test]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Scrolling Mountains|Scrolling Mountains]] by Curtdawg&lt;br /&gt;
* [[Homebrew:Test Controls|Test Controls]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Tetris|Tetris for 1 or 2 players]] by Peter Trauner&lt;br /&gt;
* [[Homebrew:Music|Homebrew Music]]&lt;br /&gt;
* [[Homebrew:CCtro|256 Byte intro]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
* [[DASM]]&lt;br /&gt;
* [[f8tool|F8tool]]&lt;br /&gt;
* [[Graphics converter]]&lt;br /&gt;
** [[For full screen]]&lt;br /&gt;
* [[Videocart dumper]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disassemblies ==&lt;br /&gt;
* [[Disassembly:Bios|Channel F Bios]]&lt;br /&gt;
* [[Disassembly:Videocart 1|Videocart 1 - Tic-Tac-Toe, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 2|Videocart 2 - Desert Fox, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 3|Videocart 3 - Video Blackjack]]&lt;br /&gt;
* [[Disassembly:Videocart 4|Videocart 4 - Spitfire]]&lt;br /&gt;
* [[Disassembly:Videocart 5|Videocart 5 - Space War]]&lt;br /&gt;
* [[Disassembly:Videocart 6|Videocart 6 - Math Quiz]]&lt;br /&gt;
* [[Disassembly:Videocart 7|Videocart 7 - Math Quiz II]]&lt;br /&gt;
* [[Disassembly:Videocart 8|Videocart 8 - Magic Numbers, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 9|Videocart 9 - Drag Race]]&lt;br /&gt;
* [[Disassembly:Videocart 10|Videocart 10 - Maze]]&lt;br /&gt;
* [[Disassembly:Videocart 10b|Videocart 10b - Maze, code variation]]&lt;br /&gt;
* [[Disassembly:Videocart 11|Videocart 11 - Backgammon, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 12|Videocart 12 - Baseball]]&lt;br /&gt;
* [[Disassembly:Videocart 13|Videocart 13 - Robot War, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 14|Videocart 14 - Sonar Search]]&lt;br /&gt;
* [[Disassembly:Videocart 15|Videocart 15 - Memory Match]]&lt;br /&gt;
* [[Disassembly:Videocart 16|Videocart 16 - Dodge' It]]&lt;br /&gt;
* [[Disassembly:Videocart 17|Videocart 17 - Pinball Challenge]]&lt;br /&gt;
* [[Disassembly:Videocart 17b|Videocart 17b - Pinball code variation]]&lt;br /&gt;
* [[Disassembly:Videocart 18|Videocart 18 - Hangman]]&lt;br /&gt;
* [[Disassembly:Videocart 19|Videocart 19 - Checkers]]&lt;br /&gt;
* [[Disassembly:Videocart 20|Videocart 20 - Video Whizball]]&lt;br /&gt;
* [[Disassembly:Videocart 21|Videocart 21 - Bowling]]&lt;br /&gt;
* [[Disassembly:Videocart 22|Videocart 22 - Slot Machine]]&lt;br /&gt;
* [[Disassembly:Videocart 22b|Videocart 22b - Alt. Slot Machine]]&lt;br /&gt;
* [[Disassembly:Videocart 23|Videocart 23 - Galactic Space Wars]]&lt;br /&gt;
* [[Disassembly:Videocart 24|Videocart 24 - Pro Football]]&lt;br /&gt;
* [[Disassembly:Videocart 25|Videocart 25 - Casino Poker]]&lt;br /&gt;
* [[Disassembly:Videocart 26|Videocart 26 - Alien Invasion]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 1|SABA Videoplay 1 - M&amp;amp;uuml;hle, usw]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 16|SABA Videoplay 16 - Rat' mal]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 20|SABA Videoplay 20 - Schach]]&lt;br /&gt;
* [[Disassembly:Democart|Democart]]&lt;br /&gt;
* [[Disassembly:Democart 2|Democart 2]]&lt;br /&gt;
* [[Disassembly:Werbetextcassette electronic partner|Werbetextcassette electronic partner]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;col2&amp;quot; style=&amp;quot;width: 69%; float: left&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contribute! ==&lt;br /&gt;
&lt;br /&gt;
The VESWiki was set up as a repository for information related to the VES and VES programming. Some of the many things we'd like to make available are disassemblies, console or technical information, tutorials and guides for both software and hardware, code snippets, and complete games. We encourage you to add any information you have, or to make a page promoting your own game (which you can host here, if you like).&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
If you'd like to get started programming games for the Channel F, try downloading the &amp;lt;br&amp;gt;[https://channelf.se/veswiki/images/a/ac/Devel_MESSUI0235.7z Development Pack (.7z, 18.9 MiB)]. &amp;lt;br&amp;gt;It includes the DASM assembler, the MESS emulator and an early version of Pac-Man as a sample game that you can edit, compile and test. Just unpack it, preferably directly on root of your hard drive and doubleclick '''..\devel\games\pacman\!compile+run.bat''' or the '''!run.bat''' in the same directory and it should start right up. Press Esc to leave the debugger. &amp;lt;br&amp;gt; It has been tested (and is working) on Windows XP Home SP3.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here's a tutorial that might be helpful: &lt;br /&gt;
[[Tutorial:Beginner%27s_Guide_to_the_Channel_F | Beginner's guide to the Channel F]]&lt;br /&gt;
&amp;lt;br&amp;gt;Read up on the guides and have fun!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Useful external links ==&lt;br /&gt;
(all links working June 21st 2020)&lt;br /&gt;
&lt;br /&gt;
* [http://www.freelists.org/list/channelf Channel F Programming List]&lt;br /&gt;
* [http://seanriddle.com/chanf.html Sean Riddle's Channel F Info]&lt;br /&gt;
* [http://seanriddle.com/chanfmulti.html Sean Riddle's Channel F Multicart]&lt;br /&gt;
* [http://seanriddle.com/chanfinfo.html Sean Riddle's Channel F Programming Info]&lt;br /&gt;
* [http://www.nyx.net/~lturner/public_html/Fairchild_F8.html Lowell O. Turner's Home Page- Fairchild F8 Info]&lt;br /&gt;
* [http://www.nyx.net/~lturner/public_html/F8_ins.html Lowell O. Turner's Home Page- Fairchild F8 Instruction Set]&lt;br /&gt;
&lt;br /&gt;
== Information in pdf:s ==&lt;br /&gt;
&lt;br /&gt;
Here are complete Guides in pdf format on how to program a F8 processor system: &amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/F8_Guide_to_Programming.pdf F8 Guide to Programming (.pdf, 7.57 MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/F8_Guide_to_Programming_old.pdf F8 Guide to Programming b/w(.pdf, 3.42 MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf F8 User's Guide (1976)(Fairchild) (.pdf, 13.8 MB)]&lt;br /&gt;
&lt;br /&gt;
These are a few shorter pdf:s with information on the F8 system and its circuits: &amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f8_general_info.pdf F8 general info (.pdf, 146kB)]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3850.pdf F3850 the CPU (.pdf, 1.49MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf  F8 info by Terry Polhoff (.pdf, 698kB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3851_56.pdf F3851+56 Program Storage Unit (.pdf, 1.5MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3852_53.pdf F3852+53 Dynamic and Static Memory Interface (.pdf, 720kB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/veswiki/images/1/1d/Fairchild_Service_Manual.pdf Service manual, Repair information (.pdf, 409kB)]&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=File:Devel_MESSUI0235.7z&amp;diff=765</id>
		<title>File:Devel MESSUI0235.7z</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=File:Devel_MESSUI0235.7z&amp;diff=765"/>
				<updated>2026-08-01T05:50:04Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: DASM assembler, the MESS emulator and an early version of Pac-Man as a sample game.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DASM assembler, the MESS emulator and an early version of Pac-Man as a sample game.&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Snippet:Multiblit&amp;diff=764</id>
		<title>Snippet:Multiblit</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Snippet:Multiblit&amp;diff=764"/>
				<updated>2026-07-26T17:47:10Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''multiblit''' subroutine is a derivative of the '''[[Snippet:Blit|blit]]''' subroutine, but draws the image to the screen in four colors (2 bits per pixel). The two-bit combination for green is %00, for red is %01, for blue is %10, and for the background color it's %11. Four pixels can be stored in a single byte of graphics data.&lt;br /&gt;
&lt;br /&gt;
The parameters and instructions for the routines are almost the same, using '''multiblit''' instead of '''blit''' and '''MultiBlitGfx''' instead of '''blitGraphic'''. All you need to do is to skip the two color bytes in the parameter data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To call the functions, you should use this for '''MultiBlitGfx''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	dci	gfx.parameters	; address of parameters&lt;br /&gt;
	pi	MultiBlitGfx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters can be stored where you like, it has the address for the actual gfx data, that can also be placed where convenient. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gfx.parameters:&lt;br /&gt;
	.byte	4			; x position&lt;br /&gt;
	.byte	18			; y position&lt;br /&gt;
	.byte	8			; width&lt;br /&gt;
	.byte	5			; height&lt;br /&gt;
	.word	gfx.data		; address for the graphics&lt;br /&gt;
&lt;br /&gt;
gfx.data:&lt;br /&gt;
	.byte	%00001010, %11000010, %11000010, %11000011, %00001010&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to use '''multiblit''' directly, make sure you have setup these data:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
r1 = x position&lt;br /&gt;
r2 = y position&lt;br /&gt;
r3 = width&lt;br /&gt;
r4 = height&lt;br /&gt;
DC = pointer to graphics&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;================;&lt;br /&gt;
; Multiblit Code ;&lt;br /&gt;
;================;&lt;br /&gt;
;&lt;br /&gt;
; green: %00 (Port color code %00000000 / $00)&lt;br /&gt;
; red  : %01 (Port color code %01000000 / $40)&lt;br /&gt;
; blue : %10 (Port color code %10000000 / $80)&lt;br /&gt;
; background: %11.  (Port color code %11000000 / $C0)&lt;br /&gt;
;&lt;br /&gt;
;-------------------;&lt;br /&gt;
; MultiBlitGfx ;&lt;br /&gt;
;-------------------;&lt;br /&gt;
&lt;br /&gt;
; takes graphic parameters from ROM, stores them in r1-r4, changes&lt;br /&gt;
; the DC and calls the multiblit function with the parameters&lt;br /&gt;
;&lt;br /&gt;
; modifies: r1-r4, Q, DC&lt;br /&gt;
&lt;br /&gt;
MultiBlitGfx:&lt;br /&gt;
	; set ISAR&lt;br /&gt;
	lisu	0&lt;br /&gt;
	lisl	1&lt;br /&gt;
	; load four bytes from the parameters into r1-r4&lt;br /&gt;
	lm   &lt;br /&gt;
	lr	I, A						; store byte and increase ISAR&lt;br /&gt;
	lm   &lt;br /&gt;
	lr	I, A&lt;br /&gt;
	lm   &lt;br /&gt;
	lr	I, A&lt;br /&gt;
	lm   &lt;br /&gt;
	lr	S, A&lt;br /&gt;
&lt;br /&gt;
	; load the graphics address&lt;br /&gt;
	lm&lt;br /&gt;
	lr	Qu, A						; into Q&lt;br /&gt;
	lm&lt;br /&gt;
	lr	Ql, A&lt;br /&gt;
	lr	DC, Q						; load it into the DC&lt;br /&gt;
&lt;br /&gt;
	; call the blit function&lt;br /&gt;
;	jmp	multiblit					; Not needed, it's the next piece of code&lt;br /&gt;
&lt;br /&gt;
;--------------------;&lt;br /&gt;
; Multiblit Function ;&lt;br /&gt;
;--------------------;&lt;br /&gt;
;&lt;br /&gt;
; This function blits a 4-color graphic based on parameters set&lt;br /&gt;
; in r1-r4 and the graphic data pointed to by DC0, onto the&lt;br /&gt;
; screen&lt;br /&gt;
; Origin from cart 26, modified for color and annotated&lt;br /&gt;
;&lt;br /&gt;
; modifies: r0-r7, DC&lt;br /&gt;
&lt;br /&gt;
; register reference:&lt;br /&gt;
; -------------------&lt;br /&gt;
; r0 = quick adder&lt;br /&gt;
; r1 = x position&lt;br /&gt;
; r2 = y position&lt;br /&gt;
; r3 = width&lt;br /&gt;
; r4 = height (and vertical counter)&lt;br /&gt;
;&lt;br /&gt;
; r5 = horizontal counter&lt;br /&gt;
; r6 = graphics byte&lt;br /&gt;
; r7 = pixel counter&lt;br /&gt;
;&lt;br /&gt;
; DC = pointer to graphics&lt;br /&gt;
&lt;br /&gt;
multiblit:&lt;br /&gt;
	clr&lt;br /&gt;
	com&lt;br /&gt;
	lr	0, A							; $FF, for adding 1&lt;br /&gt;
&lt;br /&gt;
	lis	1&lt;br /&gt;
	lr	7, A							; load #1 into r7 so it'll be reset when we start&lt;br /&gt;
	lr	A, 2							; load the y offset&lt;br /&gt;
	com								; invert it&lt;br /&gt;
.multiblitRow:&lt;br /&gt;
	outs	5							; load accumulator into port 5 (row)&lt;br /&gt;
&lt;br /&gt;
	; check vertical counter&lt;br /&gt;
	ds	4							; decrease r4 (vertical counter)&lt;br /&gt;
	bnc	.multiblitExit					; if it rolls over exit&lt;br /&gt;
&lt;br /&gt;
	; load the width into the horizontal counter&lt;br /&gt;
	lr	A, 3&lt;br /&gt;
	lr	5, A&lt;br /&gt;
&lt;br /&gt;
	lr	A, 1							; load the x position&lt;br /&gt;
	com								; complement it&lt;br /&gt;
.multiblitColumn:&lt;br /&gt;
	outs	4							; use the accumulator as our initial column&lt;br /&gt;
	; check to see if this byte is finished&lt;br /&gt;
	ds	7							; decrease r7 (pixel counter)&lt;br /&gt;
	bnz	.multiblitDrawPixel				; if we aren't done with this byte, branch&lt;br /&gt;
&lt;br /&gt;
.multiblitGetByte:&lt;br /&gt;
	; get the next graphics byte and set related registers&lt;br /&gt;
	lis	4&lt;br /&gt;
	lr	7, A							; load 4 into r7 (4 doublebit, pixel counter)&lt;br /&gt;
	lm&lt;br /&gt;
	lr	6, A							; load a graphics byte into r6&lt;br /&gt;
&lt;br /&gt;
.multiblitDrawPixel:&lt;br /&gt;
	; get new color&lt;br /&gt;
	lr	A, 6&lt;br /&gt;
	ni	%11000000						; Just keep top two&lt;br /&gt;
	outs	1							; output A in p1 (color)&lt;br /&gt;
&lt;br /&gt;
.multiblitTransferData:&lt;br /&gt;
	; transfer the pixel data&lt;br /&gt;
	lis	6&lt;br /&gt;
	sl	4&lt;br /&gt;
	outs	0&lt;br /&gt;
	sl	1&lt;br /&gt;
	outs	0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	; GFX DELAY&lt;br /&gt;
&lt;br /&gt;
	; shift graphics byte&lt;br /&gt;
	lr	A, 6							; load r6 (graphics byte)&lt;br /&gt;
	sl	1&lt;br /&gt;
	sl	1							; shift left two, move up to b7, b6&lt;br /&gt;
	lr	6, A							; save it&lt;br /&gt;
&lt;br /&gt;
	lis	2							; Small delay&lt;br /&gt;
.multiblitSavePixelDelay:&lt;br /&gt;
	ai	$ff&lt;br /&gt;
	bnz	.multiblitSavePixelDelay			; loop if not 0 (small delay)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.multiblitCheckColumn:&lt;br /&gt;
	ds	5							; decrease r5 (horizontal counter)&lt;br /&gt;
	bz	.multiblitCheckRow				; if it's 0, branch&lt;br /&gt;
&lt;br /&gt;
	ins	4							; get p4 (column)&lt;br /&gt;
	as	0							; add 1 (complemented)&lt;br /&gt;
	br	.multiblitColumn					; branch&lt;br /&gt;
&lt;br /&gt;
.multiblitCheckRow:&lt;br /&gt;
	ins	5							; get p5 (row)&lt;br /&gt;
	as	0							; add 1 (complemented)&lt;br /&gt;
	br	.multiblitRow					; branch&lt;br /&gt;
&lt;br /&gt;
.multiblitExit:&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;em&amp;gt;You need to start at (4,4) for the upper left corner in MESS.&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Snippet:Blit|Blit Subroutine]]&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Snippet:Multiblit&amp;diff=763</id>
		<title>Snippet:Multiblit</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Snippet:Multiblit&amp;diff=763"/>
				<updated>2026-07-26T17:46:00Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''multiblit''' subroutine is a derivative of the '''[[Snippet:Blit|blit]]''' subroutine, but draws the image to the screen in four colors (2 bits per pixel). The two-bit combination for green is %00, for red is %01, for blue is %10, and for the background color it's %11. Four pixels can be stored in a single byte of graphics data.&lt;br /&gt;
&lt;br /&gt;
The parameters and instructions for the routines are almost the same, using '''multiblit''' instead of '''blit''' and '''MultiBlitGfx''' instead of '''blitGraphic'''. All you need to do is to skip the two color bytes in the parameter data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To call the functions, you should use this for '''MultiBlitGfx''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	dci	gfx.parameters	; address of parameters&lt;br /&gt;
	pi	MultiBlitGfx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters can be stored where you like, it has the address for the actual gfx data, that can also be placed where convenient. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gfx.parameters:&lt;br /&gt;
	.byte	4			; x position&lt;br /&gt;
	.byte	18			; y position&lt;br /&gt;
	.byte	8			; width&lt;br /&gt;
	.byte	5			; height&lt;br /&gt;
	.word	gfx.data		; address for the graphics&lt;br /&gt;
&lt;br /&gt;
gfx.data:&lt;br /&gt;
	.byte	%00001010, %11000010, %11000010, %11000011, %00001010&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to use '''multiblit''' directly, make sure you have setup these data:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
r1 = x position&lt;br /&gt;
r2 = y position&lt;br /&gt;
r3 = width&lt;br /&gt;
r4 = height&lt;br /&gt;
DC = pointer to graphics&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;================;&lt;br /&gt;
; Multiblit Code ;&lt;br /&gt;
;================;&lt;br /&gt;
;&lt;br /&gt;
; green: %00 (Port color code %00000000 / $00)&lt;br /&gt;
; red  : %01 (Port color code %01000000 / $40)&lt;br /&gt;
; blue : %10 (Port color code %10000000 / $80)&lt;br /&gt;
; background: %11.  (Port color code %11000000 / $C0)&lt;br /&gt;
;&lt;br /&gt;
;-------------------;&lt;br /&gt;
; MultiBlitGfx ;&lt;br /&gt;
;-------------------;&lt;br /&gt;
&lt;br /&gt;
; takes graphic parameters from ROM, stores them in r1-r4, changes&lt;br /&gt;
; the DC and calls the multiblit function with the parameters&lt;br /&gt;
;&lt;br /&gt;
; modifies: r1-r4, Q, DC&lt;br /&gt;
&lt;br /&gt;
MultiBlitGfx:&lt;br /&gt;
	; set ISAR&lt;br /&gt;
	lisu	0&lt;br /&gt;
	lisl	1&lt;br /&gt;
	; load four bytes from the parameters into r1-r4&lt;br /&gt;
	lm   &lt;br /&gt;
	lr	I, A						; store byte and increase ISAR&lt;br /&gt;
	lm   &lt;br /&gt;
	lr	I, A&lt;br /&gt;
	lm   &lt;br /&gt;
	lr	I, A&lt;br /&gt;
	lm   &lt;br /&gt;
	lr	S, A&lt;br /&gt;
&lt;br /&gt;
	; load the graphics address&lt;br /&gt;
	lm&lt;br /&gt;
	lr	Qu, A						; into Q&lt;br /&gt;
	lm&lt;br /&gt;
	lr	Ql, A&lt;br /&gt;
	lr	DC, Q						; load it into the DC&lt;br /&gt;
&lt;br /&gt;
	; call the blit function&lt;br /&gt;
;	jmp	multiblit					; Not needed, it's the next piece of code&lt;br /&gt;
&lt;br /&gt;
;--------------------;&lt;br /&gt;
; Multiblit Function ;&lt;br /&gt;
;--------------------;&lt;br /&gt;
;&lt;br /&gt;
; Adjusted so that (0,0) is the top left pixel in the MESS display.&lt;br /&gt;
; If you want to skip this adjustment, saving 6 cycles, use &lt;br /&gt;
; &amp;quot;multiblit_no&amp;quot; for real origo - and not (4,4).&lt;br /&gt;
;&lt;br /&gt;
; This function blits a 4-color graphic based on parameters set&lt;br /&gt;
; in r1-r4 and the graphic data pointed to by DC0, onto the&lt;br /&gt;
; screen&lt;br /&gt;
; Origin from cart 26, modified for color and annotated&lt;br /&gt;
;&lt;br /&gt;
; modifies: r0-r7, DC&lt;br /&gt;
&lt;br /&gt;
; register reference:&lt;br /&gt;
; -------------------&lt;br /&gt;
; r0 = quick adder&lt;br /&gt;
; r1 = x position&lt;br /&gt;
; r2 = y position&lt;br /&gt;
; r3 = width&lt;br /&gt;
; r4 = height (and vertical counter)&lt;br /&gt;
;&lt;br /&gt;
; r5 = horizontal counter&lt;br /&gt;
; r6 = graphics byte&lt;br /&gt;
; r7 = pixel counter&lt;br /&gt;
;&lt;br /&gt;
; DC = pointer to graphics&lt;br /&gt;
&lt;br /&gt;
multiblit:&lt;br /&gt;
	clr&lt;br /&gt;
	com&lt;br /&gt;
	lr	0, A							; $FF, for adding 1&lt;br /&gt;
&lt;br /&gt;
	lis	1&lt;br /&gt;
	lr	7, A							; load #1 into r7 so it'll be reset when we start&lt;br /&gt;
	lr	A, 2							; load the y offset&lt;br /&gt;
	com								; invert it&lt;br /&gt;
.multiblitRow:&lt;br /&gt;
	outs	5							; load accumulator into port 5 (row)&lt;br /&gt;
&lt;br /&gt;
	; check vertical counter&lt;br /&gt;
	ds	4							; decrease r4 (vertical counter)&lt;br /&gt;
	bnc	.multiblitExit					; if it rolls over exit&lt;br /&gt;
&lt;br /&gt;
	; load the width into the horizontal counter&lt;br /&gt;
	lr	A, 3&lt;br /&gt;
	lr	5, A&lt;br /&gt;
&lt;br /&gt;
	lr	A, 1							; load the x position&lt;br /&gt;
	com								; complement it&lt;br /&gt;
.multiblitColumn:&lt;br /&gt;
	outs	4							; use the accumulator as our initial column&lt;br /&gt;
	; check to see if this byte is finished&lt;br /&gt;
	ds	7							; decrease r7 (pixel counter)&lt;br /&gt;
	bnz	.multiblitDrawPixel				; if we aren't done with this byte, branch&lt;br /&gt;
&lt;br /&gt;
.multiblitGetByte:&lt;br /&gt;
	; get the next graphics byte and set related registers&lt;br /&gt;
	lis	4&lt;br /&gt;
	lr	7, A							; load 4 into r7 (4 doublebit, pixel counter)&lt;br /&gt;
	lm&lt;br /&gt;
	lr	6, A							; load a graphics byte into r6&lt;br /&gt;
&lt;br /&gt;
.multiblitDrawPixel:&lt;br /&gt;
	; get new color&lt;br /&gt;
	lr	A, 6&lt;br /&gt;
	ni	%11000000						; Just keep top two&lt;br /&gt;
	outs	1							; output A in p1 (color)&lt;br /&gt;
&lt;br /&gt;
.multiblitTransferData:&lt;br /&gt;
	; transfer the pixel data&lt;br /&gt;
	lis	6&lt;br /&gt;
	sl	4&lt;br /&gt;
	outs	0&lt;br /&gt;
	sl	1&lt;br /&gt;
	outs	0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	; GFX DELAY&lt;br /&gt;
&lt;br /&gt;
	; shift graphics byte&lt;br /&gt;
	lr	A, 6							; load r6 (graphics byte)&lt;br /&gt;
	sl	1&lt;br /&gt;
	sl	1							; shift left two, move up to b7, b6&lt;br /&gt;
	lr	6, A							; save it&lt;br /&gt;
&lt;br /&gt;
	lis	2							; Small delay&lt;br /&gt;
.multiblitSavePixelDelay:&lt;br /&gt;
	ai	$ff&lt;br /&gt;
	bnz	.multiblitSavePixelDelay			; loop if not 0 (small delay)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.multiblitCheckColumn:&lt;br /&gt;
	ds	5							; decrease r5 (horizontal counter)&lt;br /&gt;
	bz	.multiblitCheckRow				; if it's 0, branch&lt;br /&gt;
&lt;br /&gt;
	ins	4							; get p4 (column)&lt;br /&gt;
	as	0							; add 1 (complemented)&lt;br /&gt;
	br	.multiblitColumn					; branch&lt;br /&gt;
&lt;br /&gt;
.multiblitCheckRow:&lt;br /&gt;
	ins	5							; get p5 (row)&lt;br /&gt;
	as	0							; add 1 (complemented)&lt;br /&gt;
	br	.multiblitRow					; branch&lt;br /&gt;
&lt;br /&gt;
.multiblitExit:&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;em&amp;gt;You need to start at (4,4) for the upper left corner in MESS.&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Snippet:Blit|Blit Subroutine]]&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Snippet:Blit&amp;diff=762</id>
		<title>Snippet:Blit</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Snippet:Blit&amp;diff=762"/>
				<updated>2026-07-16T23:06:32Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''blit''' subroutine reads a two-color (1 bit per pixel) block of graphics data from ROM and displays it on the screen, using several parameters. It works much in the same way as the BIOS drawchar routine except for arbitrarily sized data. The code was originally taken from [[Disassembly:Videocart_26|Videocart 26]] and adapted to be more flexible and reusable.&lt;br /&gt;
&lt;br /&gt;
The routine is separated into two parts, '''blitGraphic''' and '''blit'''. '''blit''' takes parameters in registers r1-r6, and retrieves graphics data from the location DC0 points to. It can be called independently of '''blitGraphic'''. '''blitGraphic''' takes hard-coded parameters from ROM at the address pointed at by DC0 and then calls the '''blit''' routine. When the parameters do not need to be dynamic, storing the parameters in ROM and calling the '''blitGraphic''' routine directly can be more efficient than writing them to the registers and calling '''blit'''.&lt;br /&gt;
&lt;br /&gt;
Note that coordinate (0,0) is usually outside the visible emulation area, in MESS/MESSUI/MAME visible area starts at (4,4).&lt;br /&gt;
&lt;br /&gt;
Code works with the '''DASM''' compiler.&lt;br /&gt;
&lt;br /&gt;
'''Tip:''' If you want a block in one color, set both colors the same and skip setting the data pointer (DC0).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;===========;&lt;br /&gt;
; Blit Code ;&lt;br /&gt;
;===========;&lt;br /&gt;
&lt;br /&gt;
;--------------;&lt;br /&gt;
; Blit Graphic ;&lt;br /&gt;
;--------------;&lt;br /&gt;
&lt;br /&gt;
; takes graphic parameters from ROM, stores them in r1-r6, &lt;br /&gt;
; changes the DC and calls the blit function with the parameters&lt;br /&gt;
;&lt;br /&gt;
; modifies: r1-r6, Q, DC&lt;br /&gt;
&lt;br /&gt;
blitGraphic:&lt;br /&gt;
	; load six bytes from the parameters into r0-r5&lt;br /&gt;
	lisu	0&lt;br /&gt;
	lisl	1&lt;br /&gt;
.blitGraphicGetParms:&lt;br /&gt;
	lm   &lt;br /&gt;
	lr	I, A						; store byte and increase ISAR&lt;br /&gt;
	br7	.blitGraphicGetParms				; not finished with the registers, loop&lt;br /&gt;
&lt;br /&gt;
	; load the graphics address&lt;br /&gt;
	lm&lt;br /&gt;
	lr	QU, A						; storea data address in Q, one byte at the time&lt;br /&gt;
	lm&lt;br /&gt;
	lr	QL, A&lt;br /&gt;
	lr	DC, Q						; copy Q into DC0&lt;br /&gt;
&lt;br /&gt;
	; continue with the blit function&lt;br /&gt;
&lt;br /&gt;
;---------------;&lt;br /&gt;
; Blit Function ;&lt;br /&gt;
;---------------;&lt;br /&gt;
&lt;br /&gt;
; this function blits a graphic based on parameters set in r1-r6,&lt;br /&gt;
; and the graphic data pointed to by DC0, onto the screen&lt;br /&gt;
; originally from cart 26, modified and annotated&lt;br /&gt;
;&lt;br /&gt;
; modifies: r1-r9, DC&lt;br /&gt;
&lt;br /&gt;
; register reference:&lt;br /&gt;
; -------------------&lt;br /&gt;
; r1 = color 0 (off) (alias: clear/bkg/blue/red/green)&lt;br /&gt;
; r2 = color 1 (on)  (alias: clear/bkg/blue/red/green)&lt;br /&gt;
; r3 = x position&lt;br /&gt;
; r4 = y position&lt;br /&gt;
; r5 = width&lt;br /&gt;
; r6 = height (and vertical counter)&lt;br /&gt;
;&lt;br /&gt;
; r7 = horizontal counter&lt;br /&gt;
; r8 = graphics byte&lt;br /&gt;
; r9 = bit counter&lt;br /&gt;
;&lt;br /&gt;
; DC = pointer to graphics&lt;br /&gt;
;------------------------&lt;br /&gt;
; Valid colors&lt;br /&gt;
;------------------------&lt;br /&gt;
; green	= $00 (%00000000)&lt;br /&gt;
; red	= $40 (%01000000)&lt;br /&gt;
; blue	= $80 (%10000000)&lt;br /&gt;
; bkg	= $C0 (%11000000)&lt;br /&gt;
;------------------------&lt;br /&gt;
&lt;br /&gt;
blit:&lt;br /&gt;
	lis	1&lt;br /&gt;
	lr	9, A						; load #1 into r9 so it'll be reset when we start&lt;br /&gt;
	lr	A, 4						; load the y offset&lt;br /&gt;
	com							; invert it&lt;br /&gt;
.blitRow:&lt;br /&gt;
	outs	5						; load accumulator into port 5 (row)&lt;br /&gt;
&lt;br /&gt;
	; check vertical counter&lt;br /&gt;
	ds	6						; decrease r6 (vertical counter)&lt;br /&gt;
	bnc	.blitExit					; if it rolls over exit&lt;br /&gt;
&lt;br /&gt;
	; load the width into the horizontal counter&lt;br /&gt;
	lr	A, 5&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	lr	A, 3						; load the x position&lt;br /&gt;
	com							; complement it&lt;br /&gt;
.blitColumn:&lt;br /&gt;
	outs	4						; use the accumulator as our initial column&lt;br /&gt;
	; check to see if this byte is finished&lt;br /&gt;
	ds	9						; decrease r9 (bit counter)&lt;br /&gt;
	bnz	.blitDrawBit					; if we aren't done with this byte, branch&lt;br /&gt;
&lt;br /&gt;
.blitGetByte:&lt;br /&gt;
	; get the next graphics byte and set related registers&lt;br /&gt;
	lis	8&lt;br /&gt;
	lr	9, A						; load #8 into r9 (bit counter)&lt;br /&gt;
	lm&lt;br /&gt;
	lr	8, A						; load a graphics byte into r8&lt;br /&gt;
&lt;br /&gt;
.blitDrawBit:&lt;br /&gt;
	; shift graphics byte&lt;br /&gt;
	lr	A, 8						; load r8 (graphics byte)&lt;br /&gt;
	as	8						; shift left one (with carry)&lt;br /&gt;
	lr	8, A						; save it&lt;br /&gt;
&lt;br /&gt;
	; check color to use&lt;br /&gt;
	lr	A, 2						; load color 1&lt;br /&gt;
	bc	.blitSavePixel					; if this bit is on, draw the color&lt;br /&gt;
	lr	A, 1						; load color 2&lt;br /&gt;
.blitSavePixel:&lt;br /&gt;
	inc&lt;br /&gt;
	bc	.blitCheckColumn				; branch if the color is &amp;quot;clear&amp;quot;&lt;br /&gt;
	outs	1						; output A in p1 (color)&lt;br /&gt;
&lt;br /&gt;
blit.transferData:&lt;br /&gt;
	lis	6						; transfer the pixel data&lt;br /&gt;
	sl	4&lt;br /&gt;
	outs	0&lt;br /&gt;
	sl	1&lt;br /&gt;
	outs	0&lt;br /&gt;
&lt;br /&gt;
	lis	4&lt;br /&gt;
blit.savePixelDelay:&lt;br /&gt;
	ai	$ff&lt;br /&gt;
	bnz	blit.savePixelDelay&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.blitCheckColumn:&lt;br /&gt;
	ds	7						; decrease r7 (horizontal counter)&lt;br /&gt;
	bz	.blitCheckRow					; if it's 0, branch&lt;br /&gt;
&lt;br /&gt;
	ins	4						; get p4 (column)&lt;br /&gt;
	ai	$ff						; add 1 (complemented)&lt;br /&gt;
	br	.blitColumn					; branch&lt;br /&gt;
&lt;br /&gt;
.blitCheckRow:&lt;br /&gt;
	ins	5						; get p5 (row)&lt;br /&gt;
	ai	$ff						; add 1 (complemented)&lt;br /&gt;
	br	.blitRow					; branch&lt;br /&gt;
&lt;br /&gt;
.blitExit:&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To call the above functions, you should use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	dci	graphic.parameters	; address of parameters&lt;br /&gt;
	pi	blitGraphic&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for '''blitGraphic''', and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	; when parameters have been loaded into r1-r6 beforehand&lt;br /&gt;
	dci	graphic.data		; address of graphic data&lt;br /&gt;
	pi	blit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for '''blit'''. If you're using parameters stored in ROM, they should be in this order:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
graphic.parameters:&lt;br /&gt;
	.byte	bkg			; color 0&lt;br /&gt;
	.byte	blue			; color 1&lt;br /&gt;
	.byte	4			; x position&lt;br /&gt;
	.byte	18			; y position&lt;br /&gt;
	.byte	$60			; width&lt;br /&gt;
	.byte	$13			; height&lt;br /&gt;
	.word	graphic.data		; address for the graphics&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Snippet:Multiblit|Multiblit Subroutine]]&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=F8tool&amp;diff=761</id>
		<title>F8tool</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=F8tool&amp;diff=761"/>
				<updated>2026-06-26T22:39:04Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;F8tool is an assembler AND disassembler to assemble your code into a binary file and to make binary files understandable by translating it into rudimentary assembler again.&lt;br /&gt;
&lt;br /&gt;
The disassembly attempts to mask out data areas if using the -s argument. &lt;br /&gt;
&lt;br /&gt;
Here are the instructions to run it: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;quot;f8tool asm file.asm file.bin&amp;quot; will compile file.asm and give you file.bin.'''&lt;br /&gt;
&lt;br /&gt;
'''&amp;quot;f8tool dis file.bin 2048 &amp;gt; file.asm&amp;quot; will disassemble file.bin giving you&lt;br /&gt;
file.asm starting at address $0800.'''&lt;br /&gt;
&lt;br /&gt;
'''&amp;quot;f8tool dis file.bin 2048 &amp;gt; file.asm -s&amp;quot; will disassemble file.bin and attempt&lt;br /&gt;
to mask out the data areas.'''&lt;br /&gt;
&lt;br /&gt;
'''You can also use hex notation 0x0800 instead of 2048 - should you want to.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/veswiki/images/f/f7/F8TOOL_2.0.zip  F8 Tool package including source code (.zip, 358KiB)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
F8tool was written by [[Peter Trauner]], who also wrote [[Homebrew:Tetris|Tetris]] for the Channel F.&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=F8tool&amp;diff=760</id>
		<title>F8tool</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=F8tool&amp;diff=760"/>
				<updated>2026-06-26T22:35:54Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;F8tool is an assembler AND disassembler to assemble your code into a binary file and to make binary files understandable by translating it into rudimentary assembler again.&lt;br /&gt;
&lt;br /&gt;
The disassembly does mask out data areas, maybe not all but some. &lt;br /&gt;
&lt;br /&gt;
Here are the instructions to run it: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;f8tool asm file.asm file.bin&amp;quot; will compile file.asm and give you file.bin.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;f8tool dis file.bin 2048 &amp;gt; file.asm&amp;quot; will disassemble file.bin giving you&lt;br /&gt;
file.asm starting at address $0800.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;f8tool dis file.bin 2048 &amp;gt; file.asm -s&amp;quot; will disassemble file.bin and attempt&lt;br /&gt;
to mask out the data areas.&lt;br /&gt;
&lt;br /&gt;
You can also use hex notation 0x0800 instead of 2048 - should you want to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/veswiki/images/f/f7/F8TOOL_2.0.zip  F8 Tool package including source code (.zip, 358KiB)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
F8tool was written by [[Peter Trauner]], who also wrote [[Homebrew:Tetris|Tetris]] for the Channel F.&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=File:F8TOOL_2.0.zip&amp;diff=759</id>
		<title>File:F8TOOL 2.0.zip</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=File:F8TOOL_2.0.zip&amp;diff=759"/>
				<updated>2026-06-26T22:34:53Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: F8tool by Peter Trauner, disassemble and assemble Fairchild F8 assembly code.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;F8tool by Peter Trauner, disassemble and assemble Fairchild F8 assembly code.&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=F8tool&amp;diff=758</id>
		<title>F8tool</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=F8tool&amp;diff=758"/>
				<updated>2026-06-26T22:31:08Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;F8tool is an assembler AND disassembler to assemble your code into a binary file and to make binary files understandable by translating it into rudimentary assembler again.&lt;br /&gt;
&lt;br /&gt;
The disassembly does mask out data areas, maybe not all but some. &lt;br /&gt;
&lt;br /&gt;
Here are the instructions to run it: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;f8tool asm file.asm file.bin&amp;quot; will compile file.asm and give you file.bin.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;f8tool dis file.bin 2048 &amp;gt; file.asm&amp;quot; will disassemble file.bin giving you&lt;br /&gt;
file.asm starting at address $0800.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;f8tool dis file.bin 2048 &amp;gt; file.asm -s&amp;quot; will disassemble file.bin and attempt&lt;br /&gt;
to mask out the data areas.&lt;br /&gt;
&lt;br /&gt;
You can also use hex notation 0x0800 instead of 2048 - should you want to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/files/channelf/f8tool.zip  F8 Tool package including source code (.zip, 221kB)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
F8tool was written by [[Peter Trauner]], who also wrote [[Homebrew:Tetris|Tetris]] for the Channel F.&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Main_Page&amp;diff=757</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Main_Page&amp;diff=757"/>
				<updated>2026-06-21T13:01:13Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: /* Snippets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the [[Channel F|VES]] wiki! Here you can find out user-donated information on all sorts of programming info for the Channel F. __NOTOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;col1&amp;quot; style=&amp;quot;width: 30%; float: right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
== Channel F Information ==&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* [[Schematics]]&lt;br /&gt;
* [[Pinouts]]&lt;br /&gt;
* [[Resolution]]&lt;br /&gt;
* [[Register]]s&lt;br /&gt;
* [[F8]]&lt;br /&gt;
* [[ROMC|ROMC explained]]&lt;br /&gt;
* [[RAM]]&lt;br /&gt;
* [[VRAM]]&lt;br /&gt;
* [[Port|Ports]]&lt;br /&gt;
* [[Modding]]&lt;br /&gt;
'''Programming:'''&lt;br /&gt;
* [[Opcode]]s&lt;br /&gt;
* [[DASM|DASM compiler]]&lt;br /&gt;
* [[Accessing VRAM|Draw graphics]]&lt;br /&gt;
* [[Reading Controllers|Reading Controller and Buttons]]&lt;br /&gt;
* [[Outputting Sound]]&lt;br /&gt;
* [[Subtraction]]&lt;br /&gt;
* [[Binary coded decimal]]&lt;br /&gt;
* [[Subroutines]]&lt;br /&gt;
* [[Ves.h]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
* [[Snippet:Blit|Draw in two colors]]&lt;br /&gt;
* [[Snippet:Multiblit|Draw in all colors]]&lt;br /&gt;
* [[Snippet:Plot|Draw just one dot]]&lt;br /&gt;
* [[Snippet:Score|Keep track of score]]&lt;br /&gt;
* [[Snippet:Playsong|Make sweet monophonic music]]&lt;br /&gt;
** [[Snippet:Music_60.h|Music_60.h]]&lt;br /&gt;
* [[Snippet:Pseudorandom numbers|Pseudorandom numbers]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Homebrews ==&lt;br /&gt;
* [[Homebrew:Cannibal Slug Battle|Cannibal Slug Battle]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:F8 of Nations|F8 of Nations]] by Nycurt&lt;br /&gt;
* [[Homebrew:Fullscreenpicture|Full screen picture]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:International Karate|International Karate]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Lights Out|Lights Out]] by Sean Riddle&lt;br /&gt;
* [[Homebrew:Multi-Cart Menu|Multi-Cart Menu]] by Sean Riddle and [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Pac-Man|Pac-Man]] by Blackbird and [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:RAM test|RAM test]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Scrolling Mountains|Scrolling Mountains]] by Curtdawg&lt;br /&gt;
* [[Homebrew:Test Controls|Test Controls]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Tetris|Tetris for 1 or 2 players]] by Peter Trauner&lt;br /&gt;
* [[Homebrew:Music|Homebrew Music]]&lt;br /&gt;
* [[Homebrew:CCtro|256 Byte intro]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
* [[DASM]]&lt;br /&gt;
* [[f8tool|F8tool]]&lt;br /&gt;
* [[Graphics converter]]&lt;br /&gt;
** [[For full screen]]&lt;br /&gt;
* [[Videocart dumper]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disassemblies ==&lt;br /&gt;
* [[Disassembly:Bios|Channel F Bios]]&lt;br /&gt;
* [[Disassembly:Videocart 1|Videocart 1 - Tic-Tac-Toe, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 2|Videocart 2 - Desert Fox, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 3|Videocart 3 - Video Blackjack]]&lt;br /&gt;
* [[Disassembly:Videocart 4|Videocart 4 - Spitfire]]&lt;br /&gt;
* [[Disassembly:Videocart 5|Videocart 5 - Space War]]&lt;br /&gt;
* [[Disassembly:Videocart 6|Videocart 6 - Math Quiz]]&lt;br /&gt;
* [[Disassembly:Videocart 7|Videocart 7 - Math Quiz II]]&lt;br /&gt;
* [[Disassembly:Videocart 8|Videocart 8 - Magic Numbers, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 9|Videocart 9 - Drag Race]]&lt;br /&gt;
* [[Disassembly:Videocart 10|Videocart 10 - Maze]]&lt;br /&gt;
* [[Disassembly:Videocart 10b|Videocart 10b - Maze, code variation]]&lt;br /&gt;
* [[Disassembly:Videocart 11|Videocart 11 - Backgammon, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 12|Videocart 12 - Baseball]]&lt;br /&gt;
* [[Disassembly:Videocart 13|Videocart 13 - Robot War, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 14|Videocart 14 - Sonar Search]]&lt;br /&gt;
* [[Disassembly:Videocart 15|Videocart 15 - Memory Match]]&lt;br /&gt;
* [[Disassembly:Videocart 16|Videocart 16 - Dodge' It]]&lt;br /&gt;
* [[Disassembly:Videocart 17|Videocart 17 - Pinball Challenge]]&lt;br /&gt;
* [[Disassembly:Videocart 17b|Videocart 17b - Pinball code variation]]&lt;br /&gt;
* [[Disassembly:Videocart 18|Videocart 18 - Hangman]]&lt;br /&gt;
* [[Disassembly:Videocart 19|Videocart 19 - Checkers]]&lt;br /&gt;
* [[Disassembly:Videocart 20|Videocart 20 - Video Whizball]]&lt;br /&gt;
* [[Disassembly:Videocart 21|Videocart 21 - Bowling]]&lt;br /&gt;
* [[Disassembly:Videocart 22|Videocart 22 - Slot Machine]]&lt;br /&gt;
* [[Disassembly:Videocart 22b|Videocart 22b - Alt. Slot Machine]]&lt;br /&gt;
* [[Disassembly:Videocart 23|Videocart 23 - Galactic Space Wars]]&lt;br /&gt;
* [[Disassembly:Videocart 24|Videocart 24 - Pro Football]]&lt;br /&gt;
* [[Disassembly:Videocart 25|Videocart 25 - Casino Poker]]&lt;br /&gt;
* [[Disassembly:Videocart 26|Videocart 26 - Alien Invasion]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 1|SABA Videoplay 1 - M&amp;amp;uuml;hle, usw]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 16|SABA Videoplay 16 - Rat' mal]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 20|SABA Videoplay 20 - Schach]]&lt;br /&gt;
* [[Disassembly:Democart|Democart]]&lt;br /&gt;
* [[Disassembly:Democart 2|Democart 2]]&lt;br /&gt;
* [[Disassembly:Werbetextcassette electronic partner|Werbetextcassette electronic partner]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;col2&amp;quot; style=&amp;quot;width: 69%; float: left&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contribute! ==&lt;br /&gt;
&lt;br /&gt;
The VESWiki was set up as a repository for information related to the VES and VES programming. Some of the many things we'd like to make available are disassemblies, console or technical information, tutorials and guides for both software and hardware, code snippets, and complete games. We encourage you to add any information you have, or to make a page promoting your own game (which you can host here, if you like).&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
If you'd like to get started programming games for the Channel F, try downloading the &amp;lt;br&amp;gt;[https://channelf.se/veswiki/images/9/99/Devel.7z Development Pack (.7z, 2.8 MB)]. &amp;lt;br&amp;gt;It includes the DASM assembler, the MESS emulator and an early version of Pac-Man as a sample game that you can edit, compile and test. Just unpack it, preferably directly on root of your hard drive and doubleclick '''..\devel\games\pacman\!compile+run.bat''' or the '''!run.bat''' in the same directory and it should start right up. Press Esc to leave the debugger. &amp;lt;br&amp;gt; It has been tested (and is working) on Windows XP Home SP3.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here's a tutorial that might be helpful: &lt;br /&gt;
[[Tutorial:Beginner%27s_Guide_to_the_Channel_F | Beginner's guide to the Channel F]]&lt;br /&gt;
&amp;lt;br&amp;gt;Read up on the guides and have fun!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Useful external links ==&lt;br /&gt;
(all links working June 21st 2020)&lt;br /&gt;
&lt;br /&gt;
* [http://www.freelists.org/list/channelf Channel F Programming List]&lt;br /&gt;
* [http://seanriddle.com/chanf.html Sean Riddle's Channel F Info]&lt;br /&gt;
* [http://seanriddle.com/chanfmulti.html Sean Riddle's Channel F Multicart]&lt;br /&gt;
* [http://seanriddle.com/chanfinfo.html Sean Riddle's Channel F Programming Info]&lt;br /&gt;
* [http://www.nyx.net/~lturner/public_html/Fairchild_F8.html Lowell O. Turner's Home Page- Fairchild F8 Info]&lt;br /&gt;
* [http://www.nyx.net/~lturner/public_html/F8_ins.html Lowell O. Turner's Home Page- Fairchild F8 Instruction Set]&lt;br /&gt;
&lt;br /&gt;
== Information in pdf:s ==&lt;br /&gt;
&lt;br /&gt;
Here are complete Guides in pdf format on how to program a F8 processor system: &amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/F8_Guide_to_Programming.pdf F8 Guide to Programming (.pdf, 7.57 MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/F8_Guide_to_Programming_old.pdf F8 Guide to Programming b/w(.pdf, 3.42 MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf F8 User's Guide (1976)(Fairchild) (.pdf, 13.8 MB)]&lt;br /&gt;
&lt;br /&gt;
These are a few shorter pdf:s with information on the F8 system and its circuits: &amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f8_general_info.pdf F8 general info (.pdf, 146kB)]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3850.pdf F3850 the CPU (.pdf, 1.49MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf  F8 info by Terry Polhoff (.pdf, 698kB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3851_56.pdf F3851+56 Program Storage Unit (.pdf, 1.5MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3852_53.pdf F3852+53 Dynamic and Static Memory Interface (.pdf, 720kB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/veswiki/images/1/1d/Fairchild_Service_Manual.pdf Service manual, Repair information (.pdf, 409kB)]&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Main_Page&amp;diff=756</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Main_Page&amp;diff=756"/>
				<updated>2026-06-21T12:58:17Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: /* Snippets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the [[Channel F|VES]] wiki! Here you can find out user-donated information on all sorts of programming info for the Channel F. __NOTOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;col1&amp;quot; style=&amp;quot;width: 30%; float: right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
== Channel F Information ==&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* [[Schematics]]&lt;br /&gt;
* [[Pinouts]]&lt;br /&gt;
* [[Resolution]]&lt;br /&gt;
* [[Register]]s&lt;br /&gt;
* [[F8]]&lt;br /&gt;
* [[ROMC|ROMC explained]]&lt;br /&gt;
* [[RAM]]&lt;br /&gt;
* [[VRAM]]&lt;br /&gt;
* [[Port|Ports]]&lt;br /&gt;
* [[Modding]]&lt;br /&gt;
'''Programming:'''&lt;br /&gt;
* [[Opcode]]s&lt;br /&gt;
* [[DASM|DASM compiler]]&lt;br /&gt;
* [[Accessing VRAM|Draw graphics]]&lt;br /&gt;
* [[Reading Controllers|Reading Controller and Buttons]]&lt;br /&gt;
* [[Outputting Sound]]&lt;br /&gt;
* [[Subtraction]]&lt;br /&gt;
* [[Binary coded decimal]]&lt;br /&gt;
* [[Subroutines]]&lt;br /&gt;
* [[Ves.h]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
* [[Snippet:Blit|Draw in two colors]]&lt;br /&gt;
* [[Snippet:Multiblit|Draw in all colors]]&lt;br /&gt;
* [[Snippet:Plot|Plot subroutine]]&lt;br /&gt;
* [[Snippet:Playsong|Playsong subroutine]]&lt;br /&gt;
* [[Snippet:Score|Score subroutine]]&lt;br /&gt;
** [[Snippet:Music_60.h|Music_60.h]]&lt;br /&gt;
* [[Snippet:Pseudorandom numbers|Pseudorandom numbers]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Homebrews ==&lt;br /&gt;
* [[Homebrew:Cannibal Slug Battle|Cannibal Slug Battle]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:F8 of Nations|F8 of Nations]] by Nycurt&lt;br /&gt;
* [[Homebrew:Fullscreenpicture|Full screen picture]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:International Karate|International Karate]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Lights Out|Lights Out]] by Sean Riddle&lt;br /&gt;
* [[Homebrew:Multi-Cart Menu|Multi-Cart Menu]] by Sean Riddle and [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Pac-Man|Pac-Man]] by Blackbird and [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:RAM test|RAM test]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Scrolling Mountains|Scrolling Mountains]] by Curtdawg&lt;br /&gt;
* [[Homebrew:Test Controls|Test Controls]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Tetris|Tetris for 1 or 2 players]] by Peter Trauner&lt;br /&gt;
* [[Homebrew:Music|Homebrew Music]]&lt;br /&gt;
* [[Homebrew:CCtro|256 Byte intro]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
* [[DASM]]&lt;br /&gt;
* [[f8tool|F8tool]]&lt;br /&gt;
* [[Graphics converter]]&lt;br /&gt;
** [[For full screen]]&lt;br /&gt;
* [[Videocart dumper]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disassemblies ==&lt;br /&gt;
* [[Disassembly:Bios|Channel F Bios]]&lt;br /&gt;
* [[Disassembly:Videocart 1|Videocart 1 - Tic-Tac-Toe, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 2|Videocart 2 - Desert Fox, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 3|Videocart 3 - Video Blackjack]]&lt;br /&gt;
* [[Disassembly:Videocart 4|Videocart 4 - Spitfire]]&lt;br /&gt;
* [[Disassembly:Videocart 5|Videocart 5 - Space War]]&lt;br /&gt;
* [[Disassembly:Videocart 6|Videocart 6 - Math Quiz]]&lt;br /&gt;
* [[Disassembly:Videocart 7|Videocart 7 - Math Quiz II]]&lt;br /&gt;
* [[Disassembly:Videocart 8|Videocart 8 - Magic Numbers, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 9|Videocart 9 - Drag Race]]&lt;br /&gt;
* [[Disassembly:Videocart 10|Videocart 10 - Maze]]&lt;br /&gt;
* [[Disassembly:Videocart 10b|Videocart 10b - Maze, code variation]]&lt;br /&gt;
* [[Disassembly:Videocart 11|Videocart 11 - Backgammon, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 12|Videocart 12 - Baseball]]&lt;br /&gt;
* [[Disassembly:Videocart 13|Videocart 13 - Robot War, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 14|Videocart 14 - Sonar Search]]&lt;br /&gt;
* [[Disassembly:Videocart 15|Videocart 15 - Memory Match]]&lt;br /&gt;
* [[Disassembly:Videocart 16|Videocart 16 - Dodge' It]]&lt;br /&gt;
* [[Disassembly:Videocart 17|Videocart 17 - Pinball Challenge]]&lt;br /&gt;
* [[Disassembly:Videocart 17b|Videocart 17b - Pinball code variation]]&lt;br /&gt;
* [[Disassembly:Videocart 18|Videocart 18 - Hangman]]&lt;br /&gt;
* [[Disassembly:Videocart 19|Videocart 19 - Checkers]]&lt;br /&gt;
* [[Disassembly:Videocart 20|Videocart 20 - Video Whizball]]&lt;br /&gt;
* [[Disassembly:Videocart 21|Videocart 21 - Bowling]]&lt;br /&gt;
* [[Disassembly:Videocart 22|Videocart 22 - Slot Machine]]&lt;br /&gt;
* [[Disassembly:Videocart 22b|Videocart 22b - Alt. Slot Machine]]&lt;br /&gt;
* [[Disassembly:Videocart 23|Videocart 23 - Galactic Space Wars]]&lt;br /&gt;
* [[Disassembly:Videocart 24|Videocart 24 - Pro Football]]&lt;br /&gt;
* [[Disassembly:Videocart 25|Videocart 25 - Casino Poker]]&lt;br /&gt;
* [[Disassembly:Videocart 26|Videocart 26 - Alien Invasion]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 1|SABA Videoplay 1 - M&amp;amp;uuml;hle, usw]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 16|SABA Videoplay 16 - Rat' mal]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 20|SABA Videoplay 20 - Schach]]&lt;br /&gt;
* [[Disassembly:Democart|Democart]]&lt;br /&gt;
* [[Disassembly:Democart 2|Democart 2]]&lt;br /&gt;
* [[Disassembly:Werbetextcassette electronic partner|Werbetextcassette electronic partner]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;col2&amp;quot; style=&amp;quot;width: 69%; float: left&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contribute! ==&lt;br /&gt;
&lt;br /&gt;
The VESWiki was set up as a repository for information related to the VES and VES programming. Some of the many things we'd like to make available are disassemblies, console or technical information, tutorials and guides for both software and hardware, code snippets, and complete games. We encourage you to add any information you have, or to make a page promoting your own game (which you can host here, if you like).&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
If you'd like to get started programming games for the Channel F, try downloading the &amp;lt;br&amp;gt;[https://channelf.se/veswiki/images/9/99/Devel.7z Development Pack (.7z, 2.8 MB)]. &amp;lt;br&amp;gt;It includes the DASM assembler, the MESS emulator and an early version of Pac-Man as a sample game that you can edit, compile and test. Just unpack it, preferably directly on root of your hard drive and doubleclick '''..\devel\games\pacman\!compile+run.bat''' or the '''!run.bat''' in the same directory and it should start right up. Press Esc to leave the debugger. &amp;lt;br&amp;gt; It has been tested (and is working) on Windows XP Home SP3.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here's a tutorial that might be helpful: &lt;br /&gt;
[[Tutorial:Beginner%27s_Guide_to_the_Channel_F | Beginner's guide to the Channel F]]&lt;br /&gt;
&amp;lt;br&amp;gt;Read up on the guides and have fun!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Useful external links ==&lt;br /&gt;
(all links working June 21st 2020)&lt;br /&gt;
&lt;br /&gt;
* [http://www.freelists.org/list/channelf Channel F Programming List]&lt;br /&gt;
* [http://seanriddle.com/chanf.html Sean Riddle's Channel F Info]&lt;br /&gt;
* [http://seanriddle.com/chanfmulti.html Sean Riddle's Channel F Multicart]&lt;br /&gt;
* [http://seanriddle.com/chanfinfo.html Sean Riddle's Channel F Programming Info]&lt;br /&gt;
* [http://www.nyx.net/~lturner/public_html/Fairchild_F8.html Lowell O. Turner's Home Page- Fairchild F8 Info]&lt;br /&gt;
* [http://www.nyx.net/~lturner/public_html/F8_ins.html Lowell O. Turner's Home Page- Fairchild F8 Instruction Set]&lt;br /&gt;
&lt;br /&gt;
== Information in pdf:s ==&lt;br /&gt;
&lt;br /&gt;
Here are complete Guides in pdf format on how to program a F8 processor system: &amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/F8_Guide_to_Programming.pdf F8 Guide to Programming (.pdf, 7.57 MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/F8_Guide_to_Programming_old.pdf F8 Guide to Programming b/w(.pdf, 3.42 MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf F8 User's Guide (1976)(Fairchild) (.pdf, 13.8 MB)]&lt;br /&gt;
&lt;br /&gt;
These are a few shorter pdf:s with information on the F8 system and its circuits: &amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f8_general_info.pdf F8 general info (.pdf, 146kB)]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3850.pdf F3850 the CPU (.pdf, 1.49MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf  F8 info by Terry Polhoff (.pdf, 698kB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3851_56.pdf F3851+56 Program Storage Unit (.pdf, 1.5MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3852_53.pdf F3852+53 Dynamic and Static Memory Interface (.pdf, 720kB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/veswiki/images/1/1d/Fairchild_Service_Manual.pdf Service manual, Repair information (.pdf, 409kB)]&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Snippet:Blit&amp;diff=755</id>
		<title>Snippet:Blit</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Snippet:Blit&amp;diff=755"/>
				<updated>2026-06-21T12:57:33Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''blit''' subroutine reads a two-color (1 bit per pixel) block of graphics data from ROM and displays it on the screen, using several parameters. It works much in the same way as the BIOS drawchar routine except for arbitrarily sized data. The code was originally taken from [[Disassembly:Videocart_26|Videocart 26]] and adapted to be more flexible and reusable.&lt;br /&gt;
&lt;br /&gt;
The routine is separated into two parts, '''blitGraphic''' and '''blit'''. '''blit''' takes parameters in registers r1-r6, and retrieves graphics data from the location DC0 points to. It can be called independently of '''blitGraphic'''. '''blitGraphic''' takes hard-coded parameters from ROM at the address pointed at by DC0 and then calls the '''blit''' routine. When the parameters do not need to be dynamic, storing the parameters in ROM and calling the '''blitGraphic''' routine directly can be more efficient than writing them to the registers and calling '''blit'''.&lt;br /&gt;
&lt;br /&gt;
Note that coordinate (0,0) is usually outside the visible emulation area, in MESS/MESSUI/MAME visible area starts at (4,4).&lt;br /&gt;
&lt;br /&gt;
Code works with the '''DASM''' compiler.&lt;br /&gt;
&lt;br /&gt;
'''Tip:''' If you want a block in one color, set both colors the same and skip setting the data pointer (DC0).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;===========;&lt;br /&gt;
; Blit Code ;&lt;br /&gt;
;===========;&lt;br /&gt;
&lt;br /&gt;
;--------------;&lt;br /&gt;
; Blit Graphic ;&lt;br /&gt;
;--------------;&lt;br /&gt;
&lt;br /&gt;
; takes graphic parameters from ROM, stores them in r1-r6, &lt;br /&gt;
; changes the DC and calls the blit function with the parameters&lt;br /&gt;
;&lt;br /&gt;
; modifies: r1-r6, Q, DC&lt;br /&gt;
&lt;br /&gt;
blitGraphic:&lt;br /&gt;
	; load six bytes from the parameters into r0-r5&lt;br /&gt;
	lisu	0&lt;br /&gt;
	lisl	1&lt;br /&gt;
.blitGraphicGetParms:&lt;br /&gt;
	lm   &lt;br /&gt;
	lr	I, A						; store byte and increase ISAR&lt;br /&gt;
	br7	.blitGraphicGetParms				; not finished with the registers, loop&lt;br /&gt;
&lt;br /&gt;
	; load the graphics address&lt;br /&gt;
	lm&lt;br /&gt;
	lr	QU, A						; storea data address in Q, one byte at the time&lt;br /&gt;
	lm&lt;br /&gt;
	lr	QL, A&lt;br /&gt;
	lr	DC, Q						; copy Q into DC0&lt;br /&gt;
&lt;br /&gt;
	; continue with the blit function&lt;br /&gt;
&lt;br /&gt;
;---------------;&lt;br /&gt;
; Blit Function ;&lt;br /&gt;
;---------------;&lt;br /&gt;
&lt;br /&gt;
; this function blits a graphic based on parameters set in r1-r6,&lt;br /&gt;
; and the graphic data pointed to by DC0, onto the screen&lt;br /&gt;
; originally from cart 26, modified and annotated&lt;br /&gt;
;&lt;br /&gt;
; modifies: r1-r9, DC&lt;br /&gt;
&lt;br /&gt;
; register reference:&lt;br /&gt;
; -------------------&lt;br /&gt;
; r1 = color 0 (off) (alias: clear/bkg/blue/red/green)&lt;br /&gt;
; r2 = color 1 (on)  (alias: clear/bkg/blue/red/green)&lt;br /&gt;
; r3 = x position&lt;br /&gt;
; r4 = y position&lt;br /&gt;
; r5 = width&lt;br /&gt;
; r6 = height (and vertical counter)&lt;br /&gt;
;&lt;br /&gt;
; r7 = horizontal counter&lt;br /&gt;
; r8 = graphics byte&lt;br /&gt;
; r9 = bit counter&lt;br /&gt;
;&lt;br /&gt;
; DC = pointer to graphics&lt;br /&gt;
&lt;br /&gt;
blit:&lt;br /&gt;
	lis	1&lt;br /&gt;
	lr	9, A						; load #1 into r9 so it'll be reset when we start&lt;br /&gt;
	lr	A, 4						; load the y offset&lt;br /&gt;
	com							; invert it&lt;br /&gt;
.blitRow:&lt;br /&gt;
	outs	5						; load accumulator into port 5 (row)&lt;br /&gt;
&lt;br /&gt;
	; check vertical counter&lt;br /&gt;
	ds	6						; decrease r6 (vertical counter)&lt;br /&gt;
	bnc	.blitExit					; if it rolls over exit&lt;br /&gt;
&lt;br /&gt;
	; load the width into the horizontal counter&lt;br /&gt;
	lr	A, 5&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	lr	A, 3						; load the x position&lt;br /&gt;
	com							; complement it&lt;br /&gt;
.blitColumn:&lt;br /&gt;
	outs	4						; use the accumulator as our initial column&lt;br /&gt;
	; check to see if this byte is finished&lt;br /&gt;
	ds	9						; decrease r9 (bit counter)&lt;br /&gt;
	bnz	.blitDrawBit					; if we aren't done with this byte, branch&lt;br /&gt;
&lt;br /&gt;
.blitGetByte:&lt;br /&gt;
	; get the next graphics byte and set related registers&lt;br /&gt;
	lis	8&lt;br /&gt;
	lr	9, A						; load #8 into r9 (bit counter)&lt;br /&gt;
	lm&lt;br /&gt;
	lr	8, A						; load a graphics byte into r8&lt;br /&gt;
&lt;br /&gt;
.blitDrawBit:&lt;br /&gt;
	; shift graphics byte&lt;br /&gt;
	lr	A, 8						; load r8 (graphics byte)&lt;br /&gt;
	as	8						; shift left one (with carry)&lt;br /&gt;
	lr	8, A						; save it&lt;br /&gt;
&lt;br /&gt;
	; check color to use&lt;br /&gt;
	lr	A, 2						; load color 1&lt;br /&gt;
	bc	.blitSavePixel					; if this bit is on, draw the color&lt;br /&gt;
	lr	A, 1						; load color 2&lt;br /&gt;
.blitSavePixel:&lt;br /&gt;
	inc&lt;br /&gt;
	bc	.blitCheckColumn				; branch if the color is &amp;quot;clear&amp;quot;&lt;br /&gt;
	outs	1						; output A in p1 (color)&lt;br /&gt;
&lt;br /&gt;
blit.transferData:&lt;br /&gt;
	lis	6						; transfer the pixel data&lt;br /&gt;
	sl	4&lt;br /&gt;
	outs	0&lt;br /&gt;
	sl	1&lt;br /&gt;
	outs	0&lt;br /&gt;
&lt;br /&gt;
	lis	4&lt;br /&gt;
blit.savePixelDelay:&lt;br /&gt;
	ai	$ff&lt;br /&gt;
	bnz	blit.savePixelDelay&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.blitCheckColumn:&lt;br /&gt;
	ds	7						; decrease r7 (horizontal counter)&lt;br /&gt;
	bz	.blitCheckRow					; if it's 0, branch&lt;br /&gt;
&lt;br /&gt;
	ins	4						; get p4 (column)&lt;br /&gt;
	ai	$ff						; add 1 (complemented)&lt;br /&gt;
	br	.blitColumn					; branch&lt;br /&gt;
&lt;br /&gt;
.blitCheckRow:&lt;br /&gt;
	ins	5						; get p5 (row)&lt;br /&gt;
	ai	$ff						; add 1 (complemented)&lt;br /&gt;
	br	.blitRow					; branch&lt;br /&gt;
&lt;br /&gt;
.blitExit:&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To call the above functions, you should use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	dci	graphic.parameters	; address of parameters&lt;br /&gt;
	pi	blitGraphic&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for '''blitGraphic''', and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	; when parameters have been loaded into r1-r6 beforehand&lt;br /&gt;
	dci	graphic.data		; address of graphic data&lt;br /&gt;
	pi	blit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for '''blit'''. If you're using parameters stored in ROM, they should be in this order:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
graphic.parameters:&lt;br /&gt;
	.byte	bkg			; color 0&lt;br /&gt;
	.byte	blue			; color 1&lt;br /&gt;
	.byte	4			; x position&lt;br /&gt;
	.byte	18			; y position&lt;br /&gt;
	.byte	$60			; width&lt;br /&gt;
	.byte	$13			; height&lt;br /&gt;
	.word	graphic.data		; address for the graphics&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Snippet:Multiblit|Multiblit Subroutine]]&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Main_Page&amp;diff=754</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Main_Page&amp;diff=754"/>
				<updated>2026-06-21T12:55:20Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: /* Channel F Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the [[Channel F|VES]] wiki! Here you can find out user-donated information on all sorts of programming info for the Channel F. __NOTOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;col1&amp;quot; style=&amp;quot;width: 30%; float: right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
== Channel F Information ==&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* [[Schematics]]&lt;br /&gt;
* [[Pinouts]]&lt;br /&gt;
* [[Resolution]]&lt;br /&gt;
* [[Register]]s&lt;br /&gt;
* [[F8]]&lt;br /&gt;
* [[ROMC|ROMC explained]]&lt;br /&gt;
* [[RAM]]&lt;br /&gt;
* [[VRAM]]&lt;br /&gt;
* [[Port|Ports]]&lt;br /&gt;
* [[Modding]]&lt;br /&gt;
'''Programming:'''&lt;br /&gt;
* [[Opcode]]s&lt;br /&gt;
* [[DASM|DASM compiler]]&lt;br /&gt;
* [[Accessing VRAM|Draw graphics]]&lt;br /&gt;
* [[Reading Controllers|Reading Controller and Buttons]]&lt;br /&gt;
* [[Outputting Sound]]&lt;br /&gt;
* [[Subtraction]]&lt;br /&gt;
* [[Binary coded decimal]]&lt;br /&gt;
* [[Subroutines]]&lt;br /&gt;
* [[Ves.h]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
* [[Snippet:Blit|Blit subroutine]]&lt;br /&gt;
* [[Snippet:Multiblit|Multiblit subroutine]]&lt;br /&gt;
* [[Snippet:Plot|Plot subroutine]]&lt;br /&gt;
* [[Snippet:Playsong|Playsong subroutine]]&lt;br /&gt;
* [[Snippet:Score|Score subroutine]]&lt;br /&gt;
** [[Snippet:Music_60.h|Music_60.h]]&lt;br /&gt;
* [[Snippet:Pseudorandom numbers|Pseudorandom numbers]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Homebrews ==&lt;br /&gt;
* [[Homebrew:Cannibal Slug Battle|Cannibal Slug Battle]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:F8 of Nations|F8 of Nations]] by Nycurt&lt;br /&gt;
* [[Homebrew:Fullscreenpicture|Full screen picture]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:International Karate|International Karate]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Lights Out|Lights Out]] by Sean Riddle&lt;br /&gt;
* [[Homebrew:Multi-Cart Menu|Multi-Cart Menu]] by Sean Riddle and [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Pac-Man|Pac-Man]] by Blackbird and [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:RAM test|RAM test]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Scrolling Mountains|Scrolling Mountains]] by Curtdawg&lt;br /&gt;
* [[Homebrew:Test Controls|Test Controls]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Tetris|Tetris for 1 or 2 players]] by Peter Trauner&lt;br /&gt;
* [[Homebrew:Music|Homebrew Music]]&lt;br /&gt;
* [[Homebrew:CCtro|256 Byte intro]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
* [[DASM]]&lt;br /&gt;
* [[f8tool|F8tool]]&lt;br /&gt;
* [[Graphics converter]]&lt;br /&gt;
** [[For full screen]]&lt;br /&gt;
* [[Videocart dumper]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disassemblies ==&lt;br /&gt;
* [[Disassembly:Bios|Channel F Bios]]&lt;br /&gt;
* [[Disassembly:Videocart 1|Videocart 1 - Tic-Tac-Toe, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 2|Videocart 2 - Desert Fox, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 3|Videocart 3 - Video Blackjack]]&lt;br /&gt;
* [[Disassembly:Videocart 4|Videocart 4 - Spitfire]]&lt;br /&gt;
* [[Disassembly:Videocart 5|Videocart 5 - Space War]]&lt;br /&gt;
* [[Disassembly:Videocart 6|Videocart 6 - Math Quiz]]&lt;br /&gt;
* [[Disassembly:Videocart 7|Videocart 7 - Math Quiz II]]&lt;br /&gt;
* [[Disassembly:Videocart 8|Videocart 8 - Magic Numbers, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 9|Videocart 9 - Drag Race]]&lt;br /&gt;
* [[Disassembly:Videocart 10|Videocart 10 - Maze]]&lt;br /&gt;
* [[Disassembly:Videocart 10b|Videocart 10b - Maze, code variation]]&lt;br /&gt;
* [[Disassembly:Videocart 11|Videocart 11 - Backgammon, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 12|Videocart 12 - Baseball]]&lt;br /&gt;
* [[Disassembly:Videocart 13|Videocart 13 - Robot War, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 14|Videocart 14 - Sonar Search]]&lt;br /&gt;
* [[Disassembly:Videocart 15|Videocart 15 - Memory Match]]&lt;br /&gt;
* [[Disassembly:Videocart 16|Videocart 16 - Dodge' It]]&lt;br /&gt;
* [[Disassembly:Videocart 17|Videocart 17 - Pinball Challenge]]&lt;br /&gt;
* [[Disassembly:Videocart 17b|Videocart 17b - Pinball code variation]]&lt;br /&gt;
* [[Disassembly:Videocart 18|Videocart 18 - Hangman]]&lt;br /&gt;
* [[Disassembly:Videocart 19|Videocart 19 - Checkers]]&lt;br /&gt;
* [[Disassembly:Videocart 20|Videocart 20 - Video Whizball]]&lt;br /&gt;
* [[Disassembly:Videocart 21|Videocart 21 - Bowling]]&lt;br /&gt;
* [[Disassembly:Videocart 22|Videocart 22 - Slot Machine]]&lt;br /&gt;
* [[Disassembly:Videocart 22b|Videocart 22b - Alt. Slot Machine]]&lt;br /&gt;
* [[Disassembly:Videocart 23|Videocart 23 - Galactic Space Wars]]&lt;br /&gt;
* [[Disassembly:Videocart 24|Videocart 24 - Pro Football]]&lt;br /&gt;
* [[Disassembly:Videocart 25|Videocart 25 - Casino Poker]]&lt;br /&gt;
* [[Disassembly:Videocart 26|Videocart 26 - Alien Invasion]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 1|SABA Videoplay 1 - M&amp;amp;uuml;hle, usw]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 16|SABA Videoplay 16 - Rat' mal]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 20|SABA Videoplay 20 - Schach]]&lt;br /&gt;
* [[Disassembly:Democart|Democart]]&lt;br /&gt;
* [[Disassembly:Democart 2|Democart 2]]&lt;br /&gt;
* [[Disassembly:Werbetextcassette electronic partner|Werbetextcassette electronic partner]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;col2&amp;quot; style=&amp;quot;width: 69%; float: left&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contribute! ==&lt;br /&gt;
&lt;br /&gt;
The VESWiki was set up as a repository for information related to the VES and VES programming. Some of the many things we'd like to make available are disassemblies, console or technical information, tutorials and guides for both software and hardware, code snippets, and complete games. We encourage you to add any information you have, or to make a page promoting your own game (which you can host here, if you like).&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
If you'd like to get started programming games for the Channel F, try downloading the &amp;lt;br&amp;gt;[https://channelf.se/veswiki/images/9/99/Devel.7z Development Pack (.7z, 2.8 MB)]. &amp;lt;br&amp;gt;It includes the DASM assembler, the MESS emulator and an early version of Pac-Man as a sample game that you can edit, compile and test. Just unpack it, preferably directly on root of your hard drive and doubleclick '''..\devel\games\pacman\!compile+run.bat''' or the '''!run.bat''' in the same directory and it should start right up. Press Esc to leave the debugger. &amp;lt;br&amp;gt; It has been tested (and is working) on Windows XP Home SP3.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here's a tutorial that might be helpful: &lt;br /&gt;
[[Tutorial:Beginner%27s_Guide_to_the_Channel_F | Beginner's guide to the Channel F]]&lt;br /&gt;
&amp;lt;br&amp;gt;Read up on the guides and have fun!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Useful external links ==&lt;br /&gt;
(all links working June 21st 2020)&lt;br /&gt;
&lt;br /&gt;
* [http://www.freelists.org/list/channelf Channel F Programming List]&lt;br /&gt;
* [http://seanriddle.com/chanf.html Sean Riddle's Channel F Info]&lt;br /&gt;
* [http://seanriddle.com/chanfmulti.html Sean Riddle's Channel F Multicart]&lt;br /&gt;
* [http://seanriddle.com/chanfinfo.html Sean Riddle's Channel F Programming Info]&lt;br /&gt;
* [http://www.nyx.net/~lturner/public_html/Fairchild_F8.html Lowell O. Turner's Home Page- Fairchild F8 Info]&lt;br /&gt;
* [http://www.nyx.net/~lturner/public_html/F8_ins.html Lowell O. Turner's Home Page- Fairchild F8 Instruction Set]&lt;br /&gt;
&lt;br /&gt;
== Information in pdf:s ==&lt;br /&gt;
&lt;br /&gt;
Here are complete Guides in pdf format on how to program a F8 processor system: &amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/F8_Guide_to_Programming.pdf F8 Guide to Programming (.pdf, 7.57 MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/F8_Guide_to_Programming_old.pdf F8 Guide to Programming b/w(.pdf, 3.42 MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf F8 User's Guide (1976)(Fairchild) (.pdf, 13.8 MB)]&lt;br /&gt;
&lt;br /&gt;
These are a few shorter pdf:s with information on the F8 system and its circuits: &amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f8_general_info.pdf F8 general info (.pdf, 146kB)]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3850.pdf F3850 the CPU (.pdf, 1.49MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf  F8 info by Terry Polhoff (.pdf, 698kB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3851_56.pdf F3851+56 Program Storage Unit (.pdf, 1.5MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3852_53.pdf F3852+53 Dynamic and Static Memory Interface (.pdf, 720kB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/veswiki/images/1/1d/Fairchild_Service_Manual.pdf Service manual, Repair information (.pdf, 409kB)]&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Main_Page&amp;diff=753</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Main_Page&amp;diff=753"/>
				<updated>2026-06-21T12:54:45Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: /* Channel F Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the [[Channel F|VES]] wiki! Here you can find out user-donated information on all sorts of programming info for the Channel F. __NOTOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;col1&amp;quot; style=&amp;quot;width: 30%; float: right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
== Channel F Information ==&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* [[Schematics]]&lt;br /&gt;
* [[Pinouts]]&lt;br /&gt;
* [[Resolution]]&lt;br /&gt;
* [[Register]]s&lt;br /&gt;
* [[F8]]&lt;br /&gt;
* [[ROMC|ROMC explained]]&lt;br /&gt;
* [[RAM]]&lt;br /&gt;
* [[VRAM]]&lt;br /&gt;
* [[Port|Ports]]&lt;br /&gt;
* [[Modding]]&lt;br /&gt;
'''Programming:'''&lt;br /&gt;
* [[Opcode]]s&lt;br /&gt;
* [[DASM|DASM compiler]]&lt;br /&gt;
* [[Accessing VRAM]]&lt;br /&gt;
* [[Reading Controllers|Reading Controller and Buttons]]&lt;br /&gt;
* [[Outputting Sound]]&lt;br /&gt;
* [[Subtraction]]&lt;br /&gt;
* [[Binary coded decimal]]&lt;br /&gt;
* [[Subroutines]]&lt;br /&gt;
* [[Ves.h]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
* [[Snippet:Blit|Blit subroutine]]&lt;br /&gt;
* [[Snippet:Multiblit|Multiblit subroutine]]&lt;br /&gt;
* [[Snippet:Plot|Plot subroutine]]&lt;br /&gt;
* [[Snippet:Playsong|Playsong subroutine]]&lt;br /&gt;
* [[Snippet:Score|Score subroutine]]&lt;br /&gt;
** [[Snippet:Music_60.h|Music_60.h]]&lt;br /&gt;
* [[Snippet:Pseudorandom numbers|Pseudorandom numbers]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Homebrews ==&lt;br /&gt;
* [[Homebrew:Cannibal Slug Battle|Cannibal Slug Battle]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:F8 of Nations|F8 of Nations]] by Nycurt&lt;br /&gt;
* [[Homebrew:Fullscreenpicture|Full screen picture]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:International Karate|International Karate]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Lights Out|Lights Out]] by Sean Riddle&lt;br /&gt;
* [[Homebrew:Multi-Cart Menu|Multi-Cart Menu]] by Sean Riddle and [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Pac-Man|Pac-Man]] by Blackbird and [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:RAM test|RAM test]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Scrolling Mountains|Scrolling Mountains]] by Curtdawg&lt;br /&gt;
* [[Homebrew:Test Controls|Test Controls]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Tetris|Tetris for 1 or 2 players]] by Peter Trauner&lt;br /&gt;
* [[Homebrew:Music|Homebrew Music]]&lt;br /&gt;
* [[Homebrew:CCtro|256 Byte intro]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
* [[DASM]]&lt;br /&gt;
* [[f8tool|F8tool]]&lt;br /&gt;
* [[Graphics converter]]&lt;br /&gt;
** [[For full screen]]&lt;br /&gt;
* [[Videocart dumper]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disassemblies ==&lt;br /&gt;
* [[Disassembly:Bios|Channel F Bios]]&lt;br /&gt;
* [[Disassembly:Videocart 1|Videocart 1 - Tic-Tac-Toe, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 2|Videocart 2 - Desert Fox, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 3|Videocart 3 - Video Blackjack]]&lt;br /&gt;
* [[Disassembly:Videocart 4|Videocart 4 - Spitfire]]&lt;br /&gt;
* [[Disassembly:Videocart 5|Videocart 5 - Space War]]&lt;br /&gt;
* [[Disassembly:Videocart 6|Videocart 6 - Math Quiz]]&lt;br /&gt;
* [[Disassembly:Videocart 7|Videocart 7 - Math Quiz II]]&lt;br /&gt;
* [[Disassembly:Videocart 8|Videocart 8 - Magic Numbers, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 9|Videocart 9 - Drag Race]]&lt;br /&gt;
* [[Disassembly:Videocart 10|Videocart 10 - Maze]]&lt;br /&gt;
* [[Disassembly:Videocart 10b|Videocart 10b - Maze, code variation]]&lt;br /&gt;
* [[Disassembly:Videocart 11|Videocart 11 - Backgammon, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 12|Videocart 12 - Baseball]]&lt;br /&gt;
* [[Disassembly:Videocart 13|Videocart 13 - Robot War, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 14|Videocart 14 - Sonar Search]]&lt;br /&gt;
* [[Disassembly:Videocart 15|Videocart 15 - Memory Match]]&lt;br /&gt;
* [[Disassembly:Videocart 16|Videocart 16 - Dodge' It]]&lt;br /&gt;
* [[Disassembly:Videocart 17|Videocart 17 - Pinball Challenge]]&lt;br /&gt;
* [[Disassembly:Videocart 17b|Videocart 17b - Pinball code variation]]&lt;br /&gt;
* [[Disassembly:Videocart 18|Videocart 18 - Hangman]]&lt;br /&gt;
* [[Disassembly:Videocart 19|Videocart 19 - Checkers]]&lt;br /&gt;
* [[Disassembly:Videocart 20|Videocart 20 - Video Whizball]]&lt;br /&gt;
* [[Disassembly:Videocart 21|Videocart 21 - Bowling]]&lt;br /&gt;
* [[Disassembly:Videocart 22|Videocart 22 - Slot Machine]]&lt;br /&gt;
* [[Disassembly:Videocart 22b|Videocart 22b - Alt. Slot Machine]]&lt;br /&gt;
* [[Disassembly:Videocart 23|Videocart 23 - Galactic Space Wars]]&lt;br /&gt;
* [[Disassembly:Videocart 24|Videocart 24 - Pro Football]]&lt;br /&gt;
* [[Disassembly:Videocart 25|Videocart 25 - Casino Poker]]&lt;br /&gt;
* [[Disassembly:Videocart 26|Videocart 26 - Alien Invasion]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 1|SABA Videoplay 1 - M&amp;amp;uuml;hle, usw]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 16|SABA Videoplay 16 - Rat' mal]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 20|SABA Videoplay 20 - Schach]]&lt;br /&gt;
* [[Disassembly:Democart|Democart]]&lt;br /&gt;
* [[Disassembly:Democart 2|Democart 2]]&lt;br /&gt;
* [[Disassembly:Werbetextcassette electronic partner|Werbetextcassette electronic partner]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;col2&amp;quot; style=&amp;quot;width: 69%; float: left&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contribute! ==&lt;br /&gt;
&lt;br /&gt;
The VESWiki was set up as a repository for information related to the VES and VES programming. Some of the many things we'd like to make available are disassemblies, console or technical information, tutorials and guides for both software and hardware, code snippets, and complete games. We encourage you to add any information you have, or to make a page promoting your own game (which you can host here, if you like).&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
If you'd like to get started programming games for the Channel F, try downloading the &amp;lt;br&amp;gt;[https://channelf.se/veswiki/images/9/99/Devel.7z Development Pack (.7z, 2.8 MB)]. &amp;lt;br&amp;gt;It includes the DASM assembler, the MESS emulator and an early version of Pac-Man as a sample game that you can edit, compile and test. Just unpack it, preferably directly on root of your hard drive and doubleclick '''..\devel\games\pacman\!compile+run.bat''' or the '''!run.bat''' in the same directory and it should start right up. Press Esc to leave the debugger. &amp;lt;br&amp;gt; It has been tested (and is working) on Windows XP Home SP3.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here's a tutorial that might be helpful: &lt;br /&gt;
[[Tutorial:Beginner%27s_Guide_to_the_Channel_F | Beginner's guide to the Channel F]]&lt;br /&gt;
&amp;lt;br&amp;gt;Read up on the guides and have fun!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Useful external links ==&lt;br /&gt;
(all links working June 21st 2020)&lt;br /&gt;
&lt;br /&gt;
* [http://www.freelists.org/list/channelf Channel F Programming List]&lt;br /&gt;
* [http://seanriddle.com/chanf.html Sean Riddle's Channel F Info]&lt;br /&gt;
* [http://seanriddle.com/chanfmulti.html Sean Riddle's Channel F Multicart]&lt;br /&gt;
* [http://seanriddle.com/chanfinfo.html Sean Riddle's Channel F Programming Info]&lt;br /&gt;
* [http://www.nyx.net/~lturner/public_html/Fairchild_F8.html Lowell O. Turner's Home Page- Fairchild F8 Info]&lt;br /&gt;
* [http://www.nyx.net/~lturner/public_html/F8_ins.html Lowell O. Turner's Home Page- Fairchild F8 Instruction Set]&lt;br /&gt;
&lt;br /&gt;
== Information in pdf:s ==&lt;br /&gt;
&lt;br /&gt;
Here are complete Guides in pdf format on how to program a F8 processor system: &amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/F8_Guide_to_Programming.pdf F8 Guide to Programming (.pdf, 7.57 MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/F8_Guide_to_Programming_old.pdf F8 Guide to Programming b/w(.pdf, 3.42 MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf F8 User's Guide (1976)(Fairchild) (.pdf, 13.8 MB)]&lt;br /&gt;
&lt;br /&gt;
These are a few shorter pdf:s with information on the F8 system and its circuits: &amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f8_general_info.pdf F8 general info (.pdf, 146kB)]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3850.pdf F3850 the CPU (.pdf, 1.49MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf  F8 info by Terry Polhoff (.pdf, 698kB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3851_56.pdf F3851+56 Program Storage Unit (.pdf, 1.5MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3852_53.pdf F3852+53 Dynamic and Static Memory Interface (.pdf, 720kB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/veswiki/images/1/1d/Fairchild_Service_Manual.pdf Service manual, Repair information (.pdf, 409kB)]&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Main_Page&amp;diff=752</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Main_Page&amp;diff=752"/>
				<updated>2026-06-21T12:54:23Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: /* Channel F Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the [[Channel F|VES]] wiki! Here you can find out user-donated information on all sorts of programming info for the Channel F. __NOTOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;col1&amp;quot; style=&amp;quot;width: 30%; float: right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
== Channel F Information ==&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* [[Schematics]]&lt;br /&gt;
* [[Pinouts]]&lt;br /&gt;
* [[Resolution]]&lt;br /&gt;
* [[Register]]s&lt;br /&gt;
* [[F8]]&lt;br /&gt;
* [[ROMC|ROMC explained]]&lt;br /&gt;
* [[RAM]]&lt;br /&gt;
* [[VRAM]]&lt;br /&gt;
* [[Port|Ports]]&lt;br /&gt;
* [[Modding]]&lt;br /&gt;
'''Programming:'''&lt;br /&gt;
* [[Opcode]]s&lt;br /&gt;
* [[Accessing VRAM]]&lt;br /&gt;
* [[Reading Controllers|Reading Controller and Buttons]]&lt;br /&gt;
* [[Outputting Sound]]&lt;br /&gt;
* [[Subtraction]]&lt;br /&gt;
* [[Binary coded decimal]]&lt;br /&gt;
* [[Subroutines]]&lt;br /&gt;
* [[Ves.h]]&lt;br /&gt;
* [[DASM|DASM compiler]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
* [[Snippet:Blit|Blit subroutine]]&lt;br /&gt;
* [[Snippet:Multiblit|Multiblit subroutine]]&lt;br /&gt;
* [[Snippet:Plot|Plot subroutine]]&lt;br /&gt;
* [[Snippet:Playsong|Playsong subroutine]]&lt;br /&gt;
* [[Snippet:Score|Score subroutine]]&lt;br /&gt;
** [[Snippet:Music_60.h|Music_60.h]]&lt;br /&gt;
* [[Snippet:Pseudorandom numbers|Pseudorandom numbers]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Homebrews ==&lt;br /&gt;
* [[Homebrew:Cannibal Slug Battle|Cannibal Slug Battle]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:F8 of Nations|F8 of Nations]] by Nycurt&lt;br /&gt;
* [[Homebrew:Fullscreenpicture|Full screen picture]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:International Karate|International Karate]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Lights Out|Lights Out]] by Sean Riddle&lt;br /&gt;
* [[Homebrew:Multi-Cart Menu|Multi-Cart Menu]] by Sean Riddle and [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Pac-Man|Pac-Man]] by Blackbird and [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:RAM test|RAM test]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Scrolling Mountains|Scrolling Mountains]] by Curtdawg&lt;br /&gt;
* [[Homebrew:Test Controls|Test Controls]] by [[User:E5frog|e5frog]]&lt;br /&gt;
* [[Homebrew:Tetris|Tetris for 1 or 2 players]] by Peter Trauner&lt;br /&gt;
* [[Homebrew:Music|Homebrew Music]]&lt;br /&gt;
* [[Homebrew:CCtro|256 Byte intro]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
* [[DASM]]&lt;br /&gt;
* [[f8tool|F8tool]]&lt;br /&gt;
* [[Graphics converter]]&lt;br /&gt;
** [[For full screen]]&lt;br /&gt;
* [[Videocart dumper]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #666; padding: 5px; margin: 5px 0; background: #FFE;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disassemblies ==&lt;br /&gt;
* [[Disassembly:Bios|Channel F Bios]]&lt;br /&gt;
* [[Disassembly:Videocart 1|Videocart 1 - Tic-Tac-Toe, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 2|Videocart 2 - Desert Fox, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 3|Videocart 3 - Video Blackjack]]&lt;br /&gt;
* [[Disassembly:Videocart 4|Videocart 4 - Spitfire]]&lt;br /&gt;
* [[Disassembly:Videocart 5|Videocart 5 - Space War]]&lt;br /&gt;
* [[Disassembly:Videocart 6|Videocart 6 - Math Quiz]]&lt;br /&gt;
* [[Disassembly:Videocart 7|Videocart 7 - Math Quiz II]]&lt;br /&gt;
* [[Disassembly:Videocart 8|Videocart 8 - Magic Numbers, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 9|Videocart 9 - Drag Race]]&lt;br /&gt;
* [[Disassembly:Videocart 10|Videocart 10 - Maze]]&lt;br /&gt;
* [[Disassembly:Videocart 10b|Videocart 10b - Maze, code variation]]&lt;br /&gt;
* [[Disassembly:Videocart 11|Videocart 11 - Backgammon, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 12|Videocart 12 - Baseball]]&lt;br /&gt;
* [[Disassembly:Videocart 13|Videocart 13 - Robot War, etc]]&lt;br /&gt;
* [[Disassembly:Videocart 14|Videocart 14 - Sonar Search]]&lt;br /&gt;
* [[Disassembly:Videocart 15|Videocart 15 - Memory Match]]&lt;br /&gt;
* [[Disassembly:Videocart 16|Videocart 16 - Dodge' It]]&lt;br /&gt;
* [[Disassembly:Videocart 17|Videocart 17 - Pinball Challenge]]&lt;br /&gt;
* [[Disassembly:Videocart 17b|Videocart 17b - Pinball code variation]]&lt;br /&gt;
* [[Disassembly:Videocart 18|Videocart 18 - Hangman]]&lt;br /&gt;
* [[Disassembly:Videocart 19|Videocart 19 - Checkers]]&lt;br /&gt;
* [[Disassembly:Videocart 20|Videocart 20 - Video Whizball]]&lt;br /&gt;
* [[Disassembly:Videocart 21|Videocart 21 - Bowling]]&lt;br /&gt;
* [[Disassembly:Videocart 22|Videocart 22 - Slot Machine]]&lt;br /&gt;
* [[Disassembly:Videocart 22b|Videocart 22b - Alt. Slot Machine]]&lt;br /&gt;
* [[Disassembly:Videocart 23|Videocart 23 - Galactic Space Wars]]&lt;br /&gt;
* [[Disassembly:Videocart 24|Videocart 24 - Pro Football]]&lt;br /&gt;
* [[Disassembly:Videocart 25|Videocart 25 - Casino Poker]]&lt;br /&gt;
* [[Disassembly:Videocart 26|Videocart 26 - Alien Invasion]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 1|SABA Videoplay 1 - M&amp;amp;uuml;hle, usw]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 16|SABA Videoplay 16 - Rat' mal]]&lt;br /&gt;
* [[Disassembly:SABA Videoplay 20|SABA Videoplay 20 - Schach]]&lt;br /&gt;
* [[Disassembly:Democart|Democart]]&lt;br /&gt;
* [[Disassembly:Democart 2|Democart 2]]&lt;br /&gt;
* [[Disassembly:Werbetextcassette electronic partner|Werbetextcassette electronic partner]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;col2&amp;quot; style=&amp;quot;width: 69%; float: left&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contribute! ==&lt;br /&gt;
&lt;br /&gt;
The VESWiki was set up as a repository for information related to the VES and VES programming. Some of the many things we'd like to make available are disassemblies, console or technical information, tutorials and guides for both software and hardware, code snippets, and complete games. We encourage you to add any information you have, or to make a page promoting your own game (which you can host here, if you like).&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
If you'd like to get started programming games for the Channel F, try downloading the &amp;lt;br&amp;gt;[https://channelf.se/veswiki/images/9/99/Devel.7z Development Pack (.7z, 2.8 MB)]. &amp;lt;br&amp;gt;It includes the DASM assembler, the MESS emulator and an early version of Pac-Man as a sample game that you can edit, compile and test. Just unpack it, preferably directly on root of your hard drive and doubleclick '''..\devel\games\pacman\!compile+run.bat''' or the '''!run.bat''' in the same directory and it should start right up. Press Esc to leave the debugger. &amp;lt;br&amp;gt; It has been tested (and is working) on Windows XP Home SP3.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here's a tutorial that might be helpful: &lt;br /&gt;
[[Tutorial:Beginner%27s_Guide_to_the_Channel_F | Beginner's guide to the Channel F]]&lt;br /&gt;
&amp;lt;br&amp;gt;Read up on the guides and have fun!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Useful external links ==&lt;br /&gt;
(all links working June 21st 2020)&lt;br /&gt;
&lt;br /&gt;
* [http://www.freelists.org/list/channelf Channel F Programming List]&lt;br /&gt;
* [http://seanriddle.com/chanf.html Sean Riddle's Channel F Info]&lt;br /&gt;
* [http://seanriddle.com/chanfmulti.html Sean Riddle's Channel F Multicart]&lt;br /&gt;
* [http://seanriddle.com/chanfinfo.html Sean Riddle's Channel F Programming Info]&lt;br /&gt;
* [http://www.nyx.net/~lturner/public_html/Fairchild_F8.html Lowell O. Turner's Home Page- Fairchild F8 Info]&lt;br /&gt;
* [http://www.nyx.net/~lturner/public_html/F8_ins.html Lowell O. Turner's Home Page- Fairchild F8 Instruction Set]&lt;br /&gt;
&lt;br /&gt;
== Information in pdf:s ==&lt;br /&gt;
&lt;br /&gt;
Here are complete Guides in pdf format on how to program a F8 processor system: &amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/F8_Guide_to_Programming.pdf F8 Guide to Programming (.pdf, 7.57 MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/F8_Guide_to_Programming_old.pdf F8 Guide to Programming b/w(.pdf, 3.42 MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf F8 User's Guide (1976)(Fairchild) (.pdf, 13.8 MB)]&lt;br /&gt;
&lt;br /&gt;
These are a few shorter pdf:s with information on the F8 system and its circuits: &amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f8_general_info.pdf F8 general info (.pdf, 146kB)]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3850.pdf F3850 the CPU (.pdf, 1.49MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf  F8 info by Terry Polhoff (.pdf, 698kB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3851_56.pdf F3851+56 Program Storage Unit (.pdf, 1.5MB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/files/channelf/f3852_53.pdf F3852+53 Dynamic and Static Memory Interface (.pdf, 720kB)]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/veswiki/images/1/1d/Fairchild_Service_Manual.pdf Service manual, Repair information (.pdf, 409kB)]&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=DASM&amp;diff=751</id>
		<title>DASM</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=DASM&amp;diff=751"/>
				<updated>2026-06-21T12:53:08Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DASM is a versatile macro assembler with support for several 8-bit microprocessors including Fairchild F8, MOS 6502 &amp;amp; 6507, Motorola 6803, 68705 &amp;amp; 68HC11 and Hitachi HD6303. &amp;lt;br&amp;gt;&lt;br /&gt;
[https://dasm-assembler.github.io/ Check here for latest official version]&lt;br /&gt;
&lt;br /&gt;
As DASM is an assembler for many processors you need to add the line &amp;quot;{tab}processor f8&amp;quot; as the first line to use it with the F8 System (don't write {tab} but insert a tab sign there, space/s will work as well).&lt;br /&gt;
DASM is run from a command line unless you make a .bat file to simplify assembly and reassembly during a programming project (recommended).&lt;br /&gt;
Easiest assembly of a F8-program called ''game.asm'' would be this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dasm game.asm -f3 -output.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
-f3 means it outputs raw data with no load address first.&lt;br /&gt;
If you have problems with assembly errors then the option -L can be useful in order to find the reason.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dasm game.asm -f3 -output.bin -Lname-of-list.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can then check the ''name-of-list.txt'' for the exact problem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Local copies:&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/veswiki/images/4/40/Dasm-2.20.11.7z DASM 2.20.11 (.7z, 116kB)]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://channelf.se/veswiki/images/1/10/Dasm-2.20.14.1-win-x64.zip DASM 2.20.14.1-win-x64 with manual (zip, 552kB)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy of the DASM documentation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Commandline for processor F8, f3 removes 2 byte header and -o sets the name of output:&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt; dasm name_of_file.asm -f3 -oFile_out.bin&lt;br /&gt;
&lt;br /&gt;
DOCUMENTATION FOR DASM, a high level macro cross assembler for:&lt;br /&gt;
&lt;br /&gt;
	-6502 (and 6507)&lt;br /&gt;
	-68705&lt;br /&gt;
	-6803&lt;br /&gt;
	-HD6303 (extension of 6803)&lt;br /&gt;
	-68HC11&lt;br /&gt;
&lt;br /&gt;
DASM was created in 1988 by Matthew Dillon (dillon@apollo.backplane.com)&lt;br /&gt;
and modified in 1995 by Olaf 'Rhialto' Seibert (rhialto@polderland.nl), and&lt;br /&gt;
is now updated and maintained by Andrew Davie (atari2600@taswegian.com)&lt;br /&gt;
&lt;br /&gt;
DASM's homepage is http://www.atari2600.org/dasm&lt;br /&gt;
&lt;br /&gt;
DASM is freely re-distributable, and provided with full source-code to&lt;br /&gt;
allow recompilation for other target-platforms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PREFACE FROM MATT:&lt;br /&gt;
&lt;br /&gt;
    Over the last year my work has included writing software to drive small&lt;br /&gt;
    single-chip microcomputers for various things (remote telemetry units,&lt;br /&gt;
    for instance).  I have had need to program quite a few different&lt;br /&gt;
    processors over that time.&lt;br /&gt;
&lt;br /&gt;
    At the beginning, I used an awful macro assembler running on an IBM-PC.&lt;br /&gt;
    I *really* wanted to do it on my Amiga.  Thus the writing of this&lt;br /&gt;
    program.&lt;br /&gt;
&lt;br /&gt;
    Feel free to suggest other similar processors for me to add to the list!&lt;br /&gt;
    The processor type is specified with a pseudo-op (see below).  This&lt;br /&gt;
    assembler produces only binary output in one of three formats described&lt;br /&gt;
    below.  In general, one has a master assembly file which INCLUDEs all&lt;br /&gt;
    the modules.&lt;br /&gt;
&lt;br /&gt;
    Also provided is FTOHEX which converts an output file in one of the&lt;br /&gt;
    three formats to an intel-hex format suitable for many intelligent&lt;br /&gt;
    prom programmers (I have a GTEK).&lt;br /&gt;
&lt;br /&gt;
    YES it's packed with features!&lt;br /&gt;
&lt;br /&gt;
FEATURES:&lt;br /&gt;
&lt;br /&gt;
    -fast assembly&lt;br /&gt;
    -supports several common 8 bit processor models (NOT 8086, thank god!)&lt;br /&gt;
    -takes as many passes as needed&lt;br /&gt;
    -automatic checksum generation, special symbol '...'&lt;br /&gt;
    -several binary output formats available.  Format 2 allows reverse&lt;br /&gt;
     indexed origins.&lt;br /&gt;
    -multiple segments, BSS segments (no generation), relocatable origin.&lt;br /&gt;
    -expressions, as in C but [] is used instead of () for parenthesis.&lt;br /&gt;
     (all expressions are computed with 32 bit integers)&lt;br /&gt;
    -no real limitation on label size, label values are 32 bits.&lt;br /&gt;
    -complex pseudo ops, repeat loops, macros, etc....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PREFACE FROM ANDREW (APRIL/2003)&lt;br /&gt;
&lt;br /&gt;
The documentation is lagging a bit behind the modifications.  Essentially &lt;br /&gt;
the information contained herein is correct, but there have been minor &lt;br /&gt;
changes to the formatting of output data.&lt;br /&gt;
&lt;br /&gt;
Please see the accompanying ‘README.TXT’ in the distributable root directory &lt;br /&gt;
for a list of recent changes to the package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
COMMAND LINE:&lt;br /&gt;
&lt;br /&gt;
	dasm srcfile [options]&lt;br /&gt;
&lt;br /&gt;
	options:    -f#     select output format 1-3 (default 1, see below)&lt;br /&gt;
		    -oname  select output file name (else a.out)&lt;br /&gt;
		    -lname  select list file name   (else none generated)&lt;br /&gt;
		    -Lname  list file, containing all passes&lt;br /&gt;
		    -sname  select symbol dump file (else none generated)&lt;br /&gt;
		    -v#     select verboseness 0-4 (default 0, see below)&lt;br /&gt;
		    -d	    debug mode&lt;br /&gt;
		    -DSYMBOL		    predefine a symbol, set to 0&lt;br /&gt;
		    -DSYMBOL=EXPRESSION     predefine a symbol, set to exp&lt;br /&gt;
		    -MSYMBOL=EXPRESSION		define label as in EQM (same as –D)&lt;br /&gt;
&lt;br /&gt;
		     -Idir    search directory for include and incbin&lt;br /&gt;
		     -p#    max number of passes&lt;br /&gt;
		     -P#    max number of passes, with less checks&lt;br /&gt;
&lt;br /&gt;
		     -T#	sort symbol table by (0 = alphabetic (default)&lt;br /&gt;
				or (non-zero= address/value)&lt;br /&gt;
&lt;br /&gt;
	Example:    dasm master.asm -f2 -oout -llist -v3 -DVER=4&lt;br /&gt;
&lt;br /&gt;
Note:	A slash (/) or dash (-) must prefix options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return Value:&lt;br /&gt;
&lt;br /&gt;
	The assembler will return 0 on successful compilation, 1 otherwise.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FORMAT OPTIONS:&lt;br /&gt;
&lt;br /&gt;
    1  (DEFAULT)&lt;br /&gt;
&lt;br /&gt;
	The output file contains a two byte origin in LSB,MSB order, then&lt;br /&gt;
	data until the end of the file.&lt;br /&gt;
&lt;br /&gt;
	Restrictions:	Any instructions which generate output (within an&lt;br /&gt;
	initialized segment) must do so with an ascending PC.  Initialized&lt;br /&gt;
	segments must occur in ascending order.&lt;br /&gt;
&lt;br /&gt;
    2  RAS (Random Access Segment)&lt;br /&gt;
&lt;br /&gt;
	The output file contains one or more hunks.  Each hunk consists&lt;br /&gt;
	of a 2 byte origin (LSB,MSB), 2 byte length (LSB,MSB), and that&lt;br /&gt;
	number of data bytes.  The hunks occur in the same order as&lt;br /&gt;
	initialized segments in the assembly.  There are no restrictions&lt;br /&gt;
	to segment ordering (i.e. reverse indexed ORG statements are&lt;br /&gt;
	allowed).  The next hunk begins after the previous hunk's data,&lt;br /&gt;
	until the end of the file.&lt;br /&gt;
&lt;br /&gt;
    3  RAW (Raw)&lt;br /&gt;
&lt;br /&gt;
	The output file contains data only (format #1 without the 2 byte&lt;br /&gt;
	header).  Restrictions are the same as for format #1.&lt;br /&gt;
&lt;br /&gt;
	Format 3    RAW (Raw format)&lt;br /&gt;
	    Same as format 1, but NO header origin is generated.  You get&lt;br /&gt;
	    nothing but data.&lt;br /&gt;
&lt;br /&gt;
VERBOSE OPTIONS:&lt;br /&gt;
&lt;br /&gt;
    0	(default)&lt;br /&gt;
&lt;br /&gt;
	Only warnings and errors are generated&lt;br /&gt;
&lt;br /&gt;
    1&lt;br /&gt;
	-Segment list information generated after each pass&lt;br /&gt;
	-Include file names are displayed&lt;br /&gt;
	-statistics on why the assembler is going to make another pass&lt;br /&gt;
	    R1,R2 reason code: R3&lt;br /&gt;
	    where R1 is the number of times the assembler encountered&lt;br /&gt;
	    something requiring another pass to resolve.  R2 is the&lt;br /&gt;
	    number of references to unknown symbols which occured in the&lt;br /&gt;
	    pass (but only R1 determines the need for another pass).  R3&lt;br /&gt;
	    is a BITMASK of the reasons why another pass is required.&lt;br /&gt;
	    See the end of this document for bit designations.&lt;br /&gt;
&lt;br /&gt;
    2&lt;br /&gt;
	mismatches between program labels and equates are displayed&lt;br /&gt;
	on every pass (usually none occur in the first pass unless you&lt;br /&gt;
	have re-declared a symbol name).&lt;br /&gt;
&lt;br /&gt;
	displayed information for symbols:&lt;br /&gt;
	    ???? = unknown value&lt;br /&gt;
	    str  = symbol is a string&lt;br /&gt;
	    eqm  = symbol is an eqm macro&lt;br /&gt;
	    (r)  = symbol has been referenced&lt;br /&gt;
	    (s)  = symbol created with SET or EQM pseudo-op&lt;br /&gt;
&lt;br /&gt;
    3&lt;br /&gt;
	    Unresolved and unreferenced symbols are displayed every pass&lt;br /&gt;
	    (unsorted, sorry)&lt;br /&gt;
&lt;br /&gt;
    4&lt;br /&gt;
	    An entire symbol list is displayed every pass to STDOUT.&lt;br /&gt;
	    (unsorted, sorry)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PROCESSOR MODEL:&lt;br /&gt;
&lt;br /&gt;
    The processor model is chosen with the PROCESSOR pseudo-op and should&lt;br /&gt;
    be the first thing you do in your assembly file.   Different processor&lt;br /&gt;
    models use different integer formats (see below).  The word order does&lt;br /&gt;
    not effect the headers in the output files (-f1 and -f2), which are&lt;br /&gt;
    always LSB,MSB.  The word ordering effects all address, word, and&lt;br /&gt;
    long generation.&lt;br /&gt;
&lt;br /&gt;
    Only one PROCESSOR pseudo-op may be declared in the entire assembly,&lt;br /&gt;
    and should be the first thing encountered.&lt;br /&gt;
&lt;br /&gt;
	-6502	    LSB,MSB&lt;br /&gt;
	-68HC11     MSB,LSB&lt;br /&gt;
	-68705	    MSB,LSB&lt;br /&gt;
	-6803	    MSB,LSB&lt;br /&gt;
	-HD6303     MSB,LSB&lt;br /&gt;
	-F8         ?&lt;br /&gt;
&lt;br /&gt;
SEGMENTS:&lt;br /&gt;
    The SEG pseudo-op creates/sets the current segment.  Each segment has&lt;br /&gt;
    it's own origin and is optionally an 'uninitialized' segment.&lt;br /&gt;
    Unitialized segments produce no output and have no restrictions.  This&lt;br /&gt;
    is useful for determining the size of a certain assembly sequence&lt;br /&gt;
    without generating code, and for assigning RAM to labels.&lt;br /&gt;
&lt;br /&gt;
    'Initialized' segments produce output.  The following should be&lt;br /&gt;
    considered when generating roms:&lt;br /&gt;
&lt;br /&gt;
    (1) The default fill character when using ORG (and format 1 or 3) to&lt;br /&gt;
	skip forward is 00.  This is a GLOBAL default and effects all&lt;br /&gt;
	segments.  See ORG.&lt;br /&gt;
&lt;br /&gt;
    (2) The default fill character for DS is 00 and is independant of&lt;br /&gt;
	the default fill character for ORG (see DS).&lt;br /&gt;
&lt;br /&gt;
GENERAL:&lt;br /&gt;
    Most everything is recursive.  You cannot have a macro DEFINITION&lt;br /&gt;
    within a macro definition, but can nest macro calls, repeat loops,&lt;br /&gt;
    and include files.&lt;br /&gt;
&lt;br /&gt;
    The other major feature in this assembler is the SUBROUTINE pseudo-op,&lt;br /&gt;
    which logically separates local labels (starting with a dot).  This&lt;br /&gt;
    allows you to reuse label names (for example, .1 .fail) rather than&lt;br /&gt;
    think up crazy combinations of the current subroutine to keep it all&lt;br /&gt;
    unique.&lt;br /&gt;
&lt;br /&gt;
    Almost nothing need be resolved in pass 1.	The assembler will make&lt;br /&gt;
    multiple passes in an attempt to resolve the assembly (including just&lt;br /&gt;
    one pass if everything is resolved immediately).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PSEUDOPS:&lt;br /&gt;
&lt;br /&gt;
	INCLUDE     &amp;quot;name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	    Include another assembly file.&lt;br /&gt;
&lt;br /&gt;
#if OlafIncbin&lt;br /&gt;
&lt;br /&gt;
[label] INCBIN	    &amp;quot;name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	    Include another file literally in the output.&lt;br /&gt;
#endif&lt;br /&gt;
#if OlafIncdir&lt;br /&gt;
&lt;br /&gt;
	INCDIR	    &amp;quot;directory name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	    Add the given directory name to the list of places where&lt;br /&gt;
	    INCLUDE and INCBIN search their files. First, the names are&lt;br /&gt;
	    tried relative to the current directory, if that fails and&lt;br /&gt;
	    the name is not an absolute pathname, the list is tried.&lt;br /&gt;
	    You can optionally end the name with a /. AmigaDOS filename&lt;br /&gt;
	    conventions imply that two slashes at the&lt;br /&gt;
	    end of an INCDIR (dir//) indicates the parent directory, and&lt;br /&gt;
	    so does an INCLUDE /filename.&lt;br /&gt;
&lt;br /&gt;
	    The command-line option -Idir is equivalent to an INCDIR&lt;br /&gt;
	    directive placed before the source file.&lt;br /&gt;
&lt;br /&gt;
	    Currently the list is not cleared between passes, but each&lt;br /&gt;
	    exact directory name is added to the list only once.&lt;br /&gt;
	    This may change in subsequent releases.&lt;br /&gt;
#endif&lt;br /&gt;
[label] SEG[.U]     name&lt;br /&gt;
&lt;br /&gt;
	    This sets the current segment, creating it if neccessary.  If&lt;br /&gt;
	    a .U extension is specified on segment creation, the segment&lt;br /&gt;
	    is an UNINITIALIZED segment.  The .U is not needed when going&lt;br /&gt;
	    back to an already created uninitialized segment, though it&lt;br /&gt;
	    makes the code more readable.&lt;br /&gt;
&lt;br /&gt;
[label] DC[.BWL]    exp,exp,exp ...&lt;br /&gt;
&lt;br /&gt;
	    Declare data in the current segment.  No output is generated if&lt;br /&gt;
	    within a .U segment.  Note that the byte ordering for the&lt;br /&gt;
	    selected processor is used for each entry.&lt;br /&gt;
&lt;br /&gt;
	    The default size extension is a byte.&lt;br /&gt;
#if OlafByte&lt;br /&gt;
	    BYTE, WORD and LONG are synonyms for DC.B, DC.W and DC.L.&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
[label] DS[.BWL]    exp[,filler]&lt;br /&gt;
&lt;br /&gt;
	    declare space (default filler is 0). Data is not generated if&lt;br /&gt;
	    within an uninitialized segment.  Note that the number of bytes&lt;br /&gt;
	    generated is exp * entrysize (1,2, or 4)&lt;br /&gt;
&lt;br /&gt;
	    The default size extension is a byte.&lt;br /&gt;
&lt;br /&gt;
	    Note that the default filler is always 0 (has nothing to do&lt;br /&gt;
	    with the ORG default filler).&lt;br /&gt;
&lt;br /&gt;
[label] DV[.BWL]    eqmlabel exp,exp,exp....&lt;br /&gt;
&lt;br /&gt;
	    This is equivalent to DC, but each exp in the list is passed&lt;br /&gt;
	    through the symbolic expression specified by the EQM label.&lt;br /&gt;
	    The expression is held in a special symbol dotdot '..' on each&lt;br /&gt;
	    call to the EQM label.&lt;br /&gt;
&lt;br /&gt;
	    See EQM below&lt;br /&gt;
&lt;br /&gt;
[label] HEX	    hh hh hh..&lt;br /&gt;
&lt;br /&gt;
	    This sets down raw HEX data.  Spaces are optional between bytes.&lt;br /&gt;
	    NO EXPRESSIONS are allowed.  Note that you do NOT place a $&lt;br /&gt;
	    in front of the digits.  This is a short form for creating&lt;br /&gt;
	    tables compactly.  Data is always layed down on a byte-by-byte&lt;br /&gt;
	    basis.&lt;br /&gt;
&lt;br /&gt;
	    Example:	    HEX 1A45 45 13254F 3E12&lt;br /&gt;
&lt;br /&gt;
	ERR&lt;br /&gt;
&lt;br /&gt;
	    Abort assembly.&lt;br /&gt;
&lt;br /&gt;
[label] ORG	    exp[,DefaultFillVal]&lt;br /&gt;
&lt;br /&gt;
	    This pseudop sets the current origin.  You can also set the&lt;br /&gt;
	    global default fill character (a byte value) with this&lt;br /&gt;
	    pseudoop.  NOTE that no filler is generated until the first&lt;br /&gt;
	    data-generating opcode/psueoop is encountered after this one.&lt;br /&gt;
	    Sequences like:&lt;br /&gt;
&lt;br /&gt;
		org  0,255&lt;br /&gt;
		org  100,0&lt;br /&gt;
		org  200&lt;br /&gt;
		dc   23&lt;br /&gt;
&lt;br /&gt;
	    will result in 200 zero's and a 23. This allows you to specify&lt;br /&gt;
	    some ORG, then change your mind and specify some other (lower&lt;br /&gt;
	    address) ORG without causing an error (assuming nothing is&lt;br /&gt;
	    generated inbetween).&lt;br /&gt;
&lt;br /&gt;
	    Normally, DS and ALIGN are used to generate specific filler&lt;br /&gt;
	    values.&lt;br /&gt;
&lt;br /&gt;
[label] RORG	    exp&lt;br /&gt;
&lt;br /&gt;
	    This activates the relocatable origin.  All generated&lt;br /&gt;
	    addresses, including '.', although physically placed at the&lt;br /&gt;
	    true origin, will use values from the relocatable origin.&lt;br /&gt;
	    While in effect both the physical origin and relocatable origin&lt;br /&gt;
	    are updated.&lt;br /&gt;
&lt;br /&gt;
	    The relocatable origin can skip around (no limitations).  The&lt;br /&gt;
	    relocatable origin is a function of the segment.  That is, you&lt;br /&gt;
	    can still SEG to another segment that does not have a&lt;br /&gt;
	    relocatable origin activated, do other (independant) stuff&lt;br /&gt;
	    there, and then switch back to the current segment and continue&lt;br /&gt;
	    where you left off.&lt;br /&gt;
&lt;br /&gt;
	PROCESSOR model&lt;br /&gt;
&lt;br /&gt;
	    do not quote.  model is one of: 6502,6803,HD6303,68705,68HC11,F8&lt;br /&gt;
	    Can only be executed once, and should be the first thing&lt;br /&gt;
	    encountered by the assembler.&lt;br /&gt;
&lt;br /&gt;
	ECHO exp,exp,exp&lt;br /&gt;
&lt;br /&gt;
	    The expressions (which may also be strings), are echoed on the&lt;br /&gt;
	    screen and into the list file.&lt;br /&gt;
&lt;br /&gt;
[label] REND&lt;br /&gt;
&lt;br /&gt;
	    Deactivate the relocatable origin for the current segment.&lt;br /&gt;
	    Generation uses the real origin for reference.&lt;br /&gt;
&lt;br /&gt;
[label] ALIGN	    N[,fill]&lt;br /&gt;
&lt;br /&gt;
	    Align the current PC to an N byte boundry.	The default&lt;br /&gt;
	    fill character is always 0, and has nothing to do with&lt;br /&gt;
	    the default fill character specifiable in an ORG.&lt;br /&gt;
&lt;br /&gt;
[label] SUBROUTINE  name&lt;br /&gt;
&lt;br /&gt;
	    This isn't really a subroutine, but a boundry between sets of&lt;br /&gt;
	    temporary labels (which begin with a dot).	Temporary label&lt;br /&gt;
	    names are unique within segments of code bounded by SUBROUTINE:&lt;br /&gt;
&lt;br /&gt;
		CHARLIE subroutine&lt;br /&gt;
			ldx #10&lt;br /&gt;
		.1	dex&lt;br /&gt;
			bne .1&lt;br /&gt;
		BEN	subroutine&lt;br /&gt;
			ldx #20&lt;br /&gt;
		.qq	dex&lt;br /&gt;
			bne .qq&lt;br /&gt;
&lt;br /&gt;
	    Automatic temporary label boundries occur for each macro level.&lt;br /&gt;
	    Usually temporary labels are used in macros and within actual&lt;br /&gt;
	    subroutines (so you don't have to think up a thousand different&lt;br /&gt;
	    names)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
symbol	EQU	    exp&lt;br /&gt;
#if OlafAsgn&lt;br /&gt;
symbol	=	    exp&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
	    The expression is evaluated and the result assigned to the&lt;br /&gt;
	    symbol.&lt;br /&gt;
&lt;br /&gt;
#if OlafDotAssign&lt;br /&gt;
	    If this option is enabled, you can use the common idiom of&lt;br /&gt;
&lt;br /&gt;
		. EQU . + 3	(or . = .+3)&lt;br /&gt;
&lt;br /&gt;
	    in other words, you can assign to &amp;quot;.&amp;quot; (or &amp;quot;*&amp;quot; if OlafStar&lt;br /&gt;
	    is also enabled) instead of an ORG or RORG directive.&lt;br /&gt;
	    More formally, a directive of the form &amp;quot;. EQU expr&amp;quot; is&lt;br /&gt;
	    interpreted as if it were written &amp;quot; (R)ORG expr&amp;quot;.&lt;br /&gt;
	    The RORG is used if a relocatable origin is already in effect,&lt;br /&gt;
	    otherwise ORG is used. Note that the first example is NOT&lt;br /&gt;
	    equivalent with &amp;quot;DS.B 3&amp;quot; when the rorg is in effect.&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
symbol	EQM	    exp&lt;br /&gt;
&lt;br /&gt;
	    The STRING representing the expression is assigned to the&lt;br /&gt;
	    symbol.  Occurances of the label in later expressions causes&lt;br /&gt;
	    the string to be evaluated for each occurance.  Also used in&lt;br /&gt;
	    conjuction with the DV psuedo-op.&lt;br /&gt;
&lt;br /&gt;
symbol	SET	    exp&lt;br /&gt;
&lt;br /&gt;
	    Same as EQU, but the symbol may be reassigned later.&lt;br /&gt;
&lt;br /&gt;
	MAC	    name&lt;br /&gt;
&lt;br /&gt;
	    Declare a macro.  lines between MAC and ENDM are the macro.&lt;br /&gt;
	    You cannot recursively declare a macro.  You CAN recursively&lt;br /&gt;
	    use a macro (reference a macro in a macro).  No label is&lt;br /&gt;
	    allowed to the left of MAC or ENDM.&lt;br /&gt;
&lt;br /&gt;
	    Arguments passed to macros are referenced with: {#}.  The first&lt;br /&gt;
	    argument passed to a macro would thus be {1}.  You should&lt;br /&gt;
	    always use LOCAL labels (.name) inside macros which you use&lt;br /&gt;
	    more than once. {0} represents an EXACT substitution of the&lt;br /&gt;
	    ENTIRE argument line.&lt;br /&gt;
&lt;br /&gt;
	ENDM&lt;br /&gt;
&lt;br /&gt;
	    end of macro def.  NO LABEL ALLOWED ON THE LEFT!&lt;br /&gt;
&lt;br /&gt;
	MEXIT&lt;br /&gt;
&lt;br /&gt;
	    Used in conjuction with conditionals.  Exits the current macro&lt;br /&gt;
	    level.&lt;br /&gt;
&lt;br /&gt;
[label] IFCONST     exp&lt;br /&gt;
&lt;br /&gt;
	    Is TRUE if the expression result is defined,  FALSE otherwise&lt;br /&gt;
	    and NO error is generated if the expression is undefined.&lt;br /&gt;
&lt;br /&gt;
[label] IFNCONST    exp&lt;br /&gt;
&lt;br /&gt;
	    Is TRUE if the expression result is undefined, FALSE otherwise&lt;br /&gt;
	    and NO error is generated if the expression is undefined.&lt;br /&gt;
&lt;br /&gt;
[label] IF	    exp&lt;br /&gt;
&lt;br /&gt;
	    Is TRUE if the expression result is defined AND non-zero.&lt;br /&gt;
	    Is FALSE if the expression result is defined AND zero.&lt;br /&gt;
	    Neither IF or ELSE will be executed if the expression result&lt;br /&gt;
	    is undefined.  If the expression is undefined, another assembly&lt;br /&gt;
	    pass is automatically taken.&lt;br /&gt;
#if OlafPhase&lt;br /&gt;
	    If this happens, phase errors in the next pass only will not&lt;br /&gt;
	    be reported unless the verboseness is 1 or more.&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
[label] ELSE&lt;br /&gt;
&lt;br /&gt;
	    ELSE the current IF.&lt;br /&gt;
&lt;br /&gt;
[label] ENDIF&lt;br /&gt;
[label] EIF&lt;br /&gt;
&lt;br /&gt;
	    Terminate an IF. ENDIF and EIF are equivalent.&lt;br /&gt;
&lt;br /&gt;
[label] REPEAT	    exp&lt;br /&gt;
[label] REPEND&lt;br /&gt;
&lt;br /&gt;
	    Repeat code between REPEAT/REPEND 'exp' times.&lt;br /&gt;
&lt;br /&gt;
#if DAD&lt;br /&gt;
  		if exp == 0,&lt;br /&gt;
	    the code repeats forever.  exp is evaluated once.&lt;br /&gt;
&lt;br /&gt;
		If exp == 0, the repeat loop is ignored.&lt;br /&gt;
		If exp &amp;lt; 0, a warning “REPEAT parameter &amp;lt; 0 (ignored)” is generated&lt;br /&gt;
 		and the repeat loop is ignored.&lt;br /&gt;
#endif&lt;br /&gt;
		&lt;br /&gt;
		Y   SET     0&lt;br /&gt;
		    REPEAT  10&lt;br /&gt;
		X   SET     0&lt;br /&gt;
		    REPEAT  10&lt;br /&gt;
		    DC	    X,Y&lt;br /&gt;
		X   SET     X + 1&lt;br /&gt;
		    REPEND&lt;br /&gt;
		Y   SET     Y + 1&lt;br /&gt;
		    REPEND&lt;br /&gt;
&lt;br /&gt;
	    generates an output table:	0,0 1,0 2,0 ... 9,0  0,1 1,1 2,1&lt;br /&gt;
	    ... 9,1, etc...&lt;br /&gt;
&lt;br /&gt;
	    Labels within a REPEAT/REPEND should be temporary labels with a&lt;br /&gt;
	    SUBROUTINE pseudo-op to keep them unique.&lt;br /&gt;
&lt;br /&gt;
	    The Label to the left of REPEND is assigned AFTER the loop&lt;br /&gt;
	    FINISHES.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[label] XXX[.force] operand&lt;br /&gt;
&lt;br /&gt;
	    XXX is some mnemonic, not necessarily three characters long.&lt;br /&gt;
	    The .FORCE optional extension is used to force specific&lt;br /&gt;
	    addressing modes (see below).&lt;br /&gt;
&lt;br /&gt;
[label] LIST ON or OFF&lt;br /&gt;
&lt;br /&gt;
	    Globally turns listing on or off, starting with the current&lt;br /&gt;
	    line.&lt;br /&gt;
#if OlafList&lt;br /&gt;
	    When you give LOCALON or LOCALOFF the effect is local to the&lt;br /&gt;
	    current macro or included file. For a line to be listed both&lt;br /&gt;
	    the global and local list switches must be on.&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
#if OlafDotop&lt;br /&gt;
	All pseudo-ops (and incidentally also the mnemonics) can be&lt;br /&gt;
	prefixed with a . for compatibility with other assemblers.&lt;br /&gt;
	So .IF is the same as IF. This works only because lone .FORCE&lt;br /&gt;
	extensions are meaningless.&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
#if OlafFreeFormat&lt;br /&gt;
	The format of each input line is free: first all leading&lt;br /&gt;
	spaces are discarded, and the first word is examined. If it&lt;br /&gt;
	does not look like a directive or opcode (as known at that point),&lt;br /&gt;
	it is taken as a label. This is sort-of nasty if you like labels&lt;br /&gt;
	with names like END.&lt;br /&gt;
	The two xxxFormat options are mutually exclusive.&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
#if OlafHashFormat&lt;br /&gt;
	With this option an initial # (after optional initial spaces)&lt;br /&gt;
	turns the next word into a directive/opcode.&lt;br /&gt;
	A ^ skips more spaces and makes the next word a label.&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
GENERAL:&lt;br /&gt;
&lt;br /&gt;
    The label will be set to the current ORG/RORG either before or after&lt;br /&gt;
    a pseudo-op is executed.  Most of the time, the label to the left of a&lt;br /&gt;
    pseudo-op is the current ORG/RORG. The following pseudo-op's labels are&lt;br /&gt;
    created AFTER execution of the pseudo-op:&lt;br /&gt;
&lt;br /&gt;
	SEG, ORG, RORG, REND, ALIGN&lt;br /&gt;
&lt;br /&gt;
EXTENSIONS:&lt;br /&gt;
&lt;br /&gt;
    FORCE extensions are used to force an addressing mode.  In some cases,&lt;br /&gt;
    you can optimize the assembly to take fewer passes by telling it the&lt;br /&gt;
    addressing mode.  Force extensions are also used with DS,DC, and DV&lt;br /&gt;
    to determine the element size.  NOT ALL EXTENSIONS APPLY TO ALL&lt;br /&gt;
    PROCESSORS!&lt;br /&gt;
&lt;br /&gt;
	example:    lda.z   charlie&lt;br /&gt;
&lt;br /&gt;
	i   -implied&lt;br /&gt;
	ind -indirect word&lt;br /&gt;
	0   -implied&lt;br /&gt;
	0x  -implied indexing (0,x)&lt;br /&gt;
	0y  -implied indexing (0,y)&lt;br /&gt;
	b   -byte address&lt;br /&gt;
	bx  -byte address indexed x&lt;br /&gt;
	by  -byte address indexed y&lt;br /&gt;
	w   -word address&lt;br /&gt;
	wx  -word address indexed x&lt;br /&gt;
	wy  -word address indexed y&lt;br /&gt;
	l   -longword (4 bytes) (DS/DC/DV)&lt;br /&gt;
	r   -relative&lt;br /&gt;
	u   -uninitialized (SEG)&lt;br /&gt;
&lt;br /&gt;
	First character equivalent substitutions:&lt;br /&gt;
&lt;br /&gt;
	b z d	    (byte, zeropage, direct)&lt;br /&gt;
	w e a	    (word, extended, absolute)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ASSEMBLER PASSES:&lt;br /&gt;
    The assembler may have to make several passes through the source&lt;br /&gt;
    code to resolve all generation.  The number of passes is not&lt;br /&gt;
    limited to two.  Since this may result in an unexpected, verbose&lt;br /&gt;
    option 2, 3, and 4 have been provided to allow determination of the&lt;br /&gt;
    cause. The assembler will give up if it thinks it can't do the&lt;br /&gt;
    assembly in *any* number of passes.&lt;br /&gt;
&lt;br /&gt;
    Error reporting could be better....&lt;br /&gt;
&lt;br /&gt;
#if OlafPasses&lt;br /&gt;
&lt;br /&gt;
    The check if another pass might resolve the source is pretty good, but&lt;br /&gt;
    not perfect. You can specify the maximum number of passes to do&lt;br /&gt;
    (default -p10), and with the -P option you can override the normal check.&lt;br /&gt;
    This allows the following contrived example to resolve in 12 passes:&lt;br /&gt;
&lt;br /&gt;
	org 1&lt;br /&gt;
	repeat [[x &amp;lt; 11] ? [x-11]] + 11&lt;br /&gt;
	dc.b	x&lt;br /&gt;
	repend&lt;br /&gt;
    x:&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
EXPRESSIONS:&lt;br /&gt;
	[] may be used to group expressions.  The precedense of operators&lt;br /&gt;
	is the same as for the C language in almost all respects.  Use&lt;br /&gt;
	brackets [] when you are unsure.  The reason () cannot be used to&lt;br /&gt;
	group expressions is due to a conflict with the 6502 and other&lt;br /&gt;
	assembly languages.&lt;br /&gt;
#if OlafBraKet&lt;br /&gt;
	It is possible to use () instead of [] in expressions following&lt;br /&gt;
	pseudo-ops, but not following mnemonics. So this works:&lt;br /&gt;
	if target &amp;amp; (pet3001 | pet4001), but this doesn't:&lt;br /&gt;
	lda #target &amp;amp; (pet3001 | pet4001).&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
	Some operators, such as ||, can return a resolved value even if&lt;br /&gt;
	one of the expressions is not resolved.   Operators are as follows:&lt;br /&gt;
&lt;br /&gt;
	NOTE WELL!  Some operations will result in non-byte values when a&lt;br /&gt;
	byte value was wanted.	For example:	~1  is NOT $FF, but&lt;br /&gt;
	$FFFFFFFF.  Preceding it with a &amp;lt; (take LSB of) will solve the&lt;br /&gt;
	problem.  ALL ARITHMETIC IS CARRIED OUT IN 32 BITS.  The final&lt;br /&gt;
	Result will be automatically truncated to the maximum handleable&lt;br /&gt;
	by the particular machine language (usually a word) when applied&lt;br /&gt;
	to standard mnemonics.&lt;br /&gt;
&lt;br /&gt;
	prec	    UNARY&lt;br /&gt;
&lt;br /&gt;
	20  ~exp    one's complement.&lt;br /&gt;
	20  -exp    negation&lt;br /&gt;
	20  !exp    not expression (returns 0 if exp non-zero, 1 if exp zero)&lt;br /&gt;
	20  &amp;lt;exp    take LSB byte of a 16 bit expression&lt;br /&gt;
	20  &amp;gt;exp    take MSB byte of an expression&lt;br /&gt;
&lt;br /&gt;
		    BINARY&lt;br /&gt;
&lt;br /&gt;
	19  *	    multiplication&lt;br /&gt;
	19  /	    division&lt;br /&gt;
	19  %	    mod&lt;br /&gt;
	18  +	    addition&lt;br /&gt;
	18  -	    subtraction&lt;br /&gt;
	17  &amp;gt;&amp;gt;,&amp;lt;&amp;lt;   shift right, shift left&lt;br /&gt;
	16  &amp;gt;,&amp;gt;=    greater, greater equal&lt;br /&gt;
	16  &amp;lt;,&amp;lt;=    smaller, smaller equal&lt;br /&gt;
	15  ==	    equal to.  Try to use this instead of =&lt;br /&gt;
	15  =	    exactly the same as == (exists compatibility)&lt;br /&gt;
	15  !=	    not equal to&lt;br /&gt;
	14  &amp;amp;	    logical and&lt;br /&gt;
	13  ^	    logical xor&lt;br /&gt;
	12  |	    logical or&lt;br /&gt;
	11  &amp;amp;&amp;amp;	    left expression is true AND right expression is true&lt;br /&gt;
	10  ||	    left expression is true OR right expression is true&lt;br /&gt;
	 9  ?	    if left expression is true, result is right expression,&lt;br /&gt;
		    else result is 0.	[10 ? 20] returns 20&lt;br /&gt;
	 8  []	    group expressions&lt;br /&gt;
	 7  ,	    separate expressions in list (also used in&lt;br /&gt;
		    addressing mode resolution, BE CAREFUL!&lt;br /&gt;
&lt;br /&gt;
    Note: The effect of the C conditional operator a ? b : c can be&lt;br /&gt;
    had with [a ? b - c] + c.&lt;br /&gt;
&lt;br /&gt;
    Constants:&lt;br /&gt;
&lt;br /&gt;
	nnn	decimal&lt;br /&gt;
	0nnn	octal&lt;br /&gt;
	%nnn	binary&lt;br /&gt;
	$nnn	hex&lt;br /&gt;
	'c      character&lt;br /&gt;
	&amp;quot;cc..&amp;quot;  string (NOT zero terminated if in DC/DS/DV)&lt;br /&gt;
	[exp]d	the constant expressions is evaluated and it's decimal&lt;br /&gt;
		result turned into an ascii string.&lt;br /&gt;
&lt;br /&gt;
    Symbols:&lt;br /&gt;
&lt;br /&gt;
	...	-holds CHECKSUM so far (of actual-generated stuff)&lt;br /&gt;
	..	-holds evaluated value in DV pseudo op&lt;br /&gt;
	.name	-represents a temporary symbol name.  Temporary symbols&lt;br /&gt;
		 may be reused inside MACROS and between SUBROUTINES, but&lt;br /&gt;
		 may not be referenced across macros or across SUBROUTINEs.&lt;br /&gt;
	.	-current program counter (as of the beginning of the&lt;br /&gt;
		 instruction).&lt;br /&gt;
	name	-beginning with an alpha character and containing letters,&lt;br /&gt;
		 numbers, or '_'.  Represents some global symbol name.&lt;br /&gt;
#if OlafStar&lt;br /&gt;
	*	-synonym for ., when not confused as an operator.&lt;br /&gt;
#endif&lt;br /&gt;
#if OlafDol&lt;br /&gt;
	nnn$	-temporary label, much like .name, except that defining&lt;br /&gt;
		 a non-temporary label has the effect that SUBROUTINE&lt;br /&gt;
		 has on .name.	They are unique within macros, like&lt;br /&gt;
		 .name.  Note that 0$ and 00$ are distinct, as are 8$&lt;br /&gt;
		 and 010$.&lt;br /&gt;
		 (mainly for compatibility with other assemblers.)&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WHY codes:&lt;br /&gt;
    Each bit in the WHY word (verbose option 1) is a reason (why&lt;br /&gt;
    the assembler needs to do another pass), as follows:&lt;br /&gt;
&lt;br /&gt;
    bit 0   expression in mnemonic not resolved&lt;br /&gt;
	1   -&lt;br /&gt;
	2   expression in a DC not resolved&lt;br /&gt;
	3   expression in a DV not resolved (probably in DV's EQM symbol)&lt;br /&gt;
	4   expression in a DV not resolved (could be in DV's EQM symbol)&lt;br /&gt;
	5   expression in a DS not resolved&lt;br /&gt;
	6   expression in an ALIGN not resolved&lt;br /&gt;
	7   ALIGN: Relocatable origin not known (if in RORG at the time)&lt;br /&gt;
	8   ALIGN: Normal origin not known	(if in ORG at the time)&lt;br /&gt;
	9   EQU:   expression not resolved&lt;br /&gt;
	10  EQU:   value mismatch from previous pass (phase error)&lt;br /&gt;
	11  IF:     expression not resolved&lt;br /&gt;
	12  REPEAT: expression not resolved&lt;br /&gt;
&lt;br /&gt;
	13  a program label has been defined after it has been&lt;br /&gt;
	    referenced (forward reference) and thus we need another&lt;br /&gt;
	    pass&lt;br /&gt;
	14  a program label's value is different from that of the&lt;br /&gt;
	    previous pass (phase error)&lt;br /&gt;
&lt;br /&gt;
    Certain errors will cause the assembly to abort immediately, others&lt;br /&gt;
    will wait until the current pass is other.	The remaining allow another&lt;br /&gt;
    pass to occur in the hopes the error will fix itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
VERSIONS:&lt;br /&gt;
&lt;br /&gt;
    V2.12&lt;br /&gt;
	-Fixed macro naming bug (macros wouldn't work if the name after&lt;br /&gt;
	 the 'mac' was in upper case).&lt;br /&gt;
&lt;br /&gt;
    V2.11&lt;br /&gt;
	-Fixed &amp;lt;exp &amp;gt;exp bug, &amp;lt;exp now means LSB, &amp;gt;exp MSB (it used to&lt;br /&gt;
	 be reversed).&lt;br /&gt;
	-Fixed many bugs in macros and other things&lt;br /&gt;
	-Added automatic checksumming ... no more doing checksums manually!&lt;br /&gt;
	-Added several new processors, including 6502.&lt;br /&gt;
	-Source is now 16/32 bit int compatible, and will compile on an&lt;br /&gt;
	 IBM-PC (the ultimate portability test)&lt;br /&gt;
&lt;br /&gt;
    V2.01&lt;br /&gt;
&lt;br /&gt;
	-can now have REPEAT/REPEND's within macros&lt;br /&gt;
	-fill field for DS.W is a word (used to be a byte fill)&lt;br /&gt;
	-fill field for DS.L is a long (used to be a byte fill)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=File:Dasm-2.20.14.1-win-x64.zip&amp;diff=750</id>
		<title>File:Dasm-2.20.14.1-win-x64.zip</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=File:Dasm-2.20.14.1-win-x64.zip&amp;diff=750"/>
				<updated>2026-06-21T12:51:04Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Snippet:Blit&amp;diff=749</id>
		<title>Snippet:Blit</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Snippet:Blit&amp;diff=749"/>
				<updated>2026-06-21T12:38:11Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''blit''' subroutine reads a two-color (1 bit per pixel) block of graphics data from ROM and displays it on the screen, using several parameters. It works much in the same way as the BIOS drawchar routine except for arbitrarily sized data. The code was originally taken from [[Disassembly:Videocart_26|Videocart 26]] and adapted to be more flexible and reusable.&lt;br /&gt;
&lt;br /&gt;
The routine is separated into two parts, '''blitGraphic''' and '''blit'''. '''blit''' takes parameters in registers r1-r6, and retrieves graphics data from the location DC0 points to. It can be called independently of '''blitGraphic'''. '''blitGraphic''' takes hard-coded parameters from ROM at the address pointed at by DC0 and then calls the '''blit''' routine. When the parameters do not need to be dynamic, storing the parameters in ROM and calling the '''blitGraphic''' routine directly can be more efficient than writing them to the registers and calling '''blit'''.&lt;br /&gt;
&lt;br /&gt;
Note that coordinate (0,0) is usually outside the visible emulation area, in MESS/MESSUI/MAME visible area starts at (4,4).&lt;br /&gt;
&lt;br /&gt;
Code works with the '''DASM''' compiler.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;===========;&lt;br /&gt;
; Blit Code ;&lt;br /&gt;
;===========;&lt;br /&gt;
&lt;br /&gt;
;--------------;&lt;br /&gt;
; Blit Graphic ;&lt;br /&gt;
;--------------;&lt;br /&gt;
&lt;br /&gt;
; takes graphic parameters from ROM, stores them in r1-r6, &lt;br /&gt;
; changes the DC and calls the blit function with the parameters&lt;br /&gt;
;&lt;br /&gt;
; modifies: r1-r6, Q, DC&lt;br /&gt;
&lt;br /&gt;
blitGraphic:&lt;br /&gt;
	; load six bytes from the parameters into r0-r5&lt;br /&gt;
	lisu	0&lt;br /&gt;
	lisl	1&lt;br /&gt;
.blitGraphicGetParms:&lt;br /&gt;
	lm   &lt;br /&gt;
	lr	I, A						; store byte and increase ISAR&lt;br /&gt;
	br7	.blitGraphicGetParms				; not finished with the registers, loop&lt;br /&gt;
&lt;br /&gt;
	; load the graphics address&lt;br /&gt;
	lm&lt;br /&gt;
	lr	QU, A						; storea data address in Q, one byte at the time&lt;br /&gt;
	lm&lt;br /&gt;
	lr	QL, A&lt;br /&gt;
	lr	DC, Q						; copy Q into DC0&lt;br /&gt;
&lt;br /&gt;
	; continue with the blit function&lt;br /&gt;
&lt;br /&gt;
;---------------;&lt;br /&gt;
; Blit Function ;&lt;br /&gt;
;---------------;&lt;br /&gt;
&lt;br /&gt;
; this function blits a graphic based on parameters set in r1-r6,&lt;br /&gt;
; and the graphic data pointed to by DC0, onto the screen&lt;br /&gt;
; originally from cart 26, modified and annotated&lt;br /&gt;
;&lt;br /&gt;
; modifies: r1-r9, DC&lt;br /&gt;
&lt;br /&gt;
; register reference:&lt;br /&gt;
; -------------------&lt;br /&gt;
; r1 = color 0 (off) (alias: clear/bkg/blue/red/green)&lt;br /&gt;
; r2 = color 1 (on)  (alias: clear/bkg/blue/red/green)&lt;br /&gt;
; r3 = x position&lt;br /&gt;
; r4 = y position&lt;br /&gt;
; r5 = width&lt;br /&gt;
; r6 = height (and vertical counter)&lt;br /&gt;
;&lt;br /&gt;
; r7 = horizontal counter&lt;br /&gt;
; r8 = graphics byte&lt;br /&gt;
; r9 = bit counter&lt;br /&gt;
;&lt;br /&gt;
; DC = pointer to graphics&lt;br /&gt;
&lt;br /&gt;
blit:&lt;br /&gt;
	lis	1&lt;br /&gt;
	lr	9, A						; load #1 into r9 so it'll be reset when we start&lt;br /&gt;
	lr	A, 4						; load the y offset&lt;br /&gt;
	com							; invert it&lt;br /&gt;
.blitRow:&lt;br /&gt;
	outs	5						; load accumulator into port 5 (row)&lt;br /&gt;
&lt;br /&gt;
	; check vertical counter&lt;br /&gt;
	ds	6						; decrease r6 (vertical counter)&lt;br /&gt;
	bnc	.blitExit					; if it rolls over exit&lt;br /&gt;
&lt;br /&gt;
	; load the width into the horizontal counter&lt;br /&gt;
	lr	A, 5&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	lr	A, 3						; load the x position&lt;br /&gt;
	com							; complement it&lt;br /&gt;
.blitColumn:&lt;br /&gt;
	outs	4						; use the accumulator as our initial column&lt;br /&gt;
	; check to see if this byte is finished&lt;br /&gt;
	ds	9						; decrease r9 (bit counter)&lt;br /&gt;
	bnz	.blitDrawBit					; if we aren't done with this byte, branch&lt;br /&gt;
&lt;br /&gt;
.blitGetByte:&lt;br /&gt;
	; get the next graphics byte and set related registers&lt;br /&gt;
	lis	8&lt;br /&gt;
	lr	9, A						; load #8 into r9 (bit counter)&lt;br /&gt;
	lm&lt;br /&gt;
	lr	8, A						; load a graphics byte into r8&lt;br /&gt;
&lt;br /&gt;
.blitDrawBit:&lt;br /&gt;
	; shift graphics byte&lt;br /&gt;
	lr	A, 8						; load r8 (graphics byte)&lt;br /&gt;
	as	8						; shift left one (with carry)&lt;br /&gt;
	lr	8, A						; save it&lt;br /&gt;
&lt;br /&gt;
	; check color to use&lt;br /&gt;
	lr	A, 2						; load color 1&lt;br /&gt;
	bc	.blitSavePixel					; if this bit is on, draw the color&lt;br /&gt;
	lr	A, 1						; load color 2&lt;br /&gt;
.blitSavePixel:&lt;br /&gt;
	inc&lt;br /&gt;
	bc	.blitCheckColumn				; branch if the color is &amp;quot;clear&amp;quot;&lt;br /&gt;
	outs	1						; output A in p1 (color)&lt;br /&gt;
&lt;br /&gt;
blit.transferData:&lt;br /&gt;
	lis	6						; transfer the pixel data&lt;br /&gt;
	sl	4&lt;br /&gt;
	outs	0&lt;br /&gt;
	sl	1&lt;br /&gt;
	outs	0&lt;br /&gt;
&lt;br /&gt;
	lis	4&lt;br /&gt;
blit.savePixelDelay:&lt;br /&gt;
	ai	$ff&lt;br /&gt;
	bnz	blit.savePixelDelay&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.blitCheckColumn:&lt;br /&gt;
	ds	7						; decrease r7 (horizontal counter)&lt;br /&gt;
	bz	.blitCheckRow					; if it's 0, branch&lt;br /&gt;
&lt;br /&gt;
	ins	4						; get p4 (column)&lt;br /&gt;
	ai	$ff						; add 1 (complemented)&lt;br /&gt;
	br	.blitColumn					; branch&lt;br /&gt;
&lt;br /&gt;
.blitCheckRow:&lt;br /&gt;
	ins	5						; get p5 (row)&lt;br /&gt;
	ai	$ff						; add 1 (complemented)&lt;br /&gt;
	br	.blitRow					; branch&lt;br /&gt;
&lt;br /&gt;
.blitExit:&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To call the above functions, you should use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	dci	graphic.parameters	; address of parameters&lt;br /&gt;
	pi	blitGraphic&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for '''blitGraphic''', and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	; when parameters have been loaded into r1-r6 beforehand&lt;br /&gt;
	dci	graphic.data		; address of graphic data&lt;br /&gt;
	pi	blit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for '''blit'''. If you're using parameters stored in ROM, they should be in this order:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
graphic.parameters:&lt;br /&gt;
	.byte	bkg			; color 0&lt;br /&gt;
	.byte	blue			; color 1&lt;br /&gt;
	.byte	4			; x position&lt;br /&gt;
	.byte	18			; y position&lt;br /&gt;
	.byte	$60			; width&lt;br /&gt;
	.byte	$13			; height&lt;br /&gt;
	.word	graphic.data		; address for the graphics&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Snippet:Multiblit|Multiblit Subroutine]]&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Snippet:Blit&amp;diff=748</id>
		<title>Snippet:Blit</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Snippet:Blit&amp;diff=748"/>
				<updated>2026-06-21T12:37:11Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''blit''' subroutine reads a two-color (1 bit per pixel) block of graphics data from ROM and displays it on the screen, using several parameters. It works much in the same way as the BIOS drawchar routine except for arbitrarily sized data. The code was originally taken from [[Disassembly:Videocart_26|Videocart 26]] and adapted to be more flexible and reusable.&lt;br /&gt;
&lt;br /&gt;
The routine is separated into two parts, '''blitGraphic''' and '''blit'''. '''blit''' takes parameters in registers r1-r6, and retrieves graphics data from the location DC0 points to. It can be called independently of '''blitGraphic'''. '''blitGraphic''' takes hard-coded parameters from ROM at the address pointed at by DC0 and then calls the '''blit''' routine. When the parameters do not need to be dynamic, storing the parameters in ROM and calling the '''blitGraphic''' routine directly can be more efficient than writing them to the registers and calling '''blit'''.&lt;br /&gt;
&lt;br /&gt;
Note that coordinate (0,0) is usually outside the visible emulation area, in MESS/MESSUI/MAME visible area starts at (4,4).&lt;br /&gt;
&lt;br /&gt;
Code works with the DASM compilator.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;===========;&lt;br /&gt;
; Blit Code ;&lt;br /&gt;
;===========;&lt;br /&gt;
&lt;br /&gt;
;--------------;&lt;br /&gt;
; Blit Graphic ;&lt;br /&gt;
;--------------;&lt;br /&gt;
&lt;br /&gt;
; takes graphic parameters from ROM, stores them in r1-r6, &lt;br /&gt;
; changes the DC and calls the blit function with the parameters&lt;br /&gt;
;&lt;br /&gt;
; modifies: r1-r6, Q, DC&lt;br /&gt;
&lt;br /&gt;
blitGraphic:&lt;br /&gt;
	; load six bytes from the parameters into r0-r5&lt;br /&gt;
	lisu	0&lt;br /&gt;
	lisl	1&lt;br /&gt;
.blitGraphicGetParms:&lt;br /&gt;
	lm   &lt;br /&gt;
	lr	I, A						; store byte and increase ISAR&lt;br /&gt;
	br7	.blitGraphicGetParms				; not finished with the registers, loop&lt;br /&gt;
&lt;br /&gt;
	; load the graphics address&lt;br /&gt;
	lm&lt;br /&gt;
	lr	QU, A						; storea data address in Q, one byte at the time&lt;br /&gt;
	lm&lt;br /&gt;
	lr	QL, A&lt;br /&gt;
	lr	DC, Q						; copy Q into DC0&lt;br /&gt;
&lt;br /&gt;
	; continue with the blit function&lt;br /&gt;
&lt;br /&gt;
;---------------;&lt;br /&gt;
; Blit Function ;&lt;br /&gt;
;---------------;&lt;br /&gt;
&lt;br /&gt;
; this function blits a graphic based on parameters set in r1-r6,&lt;br /&gt;
; and the graphic data pointed to by DC0, onto the screen&lt;br /&gt;
; originally from cart 26, modified and annotated&lt;br /&gt;
;&lt;br /&gt;
; modifies: r1-r9, DC&lt;br /&gt;
&lt;br /&gt;
; register reference:&lt;br /&gt;
; -------------------&lt;br /&gt;
; r1 = color 0 (off) (alias: clear/bkg/blue/red/green)&lt;br /&gt;
; r2 = color 1 (on)  (alias: clear/bkg/blue/red/green)&lt;br /&gt;
; r3 = x position&lt;br /&gt;
; r4 = y position&lt;br /&gt;
; r5 = width&lt;br /&gt;
; r6 = height (and vertical counter)&lt;br /&gt;
;&lt;br /&gt;
; r7 = horizontal counter&lt;br /&gt;
; r8 = graphics byte&lt;br /&gt;
; r9 = bit counter&lt;br /&gt;
;&lt;br /&gt;
; DC = pointer to graphics&lt;br /&gt;
&lt;br /&gt;
blit:&lt;br /&gt;
	lis	1&lt;br /&gt;
	lr	9, A						; load #1 into r9 so it'll be reset when we start&lt;br /&gt;
	lr	A, 4						; load the y offset&lt;br /&gt;
	com							; invert it&lt;br /&gt;
.blitRow:&lt;br /&gt;
	outs	5						; load accumulator into port 5 (row)&lt;br /&gt;
&lt;br /&gt;
	; check vertical counter&lt;br /&gt;
	ds	6						; decrease r6 (vertical counter)&lt;br /&gt;
	bnc	.blitExit					; if it rolls over exit&lt;br /&gt;
&lt;br /&gt;
	; load the width into the horizontal counter&lt;br /&gt;
	lr	A, 5&lt;br /&gt;
	lr	7, A&lt;br /&gt;
&lt;br /&gt;
	lr	A, 3						; load the x position&lt;br /&gt;
	com							; complement it&lt;br /&gt;
.blitColumn:&lt;br /&gt;
	outs	4						; use the accumulator as our initial column&lt;br /&gt;
	; check to see if this byte is finished&lt;br /&gt;
	ds	9						; decrease r9 (bit counter)&lt;br /&gt;
	bnz	.blitDrawBit					; if we aren't done with this byte, branch&lt;br /&gt;
&lt;br /&gt;
.blitGetByte:&lt;br /&gt;
	; get the next graphics byte and set related registers&lt;br /&gt;
	lis	8&lt;br /&gt;
	lr	9, A						; load #8 into r9 (bit counter)&lt;br /&gt;
	lm&lt;br /&gt;
	lr	8, A						; load a graphics byte into r8&lt;br /&gt;
&lt;br /&gt;
.blitDrawBit:&lt;br /&gt;
	; shift graphics byte&lt;br /&gt;
	lr	A, 8						; load r8 (graphics byte)&lt;br /&gt;
	as	8						; shift left one (with carry)&lt;br /&gt;
	lr	8, A						; save it&lt;br /&gt;
&lt;br /&gt;
	; check color to use&lt;br /&gt;
	lr	A, 2						; load color 1&lt;br /&gt;
	bc	.blitSavePixel					; if this bit is on, draw the color&lt;br /&gt;
	lr	A, 1						; load color 2&lt;br /&gt;
.blitSavePixel:&lt;br /&gt;
	inc&lt;br /&gt;
	bc	.blitCheckColumn				; branch if the color is &amp;quot;clear&amp;quot;&lt;br /&gt;
	outs	1						; output A in p1 (color)&lt;br /&gt;
&lt;br /&gt;
blit.transferData:&lt;br /&gt;
	lis	6						; transfer the pixel data&lt;br /&gt;
	sl	4&lt;br /&gt;
	outs	0&lt;br /&gt;
	sl	1&lt;br /&gt;
	outs	0&lt;br /&gt;
&lt;br /&gt;
	lis	4&lt;br /&gt;
blit.savePixelDelay:&lt;br /&gt;
	ai	$ff&lt;br /&gt;
	bnz	blit.savePixelDelay&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.blitCheckColumn:&lt;br /&gt;
	ds	7						; decrease r7 (horizontal counter)&lt;br /&gt;
	bz	.blitCheckRow					; if it's 0, branch&lt;br /&gt;
&lt;br /&gt;
	ins	4						; get p4 (column)&lt;br /&gt;
	ai	$ff						; add 1 (complemented)&lt;br /&gt;
	br	.blitColumn					; branch&lt;br /&gt;
&lt;br /&gt;
.blitCheckRow:&lt;br /&gt;
	ins	5						; get p5 (row)&lt;br /&gt;
	ai	$ff						; add 1 (complemented)&lt;br /&gt;
	br	.blitRow					; branch&lt;br /&gt;
&lt;br /&gt;
.blitExit:&lt;br /&gt;
	; return from the subroutine&lt;br /&gt;
	pop&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To call the above functions, you should use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	dci	graphic.parameters	; address of parameters&lt;br /&gt;
	pi	blitGraphic&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for '''blitGraphic''', and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	; when parameters have been loaded into r1-r6 beforehand&lt;br /&gt;
	dci	graphic.data		; address of graphic data&lt;br /&gt;
	pi	blit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for '''blit'''. If you're using parameters stored in ROM, they should be in this order:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
graphic.parameters:&lt;br /&gt;
	.byte	bkg			; color 0&lt;br /&gt;
	.byte	blue			; color 1&lt;br /&gt;
	.byte	4			; x position&lt;br /&gt;
	.byte	18			; y position&lt;br /&gt;
	.byte	$60			; width&lt;br /&gt;
	.byte	$13			; height&lt;br /&gt;
	.word	graphic.data		; address for the graphics&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Snippet:Multiblit|Multiblit Subroutine]]&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=747</id>
		<title>Opcode</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=747"/>
				<updated>2026-06-19T23:54:45Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CPU of a digital computer responds to a series of ones and zeros read from memory. The pattern of these, that determine what the CPU is supposed to do, are called Operation Codes or '''opcode'''. As an example the opcode $2B on the F8 System means No Operation (NOP). Programs are made up of opcodes which instruct the F8 System to do something, such as load a register with a value, perform arithmetic on a register, change the program counter (jump) or input or output data through the [[port|ports]]. &amp;lt;br&amp;gt;&lt;br /&gt;
Opcodes in the F8 System are each one byte wide, though some may be followed by an address (two bytes) or a value for the opcode to use, these extra bytes are called operands and an opcode with its operand is called an instruction and the complete set for a CPU is called an Instruction Set. &amp;lt;br&amp;gt;&lt;br /&gt;
Instead of programming these numbers directly (Machine Code Programming) programmers came up with the '''mnemonic''' names and wrote programs to translate such code into machine code. This mnemonic form of programming is called Assembly Language. Below is a table showing both types, if you choose Assembly Language then [[DASM]] or [[f8tool]] are free Assemblers for the F8 System.&lt;br /&gt;
&lt;br /&gt;
== The Instruction Set ==&lt;br /&gt;
&lt;br /&gt;
In the information for each opcode, the following notations are used:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode Notations&lt;br /&gt;
|-&lt;br /&gt;
| '''A''' || [[Accumulator]]&lt;br /&gt;
|- &lt;br /&gt;
| '''Ri''' || [[First registers]] i (r0-r11 [HU,HL=r10,11])&lt;br /&gt;
|- &lt;br /&gt;
| '''P0''' || [[Program counter]] (PC0)&lt;br /&gt;
|- &lt;br /&gt;
| '''P''' || Program counter Stack (PC1)&lt;br /&gt;
|- &lt;br /&gt;
| '''DC0''' || [[Data counter]]&lt;br /&gt;
|- &lt;br /&gt;
| '''DC1''' || Data counter storage&lt;br /&gt;
|- &lt;br /&gt;
| '''W''' || [[Status register]] (x,x,x,ICB,O,Z,C,S) Exhange only via&amp;lt;br&amp;gt;the '''J''' register (R9)&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Register alias&lt;br /&gt;
|-&lt;br /&gt;
| || '''HU''' = ISAR r10, '''HL''' = ISAR r11&amp;lt;br&amp;gt;'''KU''' = ISAR r12, '''KL''' = ISAR r13&amp;lt;br&amp;gt;'''QU''' = ISAR r14, '''QL''' = ISAR r15&lt;br /&gt;
|- &lt;br /&gt;
| '''ISAR''' || [[ISAR|Indirect Scratchpad Address Register]]&lt;br /&gt;
|- &lt;br /&gt;
| '''r''' || Scratchpad addressing ONLY as:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| '''0 to 11''' || ISAR registers r0-r11&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' not preferred: '''(IS)''' || Reg. selected by ISAR &amp;lt;br&amp;gt; '''You can't call r12 (KU) using register number'''&lt;br /&gt;
|- &lt;br /&gt;
| '''I''' not preferred: '''(IS)+''' || Reg. selected by ISAR, then (ISAR)++ &amp;lt;br&amp;gt; '''You can't call r13 (KL) using register number''' &lt;br /&gt;
|- &lt;br /&gt;
| '''D''' not preferred: '''(IS)-'''  || Reg. selected by ISAR, then (ISAR)-- &amp;lt;br&amp;gt; '''You can't call r14 (QU) using register number'''&lt;br /&gt;
|}&lt;br /&gt;
|- &lt;br /&gt;
| '''t''' || 3-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''i''' || 4-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''n''' || 8-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''mn''' || 16-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''( &amp;amp;nbsp;)''' || Contents of register (e.g.(R11) or (DC))&lt;br /&gt;
|- &lt;br /&gt;
| '''x''' || Binary value placeholder&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Status Flag Notations&lt;br /&gt;
|- &lt;br /&gt;
| '''ICB''' || Interrupts Allowed Flag, b4 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''O''' || Overflow Flag, b3 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''Z''' || Zero Flag, b2 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''C''' || Carry Flag, b1 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' || Sign Flag, b0 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''0''' || Resets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''1''' || Sets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''X''' || Modifies status flag&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; style=&amp;quot;width: 100%&amp;quot; style=&amp;quot;margin-right: auto&lt;br /&gt;
|+ Table copied from [https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf F8_info]&amp;lt;br /&amp;gt;Extra data added from [http://www.nyx.net/~lturner/public_html/F8_ins.html L. Turner F8 ins]&amp;lt;br&amp;gt;As well as the excellent [https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf User's Guide (1976)]&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Mnemonic&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Length&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Cycles&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; class=&amp;quot;unsortable&amp;quot; | Status Flags&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | Cycle&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | ROMC &amp;lt;br&amp;gt; state&lt;br /&gt;
|-&lt;br /&gt;
! Binary&lt;br /&gt;
! Hex&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Overflow&amp;quot; | O&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Zero&amp;quot; | Z&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Carry&amp;quot; | C&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Signed&amp;quot; | S&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KU || 1 || 1 || A &amp;amp;larr; (KU) || %00000000 || $00 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KL || 1 || 1 || A &amp;amp;larr; (KL) || %00000001 || $01 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- = &lt;br /&gt;
| LR A, QU || 1 || 1 || A &amp;amp;larr; (QU) || %00000010 || $02 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, QL || 1 || 1 || A &amp;amp;larr; (QL) || %00000011 || $03 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KU, A || 1 || 1 || KU &amp;amp;larr; (A) || %00000100 || $04 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KL, A || 1 || 1 || KL &amp;amp;larr; (A) || %00000101 || $05 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QU, A || 1 || 1 || QU &amp;amp;larr; (A) || %00000110 || $06 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QL, A || 1 || 1 || QL &amp;amp;larr; (A) || %00000111 || $07 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR K, P || 1 || 4 || KU &amp;amp;larr; (PC1U)&amp;lt;br&amp;gt;KL &amp;amp;larr; (PC1L) || %00001000 || $08 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 7 &amp;lt;br&amp;gt; B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P, K || 1 || 4 || PC1U &amp;amp;larr; (KU) &amp;lt;br&amp;gt;PC1L &amp;amp;larr; (KL) || %00001001 || $09 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 15 &amp;lt;br&amp;gt; 18 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, IS || 1 || 1 || A &amp;amp;larr; (ISAR) || %00001010 || $0A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR IS, A || 1 || 1 || ISAR &amp;amp;larr; (A) || %00001011 || $0B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| PK || 1 || 2.5 || PC1 &amp;amp;larr; (PC0)&amp;lt;br&amp;gt;PC0L &amp;amp;larr; (KL)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (KU) || %00001100 || $0C ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 12 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P0, Q || 1 || 4 || PC0L &amp;amp;larr; (QL)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (QU) || %00001101 || $0D ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 17 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR Q, DC || 1 || 4 || QU &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;QL &amp;amp;larr; (DC0L) || %00001110 || $0E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, Q || 1 || 4 || DC0U &amp;amp;larr; (QU)&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (QL) || %00001111 || $0F ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, H || 1 || 4 || DC0U &amp;amp;larr; (HU)&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (HL) || %00010000 || $10 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR H, DC || 1 || 4 || HU &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;HL &amp;amp;larr; (DC0L) || %00010001 || $11 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 1 || 1 || 1 || Shift (A) right one bit, fill with %0 || %00010010 || $12 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 1 || 1 || 1 || Shift (A) left one bit, fill with %0 || %00010011 || $13 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 4 || 1 || 1 || Shift (A) right four bits, fill with %0000 || %00010100 || $14 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 4 || 1 || 1 || Shift (A) left four bits, fill with %0000 || %00010101 || $15 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LM || 1 || 2.5 || A &amp;amp;larr; ((DC0))&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010110 || $16 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ST || 1 || 2.5 || DC0 &amp;amp;larr; (A)&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010111 || $17 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 5 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| COM || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;$FF&amp;lt;br&amp;gt;[invert/complement]|| %00011000 || $18 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LNK || 1 || 1 || A &amp;amp;larr; (A)+(C)&amp;lt;br&amp;gt;(add carry from previous operation)|| %00011001 || $19 ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| DI || 1 || 1 || Disable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011010 || $1A ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| EI || 1 || 1 || Enable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011011 || $1B ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| POP || 1 || 2 || PC0 &amp;amp;larr; (PC1)|| %00011100 || $1C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 4 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR W, J || 1 || 1 || W &amp;amp;larr; (R9) || %00011101 || $1D ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR J, W || 1 || 2 || R9 &amp;amp;larr; (W) || %00011110 || $1E ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| INC || 1 || 1 || A &amp;amp;larr; (A)+1 || %00011111 || $1F ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LI n || 2 || 2.5 || A &amp;amp;larr; n || %00100000 %xxxxxxxx || $20 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NI n || 2 || 2.5 || A &amp;amp;larr; (A) AND n || %00100001 %xxxxxxxx || $21 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OI n || 2 || 2.5 || A &amp;amp;larr; (A) OR n || %00100010 %xxxxxxxx || $22 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| XI n || 2 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;n || %00100011 %xxxxxxxx || $23 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| AI n || 2 || 2.5 || A &amp;amp;larr; (A)+n || %00100100 %xxxxxxxx || $24 $xx || X || X || X || X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| CI n || 2 || 2.5 || n+!(A)+1 (n-A)&amp;lt;br&amp;gt;Only set status || %00100101 %xxxxxxxx || $25 $xx ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| IN n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;A &amp;amp;larr; (Port n)|| %00100110 %xxxxxxxx || $26 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OUT n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;Port n &amp;amp;larr; (A)|| %00100111 %xxxxxxxx || $27 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| PI mn|| 3 || 6.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC1 &amp;amp;larr; (PC0)+1&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A is destroyed] || %00101000 %xxxxxxxx %xxxxxxxx || $28 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; D &amp;lt;br&amp;gt; C &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| JMP mn || 3 || 5.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A now contains m] || %00101001 %xxxxxxxx %xxxxxxxx || $29 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; c &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DCI mn || 3 || 6 || DC0U &amp;amp;larr; m&amp;lt;br&amp;gt;PC0+1&amp;lt;br&amp;gt;DC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0+1 || %00101010 %xxxxxxxx %xxxxxxxx || $2A $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S || 11 &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; E &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NOP || 1 || 1 || No operation&amp;lt;br&amp;gt;(cycle waster) || %00101011 || $2B ||- ||- ||- ||-  || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| XDC || 1 || 2 || DC0,DC1 &amp;amp;larr; DC1,DC0 || %00101100 || $2C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1D &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DS r || 1 || 1.5 || r &amp;amp;larr; (r)+$FF&amp;lt;br&amp;gt;[decrease scratchpad byte] || %0011xxxx || $3x ||X ||X ||X ||X || L || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, r || 1 || 1 || A &amp;amp;larr; (r) || %0100xxxx || $4x || - || - || - || - || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HU || 1 || 1 || A &amp;amp;larr; (HU) || %01001010 || $4A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HL || 1 || 1 || A &amp;amp;larr; (HL) || %01001011 || $4B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LR r, A || 1 || 1 || r &amp;amp;larr; (A) || %0101xxxx || $5x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HU, A || 1 || 1 || HU &amp;amp;larr; (A) || %01011010 || $5A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HL, A || 1 || 1 || HL &amp;amp;larr; (A) || %01011011 || $5B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LISU i || 1 || 1 || ISARU &amp;amp;larr; i || %01100xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LISL i || 1 || 1 || ISARL &amp;amp;larr; i || %01101xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| CLR || 1 || 1 || A&amp;amp;larr;0 || %01110000 || $70 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LIS i || 1 || 1 || A &amp;amp;larr; i || %0111xxxx || $7x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| BT t, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] t with W&amp;lt;br&amp;gt;if result is not 0:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1&amp;lt;br&amp;gt;'''See table below''' || %10000xxx %xxxxxxxx || $8x $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BP n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Positive|POSITIVE]]&amp;lt;br&amp;gt;(sign bit 0):&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000001 %xxxxxxxx || $81 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if CARRY:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000010 %xxxxxxxx || $82 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if ZERO:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000100 %xxxxxxxx || $84 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| AM || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001000 || $88 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| AMD || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;decimal adjusted&amp;lt;br&amp;gt;DC0+1 || %10001001 || $89 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| NM || 1 || 2.5 || A &amp;amp;larr; (A)AND((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001010 || $8A ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || &lt;br /&gt;
2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| OM || 1 || 2.5 || A &amp;amp;larr; (A)OR((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001011 || $8B ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XM || 1 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001100 || $8C ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| CM || 1 || 2.5 || ((DC0))-A only set status&amp;lt;br&amp;gt;DC0+1|| %10001101 || $8D ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ADC || 1 || 2.5 || DC0 &amp;amp;larr; (DC0)+(A) || %10001110 || $8E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BR7 n || 2 || 2 (no branch)&amp;lt;br&amp;gt;2.5 (branch) || if (ISAR &amp;amp; 7)!=7: PC0 &amp;amp;larr; (PC0) + n +1 || %10001111 %xxxxxxxx || $8F $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| BR n || 2 || 3.5 || PC0 &amp;amp;larr; (PC0)+n+1 || %10010000 %xxxxxxxx || $90 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BF i, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] i with W&amp;lt;br&amp;gt;if result = FALSE:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1&amp;lt;br&amp;gt;'''See table below''' || %1001xxxx %xxxxxxxx || $9x $xx ||- ||- ||- ||- ||S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S|| 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BM n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Negative|NEGATIVE]]:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010001 %xxxxxxxx || $91 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO CARRY:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010010 %xxxxxxxx || $92 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NOT ZERO:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010100 %xxxxxxxx || $94 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNO n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO OVERFLOW:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10011000 %xxxxxxxx || $98 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| INS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || A &amp;amp;larr; (Port i)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;A &amp;amp;larr; (Port i) || %1010xxxx || $Ax ||0 ||X ||0 ||X || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1B, 0&lt;br /&gt;
|- &lt;br /&gt;
| OUTS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || Port i &amp;amp;larr; (A)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;Port i &amp;amp;larr; (A) || %1011xxxx || $Bx ||- ||- ||- ||- || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1A, 0&lt;br /&gt;
|- &lt;br /&gt;
| AS r || 1 || 1 || A &amp;amp;larr; (A)+(r) || %1100xxxx || $Cx || X || X || X || X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| ASD r || 1 || 2 || A &amp;amp;larr; (A)+(r)&amp;lt;br&amp;gt;(decimal) || %1101xxxx || $Dx ||X ||X ||X ||X || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XS r || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;(r) || %1110xxxx || $Ex ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| NS r || 1 || 1 || A &amp;amp;larr; (A)AND(r) || %1111xxxx || $Fx ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: IRQ || 5.5 || PC0L &amp;amp;larr; Int address(l)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; Int.Address(u)&amp;lt;br&amp;gt;PC1&amp;lt;-PC0 ||  ||  ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0F &amp;lt;br&amp;gt; 13 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: RESET || 3.5 || PC0 &amp;amp;larr; 0&amp;lt;br&amp;gt;PC1 &amp;amp;larr; PC0 || || ||- ||- ||- ||- || S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 8 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The BT instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;| Branch conditions for BT instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|'''zero'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Do not branch &lt;br /&gt;
| An effective 3&amp;lt;br&amp;gt;cycle NO-OP&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Positive&lt;br /&gt;
| Same as '''BP'''&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch on Carry&lt;br /&gt;
| Same as '''BC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Carry&amp;lt;br&amp;gt;or on Positive&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero&lt;br /&gt;
| Same as '''BZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero&amp;lt;br&amp;gt;or Positive&lt;br /&gt;
| Same as t=1&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero or &amp;lt;br&amp;gt;on Carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero,&amp;lt;br&amp;gt;Carry or Positive&lt;br /&gt;
| Same as t=3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== The BF instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;7&amp;quot;| Branch conditions for BF instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;'''ovf'''&amp;amp;nbsp;&lt;br /&gt;
|'''zero&amp;amp;nbsp;'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign&amp;amp;nbsp;'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Unconditional branch&amp;lt;br&amp;gt;relative&lt;br /&gt;
| Same as '''BR'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch on negative&lt;br /&gt;
| Same as '''BM'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&lt;br /&gt;
| Same as '''BNC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt; and negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if not zero&lt;br /&gt;
| Same as '''BNZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=1&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=3&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 8 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if there is no&amp;lt;br&amp;gt;overflow&lt;br /&gt;
| Same as '''BNO'''&lt;br /&gt;
|-&lt;br /&gt;
| 9 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if negative and&amp;lt;br&amp;gt;no overflow&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| A &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and no carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| B &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| C &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| D &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=9&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| E &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| F &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=B&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=746</id>
		<title>Opcode</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=746"/>
				<updated>2026-06-16T15:05:49Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: /* The Instruction Set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CPU of a digital computer responds to a series of ones and zeros read from memory. The pattern of these, that determine what the CPU is supposed to do, are called Operation Codes or '''opcode'''. As an example the opcode $2B on the F8 System means No Operation (NOP). Programs are made up of opcodes which instruct the F8 System to do something, such as load a register with a value, perform arithmetic on a register, change the program counter (jump) or input or output data through the [[port|ports]]. &amp;lt;br&amp;gt;&lt;br /&gt;
Opcodes in the F8 System are each one byte wide, though some may be followed by an address (two bytes) or a value for the opcode to use, these extra bytes are called operands and an opcode with its operand is called an instruction and the complete set for a CPU is called an Instruction Set. &amp;lt;br&amp;gt;&lt;br /&gt;
Instead of programming these numbers directly (Machine Code Programming) programmers came up with the '''mnemonic''' names and wrote programs to translate such code into machine code. This mnemonic form of programming is called Assembly Language. Below is a table showing both types, if you choose Assembly Language then [[DASM]] or [[f8tool]] are free Assemblers for the F8 System.&lt;br /&gt;
&lt;br /&gt;
== The Instruction Set ==&lt;br /&gt;
&lt;br /&gt;
In the information for each opcode, the following notations are used:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode Notations&lt;br /&gt;
|-&lt;br /&gt;
| '''A''' || [[Accumulator]]&lt;br /&gt;
|- &lt;br /&gt;
| '''Ri''' || [[First registers]] i (r0-r11 [HU,HL=r10,11])&lt;br /&gt;
|- &lt;br /&gt;
| '''P0''' || [[Program counter]] (PC0)&lt;br /&gt;
|- &lt;br /&gt;
| '''P''' || Program counter Stack (PC1)&lt;br /&gt;
|- &lt;br /&gt;
| '''DC0''' || [[Data counter]]&lt;br /&gt;
|- &lt;br /&gt;
| '''DC1''' || Data counter storage&lt;br /&gt;
|- &lt;br /&gt;
| '''W''' || [[Status register]] (x,x,x,ICB,O,Z,C,S) Exhange only via&amp;lt;br&amp;gt;the '''J''' register (R9)&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Register alias&lt;br /&gt;
|-&lt;br /&gt;
| || '''HU''' = ISAR r10, '''HL''' = ISAR r11&amp;lt;br&amp;gt;'''KU''' = ISAR r12, '''KL''' = ISAR r13&amp;lt;br&amp;gt;'''QU''' = ISAR r14, '''QL''' = ISAR r15&lt;br /&gt;
|- &lt;br /&gt;
| '''ISAR''' || [[ISAR|Indirect Scratchpad Address Register]]&lt;br /&gt;
|- &lt;br /&gt;
| '''r''' || Scratchpad addressing ONLY as:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| '''0 to 11''' || ISAR registers r0-r11&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' not preferred: '''(IS)''' || Reg. selected by ISAR &amp;lt;br&amp;gt; '''You can't call r12 (KU) using register number'''&lt;br /&gt;
|- &lt;br /&gt;
| '''I''' not preferred: '''(IS)+''' || Reg. selected by ISAR, then (ISAR)++ &amp;lt;br&amp;gt; '''You can't call r13 (KL) using register number''' &lt;br /&gt;
|- &lt;br /&gt;
| '''D''' not preferred: '''(IS)-'''  || Reg. selected by ISAR, then (ISAR)-- &amp;lt;br&amp;gt; '''You can't call r14 (QU) using register number'''&lt;br /&gt;
|}&lt;br /&gt;
|- &lt;br /&gt;
| '''t''' || 3-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''i''' || 4-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''n''' || 8-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''mn''' || 16-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''( &amp;amp;nbsp;)''' || Contents of register (e.g.(R11) or (DC))&lt;br /&gt;
|- &lt;br /&gt;
| '''x''' || Binary value placeholder&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Status Flag Notations&lt;br /&gt;
|- &lt;br /&gt;
| '''ICB''' || Interrupts Allowed Flag, b4 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''O''' || Overflow Flag, b3 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''Z''' || Zero Flag, b2 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''C''' || Carry Flag, b1 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' || Sign Flag, b0 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''0''' || Resets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''1''' || Sets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''X''' || Modifies status flag&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; style=&amp;quot;width: 100%&amp;quot; style=&amp;quot;margin-right: auto&lt;br /&gt;
|+ Table copied from [https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf F8_info]&amp;lt;br /&amp;gt;Extra data added from [http://www.nyx.net/~lturner/public_html/F8_ins.html L. Turner F8 ins]&amp;lt;br&amp;gt;As well as the excellent [https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf User's Guide (1976)]&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Mnemonic&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Length&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Cycles&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; class=&amp;quot;unsortable&amp;quot; | Status Flags&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | Cycle&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | ROMC &amp;lt;br&amp;gt; state&lt;br /&gt;
|-&lt;br /&gt;
! Binary&lt;br /&gt;
! Hex&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Overflow&amp;quot; | O&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Zero&amp;quot; | Z&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Carry&amp;quot; | C&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Signed&amp;quot; | S&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KU || 1 || 1 || A &amp;amp;larr; (KU) || %00000000 || $00 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KL || 1 || 1 || A &amp;amp;larr; (KL) || %00000001 || $01 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- = &lt;br /&gt;
| LR A, QU || 1 || 1 || A &amp;amp;larr; (QU) || %00000010 || $02 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, QL || 1 || 1 || A &amp;amp;larr; (QL) || %00000011 || $03 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KU, A || 1 || 1 || KU &amp;amp;larr; (A) || %00000100 || $04 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KL, A || 1 || 1 || KL &amp;amp;larr; (A) || %00000101 || $05 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QU, A || 1 || 1 || QU &amp;amp;larr; (A) || %00000110 || $06 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QL, A || 1 || 1 || QL &amp;amp;larr; (A) || %00000111 || $07 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR K, P || 1 || 4 || KU &amp;amp;larr; (PC1U)&amp;lt;br&amp;gt;KL &amp;amp;larr; (PC1L) || %00001000 || $08 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 7 &amp;lt;br&amp;gt; B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P, K || 1 || 4 || PC1U &amp;amp;larr; (KU) &amp;lt;br&amp;gt;PC1L &amp;amp;larr; (KL) || %00001001 || $09 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 15 &amp;lt;br&amp;gt; 18 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, IS || 1 || 1 || A &amp;amp;larr; (ISAR) || %00001010 || $0A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR IS, A || 1 || 1 || ISAR &amp;amp;larr; (A) || %00001011 || $0B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| PK || 1 || 2.5 || PC1 &amp;amp;larr; (PC0)&amp;lt;br&amp;gt;PC0L &amp;amp;larr; (KL)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (KU) || %00001100 || $0C ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 12 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P0, Q || 1 || 4 || PC0L &amp;amp;larr; (QL)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (QU) || %00001101 || $0D ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 17 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR Q, DC || 1 || 4 || QU &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;QL &amp;amp;larr; (DC0L) || %00001110 || $0E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, Q || 1 || 4 || DC0U &amp;amp;larr; (QU)&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (QL) || %00001111 || $0F ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, H || 1 || 4 || DC0U &amp;amp;larr; (HU)&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (HL) || %00010000 || $10 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR H, DC || 1 || 4 || HU &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;HL &amp;amp;larr; (DC0L) || %00010001 || $11 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 1 || 1 || 1 || Shift (A) right one bit, fill with %0 || %00010010 || $12 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 1 || 1 || 1 || Shift (A) left one bit, fill with %0 || %00010011 || $13 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 4 || 1 || 1 || Shift (A) right four bits, fill with %0000 || %00010100 || $14 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 4 || 1 || 1 || Shift (A) left four bits, fill with %0000 || %00010101 || $15 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LM || 1 || 2.5 || A &amp;amp;larr; ((DC0))&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010110 || $16 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ST || 1 || 2.5 || DC0 &amp;amp;larr; (A)&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010111 || $17 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 5 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| COM || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;$FF&amp;lt;br&amp;gt;[invert/complement]|| %00011000 || $18 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LNK || 1 || 1 || A &amp;amp;larr; (A)+(C)&amp;lt;br&amp;gt;(add carry from previous operation)|| %00011001 || $19 ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| DI || 1 || 1 || Disable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011010 || $1A ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| EI || 1 || 1 || Enable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011011 || $1B ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| POP || 1 || 2 || PC0 &amp;amp;larr; (PC1)|| %00011100 || $1C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 4 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR W, J || 1 || 1 || W &amp;amp;larr; (R9) || %00011101 || $1D ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR J, W || 1 || 2 || R9 &amp;amp;larr; (W) || %00011110 || $1E ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| INC || 1 || 1 || A &amp;amp;larr; (A)+1 || %00011111 || $1F ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LI n || 2 || 2.5 || A &amp;amp;larr; n || %00100000 %xxxxxxxx || $20 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NI n || 2 || 2.5 || A &amp;amp;larr; (A) AND n || %00100001 %xxxxxxxx || $21 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OI n || 2 || 2.5 || A &amp;amp;larr; (A) OR n || %00100010 %xxxxxxxx || $22 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| XI n || 2 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;n || %00100011 %xxxxxxxx || $23 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| AI n || 2 || 2.5 || A &amp;amp;larr; (A)+n || %00100100 %xxxxxxxx || $24 $xx || X || X || X || X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| CI n || 2 || 2.5 || n+!(A)+1 (n-A)&amp;lt;br&amp;gt;Only set status || %00100101 %xxxxxxxx || $25 $xx ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| IN n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;A &amp;amp;larr; (Port n)|| %00100110 %xxxxxxxx || $26 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OUT n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;Port n &amp;amp;larr; (A)|| %00100111 %xxxxxxxx || $27 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| PI mn|| 3 || 6.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC1 &amp;amp;larr; (PC0)+1&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A is destroyed] || %00101000 %xxxxxxxx %xxxxxxxx || $28 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; D &amp;lt;br&amp;gt; C &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| JMP mn || 3 || 5.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A now contains m] || %00101001 %xxxxxxxx %xxxxxxxx || $29 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; c &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DCI mn || 3 || 6 || DC0U &amp;amp;larr; m&amp;lt;br&amp;gt;PC0+1&amp;lt;br&amp;gt;DC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0+1 || %00101010 %xxxxxxxx %xxxxxxxx || $2A $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S || 11 &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; E &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NOP || 1 || 1 || No operation&amp;lt;br&amp;gt;(cycle waster) || %00101011 || $2B ||- ||- ||- ||-  || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| XDC || 1 || 2 || DC0,DC1 &amp;amp;larr; DC1,DC0 || %00101100 || $2C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1D &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DS r || 1 || 1.5 || r &amp;amp;larr; (r)+$FF&amp;lt;br&amp;gt;[decrease scratchpad byte] || %0011xxxx || $3x ||X ||X ||X ||X || L || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, r || 1 || 1 || A &amp;amp;larr; (r) || %0100xxxx || $4x || - || - || - || - || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HU || 1 || 1 || A &amp;amp;larr; (HU) || %01001010 || $4A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HL || 1 || 1 || A &amp;amp;larr; (HL) || %01001011 || $4B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LR r, A || 1 || 1 || r &amp;amp;larr; (A) || %0101xxxx || $5x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HU, A || 1 || 1 || HU &amp;amp;larr; (A) || %01011010 || $5A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HL, A || 1 || 1 || HL &amp;amp;larr; (A) || %01011011 || $5B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LISU i || 1 || 1 || ISARU &amp;amp;larr; i || %01100xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LISL i || 1 || 1 || ISARL &amp;amp;larr; i || %01101xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| CLR || 1 || 1 || A&amp;amp;larr;0 || %01110000 || $70 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LIS i || 1 || 1 || A &amp;amp;larr; i || %0111xxxx || $7x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| BT t, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] t with W&amp;lt;br&amp;gt;if result is not 0:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1&amp;lt;br&amp;gt;'''See table below''' || %10000xxx %xxxxxxxx || $8x $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BP n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Positive|POSITIVE]]&amp;lt;br&amp;gt;(sign bit 0):&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000001 %xxxxxxxx || $81 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if CARRY:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000010 %xxxxxxxx || $82 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if ZERO:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000100 %xxxxxxxx || $84 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| AM || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001000 || $88 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| AMD || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;decimal adjusted&amp;lt;br&amp;gt;DC0+1 || %10001001 || $89 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| NM || 1 || 2.5 || A &amp;amp;larr; (A)AND((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001010 || $8A ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || &lt;br /&gt;
2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| OM || 1 || 2.5 || A &amp;amp;larr; (A)OR((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001011 || $8B ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XM || 1 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001100 || $8C ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| CM || 1 || 2.5 || ((DC0))-A only set status&amp;lt;br&amp;gt;DC0+1|| %10001101 || $8D ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ADC || 1 || 2.5 || DC0 &amp;amp;larr; (DC0)+(A) || %10001110 || $8E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BR7 n || 2 || 2 (no branch)&amp;lt;br&amp;gt;2.5 (branch) || if (ISAR &amp;amp; 7)==7: PC0 &amp;amp;larr; (PC0) + n +1 || %10001111 %xxxxxxxx || $8F $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| BR n || 2 || 3.5 || PC0 &amp;amp;larr; (PC0)+n+1 || %10010000 %xxxxxxxx || $90 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BF i, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] i with W&amp;lt;br&amp;gt;if result = FALSE:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1&amp;lt;br&amp;gt;'''See table below''' || %1001xxxx %xxxxxxxx || $9x $xx ||- ||- ||- ||- ||S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S|| 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BM n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Negative|NEGATIVE]]:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010001 %xxxxxxxx || $91 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO CARRY:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010010 %xxxxxxxx || $92 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NOT ZERO:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010100 %xxxxxxxx || $94 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNO n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO OVERFLOW:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10011000 %xxxxxxxx || $98 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| INS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || A &amp;amp;larr; (Port i)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;A &amp;amp;larr; (Port i) || %1010xxxx || $Ax ||0 ||X ||0 ||X || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1B, 0&lt;br /&gt;
|- &lt;br /&gt;
| OUTS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || Port i &amp;amp;larr; (A)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;Port i &amp;amp;larr; (A) || %1011xxxx || $Bx ||- ||- ||- ||- || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1A, 0&lt;br /&gt;
|- &lt;br /&gt;
| AS r || 1 || 1 || A &amp;amp;larr; (A)+(r) || %1100xxxx || $Cx || X || X || X || X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| ASD r || 1 || 2 || A &amp;amp;larr; (A)+(r)&amp;lt;br&amp;gt;(decimal) || %1101xxxx || $Dx ||X ||X ||X ||X || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XS r || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;(r) || %1110xxxx || $Ex ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| NS r || 1 || 1 || A &amp;amp;larr; (A)AND(r) || %1111xxxx || $Fx ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: IRQ || 5.5 || PC0L &amp;amp;larr; Int address(l)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; Int.Address(u)&amp;lt;br&amp;gt;PC1&amp;lt;-PC0 ||  ||  ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0F &amp;lt;br&amp;gt; 13 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: RESET || 3.5 || PC0 &amp;amp;larr; 0&amp;lt;br&amp;gt;PC1 &amp;amp;larr; PC0 || || ||- ||- ||- ||- || S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 8 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The BT instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;| Branch conditions for BT instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|'''zero'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Do not branch &lt;br /&gt;
| An effective 3&amp;lt;br&amp;gt;cycle NO-OP&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Positive&lt;br /&gt;
| Same as '''BP'''&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch on Carry&lt;br /&gt;
| Same as '''BC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Carry&amp;lt;br&amp;gt;or on Positive&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero&lt;br /&gt;
| Same as '''BZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero&amp;lt;br&amp;gt;or Positive&lt;br /&gt;
| Same as t=1&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero or &amp;lt;br&amp;gt;on Carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero,&amp;lt;br&amp;gt;Carry or Positive&lt;br /&gt;
| Same as t=3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== The BF instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;7&amp;quot;| Branch conditions for BF instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;'''ovf'''&amp;amp;nbsp;&lt;br /&gt;
|'''zero&amp;amp;nbsp;'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign&amp;amp;nbsp;'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Unconditional branch&amp;lt;br&amp;gt;relative&lt;br /&gt;
| Same as '''BR'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch on negative&lt;br /&gt;
| Same as '''BM'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&lt;br /&gt;
| Same as '''BNC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt; and negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if not zero&lt;br /&gt;
| Same as '''BNZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=1&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=3&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 8 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if there is no&amp;lt;br&amp;gt;overflow&lt;br /&gt;
| Same as '''BNO'''&lt;br /&gt;
|-&lt;br /&gt;
| 9 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if negative and&amp;lt;br&amp;gt;no overflow&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| A &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and no carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| B &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| C &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| D &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=9&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| E &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| F &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=B&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=745</id>
		<title>Opcode</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=745"/>
				<updated>2026-06-16T15:02:26Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CPU of a digital computer responds to a series of ones and zeros read from memory. The pattern of these, that determine what the CPU is supposed to do, are called Operation Codes or '''opcode'''. As an example the opcode $2B on the F8 System means No Operation (NOP). Programs are made up of opcodes which instruct the F8 System to do something, such as load a register with a value, perform arithmetic on a register, change the program counter (jump) or input or output data through the [[port|ports]]. &amp;lt;br&amp;gt;&lt;br /&gt;
Opcodes in the F8 System are each one byte wide, though some may be followed by an address (two bytes) or a value for the opcode to use, these extra bytes are called operands and an opcode with its operand is called an instruction and the complete set for a CPU is called an Instruction Set. &amp;lt;br&amp;gt;&lt;br /&gt;
Instead of programming these numbers directly (Machine Code Programming) programmers came up with the '''mnemonic''' names and wrote programs to translate such code into machine code. This mnemonic form of programming is called Assembly Language. Below is a table showing both types, if you choose Assembly Language then [[DASM]] or [[f8tool]] are free Assemblers for the F8 System.&lt;br /&gt;
&lt;br /&gt;
== The Instruction Set ==&lt;br /&gt;
&lt;br /&gt;
In the information for each opcode, the following notations are used:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode Notations&lt;br /&gt;
|-&lt;br /&gt;
| '''A''' || [[Accumulator]]&lt;br /&gt;
|- &lt;br /&gt;
| '''Ri''' || [[First registers]] i (r0-r11 [HU,HL=r10,11])&lt;br /&gt;
|- &lt;br /&gt;
| '''P0''' || [[Program counter]] (PC0)&lt;br /&gt;
|- &lt;br /&gt;
| '''P''' || Program counter Stack (PC1)&lt;br /&gt;
|- &lt;br /&gt;
| '''DC0''' || [[Data counter]]&lt;br /&gt;
|- &lt;br /&gt;
| '''DC1''' || Data counter storage&lt;br /&gt;
|- &lt;br /&gt;
| '''W''' || [[Status register]] (x,x,x,ICB,O,Z,C,S) Exhange only via&amp;lt;br&amp;gt;the '''J''' register (R9)&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | HU=ISAR r10, HL=ISAR r11, KU=ISAR r12, KL=ISAR r13, QU=ISAR r14, QL=ISAR r15&lt;br /&gt;
|- &lt;br /&gt;
| '''ISAR''' || [[ISAR|Indirect Scratchpad Address Register]]&lt;br /&gt;
|- &lt;br /&gt;
| '''r''' || Scratchpad addressing ONLY as:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| '''0 to 11''' || ISAR registers r0-r11&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' not preferred: '''(IS)''' || Reg. selected by ISAR &amp;lt;br&amp;gt; '''You can't call r12 (KU) using register number'''&lt;br /&gt;
|- &lt;br /&gt;
| '''I''' not preferred: '''(IS)+''' || Reg. selected by ISAR, then (ISAR)++ &amp;lt;br&amp;gt; '''You can't call r13 (KL) using register number''' &lt;br /&gt;
|- &lt;br /&gt;
| '''D''' not preferred: '''(IS)-'''  || Reg. selected by ISAR, then (ISAR)-- &amp;lt;br&amp;gt; '''You can't call r14 (QU) using register number'''&lt;br /&gt;
|}&lt;br /&gt;
|- &lt;br /&gt;
| '''t''' || 3-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''i''' || 4-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''n''' || 8-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''mn''' || 16-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''( &amp;amp;nbsp;)''' || Contents of register (e.g.(R11) or (DC))&lt;br /&gt;
|- &lt;br /&gt;
| '''x''' || Binary value placeholder&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Status Flag Notations&lt;br /&gt;
|- &lt;br /&gt;
| '''ICB''' || Interrupts Allowed Flag, b4 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''O''' || Overflow Flag, b3 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''Z''' || Zero Flag, b2 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''C''' || Carry Flag, b1 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' || Sign Flag, b0 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''0''' || Resets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''1''' || Sets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''X''' || Modifies status flag&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; style=&amp;quot;width: 100%&amp;quot; style=&amp;quot;margin-right: auto&lt;br /&gt;
|+ Table copied from [https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf F8_info]&amp;lt;br /&amp;gt;Extra data added from [http://www.nyx.net/~lturner/public_html/F8_ins.html L. Turner F8 ins]&amp;lt;br&amp;gt;As well as the excellent [https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf User's Guide (1976)]&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Mnemonic&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Length&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Cycles&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; class=&amp;quot;unsortable&amp;quot; | Status Flags&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | Cycle&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | ROMC &amp;lt;br&amp;gt; state&lt;br /&gt;
|-&lt;br /&gt;
! Binary&lt;br /&gt;
! Hex&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Overflow&amp;quot; | O&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Zero&amp;quot; | Z&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Carry&amp;quot; | C&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Signed&amp;quot; | S&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KU || 1 || 1 || A &amp;amp;larr; (KU) || %00000000 || $00 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KL || 1 || 1 || A &amp;amp;larr; (KL) || %00000001 || $01 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- = &lt;br /&gt;
| LR A, QU || 1 || 1 || A &amp;amp;larr; (QU) || %00000010 || $02 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, QL || 1 || 1 || A &amp;amp;larr; (QL) || %00000011 || $03 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KU, A || 1 || 1 || KU &amp;amp;larr; (A) || %00000100 || $04 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KL, A || 1 || 1 || KL &amp;amp;larr; (A) || %00000101 || $05 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QU, A || 1 || 1 || QU &amp;amp;larr; (A) || %00000110 || $06 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QL, A || 1 || 1 || QL &amp;amp;larr; (A) || %00000111 || $07 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR K, P || 1 || 4 || KU &amp;amp;larr; (PC1U)&amp;lt;br&amp;gt;KL &amp;amp;larr; (PC1L) || %00001000 || $08 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 7 &amp;lt;br&amp;gt; B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P, K || 1 || 4 || PC1U &amp;amp;larr; (KU) &amp;lt;br&amp;gt;PC1L &amp;amp;larr; (KL) || %00001001 || $09 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 15 &amp;lt;br&amp;gt; 18 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, IS || 1 || 1 || A &amp;amp;larr; (ISAR) || %00001010 || $0A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR IS, A || 1 || 1 || ISAR &amp;amp;larr; (A) || %00001011 || $0B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| PK || 1 || 2.5 || PC1 &amp;amp;larr; (PC0)&amp;lt;br&amp;gt;PC0L &amp;amp;larr; (KL)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (KU) || %00001100 || $0C ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 12 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P0, Q || 1 || 4 || PC0L &amp;amp;larr; (QL)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (QU) || %00001101 || $0D ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 17 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR Q, DC || 1 || 4 || QU &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;QL &amp;amp;larr; (DC0L) || %00001110 || $0E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, Q || 1 || 4 || DC0U &amp;amp;larr; (QU)&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (QL) || %00001111 || $0F ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, H || 1 || 4 || DC0U &amp;amp;larr; (HU)&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (HL) || %00010000 || $10 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR H, DC || 1 || 4 || HU &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;HL &amp;amp;larr; (DC0L) || %00010001 || $11 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 1 || 1 || 1 || Shift (A) right one bit, fill with %0 || %00010010 || $12 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 1 || 1 || 1 || Shift (A) left one bit, fill with %0 || %00010011 || $13 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 4 || 1 || 1 || Shift (A) right four bits, fill with %0000 || %00010100 || $14 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 4 || 1 || 1 || Shift (A) left four bits, fill with %0000 || %00010101 || $15 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LM || 1 || 2.5 || A &amp;amp;larr; ((DC0))&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010110 || $16 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ST || 1 || 2.5 || DC0 &amp;amp;larr; (A)&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010111 || $17 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 5 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| COM || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;$FF&amp;lt;br&amp;gt;[invert/complement]|| %00011000 || $18 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LNK || 1 || 1 || A &amp;amp;larr; (A)+(C)&amp;lt;br&amp;gt;(add carry from previous operation)|| %00011001 || $19 ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| DI || 1 || 1 || Disable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011010 || $1A ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| EI || 1 || 1 || Enable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011011 || $1B ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| POP || 1 || 2 || PC0 &amp;amp;larr; (PC1)|| %00011100 || $1C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 4 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR W, J || 1 || 1 || W &amp;amp;larr; (R9) || %00011101 || $1D ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR J, W || 1 || 2 || R9 &amp;amp;larr; (W) || %00011110 || $1E ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| INC || 1 || 1 || A &amp;amp;larr; (A)+1 || %00011111 || $1F ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LI n || 2 || 2.5 || A &amp;amp;larr; n || %00100000 %xxxxxxxx || $20 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NI n || 2 || 2.5 || A &amp;amp;larr; (A) AND n || %00100001 %xxxxxxxx || $21 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OI n || 2 || 2.5 || A &amp;amp;larr; (A) OR n || %00100010 %xxxxxxxx || $22 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| XI n || 2 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;n || %00100011 %xxxxxxxx || $23 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| AI n || 2 || 2.5 || A &amp;amp;larr; (A)+n || %00100100 %xxxxxxxx || $24 $xx || X || X || X || X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| CI n || 2 || 2.5 || n+!(A)+1 (n-A)&amp;lt;br&amp;gt;Only set status || %00100101 %xxxxxxxx || $25 $xx ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| IN n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;A &amp;amp;larr; (Port n)|| %00100110 %xxxxxxxx || $26 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OUT n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;Port n &amp;amp;larr; (A)|| %00100111 %xxxxxxxx || $27 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| PI mn|| 3 || 6.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC1 &amp;amp;larr; (PC0)+1&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A is destroyed] || %00101000 %xxxxxxxx %xxxxxxxx || $28 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; D &amp;lt;br&amp;gt; C &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| JMP mn || 3 || 5.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A now contains m] || %00101001 %xxxxxxxx %xxxxxxxx || $29 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; c &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DCI mn || 3 || 6 || DC0U &amp;amp;larr; m&amp;lt;br&amp;gt;PC0+1&amp;lt;br&amp;gt;DC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0+1 || %00101010 %xxxxxxxx %xxxxxxxx || $2A $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S || 11 &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; E &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NOP || 1 || 1 || No operation&amp;lt;br&amp;gt;(cycle waster) || %00101011 || $2B ||- ||- ||- ||-  || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| XDC || 1 || 2 || DC0,DC1 &amp;amp;larr; DC1,DC0 || %00101100 || $2C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1D &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DS r || 1 || 1.5 || r &amp;amp;larr; (r)+$FF&amp;lt;br&amp;gt;[decrease scratchpad byte] || %0011xxxx || $3x ||X ||X ||X ||X || L || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, r || 1 || 1 || A &amp;amp;larr; (r) || %0100xxxx || $4x || - || - || - || - || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HU || 1 || 1 || A &amp;amp;larr; (HU) || %01001010 || $4A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HL || 1 || 1 || A &amp;amp;larr; (HL) || %01001011 || $4B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LR r, A || 1 || 1 || r &amp;amp;larr; (A) || %0101xxxx || $5x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HU, A || 1 || 1 || HU &amp;amp;larr; (A) || %01011010 || $5A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HL, A || 1 || 1 || HL &amp;amp;larr; (A) || %01011011 || $5B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LISU i || 1 || 1 || ISARU &amp;amp;larr; i || %01100xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LISL i || 1 || 1 || ISARL &amp;amp;larr; i || %01101xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| CLR || 1 || 1 || A&amp;amp;larr;0 || %01110000 || $70 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LIS i || 1 || 1 || A &amp;amp;larr; i || %0111xxxx || $7x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| BT t, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] t with W&amp;lt;br&amp;gt;if result is not 0:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1&amp;lt;br&amp;gt;'''See table below''' || %10000xxx %xxxxxxxx || $8x $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BP n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Positive|POSITIVE]]&amp;lt;br&amp;gt;(sign bit 0):&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000001 %xxxxxxxx || $81 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if CARRY:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000010 %xxxxxxxx || $82 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if ZERO:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000100 %xxxxxxxx || $84 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| AM || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001000 || $88 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| AMD || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;decimal adjusted&amp;lt;br&amp;gt;DC0+1 || %10001001 || $89 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| NM || 1 || 2.5 || A &amp;amp;larr; (A)AND((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001010 || $8A ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || &lt;br /&gt;
2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| OM || 1 || 2.5 || A &amp;amp;larr; (A)OR((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001011 || $8B ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XM || 1 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001100 || $8C ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| CM || 1 || 2.5 || ((DC0))-A only set status&amp;lt;br&amp;gt;DC0+1|| %10001101 || $8D ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ADC || 1 || 2.5 || DC0 &amp;amp;larr; (DC0)+(A) || %10001110 || $8E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BR7 n || 2 || 2 (no branch)&amp;lt;br&amp;gt;2.5 (branch) || if (ISAR &amp;amp; 7)==7: PC0 &amp;amp;larr; (PC0) + n +1 || %10001111 %xxxxxxxx || $8F $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| BR n || 2 || 3.5 || PC0 &amp;amp;larr; (PC0)+n+1 || %10010000 %xxxxxxxx || $90 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BF i, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] i with W&amp;lt;br&amp;gt;if result = FALSE:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1&amp;lt;br&amp;gt;'''See table below''' || %1001xxxx %xxxxxxxx || $9x $xx ||- ||- ||- ||- ||S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S|| 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BM n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Negative|NEGATIVE]]:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010001 %xxxxxxxx || $91 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO CARRY:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010010 %xxxxxxxx || $92 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NOT ZERO:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010100 %xxxxxxxx || $94 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNO n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO OVERFLOW:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10011000 %xxxxxxxx || $98 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| INS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || A &amp;amp;larr; (Port i)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;A &amp;amp;larr; (Port i) || %1010xxxx || $Ax ||0 ||X ||0 ||X || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1B, 0&lt;br /&gt;
|- &lt;br /&gt;
| OUTS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || Port i &amp;amp;larr; (A)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;Port i &amp;amp;larr; (A) || %1011xxxx || $Bx ||- ||- ||- ||- || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1A, 0&lt;br /&gt;
|- &lt;br /&gt;
| AS r || 1 || 1 || A &amp;amp;larr; (A)+(r) || %1100xxxx || $Cx || X || X || X || X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| ASD r || 1 || 2 || A &amp;amp;larr; (A)+(r)&amp;lt;br&amp;gt;(decimal) || %1101xxxx || $Dx ||X ||X ||X ||X || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XS r || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;(r) || %1110xxxx || $Ex ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| NS r || 1 || 1 || A &amp;amp;larr; (A)AND(r) || %1111xxxx || $Fx ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: IRQ || 5.5 || PC0L &amp;amp;larr; Int address(l)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; Int.Address(u)&amp;lt;br&amp;gt;PC1&amp;lt;-PC0 ||  ||  ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0F &amp;lt;br&amp;gt; 13 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: RESET || 3.5 || PC0 &amp;amp;larr; 0&amp;lt;br&amp;gt;PC1 &amp;amp;larr; PC0 || || ||- ||- ||- ||- || S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 8 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The BT instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;| Branch conditions for BT instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|'''zero'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Do not branch &lt;br /&gt;
| An effective 3&amp;lt;br&amp;gt;cycle NO-OP&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Positive&lt;br /&gt;
| Same as '''BP'''&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch on Carry&lt;br /&gt;
| Same as '''BC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Carry&amp;lt;br&amp;gt;or on Positive&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero&lt;br /&gt;
| Same as '''BZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero&amp;lt;br&amp;gt;or Positive&lt;br /&gt;
| Same as t=1&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero or &amp;lt;br&amp;gt;on Carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero,&amp;lt;br&amp;gt;Carry or Positive&lt;br /&gt;
| Same as t=3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== The BF instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;7&amp;quot;| Branch conditions for BF instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;'''ovf'''&amp;amp;nbsp;&lt;br /&gt;
|'''zero&amp;amp;nbsp;'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign&amp;amp;nbsp;'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Unconditional branch&amp;lt;br&amp;gt;relative&lt;br /&gt;
| Same as '''BR'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch on negative&lt;br /&gt;
| Same as '''BM'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&lt;br /&gt;
| Same as '''BNC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt; and negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if not zero&lt;br /&gt;
| Same as '''BNZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=1&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=3&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 8 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if there is no&amp;lt;br&amp;gt;overflow&lt;br /&gt;
| Same as '''BNO'''&lt;br /&gt;
|-&lt;br /&gt;
| 9 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if negative and&amp;lt;br&amp;gt;no overflow&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| A &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and no carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| B &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| C &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| D &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=9&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| E &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| F &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=B&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=744</id>
		<title>Opcode</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=744"/>
				<updated>2026-06-16T14:57:12Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CPU of a digital computer responds to a series of ones and zeros read from memory. The pattern of these, that determine what the CPU is supposed to do, are called Operation Codes or '''opcode'''. As an example the opcode $2B on the F8 System means No Operation (NOP). Programs are made up of opcodes which instruct the F8 System to do something, such as load a register with a value, perform arithmetic on a register, change the program counter (jump) or input or output data through the [[port|ports]]. &amp;lt;br&amp;gt;&lt;br /&gt;
Opcodes in the F8 System are each one byte wide, though some may be followed by an address (two bytes) or a value for the opcode to use, these extra bytes are called operands and an opcode with its operand is called an instruction and the complete set for a CPU is called an Instruction Set. &amp;lt;br&amp;gt;&lt;br /&gt;
Instead of programming these numbers directly (Machine Code Programming) programmers came up with the '''mnemonic''' names and wrote programs to translate such code into machine code. This mnemonic form of programming is called Assembly Language. Below is a table showing both types, if you choose Assembly Language then [[DASM]] or [[f8tool]] are free Assemblers for the F8 System.&lt;br /&gt;
&lt;br /&gt;
== The Instruction Set ==&lt;br /&gt;
&lt;br /&gt;
In the information for each opcode, the following notations are used:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode Notations&lt;br /&gt;
|-&lt;br /&gt;
| '''A''' || [[Accumulator]]&lt;br /&gt;
|- &lt;br /&gt;
| '''Ri''' || [[First registers]] i (r0-r11 [HU,HL=r10,11])&lt;br /&gt;
|- &lt;br /&gt;
| '''P0''' || [[Program counter]] (PC0)&lt;br /&gt;
|- &lt;br /&gt;
| '''P''' || Program counter Stack (PC1)&lt;br /&gt;
|- &lt;br /&gt;
| '''DC0''' || [[Data counter]]&lt;br /&gt;
|- &lt;br /&gt;
| '''DC1''' || Data counter storage&lt;br /&gt;
|- &lt;br /&gt;
| '''W''' || [[Status register]] (x,x,x,ICB,O,Z,C,S) Exhange only via&amp;lt;br&amp;gt;the '''J''' register (R9)&lt;br /&gt;
|- &lt;br /&gt;
| '''ISAR''' || [[ISAR|Indirect Scratchpad Address Register]]&lt;br /&gt;
|- &lt;br /&gt;
| '''r''' || Scratchpad addressing ONLY as:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| '''0 to 11''' || ISAR registers r0-r11&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' not preferred: '''(IS)''' || Reg. selected by ISAR &amp;lt;br&amp;gt; '''You can't call r12 (KU) using register number'''&lt;br /&gt;
|- &lt;br /&gt;
| '''I''' not preferred: '''(IS)+''' || Reg. selected by ISAR, then (ISAR)++ &amp;lt;br&amp;gt; '''You can't call r13 (KL) using register number''' &lt;br /&gt;
|- &lt;br /&gt;
| '''D''' not preferred: '''(IS)-'''  || Reg. selected by ISAR, then (ISAR)-- &amp;lt;br&amp;gt; '''You can't call r14 (QU) using register number'''&lt;br /&gt;
|}&lt;br /&gt;
|- &lt;br /&gt;
| '''t''' || 3-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''i''' || 4-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''n''' || 8-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''mn''' || 16-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''( &amp;amp;nbsp;)''' || Contents of register (e.g.(R11) or (DC))&lt;br /&gt;
|- &lt;br /&gt;
| '''x''' || Binary value placeholder&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Status Flag Notations&lt;br /&gt;
|- &lt;br /&gt;
| '''ICB''' || Interrupts Allowed Flag, b4 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''O''' || Overflow Flag, b3 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''Z''' || Zero Flag, b2 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''C''' || Carry Flag, b1 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' || Sign Flag, b0 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''0''' || Resets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''1''' || Sets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''X''' || Modifies status flag&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; style=&amp;quot;width: 100%&amp;quot; style=&amp;quot;margin-right: auto&lt;br /&gt;
|+ Table copied from [https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf F8_info]&amp;lt;br /&amp;gt;Extra data added from [http://www.nyx.net/~lturner/public_html/F8_ins.html L. Turner F8 ins]&amp;lt;br&amp;gt;As well as the excellent [https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf User's Guide (1976)]&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Mnemonic&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Length&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Cycles&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; class=&amp;quot;unsortable&amp;quot; | Status Flags&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | Cycle&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | ROMC &amp;lt;br&amp;gt; state&lt;br /&gt;
|-&lt;br /&gt;
! Binary&lt;br /&gt;
! Hex&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Overflow&amp;quot; | O&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Zero&amp;quot; | Z&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Carry&amp;quot; | C&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Signed&amp;quot; | S&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KU || 1 || 1 || A &amp;amp;larr; (KU) [ISAR r12] || %00000000 || $00 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KL || 1 || 1 || A &amp;amp;larr; (KL) [ISAR r13] || %00000001 || $01 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- = &lt;br /&gt;
| LR A, QU || 1 || 1 || A &amp;amp;larr; (QU) [ISAR r14]|| %00000010 || $02 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, QL || 1 || 1 || A &amp;amp;larr; (QL) [ISAR r15]|| %00000011 || $03 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KU, A || 1 || 1 || [ISAR r12] KU &amp;amp;larr; (A) || %00000100 || $04 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KL, A || 1 || 1 || [ISAR r13] KL &amp;amp;larr; (A) || %00000101 || $05 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QU, A || 1 || 1 || [ISAR r14] QU &amp;amp;larr; (A) || %00000110 || $06 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QL, A || 1 || 1 || [ISAR r15] QL &amp;amp;larr; (A) || %00000111 || $07 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR K, P || 1 || 4 || [ISAR r12] KU &amp;amp;larr; (PC1U)&amp;lt;br&amp;gt;[ISAR r13] KL &amp;amp;larr; (PC1L) || %00001000 || $08 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 7 &amp;lt;br&amp;gt; B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P, K || 1 || 4 || PC1U &amp;amp;larr; (KU)[ISAR r12] &amp;lt;br&amp;gt;PC1L &amp;amp;larr; (KL)[r13] || %00001001 || $09 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 15 &amp;lt;br&amp;gt; 18 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, IS || 1 || 1 || A &amp;amp;larr; (ISAR) || %00001010 || $0A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR IS, A || 1 || 1 || ISAR &amp;amp;larr; (A) || %00001011 || $0B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| PK || 1 || 2.5 || PC1 &amp;amp;larr; (PC0)&amp;lt;br&amp;gt;PC0L &amp;amp;larr; (KL)[r13]&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (KU)[r12] || %00001100 || $0C ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 12 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P0, Q || 1 || 4 || PC0L &amp;amp;larr; (QL)[r15]&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (QU)[r14] || %00001101 || $0D ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 17 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR Q, DC || 1 || 4 || [r14]QU &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;[r15]QL &amp;amp;larr; (DC0L) || %00001110 || $0E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, Q || 1 || 4 || DC0U &amp;amp;larr; (QU)[r14]&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (QL)[r15] || %00001111 || $0F ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, H || 1 || 4 || DC0U &amp;amp;larr; (R10)&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (R11) || %00010000 || $10 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR H, DC || 1 || 4 || R10 &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;R11 &amp;amp;larr; (DC0L) || %00010001 || $11 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 1 || 1 || 1 || Shift (A) right one bit, fill with %0 || %00010010 || $12 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 1 || 1 || 1 || Shift (A) left one bit, fill with %0 || %00010011 || $13 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 4 || 1 || 1 || Shift (A) right four bits, fill with %0000 || %00010100 || $14 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 4 || 1 || 1 || Shift (A) left four bits, fill with %0000 || %00010101 || $15 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LM || 1 || 2.5 || A &amp;amp;larr; ((DC0))&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010110 || $16 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ST || 1 || 2.5 || DC0 &amp;amp;larr; (A)&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010111 || $17 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 5 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| COM || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;$FF&amp;lt;br&amp;gt;[invert/complement]|| %00011000 || $18 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LNK || 1 || 1 || A &amp;amp;larr; (A)+(C)&amp;lt;br&amp;gt;(add carry from previous operation)|| %00011001 || $19 ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| DI || 1 || 1 || Disable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011010 || $1A ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| EI || 1 || 1 || Enable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011011 || $1B ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| POP || 1 || 2 || PC0 &amp;amp;larr; (PC1)|| %00011100 || $1C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 4 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR W, J || 1 || 1 || W &amp;amp;larr; (R9) || %00011101 || $1D ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR J, W || 1 || 2 || R9 &amp;amp;larr; (W) || %00011110 || $1E ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| INC || 1 || 1 || A &amp;amp;larr; (A)+1 || %00011111 || $1F ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LI n || 2 || 2.5 || A &amp;amp;larr; n || %00100000 %xxxxxxxx || $20 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NI n || 2 || 2.5 || A &amp;amp;larr; (A) AND n || %00100001 %xxxxxxxx || $21 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OI n || 2 || 2.5 || A &amp;amp;larr; (A) OR n || %00100010 %xxxxxxxx || $22 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| XI n || 2 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;n || %00100011 %xxxxxxxx || $23 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| AI n || 2 || 2.5 || A &amp;amp;larr; (A)+n || %00100100 %xxxxxxxx || $24 $xx || X || X || X || X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| CI n || 2 || 2.5 || n+!(A)+1 (n-A)&amp;lt;br&amp;gt;Only set status || %00100101 %xxxxxxxx || $25 $xx ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| IN n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;A &amp;amp;larr; (Port n)|| %00100110 %xxxxxxxx || $26 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OUT n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;Port n &amp;amp;larr; (A)|| %00100111 %xxxxxxxx || $27 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| PI mn|| 3 || 6.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC1 &amp;amp;larr; (PC0)+1&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A is destroyed] || %00101000 %xxxxxxxx %xxxxxxxx || $28 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; D &amp;lt;br&amp;gt; C &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| JMP mn || 3 || 5.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A now contains m] || %00101001 %xxxxxxxx %xxxxxxxx || $29 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; c &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DCI mn || 3 || 6 || DC0U &amp;amp;larr; m&amp;lt;br&amp;gt;PC0+1&amp;lt;br&amp;gt;DC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0+1 || %00101010 %xxxxxxxx %xxxxxxxx || $2A $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S || 11 &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; E &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NOP || 1 || 1 || No operation&amp;lt;br&amp;gt;(cycle waster) || %00101011 || $2B ||- ||- ||- ||-  || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| XDC || 1 || 2 || DC0,DC1 &amp;amp;larr; DC1,DC0 || %00101100 || $2C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1D &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DS r || 1 || 1.5 || r &amp;amp;larr; (r)+$FF&amp;lt;br&amp;gt;[decrease scratchpad byte] || %0011xxxx || $3x ||X ||X ||X ||X || L || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, r || 1 || 1 || A &amp;amp;larr; (r) || %0100xxxx || $4x || - || - || - || - || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HU || 1 || 1 || A &amp;amp;larr; (HU) || %01001010 || $4A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HL || 1 || 1 || A &amp;amp;larr; (HL) || %01001011 || $4B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LR r, A || 1 || 1 || r &amp;amp;larr; (A) || %0101xxxx || $5x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HU, A || 1 || 1 || HU &amp;amp;larr; (A) || %01011010 || $5A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HL, A || 1 || 1 || HL &amp;amp;larr; (A) || %01011011 || $5B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LISU i || 1 || 1 || ISARU &amp;amp;larr; i || %01100xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LISL i || 1 || 1 || ISARL &amp;amp;larr; i || %01101xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| CLR || 1 || 1 || A&amp;amp;larr;0 || %01110000 || $70 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LIS i || 1 || 1 || A &amp;amp;larr; i || %0111xxxx || $7x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| BT t, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] t with W&amp;lt;br&amp;gt;if result is not 0:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1&amp;lt;br&amp;gt;'''See table below''' || %10000xxx %xxxxxxxx || $8x $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BP n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Positive|POSITIVE]]&amp;lt;br&amp;gt;(sign bit 0):&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000001 %xxxxxxxx || $81 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if CARRY:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000010 %xxxxxxxx || $82 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if ZERO:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000100 %xxxxxxxx || $84 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| AM || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001000 || $88 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| AMD || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;decimal adjusted&amp;lt;br&amp;gt;DC0+1 || %10001001 || $89 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| NM || 1 || 2.5 || A &amp;amp;larr; (A)AND((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001010 || $8A ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || &lt;br /&gt;
2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| OM || 1 || 2.5 || A &amp;amp;larr; (A)OR((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001011 || $8B ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XM || 1 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001100 || $8C ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| CM || 1 || 2.5 || ((DC0))-A only set status&amp;lt;br&amp;gt;DC0+1|| %10001101 || $8D ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ADC || 1 || 2.5 || DC0 &amp;amp;larr; (DC0)+(A) || %10001110 || $8E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BR7 n || 2 || 2 (no branch)&amp;lt;br&amp;gt;2.5 (branch) || if (ISAR &amp;amp; 7)==7: PC0 &amp;amp;larr; (PC0) + n +1 || %10001111 %xxxxxxxx || $8F $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| BR n || 2 || 3.5 || PC0 &amp;amp;larr; (PC0)+n+1 || %10010000 %xxxxxxxx || $90 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BF i, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] i with W&amp;lt;br&amp;gt;if result = FALSE:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1&amp;lt;br&amp;gt;'''See table below''' || %1001xxxx %xxxxxxxx || $9x $xx ||- ||- ||- ||- ||S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S|| 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BM n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Negative|NEGATIVE]]:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010001 %xxxxxxxx || $91 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO CARRY:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010010 %xxxxxxxx || $92 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NOT ZERO:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010100 %xxxxxxxx || $94 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNO n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO OVERFLOW:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10011000 %xxxxxxxx || $98 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| INS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || A &amp;amp;larr; (Port i)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;A &amp;amp;larr; (Port i) || %1010xxxx || $Ax ||0 ||X ||0 ||X || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1B, 0&lt;br /&gt;
|- &lt;br /&gt;
| OUTS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || Port i &amp;amp;larr; (A)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;Port i &amp;amp;larr; (A) || %1011xxxx || $Bx ||- ||- ||- ||- || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1A, 0&lt;br /&gt;
|- &lt;br /&gt;
| AS r || 1 || 1 || A &amp;amp;larr; (A)+(r) || %1100xxxx || $Cx || X || X || X || X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| ASD r || 1 || 2 || A &amp;amp;larr; (A)+(r)&amp;lt;br&amp;gt;(decimal) || %1101xxxx || $Dx ||X ||X ||X ||X || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XS r || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;(r) || %1110xxxx || $Ex ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| NS r || 1 || 1 || A &amp;amp;larr; (A)AND(r) || %1111xxxx || $Fx ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: IRQ || 5.5 || PC0L &amp;amp;larr; Int address(l)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; Int.Address(u)&amp;lt;br&amp;gt;PC1&amp;lt;-PC0 ||  ||  ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0F &amp;lt;br&amp;gt; 13 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: RESET || 3.5 || PC0 &amp;amp;larr; 0&amp;lt;br&amp;gt;PC1 &amp;amp;larr; PC0 || || ||- ||- ||- ||- || S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 8 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The BT instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;| Branch conditions for BT instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|'''zero'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Do not branch &lt;br /&gt;
| An effective 3&amp;lt;br&amp;gt;cycle NO-OP&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Positive&lt;br /&gt;
| Same as '''BP'''&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch on Carry&lt;br /&gt;
| Same as '''BC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Carry&amp;lt;br&amp;gt;or on Positive&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero&lt;br /&gt;
| Same as '''BZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero&amp;lt;br&amp;gt;or Positive&lt;br /&gt;
| Same as t=1&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero or &amp;lt;br&amp;gt;on Carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero,&amp;lt;br&amp;gt;Carry or Positive&lt;br /&gt;
| Same as t=3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== The BF instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;7&amp;quot;| Branch conditions for BF instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;'''ovf'''&amp;amp;nbsp;&lt;br /&gt;
|'''zero&amp;amp;nbsp;'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign&amp;amp;nbsp;'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Unconditional branch&amp;lt;br&amp;gt;relative&lt;br /&gt;
| Same as '''BR'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch on negative&lt;br /&gt;
| Same as '''BM'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&lt;br /&gt;
| Same as '''BNC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt; and negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if not zero&lt;br /&gt;
| Same as '''BNZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=1&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=3&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 8 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if there is no&amp;lt;br&amp;gt;overflow&lt;br /&gt;
| Same as '''BNO'''&lt;br /&gt;
|-&lt;br /&gt;
| 9 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if negative and&amp;lt;br&amp;gt;no overflow&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| A &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and no carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| B &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| C &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| D &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=9&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| E &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| F &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=B&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=743</id>
		<title>Opcode</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=743"/>
				<updated>2026-06-16T14:55:06Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CPU of a digital computer responds to a series of ones and zeros read from memory. The pattern of these, that determine what the CPU is supposed to do, are called Operation Codes or '''opcode'''. As an example the opcode $2B on the F8 System means No Operation (NOP). Programs are made up of opcodes which instruct the F8 System to do something, such as load a register with a value, perform arithmetic on a register, change the program counter (jump) or input or output data through the [[port|ports]]. &amp;lt;br&amp;gt;&lt;br /&gt;
Opcodes in the F8 System are each one byte wide, though some may be followed by an address (two bytes) or a value for the opcode to use, these extra bytes are called operands and an opcode with its operand is called an instruction and the complete set for a CPU is called an Instruction Set. &amp;lt;br&amp;gt;&lt;br /&gt;
Instead of programming these numbers directly (Machine Code Programming) programmers came up with the '''mnemonic''' names and wrote programs to translate such code into machine code. This mnemonic form of programming is called Assembly Language. Below is a table showing both types, if you choose Assembly Language then [[DASM]] or [[f8tool]] are free Assemblers for the F8 System.&lt;br /&gt;
&lt;br /&gt;
== The Instruction Set ==&lt;br /&gt;
&lt;br /&gt;
In the information for each opcode, the following notations are used:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode Notations&lt;br /&gt;
|-&lt;br /&gt;
| '''A''' || [[Accumulator]]&lt;br /&gt;
|- &lt;br /&gt;
| '''Ri''' || [[First registers]] i (r0-r11 [HU,HL=r10,11])&lt;br /&gt;
|- &lt;br /&gt;
| '''P0''' || [[Program counter]] (PC0)&lt;br /&gt;
|- &lt;br /&gt;
| '''P''' || Program counter Stack (PC1)&lt;br /&gt;
|- &lt;br /&gt;
| '''DC0''' || [[Data counter]]&lt;br /&gt;
|- &lt;br /&gt;
| '''DC1''' || Data counter storage&lt;br /&gt;
|- &lt;br /&gt;
| '''W''' || [[Status register]] (x,x,x,ICB,O,Z,C,S) Exhange only via&amp;lt;br&amp;gt;the '''J''' register (R9)&lt;br /&gt;
|- &lt;br /&gt;
| '''ISAR''' || [[ISAR|Indirect Scratchpad Address Register]]&lt;br /&gt;
|- &lt;br /&gt;
| '''r''' || Scratchpad addressing ONLY as:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| '''0 to 11''' || ISAR registers r0-r11&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' not preferred: '''(IS)''' || Reg. selected by ISAR &amp;lt;br&amp;gt; '''You can't call r12 (KU) using register number'''&lt;br /&gt;
|- &lt;br /&gt;
| '''I''' not preferred: '''(IS)+''' || Reg. selected by ISAR, then (ISAR)++ &amp;lt;br&amp;gt; '''You can't call r13 (KL) using register number''' &lt;br /&gt;
|- &lt;br /&gt;
| '''D''' not preferred: '''(IS)-'''  || Reg. selected by ISAR, then (ISAR)-- &amp;lt;br&amp;gt; '''You can't call r14 (QU) using register number'''&lt;br /&gt;
|}&lt;br /&gt;
|- &lt;br /&gt;
| '''t''' || 3-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''i''' || 4-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''n''' || 8-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''mn''' || 16-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''( &amp;amp;nbsp;)''' || Contents of register (e.g.(R11) or (DC))&lt;br /&gt;
|- &lt;br /&gt;
| '''x''' || Binary value placeholder&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Status Flag Notations&lt;br /&gt;
|- &lt;br /&gt;
| '''ICB''' || Interrupts Allowed Flag, b4 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''O''' || Overflow Flag, b3 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''Z''' || Zero Flag, b2 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''C''' || Carry Flag, b1 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' || Sign Flag, b0 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''0''' || Resets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''1''' || Sets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''X''' || Modifies status flag&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; style=&amp;quot;width: 100%&amp;quot; style=&amp;quot;margin-right: auto&lt;br /&gt;
|+ Table copied from [https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf F8_info]&amp;lt;br /&amp;gt;Extra data added from [http://www.nyx.net/~lturner/public_html/F8_ins.html L. Turner F8 ins]&amp;lt;br&amp;gt;As well as the excellent [https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf User's Guide (1976)]&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Mnemonic&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Length&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Cycles&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; class=&amp;quot;unsortable&amp;quot; | Status Flags&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | Cycle&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | ROMC &amp;lt;br&amp;gt; state&lt;br /&gt;
|-&lt;br /&gt;
! Binary&lt;br /&gt;
! Hex&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Overflow&amp;quot; | O&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Zero&amp;quot; | Z&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Carry&amp;quot; | C&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Signed&amp;quot; | S&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KU || 1 || 1 || A &amp;amp;larr; (KU)[r12] || %00000000 || $00 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KL || 1 || 1 || A &amp;amp;larr; (KL)[r13] || %00000001 || $01 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- = &lt;br /&gt;
| LR A, QU || 1 || 1 || A &amp;amp;larr; (QU)[r14]|| %00000010 || $02 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, QL || 1 || 1 || A &amp;amp;larr; (QL)[r15]|| %00000011 || $03 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KU, A || 1 || 1 || [r12]KU &amp;amp;larr; (A) || %00000100 || $04 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KL, A || 1 || 1 || [r13]KL &amp;amp;larr; (A) || %00000101 || $05 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QU, A || 1 || 1 || [r14]QU &amp;amp;larr; (A) || %00000110 || $06 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QL, A || 1 || 1 || [r15]QL &amp;amp;larr; (A) || %00000111 || $07 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR K, P || 1 || 4 || [r12]KU &amp;amp;larr; (PC1U)&amp;lt;br&amp;gt;[r13]KL &amp;amp;larr; (PC1L) || %00001000 || $08 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 7 &amp;lt;br&amp;gt; B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P, K || 1 || 4 || PC1U &amp;amp;larr; (KU)[r12] &amp;lt;br&amp;gt;PC1L &amp;amp;larr; (KL)[r13] || %00001001 || $09 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 15 &amp;lt;br&amp;gt; 18 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, IS || 1 || 1 || A &amp;amp;larr; (ISAR) || %00001010 || $0A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR IS, A || 1 || 1 || ISAR &amp;amp;larr; (A) || %00001011 || $0B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| PK || 1 || 2.5 || PC1 &amp;amp;larr; (PC0)&amp;lt;br&amp;gt;PC0L &amp;amp;larr; (KL)[r13]&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (KU)[r12] || %00001100 || $0C ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 12 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P0, Q || 1 || 4 || PC0L &amp;amp;larr; (QL)[r15]&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (QU)[r14] || %00001101 || $0D ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 17 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR Q, DC || 1 || 4 || [r14]QU &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;[r15]QL &amp;amp;larr; (DC0L) || %00001110 || $0E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, Q || 1 || 4 || DC0U &amp;amp;larr; (QU)[r14]&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (QL)[r15] || %00001111 || $0F ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, H || 1 || 4 || DC0U &amp;amp;larr; (R10)&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (R11) || %00010000 || $10 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR H, DC || 1 || 4 || R10 &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;R11 &amp;amp;larr; (DC0L) || %00010001 || $11 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 1 || 1 || 1 || Shift (A) right one bit, fill with %0 || %00010010 || $12 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 1 || 1 || 1 || Shift (A) left one bit, fill with %0 || %00010011 || $13 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 4 || 1 || 1 || Shift (A) right four bits, fill with %0000 || %00010100 || $14 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 4 || 1 || 1 || Shift (A) left four bits, fill with %0000 || %00010101 || $15 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LM || 1 || 2.5 || A &amp;amp;larr; ((DC0))&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010110 || $16 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ST || 1 || 2.5 || DC0 &amp;amp;larr; (A)&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010111 || $17 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 5 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| COM || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;$FF&amp;lt;br&amp;gt;[invert/complement]|| %00011000 || $18 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LNK || 1 || 1 || A &amp;amp;larr; (A)+(C)&amp;lt;br&amp;gt;(add carry from previous operation)|| %00011001 || $19 ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| DI || 1 || 1 || Disable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011010 || $1A ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| EI || 1 || 1 || Enable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011011 || $1B ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| POP || 1 || 2 || PC0 &amp;amp;larr; (PC1)|| %00011100 || $1C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 4 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR W, J || 1 || 1 || W &amp;amp;larr; (R9) || %00011101 || $1D ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR J, W || 1 || 2 || R9 &amp;amp;larr; (W) || %00011110 || $1E ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| INC || 1 || 1 || A &amp;amp;larr; (A)+1 || %00011111 || $1F ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LI n || 2 || 2.5 || A &amp;amp;larr; n || %00100000 %xxxxxxxx || $20 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NI n || 2 || 2.5 || A &amp;amp;larr; (A) AND n || %00100001 %xxxxxxxx || $21 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OI n || 2 || 2.5 || A &amp;amp;larr; (A) OR n || %00100010 %xxxxxxxx || $22 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| XI n || 2 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;n || %00100011 %xxxxxxxx || $23 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| AI n || 2 || 2.5 || A &amp;amp;larr; (A)+n || %00100100 %xxxxxxxx || $24 $xx || X || X || X || X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| CI n || 2 || 2.5 || n+!(A)+1 (n-A)&amp;lt;br&amp;gt;Only set status || %00100101 %xxxxxxxx || $25 $xx ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| IN n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;A &amp;amp;larr; (Port n)|| %00100110 %xxxxxxxx || $26 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OUT n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;Port n &amp;amp;larr; (A)|| %00100111 %xxxxxxxx || $27 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| PI mn|| 3 || 6.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC1 &amp;amp;larr; (PC0)+1&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A is destroyed] || %00101000 %xxxxxxxx %xxxxxxxx || $28 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; D &amp;lt;br&amp;gt; C &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| JMP mn || 3 || 5.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A now contains m] || %00101001 %xxxxxxxx %xxxxxxxx || $29 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; c &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DCI mn || 3 || 6 || DC0U &amp;amp;larr; m&amp;lt;br&amp;gt;PC0+1&amp;lt;br&amp;gt;DC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0+1 || %00101010 %xxxxxxxx %xxxxxxxx || $2A $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S || 11 &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; E &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NOP || 1 || 1 || No operation&amp;lt;br&amp;gt;(cycle waster) || %00101011 || $2B ||- ||- ||- ||-  || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| XDC || 1 || 2 || DC0,DC1 &amp;amp;larr; DC1,DC0 || %00101100 || $2C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1D &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DS r || 1 || 1.5 || r &amp;amp;larr; (r)+$FF&amp;lt;br&amp;gt;[decrease scratchpad byte] || %0011xxxx || $3x ||X ||X ||X ||X || L || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, r || 1 || 1 || A &amp;amp;larr; (r) || %0100xxxx || $4x || - || - || - || - || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HU || 1 || 1 || A &amp;amp;larr; (HU) || %01001010 || $4A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HL || 1 || 1 || A &amp;amp;larr; (HL) || %01001011 || $4B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LR r, A || 1 || 1 || r &amp;amp;larr; (A) || %0101xxxx || $5x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HU, A || 1 || 1 || HU &amp;amp;larr; (A) || %01011010 || $5A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HL, A || 1 || 1 || HL &amp;amp;larr; (A) || %01011011 || $5B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LISU i || 1 || 1 || ISARU &amp;amp;larr; i || %01100xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LISL i || 1 || 1 || ISARL &amp;amp;larr; i || %01101xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| CLR || 1 || 1 || A&amp;amp;larr;0 || %01110000 || $70 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LIS i || 1 || 1 || A &amp;amp;larr; i || %0111xxxx || $7x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| BT t, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] t with W&amp;lt;br&amp;gt;if result is not 0:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1&amp;lt;br&amp;gt;'''See table below''' || %10000xxx %xxxxxxxx || $8x $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BP n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Positive|POSITIVE]]&amp;lt;br&amp;gt;(sign bit 0):&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000001 %xxxxxxxx || $81 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if CARRY:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000010 %xxxxxxxx || $82 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if ZERO:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000100 %xxxxxxxx || $84 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| AM || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001000 || $88 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| AMD || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;decimal adjusted&amp;lt;br&amp;gt;DC0+1 || %10001001 || $89 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| NM || 1 || 2.5 || A &amp;amp;larr; (A)AND((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001010 || $8A ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || &lt;br /&gt;
2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| OM || 1 || 2.5 || A &amp;amp;larr; (A)OR((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001011 || $8B ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XM || 1 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001100 || $8C ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| CM || 1 || 2.5 || ((DC0))-A only set status&amp;lt;br&amp;gt;DC0+1|| %10001101 || $8D ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ADC || 1 || 2.5 || DC0 &amp;amp;larr; (DC0)+(A) || %10001110 || $8E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BR7 n || 2 || 2 (no branch)&amp;lt;br&amp;gt;2.5 (branch) || if (ISAR &amp;amp; 7)==7: PC0 &amp;amp;larr; (PC0) + n +1 || %10001111 %xxxxxxxx || $8F $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| BR n || 2 || 3.5 || PC0 &amp;amp;larr; (PC0)+n+1 || %10010000 %xxxxxxxx || $90 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BF i, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] i with W&amp;lt;br&amp;gt;if result = FALSE:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1&amp;lt;br&amp;gt;'''See table below''' || %1001xxxx %xxxxxxxx || $9x $xx ||- ||- ||- ||- ||S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S|| 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BM n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Negative|NEGATIVE]]:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010001 %xxxxxxxx || $91 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO CARRY:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010010 %xxxxxxxx || $92 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NOT ZERO:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010100 %xxxxxxxx || $94 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNO n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO OVERFLOW:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10011000 %xxxxxxxx || $98 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| INS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || A &amp;amp;larr; (Port i)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;A &amp;amp;larr; (Port i) || %1010xxxx || $Ax ||0 ||X ||0 ||X || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1B, 0&lt;br /&gt;
|- &lt;br /&gt;
| OUTS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || Port i &amp;amp;larr; (A)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;Port i &amp;amp;larr; (A) || %1011xxxx || $Bx ||- ||- ||- ||- || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1A, 0&lt;br /&gt;
|- &lt;br /&gt;
| AS r || 1 || 1 || A &amp;amp;larr; (A)+(r) || %1100xxxx || $Cx || X || X || X || X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| ASD r || 1 || 2 || A &amp;amp;larr; (A)+(r)&amp;lt;br&amp;gt;(decimal) || %1101xxxx || $Dx ||X ||X ||X ||X || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XS r || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;(r) || %1110xxxx || $Ex ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| NS r || 1 || 1 || A &amp;amp;larr; (A)AND(r) || %1111xxxx || $Fx ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: IRQ || 5.5 || PC0L &amp;amp;larr; Int address(l)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; Int.Address(u)&amp;lt;br&amp;gt;PC1&amp;lt;-PC0 ||  ||  ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0F &amp;lt;br&amp;gt; 13 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: RESET || 3.5 || PC0 &amp;amp;larr; 0&amp;lt;br&amp;gt;PC1 &amp;amp;larr; PC0 || || ||- ||- ||- ||- || S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 8 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The BT instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;| Branch conditions for BT instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|'''zero'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Do not branch &lt;br /&gt;
| An effective 3&amp;lt;br&amp;gt;cycle NO-OP&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Positive&lt;br /&gt;
| Same as '''BP'''&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch on Carry&lt;br /&gt;
| Same as '''BC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Carry&amp;lt;br&amp;gt;or on Positive&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero&lt;br /&gt;
| Same as '''BZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero&amp;lt;br&amp;gt;or Positive&lt;br /&gt;
| Same as t=1&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero or &amp;lt;br&amp;gt;on Carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero,&amp;lt;br&amp;gt;Carry or Positive&lt;br /&gt;
| Same as t=3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== The BF instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;7&amp;quot;| Branch conditions for BF instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;'''ovf'''&amp;amp;nbsp;&lt;br /&gt;
|'''zero&amp;amp;nbsp;'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign&amp;amp;nbsp;'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Unconditional branch&amp;lt;br&amp;gt;relative&lt;br /&gt;
| Same as '''BR'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch on negative&lt;br /&gt;
| Same as '''BM'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&lt;br /&gt;
| Same as '''BNC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt; and negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if not zero&lt;br /&gt;
| Same as '''BNZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=1&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=3&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 8 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if there is no&amp;lt;br&amp;gt;overflow&lt;br /&gt;
| Same as '''BNO'''&lt;br /&gt;
|-&lt;br /&gt;
| 9 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if negative and&amp;lt;br&amp;gt;no overflow&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| A &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and no carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| B &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| C &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| D &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=9&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| E &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| F &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=B&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=742</id>
		<title>Opcode</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=742"/>
				<updated>2026-06-16T14:52:27Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CPU of a digital computer responds to a series of ones and zeros read from memory. The pattern of these, that determine what the CPU is supposed to do, are called Operation Codes or '''opcode'''. As an example the opcode $2B on the F8 System means No Operation (NOP). Programs are made up of opcodes which instruct the F8 System to do something, such as load a register with a value, perform arithmetic on a register, change the program counter (jump) or input or output data through the [[port|ports]]. &amp;lt;br&amp;gt;&lt;br /&gt;
Opcodes in the F8 System are each one byte wide, though some may be followed by an address (two bytes) or a value for the opcode to use, these extra bytes are called operands and an opcode with its operand is called an instruction and the complete set for a CPU is called an Instruction Set. &amp;lt;br&amp;gt;&lt;br /&gt;
Instead of programming these numbers directly (Machine Code Programming) programmers came up with the '''mnemonic''' names and wrote programs to translate such code into machine code. This mnemonic form of programming is called Assembly Language. Below is a table showing both types, if you choose Assembly Language then [[DASM]] or [[f8tool]] are free Assemblers for the F8 System.&lt;br /&gt;
&lt;br /&gt;
== The Instruction Set ==&lt;br /&gt;
&lt;br /&gt;
In the information for each opcode, the following notations are used:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode Notations&lt;br /&gt;
|-&lt;br /&gt;
| '''A''' || [[Accumulator]]&lt;br /&gt;
|- &lt;br /&gt;
| '''Ri''' || [[First registers]] i (r0-r11 [HU,HL=r10,11])&lt;br /&gt;
|- &lt;br /&gt;
| '''P0''' || [[Program counter]] (PC0)&lt;br /&gt;
|- &lt;br /&gt;
| '''P''' || Program counter Stack (PC1)&lt;br /&gt;
|- &lt;br /&gt;
| '''DC0''' || [[Data counter]]&lt;br /&gt;
|- &lt;br /&gt;
| '''DC1''' || Data counter storage&lt;br /&gt;
|- &lt;br /&gt;
| '''W''' || [[Status register]] (x,x,x,ICB,O,Z,C,S) Exhange only via&amp;lt;br&amp;gt;the '''J''' register (R9)&lt;br /&gt;
|- &lt;br /&gt;
| '''ISAR''' || [[ISAR|Indirect Scratchpad Address Register]]&lt;br /&gt;
|- &lt;br /&gt;
| '''r''' || Scratchpad addressing ONLY as:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| '''0 to 11''' || ISAR registers r0-r11&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' not preferred: '''(IS)''' || Reg. selected by ISAR &amp;lt;br&amp;gt; '''You can't call r12 (KU) using register number'''&lt;br /&gt;
|- &lt;br /&gt;
| ''I''' not preferred: '''(IS)+''' || Reg. selected by ISAR, then (ISAR)++ &amp;lt;br&amp;gt; '''You can't call r13 (KL) using register number''' &lt;br /&gt;
|- &lt;br /&gt;
| '''D''' not preferred: '''(IS)-'''  || Reg. selected by ISAR, then (ISAR)-- &amp;lt;br&amp;gt; '''You can't call r14 (QU) using register number'''&lt;br /&gt;
|}&lt;br /&gt;
|- &lt;br /&gt;
| '''t''' || 3-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''i''' || 4-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''n''' || 8-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''mn''' || 16-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''( &amp;amp;nbsp;)''' || Contents of register (e.g.(R11) or (DC))&lt;br /&gt;
|- &lt;br /&gt;
| '''x''' || Binary value placeholder&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Status Flag Notations&lt;br /&gt;
|- &lt;br /&gt;
| '''ICB''' || Interrupts Allowed Flag, b4 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''O''' || Overflow Flag, b3 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''Z''' || Zero Flag, b2 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''C''' || Carry Flag, b1 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' || Sign Flag, b0 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''0''' || Resets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''1''' || Sets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''X''' || Modifies status flag&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; style=&amp;quot;width: 100%&amp;quot; style=&amp;quot;margin-right: auto&lt;br /&gt;
|+ Table copied from [https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf F8_info]&amp;lt;br /&amp;gt;Extra data added from [http://www.nyx.net/~lturner/public_html/F8_ins.html L. Turner F8 ins]&amp;lt;br&amp;gt;As well as the excellent [https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf User's Guide (1976)]&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Mnemonic&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Length&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Cycles&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; class=&amp;quot;unsortable&amp;quot; | Status Flags&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | Cycle&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | ROMC &amp;lt;br&amp;gt; state&lt;br /&gt;
|-&lt;br /&gt;
! Binary&lt;br /&gt;
! Hex&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Overflow&amp;quot; | O&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Zero&amp;quot; | Z&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Carry&amp;quot; | C&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Signed&amp;quot; | S&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KU || 1 || 1 || A &amp;amp;larr; (KU)[r12] || %00000000 || $00 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KL || 1 || 1 || A &amp;amp;larr; (KL)[r13] || %00000001 || $01 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- = &lt;br /&gt;
| LR A, QU || 1 || 1 || A &amp;amp;larr; (QU)[r14]|| %00000010 || $02 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, QL || 1 || 1 || A &amp;amp;larr; (QL)[r15]|| %00000011 || $03 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KU, A || 1 || 1 || [r12]KU &amp;amp;larr; (A) || %00000100 || $04 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KL, A || 1 || 1 || [r13]KL &amp;amp;larr; (A) || %00000101 || $05 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QU, A || 1 || 1 || [r14]QU &amp;amp;larr; (A) || %00000110 || $06 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QL, A || 1 || 1 || [r15]QL &amp;amp;larr; (A) || %00000111 || $07 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR K, P || 1 || 4 || [r12]KU &amp;amp;larr; (PC1U)&amp;lt;br&amp;gt;[r13]KL &amp;amp;larr; (PC1L) || %00001000 || $08 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 7 &amp;lt;br&amp;gt; B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P, K || 1 || 4 || PC1U &amp;amp;larr; (KU)[r12] &amp;lt;br&amp;gt;PC1L &amp;amp;larr; (KL)[r13] || %00001001 || $09 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 15 &amp;lt;br&amp;gt; 18 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, IS || 1 || 1 || A &amp;amp;larr; (ISAR) || %00001010 || $0A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR IS, A || 1 || 1 || ISAR &amp;amp;larr; (A) || %00001011 || $0B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| PK || 1 || 2.5 || PC1 &amp;amp;larr; (PC0)&amp;lt;br&amp;gt;PC0L &amp;amp;larr; (KL)[r13]&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (KU)[r12] || %00001100 || $0C ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 12 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P0, Q || 1 || 4 || PC0L &amp;amp;larr; (QL)[r15]&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (QU)[r14] || %00001101 || $0D ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 17 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR Q, DC || 1 || 4 || [r14]QU &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;[r15]QL &amp;amp;larr; (DC0L) || %00001110 || $0E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, Q || 1 || 4 || DC0U &amp;amp;larr; (QU)[r14]&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (QL)[r15] || %00001111 || $0F ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, H || 1 || 4 || DC0U &amp;amp;larr; (R10)&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (R11) || %00010000 || $10 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR H, DC || 1 || 4 || R10 &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;R11 &amp;amp;larr; (DC0L) || %00010001 || $11 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 1 || 1 || 1 || Shift (A) right one bit, fill with %0 || %00010010 || $12 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 1 || 1 || 1 || Shift (A) left one bit, fill with %0 || %00010011 || $13 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 4 || 1 || 1 || Shift (A) right four bits, fill with %0000 || %00010100 || $14 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 4 || 1 || 1 || Shift (A) left four bits, fill with %0000 || %00010101 || $15 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LM || 1 || 2.5 || A &amp;amp;larr; ((DC0))&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010110 || $16 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ST || 1 || 2.5 || DC0 &amp;amp;larr; (A)&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010111 || $17 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 5 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| COM || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;$FF&amp;lt;br&amp;gt;[invert/complement]|| %00011000 || $18 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LNK || 1 || 1 || A &amp;amp;larr; (A)+(C)&amp;lt;br&amp;gt;(add carry from previous operation)|| %00011001 || $19 ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| DI || 1 || 1 || Disable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011010 || $1A ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| EI || 1 || 1 || Enable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011011 || $1B ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| POP || 1 || 2 || PC0 &amp;amp;larr; (PC1)|| %00011100 || $1C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 4 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR W, J || 1 || 1 || W &amp;amp;larr; (R9) || %00011101 || $1D ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR J, W || 1 || 2 || R9 &amp;amp;larr; (W) || %00011110 || $1E ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| INC || 1 || 1 || A &amp;amp;larr; (A)+1 || %00011111 || $1F ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LI n || 2 || 2.5 || A &amp;amp;larr; n || %00100000 %xxxxxxxx || $20 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NI n || 2 || 2.5 || A &amp;amp;larr; (A) AND n || %00100001 %xxxxxxxx || $21 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OI n || 2 || 2.5 || A &amp;amp;larr; (A) OR n || %00100010 %xxxxxxxx || $22 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| XI n || 2 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;n || %00100011 %xxxxxxxx || $23 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| AI n || 2 || 2.5 || A &amp;amp;larr; (A)+n || %00100100 %xxxxxxxx || $24 $xx || X || X || X || X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| CI n || 2 || 2.5 || n+!(A)+1 (n-A)&amp;lt;br&amp;gt;Only set status || %00100101 %xxxxxxxx || $25 $xx ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| IN n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;A &amp;amp;larr; (Port n)|| %00100110 %xxxxxxxx || $26 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OUT n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;Port n &amp;amp;larr; (A)|| %00100111 %xxxxxxxx || $27 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| PI mn|| 3 || 6.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC1 &amp;amp;larr; (PC0)+1&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A is destroyed] || %00101000 %xxxxxxxx %xxxxxxxx || $28 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; D &amp;lt;br&amp;gt; C &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| JMP mn || 3 || 5.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A is destroyed] || %00101001 %xxxxxxxx %xxxxxxxx || $29 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; c &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DCI mn || 3 || 6 || DC0U &amp;amp;larr; m&amp;lt;br&amp;gt;PC0+1&amp;lt;br&amp;gt;DC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0+1 || %00101010 %xxxxxxxx %xxxxxxxx || $2A $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S || 11 &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; E &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NOP || 1 || 1 || No operation&amp;lt;br&amp;gt;(cycle waster) || %00101011 || $2B ||- ||- ||- ||-  || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| XDC || 1 || 2 || DC0,DC1 &amp;amp;larr; DC1,DC0 || %00101100 || $2C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1D &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DS r || 1 || 1.5 || r &amp;amp;larr; (r)+$FF&amp;lt;br&amp;gt;[decrease scratchpad byte] || %0011xxxx || $3x ||X ||X ||X ||X || L || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, r || 1 || 1 || A &amp;amp;larr; (r) || %0100xxxx || $4x || - || - || - || - || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HU || 1 || 1 || A &amp;amp;larr; (HU) || %01001010 || $4A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HL || 1 || 1 || A &amp;amp;larr; (HL) || %01001011 || $4B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LR r, A || 1 || 1 || r &amp;amp;larr; (A) || %0101xxxx || $5x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HU, A || 1 || 1 || HU &amp;amp;larr; (A) || %01011010 || $5A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HL, A || 1 || 1 || HL &amp;amp;larr; (A) || %01011011 || $5B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LISU i || 1 || 1 || ISARU &amp;amp;larr; i || %01100xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LISL i || 1 || 1 || ISARL &amp;amp;larr; i || %01101xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| CLR || 1 || 1 || A&amp;amp;larr;0 || %01110000 || $70 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LIS i || 1 || 1 || A &amp;amp;larr; i || %0111xxxx || $7x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| BT t, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] t with W&amp;lt;br&amp;gt;if result is not 0:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1&amp;lt;br&amp;gt;'''See table below''' || %10000xxx %xxxxxxxx || $8x $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BP n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Positive|POSITIVE]]&amp;lt;br&amp;gt;(sign bit 0):&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000001 %xxxxxxxx || $81 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if CARRY:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000010 %xxxxxxxx || $82 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if ZERO:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000100 %xxxxxxxx || $84 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| AM || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001000 || $88 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| AMD || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;decimal adjusted&amp;lt;br&amp;gt;DC0+1 || %10001001 || $89 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| NM || 1 || 2.5 || A &amp;amp;larr; (A)AND((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001010 || $8A ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || &lt;br /&gt;
2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| OM || 1 || 2.5 || A &amp;amp;larr; (A)OR((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001011 || $8B ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XM || 1 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001100 || $8C ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| CM || 1 || 2.5 || ((DC0))-A only set status&amp;lt;br&amp;gt;DC0+1|| %10001101 || $8D ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ADC || 1 || 2.5 || DC0 &amp;amp;larr; (DC0)+(A) || %10001110 || $8E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BR7 n || 2 || 2 (no branch)&amp;lt;br&amp;gt;2.5 (branch) || if ISARL != 7: PC0 &amp;amp;larr; (PC0) + n +1 || %10001111 %xxxxxxxx || $8F $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| BR n || 2 || 3.5 || PC0 &amp;amp;larr; (PC0)+n+1 || %10010000 %xxxxxxxx || $90 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BF i, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] i with W&amp;lt;br&amp;gt;if result = FALSE:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1&amp;lt;br&amp;gt;'''See table below''' || %1001xxxx %xxxxxxxx || $9x $xx ||- ||- ||- ||- ||S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S|| 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BM n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Negative|NEGATIVE]]:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010001 %xxxxxxxx || $91 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO CARRY:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010010 %xxxxxxxx || $92 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NOT ZERO:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010100 %xxxxxxxx || $94 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNO n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO OVERFLOW:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10011000 %xxxxxxxx || $98 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| INS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || A &amp;amp;larr; (Port i)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;A &amp;amp;larr; (Port i) || %1010xxxx || $Ax ||0 ||X ||0 ||X || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1B, 0&lt;br /&gt;
|- &lt;br /&gt;
| OUTS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || Port i &amp;amp;larr; (A)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;Port i &amp;amp;larr; (A) || %1011xxxx || $Bx ||- ||- ||- ||- || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1A, 0&lt;br /&gt;
|- &lt;br /&gt;
| AS r || 1 || 1 || A &amp;amp;larr; (A)+(r) || %1100xxxx || $Cx || X || X || X || X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| ASD r || 1 || 2 || A &amp;amp;larr; (A)+(r)&amp;lt;br&amp;gt;(decimal) || %1101xxxx || $Dx ||X ||X ||X ||X || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XS r || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;(r) || %1110xxxx || $Ex ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| NS r || 1 || 1 || A &amp;amp;larr; (A)AND(r) || %1111xxxx || $Fx ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: IRQ || 5.5 || PC0L &amp;amp;larr; Int address(l)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; Int.Address(u)&amp;lt;br&amp;gt;PC1&amp;lt;-PC0 ||  ||  ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0F &amp;lt;br&amp;gt; 13 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
|  || Hardware event: RESET || 3.5 || PC0 &amp;amp;larr; 0&amp;lt;br&amp;gt;PC1 &amp;amp;larr; PC0 || || ||- ||- ||- ||- || S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 8 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The BT instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;| Branch conditions for BT instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|'''zero'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Do not branch &lt;br /&gt;
| An effective 3&amp;lt;br&amp;gt;cycle NO-OP&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Positive&lt;br /&gt;
| Same as '''BP'''&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch on Carry&lt;br /&gt;
| Same as '''BC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Carry&amp;lt;br&amp;gt;or on Positive&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero&lt;br /&gt;
| Same as '''BZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero&amp;lt;br&amp;gt;or Positive&lt;br /&gt;
| Same as t=1&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero or &amp;lt;br&amp;gt;on Carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero,&amp;lt;br&amp;gt;Carry or Positive&lt;br /&gt;
| Same as t=3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== The BF instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;7&amp;quot;| Branch conditions for BF instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;'''ovf'''&amp;amp;nbsp;&lt;br /&gt;
|'''zero&amp;amp;nbsp;'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign&amp;amp;nbsp;'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Unconditional branch&amp;lt;br&amp;gt;relative&lt;br /&gt;
| Same as '''BR'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch on negative&lt;br /&gt;
| Same as '''BM'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&lt;br /&gt;
| Same as '''BNC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt; and negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if not zero&lt;br /&gt;
| Same as '''BNZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=1&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=3&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 8 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if there is no&amp;lt;br&amp;gt;overflow&lt;br /&gt;
| Same as '''BNO'''&lt;br /&gt;
|-&lt;br /&gt;
| 9 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if negative and&amp;lt;br&amp;gt;no overflow&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| A &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and no carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| B &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| C &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| D &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=9&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| E &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| F &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=B&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	<entry>
		<id>http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=741</id>
		<title>Opcode</title>
		<link rel="alternate" type="text/html" href="http://channelf.se/veswiki/index.php?title=Opcode&amp;diff=741"/>
				<updated>2026-06-16T14:51:50Z</updated>
		
		<summary type="html">&lt;p&gt;E5frog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CPU of a digital computer responds to a series of ones and zeros read from memory. The pattern of these, that determine what the CPU is supposed to do, are called Operation Codes or '''opcode'''. As an example the opcode $2B on the F8 System means No Operation (NOP). Programs are made up of opcodes which instruct the F8 System to do something, such as load a register with a value, perform arithmetic on a register, change the program counter (jump) or input or output data through the [[port|ports]]. &amp;lt;br&amp;gt;&lt;br /&gt;
Opcodes in the F8 System are each one byte wide, though some may be followed by an address (two bytes) or a value for the opcode to use, these extra bytes are called operands and an opcode with its operand is called an instruction and the complete set for a CPU is called an Instruction Set. &amp;lt;br&amp;gt;&lt;br /&gt;
Instead of programming these numbers directly (Machine Code Programming) programmers came up with the '''mnemonic''' names and wrote programs to translate such code into machine code. This mnemonic form of programming is called Assembly Language. Below is a table showing both types, if you choose Assembly Language then [[DASM]] or [[f8tool]] are free Assemblers for the F8 System.&lt;br /&gt;
&lt;br /&gt;
== The Instruction Set ==&lt;br /&gt;
&lt;br /&gt;
In the information for each opcode, the following notations are used:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode Notations&lt;br /&gt;
|-&lt;br /&gt;
| '''A''' || [[Accumulator]]&lt;br /&gt;
|- &lt;br /&gt;
| '''Ri''' || [[First registers]] i (r0-r11 [HU,HL=r10,11])&lt;br /&gt;
|- &lt;br /&gt;
| '''P0''' || [[Program counter]] (PC0)&lt;br /&gt;
|- &lt;br /&gt;
| '''P''' || Program counter Stack (PC1)&lt;br /&gt;
|- &lt;br /&gt;
| '''DC0''' || [[Data counter]]&lt;br /&gt;
|- &lt;br /&gt;
| '''DC1''' || Data counter storage&lt;br /&gt;
|- &lt;br /&gt;
| '''W''' || [[Status register]] (x,x,x,ICB,O,Z,C,S) Exhange only via&amp;lt;br&amp;gt;the '''J''' register (R9)&lt;br /&gt;
|- &lt;br /&gt;
| '''ISAR''' || [[ISAR|Indirect Scratchpad Address Register]]&lt;br /&gt;
|- &lt;br /&gt;
| '''r''' || Scratchpad addressing ONLY as:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| '''0 to 11''' || ISAR registers r0-r11&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' not preferred: '''(IS)''' || Reg. selected by ISAR &amp;lt;br&amp;gt; '''You can't call r12 (KU) using register number'''&lt;br /&gt;
|- &lt;br /&gt;
| ''I''' not preferred: '''(IS)+''' || Reg. selected by ISAR, then (ISAR)++ &amp;lt;br&amp;gt; '''You can't call r13 (KL) using register number''' &lt;br /&gt;
|- &lt;br /&gt;
| '''D''' not preferred: '''(IS)-'''  || Reg. selected by ISAR, then (ISAR)-- &amp;lt;br&amp;gt; '''You can't call r14 (QU) using register number'''&lt;br /&gt;
|}&lt;br /&gt;
|- &lt;br /&gt;
| '''t''' || 3-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''i''' || 4-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''n''' || 8-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''mn''' || 16-bit constant&lt;br /&gt;
|- &lt;br /&gt;
| '''( &amp;amp;nbsp;)''' || Contents of register (e.g.(R11) or (DC))&lt;br /&gt;
|- &lt;br /&gt;
| '''x''' || Binary value placeholder&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Status Flag Notations&lt;br /&gt;
|- &lt;br /&gt;
| '''ICB''' || Interrupts Allowed Flag, b4 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''O''' || Overflow Flag, b3 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''Z''' || Zero Flag, b2 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''C''' || Carry Flag, b1 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''S''' || Sign Flag, b0 in W&lt;br /&gt;
|- &lt;br /&gt;
| '''0''' || Resets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''1''' || Sets status flag&lt;br /&gt;
|- &lt;br /&gt;
| '''X''' || Modifies status flag&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; style=&amp;quot;width: 100%&amp;quot; style=&amp;quot;margin-right: auto&lt;br /&gt;
|+ Table copied from [https://channelf.se/files/channelf/f8_info_16_bit_uP_architecture_Terry_Polhoff_%281979%29.pdf F8_info]&amp;lt;br /&amp;gt;Extra data added from [http://www.nyx.net/~lturner/public_html/F8_ins.html L. Turner F8 ins]&amp;lt;br&amp;gt;As well as the excellent [https://channelf.se/veswiki/images/1/1d/F8_User%27s_Guide_%281976%29%28Fairchild%29%28Document_67095665%29.pdf User's Guide (1976)]&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Mnemonic&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Length&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Cycles&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Opcode&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; class=&amp;quot;unsortable&amp;quot; | Status Flags&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | Cycle&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; class=&amp;quot;unsortable&amp;quot; | ROMC &amp;lt;br&amp;gt; state&lt;br /&gt;
|-&lt;br /&gt;
! Binary&lt;br /&gt;
! Hex&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Overflow&amp;quot; | O&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Zero&amp;quot; | Z&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Carry&amp;quot; | C&lt;br /&gt;
! style=&amp;quot;width: 1.5em; cursor: help&amp;quot; title=&amp;quot;Signed&amp;quot; | S&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KU || 1 || 1 || A &amp;amp;larr; (KU)[r12] || %00000000 || $00 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, KL || 1 || 1 || A &amp;amp;larr; (KL)[r13] || %00000001 || $01 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- = &lt;br /&gt;
| LR A, QU || 1 || 1 || A &amp;amp;larr; (QU)[r14]|| %00000010 || $02 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, QL || 1 || 1 || A &amp;amp;larr; (QL)[r15]|| %00000011 || $03 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KU, A || 1 || 1 || [r12]KU &amp;amp;larr; (A) || %00000100 || $04 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR KL, A || 1 || 1 || [r13]KL &amp;amp;larr; (A) || %00000101 || $05 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QU, A || 1 || 1 || [r14]QU &amp;amp;larr; (A) || %00000110 || $06 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR QL, A || 1 || 1 || [r15]QL &amp;amp;larr; (A) || %00000111 || $07 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR K, P || 1 || 4 || [r12]KU &amp;amp;larr; (PC1U)&amp;lt;br&amp;gt;[r13]KL &amp;amp;larr; (PC1L) || %00001000 || $08 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 7 &amp;lt;br&amp;gt; B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P, K || 1 || 4 || PC1U &amp;amp;larr; (KU)[r12] &amp;lt;br&amp;gt;PC1L &amp;amp;larr; (KL)[r13] || %00001001 || $09 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 15 &amp;lt;br&amp;gt; 18 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, IS || 1 || 1 || A &amp;amp;larr; (ISAR) || %00001010 || $0A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR IS, A || 1 || 1 || ISAR &amp;amp;larr; (A) || %00001011 || $0B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| PK || 1 || 2.5 || PC1 &amp;amp;larr; (PC0)&amp;lt;br&amp;gt;PC0L &amp;amp;larr; (KL)[r13]&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (KU)[r12] || %00001100 || $0C ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 12 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR P0, Q || 1 || 4 || PC0L &amp;amp;larr; (QL)[r15]&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (QU)[r14] || %00001101 || $0D ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 17 &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR Q, DC || 1 || 4 || [r14]QU &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;[r15]QL &amp;amp;larr; (DC0L) || %00001110 || $0E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, Q || 1 || 4 || DC0U &amp;amp;larr; (QU)[r14]&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (QL)[r15] || %00001111 || $0F ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR DC, H || 1 || 4 || DC0U &amp;amp;larr; (R10)&amp;lt;br&amp;gt;DC0L &amp;amp;larr; (R11) || %00010000 || $10 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 16 &amp;lt;br&amp;gt; 19 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR H, DC || 1 || 4 || R10 &amp;amp;larr; (DC0U)&amp;lt;br&amp;gt;R11 &amp;amp;larr; (DC0L) || %00010001 || $11 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 6 &amp;lt;br&amp;gt; 9 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 1 || 1 || 1 || Shift (A) right one bit, fill with %0 || %00010010 || $12 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 1 || 1 || 1 || Shift (A) left one bit, fill with %0 || %00010011 || $13 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SR 4 || 1 || 1 || Shift (A) right four bits, fill with %0000 || %00010100 || $14 || 0 || X || 0 || 1 || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| SL 4 || 1 || 1 || Shift (A) left four bits, fill with %0000 || %00010101 || $15 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LM || 1 || 2.5 || A &amp;amp;larr; ((DC0))&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010110 || $16 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ST || 1 || 2.5 || DC0 &amp;amp;larr; (A)&amp;lt;br&amp;gt;DC0 &amp;amp;larr; DC0 + 1 || %00010111 || $17 ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 5 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| COM || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;$FF&amp;lt;br&amp;gt;[invert/complement]|| %00011000 || $18 || 0 || X || 0 || X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LNK || 1 || 1 || A &amp;amp;larr; (A)+(C)&amp;lt;br&amp;gt;(add carry from previous operation)|| %00011001 || $19 ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| DI || 1 || 1 || Disable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011010 || $1A ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| EI || 1 || 1 || Enable interrupts&amp;lt;br&amp;gt;status register bit 4 || %00011011 || $1B ||- ||- ||- ||-  || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| POP || 1 || 2 || PC0 &amp;amp;larr; (PC1)|| %00011100 || $1C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 4 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR W, J || 1 || 1 || W &amp;amp;larr; (R9) || %00011101 || $1D ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| LR J, W || 1 || 2 || R9 &amp;amp;larr; (W) || %00011110 || $1E ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| INC || 1 || 1 || A &amp;amp;larr; (A)+1 || %00011111 || $1F ||X ||X ||X ||X || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LI n || 2 || 2.5 || A &amp;amp;larr; n || %00100000 %xxxxxxxx || $20 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NI n || 2 || 2.5 || A &amp;amp;larr; (A) AND n || %00100001 %xxxxxxxx || $21 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OI n || 2 || 2.5 || A &amp;amp;larr; (A) OR n || %00100010 %xxxxxxxx || $22 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| XI n || 2 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;n || %00100011 %xxxxxxxx || $23 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| AI n || 2 || 2.5 || A &amp;amp;larr; (A)+n || %00100100 %xxxxxxxx || $24 $xx || X || X || X || X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| CI n || 2 || 2.5 || n+!(A)+1 (n-A)&amp;lt;br&amp;gt;Only set status || %00100101 %xxxxxxxx || $25 $xx ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| IN n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;A &amp;amp;larr; (Port n)|| %00100110 %xxxxxxxx || $26 $xx ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1B &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| OUT n || 2 || 4 || Data Bus &amp;amp;larr; Port n&amp;lt;br&amp;gt;Port n &amp;amp;larr; (A)|| %00100111 %xxxxxxxx || $27 $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 1A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| PI mn|| 3 || 6.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC1 &amp;amp;larr; (PC0)+1&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A is destroyed] || %00101000 %xxxxxxxx %xxxxxxxx || $28 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; D &amp;lt;br&amp;gt; C &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| JMP mn || 3 || 5.5 || A &amp;amp;larr; m&amp;lt;br&amp;gt;PC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0U &amp;amp;larr; (A)&amp;lt;br&amp;gt;[A is destroyed] || %00101001 %xxxxxxxx %xxxxxxxx || $29 $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; c &amp;lt;br&amp;gt; 14 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DCI mn || 3 || 6 || DC0U &amp;amp;larr; m&amp;lt;br&amp;gt;PC0+1&amp;lt;br&amp;gt;DC0L &amp;amp;larr; n&amp;lt;br&amp;gt;PC0+1 || %00101010 %xxxxxxxx %xxxxxxxx || $2A $xx $xx ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S || 11 &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; E &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| NOP || 1 || 1 || No operation&amp;lt;br&amp;gt;(cycle waster) || %00101011 || $2B ||- ||- ||- ||-  || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| XDC || 1 || 2 || DC0,DC1 &amp;amp;larr; DC1,DC0 || %00101100 || $2C ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S || 1D &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| DS r || 1 || 1.5 || r &amp;amp;larr; (r)+$FF&amp;lt;br&amp;gt;[decrease scratchpad byte] || %0011xxxx || $3x ||X ||X ||X ||X || L || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, r || 1 || 1 || A &amp;amp;larr; (r) || %0100xxxx || $4x || - || - || - || - || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HU || 1 || 1 || A &amp;amp;larr; (HU) || %01001010 || $4A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR A, HL || 1 || 1 || A &amp;amp;larr; (HL) || %01001011 || $4B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LR r, A || 1 || 1 || r &amp;amp;larr; (A) || %0101xxxx || $5x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HU, A || 1 || 1 || HU &amp;amp;larr; (A) || %01011010 || $5A ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LR HL, A || 1 || 1 || HL &amp;amp;larr; (A) || %01011011 || $5B ||- ||- ||- ||- || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| LISU i || 1 || 1 || ISARU &amp;amp;larr; i || %01100xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LISL i || 1 || 1 || ISARL &amp;amp;larr; i || %01101xxx || $6x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| CLR || 1 || 1 || A&amp;amp;larr;0 || %01110000 || $70 ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| LIS i || 1 || 1 || A &amp;amp;larr; i || %0111xxxx || $7x ||- ||- ||- ||- || S || 0&lt;br /&gt;
|- &lt;br /&gt;
| BT t, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] t with W&amp;lt;br&amp;gt;if result is not 0:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1&amp;lt;br&amp;gt;'''See table below''' || %10000xxx %xxxxxxxx || $8x $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BP n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Positive|POSITIVE]]&amp;lt;br&amp;gt;(sign bit 0):&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000001 %xxxxxxxx || $81 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if CARRY:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000010 %xxxxxxxx || $82 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if ZERO:&amp;lt;br&amp;gt;PC0&amp;amp;larr;PC0+n+1 || %10000100 %xxxxxxxx || $84 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| AM || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001000 || $88 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| AMD || 1 || 2.5 || A &amp;amp;larr; (A)+((DC0))&amp;lt;br&amp;gt;decimal adjusted&amp;lt;br&amp;gt;DC0+1 || %10001001 || $89 ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| NM || 1 || 2.5 || A &amp;amp;larr; (A)AND((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001010 || $8A ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || &lt;br /&gt;
2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| OM || 1 || 2.5 || A &amp;amp;larr; (A)OR((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001011 || $8B ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XM || 1 || 2.5 || A &amp;amp;larr; (A)&amp;amp;oplus;((DC0))&amp;lt;br&amp;gt;DC0+1 || %10001100 || $8C ||0 ||X ||0 ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| CM || 1 || 2.5 || ((DC0))-A only set status&amp;lt;br&amp;gt;DC0+1|| %10001101 || $8D ||X ||X ||X ||X || L &amp;lt;br&amp;gt; S || 2 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| ADC || 1 || 2.5 || DC0 &amp;amp;larr; (DC0)+(A) || %10001110 || $8E ||- ||- ||- ||- || L &amp;lt;br&amp;gt; S || A &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BR7 n || 2 || 2 (no branch)&amp;lt;br&amp;gt;2.5 (branch) || if ISARL != 7: PC0 &amp;amp;larr; (PC0) + n +1 || %10001111 %xxxxxxxx || $8F $xx ||- ||- ||- ||- || S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 3 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| BR n || 2 || 3.5 || PC0 &amp;amp;larr; (PC0)+n+1 || %10010000 %xxxxxxxx || $90 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BF i, n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || AND [[bitmask]] i with W&amp;lt;br&amp;gt;if result = FALSE:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1&amp;lt;br&amp;gt;'''See table below''' || %1001xxxx %xxxxxxxx || $9x $xx ||- ||- ||- ||- ||S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S &amp;lt;br&amp;gt; S|| 1C &amp;lt;br&amp;gt; 1 &amp;lt;br&amp;gt; 0 &amp;lt;br&amp;gt; 1C &amp;lt;br&amp;gt; 3 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|- &lt;br /&gt;
| BM n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if [[Negative|NEGATIVE]]:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010001 %xxxxxxxx || $91 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNC n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO CARRY:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010010 %xxxxxxxx || $92 $xx ||- ||- ||- ||- ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNZ n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NOT ZERO:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10010100 %xxxxxxxx || $94 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| BNO n || 2 || 3 (no branch)&amp;lt;br&amp;gt;3.5 (branch) || if NO OVERFLOW:&amp;lt;br&amp;gt;PC0 &amp;amp;larr; (PC0)+n+1 || %10011000 %xxxxxxxx || $98 $xx ||- ||- ||- ||-  ||  || &lt;br /&gt;
|- &lt;br /&gt;
| INS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || A &amp;amp;larr; (Port i)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;A &amp;amp;larr; (Port i) || %1010xxxx || $Ax ||0 ||X ||0 ||X || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1B, 0&lt;br /&gt;
|- &lt;br /&gt;
| OUTS i || 1 || 2 (i=0-1)&amp;lt;br&amp;gt;4 (i=2-15) || Port i &amp;amp;larr; (A)&amp;lt;br&amp;gt;if i=2-15: Data Bus &amp;amp;larr; Port Address&amp;lt;br&amp;gt;Port i &amp;amp;larr; (A) || %1011xxxx || $Bx ||- ||- ||- ||- || p0/1: S, S &amp;lt;br&amp;gt; p4-F: L, L, S || p0/1: 1C, 0 &amp;lt;br&amp;gt; p4-F: 1C, 1A, 0&lt;br /&gt;
|- &lt;br /&gt;
| AS r || 1 || 1 || A &amp;amp;larr; (A)+(r) || %1100xxxx || $Cx || X || X || X || X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| ASD r || 1 || 2 || A &amp;amp;larr; (A)+(r)&amp;lt;br&amp;gt;(decimal) || %1101xxxx || $Dx ||X ||X ||X ||X || S &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| XS r || 1 || 1 || A &amp;amp;larr; (A)&amp;amp;oplus;(r) || %1110xxxx || $Ex ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
| NS r || 1 || 1 || A &amp;amp;larr; (A)AND(r) || %1111xxxx || $Fx ||0 ||X ||0 ||X || S || 0&lt;br /&gt;
|-&lt;br /&gt;
|  || IRQ || 5.5 || PC0L &amp;amp;larr; Int address(l)&amp;lt;br&amp;gt;PC0U &amp;amp;larr; Int.Address(u)&amp;lt;br&amp;gt;PC1&amp;lt;-PC0 ||  ||  ||- ||- ||- ||- || L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 0F &amp;lt;br&amp;gt; 13 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
|  || RESET || 3.5 || PC0 &amp;amp;larr; 0&amp;lt;br&amp;gt;PC1 &amp;amp;larr; PC0 || || ||- ||- ||- ||- || S &amp;lt;br&amp;gt; L &amp;lt;br&amp;gt; S || 1C &amp;lt;br&amp;gt; 8 &amp;lt;br&amp;gt; 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The BT instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;| Branch conditions for BT instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|'''zero'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Do not branch &lt;br /&gt;
| An effective 3&amp;lt;br&amp;gt;cycle NO-OP&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Positive&lt;br /&gt;
| Same as '''BP'''&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch on Carry&lt;br /&gt;
| Same as '''BC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Carry&amp;lt;br&amp;gt;or on Positive&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero&lt;br /&gt;
| Same as '''BZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero&amp;lt;br&amp;gt;or Positive&lt;br /&gt;
| Same as t=1&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Branch if Zero or &amp;lt;br&amp;gt;on Carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Branch if Zero,&amp;lt;br&amp;gt;Carry or Positive&lt;br /&gt;
| Same as t=3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== The BF instruction ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
!colspan=&amp;quot;7&amp;quot;| Branch conditions for BF instruction&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|'''Operand''' &amp;lt;br&amp;gt;'''t'''&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|'''Status flags tested'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Definition'''&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&amp;lt;br&amp;gt;'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;'''ovf'''&amp;amp;nbsp;&lt;br /&gt;
|'''zero&amp;amp;nbsp;'''&lt;br /&gt;
|'''carry'''&lt;br /&gt;
|'''sign&amp;amp;nbsp;'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Unconditional branch&amp;lt;br&amp;gt;relative&lt;br /&gt;
| Same as '''BR'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch on negative&lt;br /&gt;
| Same as '''BM'''&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&lt;br /&gt;
| Same as '''BNC'''&lt;br /&gt;
|-&lt;br /&gt;
| 3 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt; and negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if not zero&lt;br /&gt;
| Same as '''BNZ'''&lt;br /&gt;
|-&lt;br /&gt;
| 5 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=1&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no carry&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=3&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 8 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if there is no&amp;lt;br&amp;gt;overflow&lt;br /&gt;
| Same as '''BNO'''&lt;br /&gt;
|-&lt;br /&gt;
| 9 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if negative and&amp;lt;br&amp;gt;no overflow&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| A &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and no carry&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| B &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; negative&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| C &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow&amp;lt;br&amp;gt;and not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| D &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=9&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| E &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 0 &lt;br /&gt;
| Branch if no overflow,&amp;lt;br&amp;gt;no carry &amp;amp; not zero&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| F &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| 1 &lt;br /&gt;
| &lt;br /&gt;
| Same as t=B&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>E5frog</name></author>	</entry>

	</feed>