Sections:
00: "seg3000" (3000-3064)


Source: "main.asm"
                        	     1: OSNEWL	equ $FFE7
                        	     2: OSWRCH	equ $FFEE
                        	     3: 
                        	     4:     org $3000
                        	     5: 
00:3000 A900            	     6: 	lda #0
00:3002 8580            	     7: 	sta $80  			; $80 = Data (run length) pointer
00:3004 A020            	     8: 	ldy #$20 			; Y = printable char - start with space
                        	     9: 
                        	    10: TextLoop:
00:3006 A680            	    11: 	ldx $80  			; X = Current run length
00:3008 E680            	    12: 	inc $80				; Increment the data pointer
00:300A BD3130          	    13: 	lda StarData,X		; Get the next run length
00:300D F021            	    14: 	beq EndProg
00:300F 48              	    15: 	pha					; Push to stack for later
00:3010 297F            	    16: 	and #$7F			; Mask out the MSB
00:3012 AA              	    17: 	tax					; X = Run length
                        	    18: 
                        	    19: CharLoop:
00:3013 98              	    20: 	tya					; Y = printable char
00:3014 20EEFF          	    21: 	jsr OSWRCH			; Print to screen
00:3017 CA              	    22: 	dex					; Decrement run length
00:3018 D0F9            	    23: 	bne CharLoop		; If non-zero print more
                        	    24: 	
00:301A C020            	    25: 	cpy #$20  			; What's the current char?
00:301C F005            	    26: 	beq StarNext
00:301E A020            	    27: 	ldy #$20			; Flip the char from '*' to ' '
00:3020 4C2530          	    28: 	jmp EndOfRun 
                        	    29: StarNext:
00:3023 A02A            	    30: 	ldy #$2A			; Flip from ' ' to '*'
                        	    31: 
                        	    32: EndOfRun:
00:3025 68              	    33: 	pla					; pull from stack
00:3026 2980            	    34: 	and #$80			; If MSB is non-zero = newline
00:3028 F0DC            	    35: 	beq TextLoop
                        	    36: 
                        	    37: EndOfLine:
00:302A 20E7FF          	    38: 	jsr OSNEWL
00:302D 4C0630          	    39: 	jmp TextLoop 
                        	    40: 
                        	    41: EndProg:
00:3030 60              	    42: 	rts					; And we're done...
                        	    43: 
                        	    44: StarData:
00:3031 0F              	    45: 	db $0F,$01,$07,$81
00:3032 01
00:3033 07
00:3034 81
00:3035 0F              	    46: 	db $0F,$02,$05,$82
00:3036 02
00:3037 05
00:3038 82
00:3039 0F              	    47: 	db $0F,$03,$03,$83
00:303A 03
00:303B 03
00:303C 83
00:303D 0F              	    48: 	db $0F,$04,$01,$84
00:303E 04
00:303F 01
00:3040 84
00:3041 0B              	    49: 	db $0B,$91
00:3042 91
00:3043 0C              	    50: 	db $0C,$8F
00:3044 8F
00:3045 0D              	    51: 	db $0D,$8D
00:3046 8D
00:3047 0E              	    52: 	db $0E,$8B
00:3048 8B
00:3049 0F              	    53: 	db $0F,$89
00:304A 89
00:304B 0E              	    54: 	db $0E,$8B
00:304C 8B
00:304D 0D              	    55: 	db $0D,$8D
00:304E 8D
00:304F 0C              	    56: 	db $0C,$8F
00:3050 8F
00:3051 0B              	    57: 	db $0B,$91
00:3052 91
00:3053 0F              	    58: 	db $0F,$04,$01,$84
00:3054 04
00:3055 01
00:3056 84
00:3057 0F              	    59: 	db $0F,$03,$03,$83
00:3058 03
00:3059 03
00:305A 83
00:305B 0F              	    60: 	db $0F,$02,$05,$82
00:305C 02
00:305D 05
00:305E 82
00:305F 0F              	    61: 	db $0F,$01,$07,$81
00:3060 01
00:3061 07
00:3062 81
00:3063 00              	    62: 	db $0
                        	    63: 


Symbols by name:
CharLoop                         A:3013
EndOfLine                        A:302A
EndOfRun                         A:3025
EndProg                          A:3030
OSNEWL                           E:FFE7
OSWRCH                           E:FFEE
StarData                         A:3031
StarNext                         A:3023
TextLoop                         A:3006

Symbols by value:
3006 TextLoop
3013 CharLoop
3023 StarNext
3025 EndOfRun
302A EndOfLine
3030 EndProg
3031 StarData
FFE7 OSNEWL
FFEE OSWRCH
