Lots of hires boilerplate. Startup, clear hires, show hires and wait for a keypress before quitting.

This commit is contained in:
Jeremy Rand 2017-07-19 10:28:12 -05:00
parent a3f336e2d3
commit df3238358a
9 changed files with 418 additions and 34 deletions

View File

@ -7,7 +7,7 @@
objects = {
/* Begin PBXFileReference section */
9DFD77C91F1F9C2500639A48 /* main.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = main.s; sourceTree = "<group>"; };
9DFD77C91F1F9C2500639A48 /* game.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = game.s; sourceTree = "<group>"; };
9DFD77CA1F1F9C2500639A48 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
9DFD77CC1F1F9C2500639A48 /* AppleCommander.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; name = AppleCommander.jar; path = make/AppleCommander.jar; sourceTree = "<group>"; };
9DFD77CD1F1F9C2500639A48 /* createDiskImage */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = createDiskImage; path = make/createDiskImage; sourceTree = "<group>"; };
@ -17,6 +17,8 @@
9DFD77D11F1F9C2500639A48 /* prodos_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = prodos_template.dsk; path = make/prodos_template.dsk; sourceTree = "<group>"; };
9DFD77D21F1F9C2500639A48 /* tail.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = tail.mk; path = make/tail.mk; sourceTree = "<group>"; };
9DFD77D31F1F9C2500639A48 /* V2Make.scpt */ = {isa = PBXFileReference; lastKnownFileType = file; name = V2Make.scpt; path = make/V2Make.scpt; sourceTree = "<group>"; };
9DFD77D91F1FA47900639A48 /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = "<group>"; };
9DFD77DB1F1FA4A400639A48 /* game.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = game.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXGroup section */
@ -30,7 +32,9 @@
9DFD77C81F1F9C2500639A48 /* colourgo */ = {
isa = PBXGroup;
children = (
9DFD77C91F1F9C2500639A48 /* main.s */,
9DFD77C91F1F9C2500639A48 /* game.s */,
9DFD77DB1F1FA4A400639A48 /* game.h */,
9DFD77D91F1FA47900639A48 /* main.c */,
9DFD77CA1F1F9C2500639A48 /* Makefile */,
9DFD77CB1F1F9C2500639A48 /* make */,
);

View File

@ -5,6 +5,22 @@
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9DFD77C71F1F9C2500639A48"
BuildableName = "colourgo"
BlueprintName = "colourgo"
ReferencedContainer = "container:colourgo.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
@ -26,6 +42,15 @@
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9DFD77C71F1F9C2500639A48"
BuildableName = "colourgo"
BlueprintName = "colourgo"
ReferencedContainer = "container:colourgo.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
@ -35,6 +60,15 @@
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9DFD77C71F1F9C2500639A48"
BuildableName = "colourgo"
BlueprintName = "colourgo"
ReferencedContainer = "container:colourgo.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">

View File

@ -26,7 +26,7 @@ PGM=colourgo
# MACHINE = apple2
# MACHINE = apple2-dos33
# MACHINE = apple2-system
# MACHINE = apple2-loader
MACHINE = apple2-loader
# MACHINE = apple2-reboot
# MACHINE = apple2enh
# MACHINE = apple2enh-dos33
@ -36,7 +36,7 @@ PGM=colourgo
# Uncomment and set this to your starting address in Apple II memory
# if necessary:
# START_ADDR = 6000
START_ADDR = 6000
# Set the default CPU to assemble for. You can change this in the
# body of a .s file using control commands like ".PC02". Uncomment

16
colourgo/game.h Normal file
View File

@ -0,0 +1,16 @@
//
// game.h
// colourgo
//
// Created by Jeremy Rand on 2017-07-19.
// Copyright © 2017 Jeremy Rand. All rights reserved.
//
#ifndef __colourgo__game__
#define __colourgo__game__
extern void game(void);
#endif /* defined(__colourgo__game__) */

342
colourgo/game.s Normal file
View File

@ -0,0 +1,342 @@
;
; main.s
; colourgo
;
; Created by Jeremy Rand on 2017-07-19.
; Copyright © 2017 Jeremy Rand. All rights reserved.
;
.export _game
.include "apple2.inc"
COUT = $fded
KEYBOARD = $c000
STROBE = $c010
MAXY=191
MAXXBYTE=40
MAXX=280
ZPADDR=$80
LINE0 = $2000
LINE1 = LINE0 + 1024
LINE2 = LINE1 + 1024
LINE3 = LINE2 + 1024
LINE4 = LINE3 + 1024
LINE5 = LINE4 + 1024
LINE6 = LINE5 + 1024
LINE7 = LINE6 + 1024
LINE8 = LINE0 + 128
LINE9 = LINE8 + 1024
LINE10 = LINE9 + 1024
LINE11 = LINE10 + 1024
LINE12 = LINE11 + 1024
LINE13 = LINE12 + 1024
LINE14 = LINE13 + 1024
LINE15 = LINE14 + 1024
LINE16 = LINE8 + 128
LINE17 = LINE16 + 1024
LINE18 = LINE17 + 1024
LINE19 = LINE18 + 1024
LINE20 = LINE19 + 1024
LINE21 = LINE20 + 1024
LINE22 = LINE21 + 1024
LINE23 = LINE22 + 1024
LINE24 = LINE16 + 128
LINE25 = LINE24 + 1024
LINE26 = LINE25 + 1024
LINE27 = LINE26 + 1024
LINE28 = LINE27 + 1024
LINE29 = LINE28 + 1024
LINE30 = LINE29 + 1024
LINE31 = LINE30 + 1024
LINE32 = LINE24 + 128
LINE33 = LINE32 + 1024
LINE34 = LINE33 + 1024
LINE35 = LINE34 + 1024
LINE36 = LINE35 + 1024
LINE37 = LINE36 + 1024
LINE38 = LINE37 + 1024
LINE39 = LINE38 + 1024
LINE40 = LINE32 + 128
LINE41 = LINE40 + 1024
LINE42 = LINE41 + 1024
LINE43 = LINE42 + 1024
LINE44 = LINE43 + 1024
LINE45 = LINE44 + 1024
LINE46 = LINE45 + 1024
LINE47 = LINE46 + 1024
LINE48 = LINE40 + 128
LINE49 = LINE48 + 1024
LINE50 = LINE49 + 1024
LINE51 = LINE50 + 1024
LINE52 = LINE51 + 1024
LINE53 = LINE52 + 1024
LINE54 = LINE53 + 1024
LINE55 = LINE54 + 1024
LINE56 = LINE48 + 128
LINE57 = LINE56 + 1024
LINE58 = LINE57 + 1024
LINE59 = LINE58 + 1024
LINE60 = LINE59 + 1024
LINE61 = LINE60 + 1024
LINE62 = LINE61 + 1024
LINE63 = LINE62 + 1024
LINE64 = LINE0 + 40
LINE65 = LINE64 + 1024
LINE66 = LINE65 + 1024
LINE67 = LINE66 + 1024
LINE68 = LINE67 + 1024
LINE69 = LINE68 + 1024
LINE70 = LINE69 + 1024
LINE71 = LINE70 + 1024
LINE72 = LINE64 + 128
LINE73 = LINE72 + 1024
LINE74 = LINE73 + 1024
LINE75 = LINE74 + 1024
LINE76 = LINE75 + 1024
LINE77 = LINE76 + 1024
LINE78 = LINE77 + 1024
LINE79 = LINE78 + 1024
LINE80 = LINE72 + 128
LINE81 = LINE80 + 1024
LINE82 = LINE81 + 1024
LINE83 = LINE82 + 1024
LINE84 = LINE83 + 1024
LINE85 = LINE84 + 1024
LINE86 = LINE85 + 1024
LINE87 = LINE86 + 1024
LINE88 = LINE80 + 128
LINE89 = LINE88 + 1024
LINE90 = LINE89 + 1024
LINE91 = LINE90 + 1024
LINE92 = LINE91 + 1024
LINE93 = LINE92 + 1024
LINE94 = LINE93 + 1024
LINE95 = LINE94 + 1024
LINE96 = LINE88 + 128
LINE97 = LINE96 + 1024
LINE98 = LINE97 + 1024
LINE99 = LINE98 + 1024
LINE100 = LINE99 + 1024
LINE101 = LINE100 + 1024
LINE102 = LINE101 + 1024
LINE103 = LINE102 + 1024
LINE104 = LINE96 + 128
LINE105 = LINE104 + 1024
LINE106 = LINE105 + 1024
LINE107 = LINE106 + 1024
LINE108 = LINE107 + 1024
LINE109 = LINE108 + 1024
LINE110 = LINE109 + 1024
LINE111 = LINE110 + 1024
LINE112 = LINE104 + 128
LINE113 = LINE112 + 1024
LINE114 = LINE113 + 1024
LINE115 = LINE114 + 1024
LINE116 = LINE115 + 1024
LINE117 = LINE116 + 1024
LINE118 = LINE117 + 1024
LINE119 = LINE118 + 1024
LINE120 = LINE112 + 128
LINE121 = LINE120 + 1024
LINE122 = LINE121 + 1024
LINE123 = LINE122 + 1024
LINE124 = LINE123 + 1024
LINE125 = LINE124 + 1024
LINE126 = LINE125 + 1024
LINE127 = LINE126 + 1024
LINE128 = LINE64 + 40
LINE129 = LINE128 + 1024
LINE130 = LINE129 + 1024
LINE131 = LINE130 + 1024
LINE132 = LINE131 + 1024
LINE133 = LINE132 + 1024
LINE134 = LINE133 + 1024
LINE135 = LINE134 + 1024
LINE136 = LINE128 + 128
LINE137 = LINE136 + 1024
LINE138 = LINE137 + 1024
LINE139 = LINE138 + 1024
LINE140 = LINE139 + 1024
LINE141 = LINE140 + 1024
LINE142 = LINE141 + 1024
LINE143 = LINE142 + 1024
LINE144 = LINE136 + 128
LINE145 = LINE144 + 1024
LINE146 = LINE145 + 1024
LINE147 = LINE146 + 1024
LINE148 = LINE147 + 1024
LINE149 = LINE148 + 1024
LINE150 = LINE149 + 1024
LINE151 = LINE150 + 1024
LINE152 = LINE144 + 128
LINE153 = LINE152 + 1024
LINE154 = LINE153 + 1024
LINE155 = LINE154 + 1024
LINE156 = LINE155 + 1024
LINE157 = LINE156 + 1024
LINE158 = LINE157 + 1024
LINE159 = LINE158 + 1024
LINE160 = LINE152 + 128
LINE161 = LINE160 + 1024
LINE162 = LINE161 + 1024
LINE163 = LINE162 + 1024
LINE164 = LINE163 + 1024
LINE165 = LINE164 + 1024
LINE166 = LINE165 + 1024
LINE167 = LINE166 + 1024
LINE168 = LINE160 + 128
LINE169 = LINE168 + 1024
LINE170 = LINE169 + 1024
LINE171 = LINE170 + 1024
LINE172 = LINE171 + 1024
LINE173 = LINE172 + 1024
LINE174 = LINE173 + 1024
LINE175 = LINE174 + 1024
LINE176 = LINE168 + 128
LINE177 = LINE176 + 1024
LINE178 = LINE177 + 1024
LINE179 = LINE178 + 1024
LINE180 = LINE179 + 1024
LINE181 = LINE180 + 1024
LINE182 = LINE181 + 1024
LINE183 = LINE182 + 1024
LINE184 = LINE176 + 128
LINE185 = LINE184 + 1024
LINE186 = LINE185 + 1024
LINE187 = LINE186 + 1024
LINE188 = LINE187 + 1024
LINE189 = LINE188 + 1024
LINE190 = LINE189 + 1024
LINE191 = LINE190 + 1024
.CODE
_game:
; Set up hires screen
jsr clearScreen
lda TXTCLR
lda MIXCLR
lda HIRES
lda LOWSCR
wait:
lda KEYBOARD
bpl wait
lda STROBE
lda TXTSET
rts
clearScreen:
ldx #0
ldy #0
@L1:
lda loAddrs,x
sta ZPADDR
lda page1HiAddrs,x
sta ZPADDR+1
lda #$0
@L2:
sta (ZPADDR),y
iny
cpy #MAXXBYTE
bne @L2
inx
cpx #MAXY
bne @L1
rts
.DATA
loAddrs:
.LOBYTES LINE0, LINE1, LINE2, LINE3, LINE4, LINE5, LINE6, LINE7
.LOBYTES LINE8, LINE9, LINE10, LINE11, LINE12, LINE13, LINE14, LINE15
.LOBYTES LINE16, LINE17, LINE18, LINE19, LINE20, LINE21, LINE22, LINE23
.LOBYTES LINE24, LINE25, LINE26, LINE27, LINE28, LINE29, LINE30, LINE31
.LOBYTES LINE32, LINE33, LINE34, LINE35, LINE36, LINE37, LINE38, LINE39
.LOBYTES LINE40, LINE41, LINE42, LINE43, LINE44, LINE45, LINE46, LINE47
.LOBYTES LINE48, LINE49, LINE50, LINE51, LINE52, LINE53, LINE54, LINE55
.LOBYTES LINE56, LINE57, LINE58, LINE59, LINE60, LINE61, LINE62, LINE63
.LOBYTES LINE64, LINE65, LINE66, LINE67, LINE68, LINE69, LINE70, LINE71
.LOBYTES LINE72, LINE73, LINE74, LINE75, LINE76, LINE77, LINE78, LINE79
.LOBYTES LINE80, LINE81, LINE82, LINE83, LINE84, LINE85, LINE86, LINE87
.LOBYTES LINE88, LINE89, LINE90, LINE91, LINE92, LINE93, LINE94, LINE95
.LOBYTES LINE96, LINE97, LINE98, LINE99, LINE100, LINE101, LINE102, LINE103
.LOBYTES LINE104, LINE105, LINE106, LINE107, LINE108, LINE109, LINE110, LINE111
.LOBYTES LINE112, LINE113, LINE114, LINE115, LINE116, LINE117, LINE118, LINE119
.LOBYTES LINE120, LINE121, LINE122, LINE123, LINE124, LINE125, LINE126, LINE127
.LOBYTES LINE128, LINE129, LINE130, LINE131, LINE132, LINE133, LINE134, LINE135
.LOBYTES LINE136, LINE137, LINE138, LINE139, LINE140, LINE141, LINE142, LINE143
.LOBYTES LINE144, LINE145, LINE146, LINE147, LINE148, LINE149, LINE150, LINE151
.LOBYTES LINE152, LINE153, LINE154, LINE155, LINE156, LINE157, LINE158, LINE159
.LOBYTES LINE160, LINE161, LINE162, LINE163, LINE164, LINE165, LINE166, LINE167
.LOBYTES LINE168, LINE169, LINE170, LINE171, LINE172, LINE173, LINE174, LINE175
.LOBYTES LINE176, LINE177, LINE178, LINE179, LINE180, LINE181, LINE182, LINE183
.LOBYTES LINE184, LINE185, LINE186, LINE187, LINE188, LINE189, LINE190, LINE191
page1HiAddrs:
.HIBYTES LINE0, LINE1, LINE2, LINE3, LINE4, LINE5, LINE6, LINE7
.HIBYTES LINE8, LINE9, LINE10, LINE11, LINE12, LINE13, LINE14, LINE15
.HIBYTES LINE16, LINE17, LINE18, LINE19, LINE20, LINE21, LINE22, LINE23
.HIBYTES LINE24, LINE25, LINE26, LINE27, LINE28, LINE29, LINE30, LINE31
.HIBYTES LINE32, LINE33, LINE34, LINE35, LINE36, LINE37, LINE38, LINE39
.HIBYTES LINE40, LINE41, LINE42, LINE43, LINE44, LINE45, LINE46, LINE47
.HIBYTES LINE48, LINE49, LINE50, LINE51, LINE52, LINE53, LINE54, LINE55
.HIBYTES LINE56, LINE57, LINE58, LINE59, LINE60, LINE61, LINE62, LINE63
.HIBYTES LINE64, LINE65, LINE66, LINE67, LINE68, LINE69, LINE70, LINE71
.HIBYTES LINE72, LINE73, LINE74, LINE75, LINE76, LINE77, LINE78, LINE79
.HIBYTES LINE80, LINE81, LINE82, LINE83, LINE84, LINE85, LINE86, LINE87
.HIBYTES LINE88, LINE89, LINE90, LINE91, LINE92, LINE93, LINE94, LINE95
.HIBYTES LINE96, LINE97, LINE98, LINE99, LINE100, LINE101, LINE102, LINE103
.HIBYTES LINE104, LINE105, LINE106, LINE107, LINE108, LINE109, LINE110, LINE111
.HIBYTES LINE112, LINE113, LINE114, LINE115, LINE116, LINE117, LINE118, LINE119
.HIBYTES LINE120, LINE121, LINE122, LINE123, LINE124, LINE125, LINE126, LINE127
.HIBYTES LINE128, LINE129, LINE130, LINE131, LINE132, LINE133, LINE134, LINE135
.HIBYTES LINE136, LINE137, LINE138, LINE139, LINE140, LINE141, LINE142, LINE143
.HIBYTES LINE144, LINE145, LINE146, LINE147, LINE148, LINE149, LINE150, LINE151
.HIBYTES LINE152, LINE153, LINE154, LINE155, LINE156, LINE157, LINE158, LINE159
.HIBYTES LINE160, LINE161, LINE162, LINE163, LINE164, LINE165, LINE166, LINE167
.HIBYTES LINE168, LINE169, LINE170, LINE171, LINE172, LINE173, LINE174, LINE175
.HIBYTES LINE176, LINE177, LINE178, LINE179, LINE180, LINE181, LINE182, LINE183
.HIBYTES LINE184, LINE185, LINE186, LINE187, LINE188, LINE189, LINE190, LINE191
page2HiAddrs:
.HIBYTES LINE0+$2000, LINE1+$2000, LINE2+$2000, LINE3+$2000, LINE4+$2000, LINE5+$2000, LINE6+$2000, LINE7+$2000
.HIBYTES LINE8+$2000, LINE9+$2000, LINE10+$2000, LINE11+$2000, LINE12+$2000, LINE13+$2000, LINE14+$2000, LINE15+$2000
.HIBYTES LINE16+$2000, LINE17+$2000, LINE18+$2000, LINE19+$2000, LINE20+$2000, LINE21+$2000, LINE22+$2000, LINE23+$2000
.HIBYTES LINE24+$2000, LINE25+$2000, LINE26+$2000, LINE27+$2000, LINE28+$2000, LINE29+$2000, LINE30+$2000, LINE31+$2000
.HIBYTES LINE32+$2000, LINE33+$2000, LINE34+$2000, LINE35+$2000, LINE36+$2000, LINE37+$2000, LINE38+$2000, LINE39+$2000
.HIBYTES LINE40+$2000, LINE41+$2000, LINE42+$2000, LINE43+$2000, LINE44+$2000, LINE45+$2000, LINE46+$2000, LINE47+$2000
.HIBYTES LINE48+$2000, LINE49+$2000, LINE50+$2000, LINE51+$2000, LINE52+$2000, LINE53+$2000, LINE54+$2000, LINE55+$2000
.HIBYTES LINE56+$2000, LINE57+$2000, LINE58+$2000, LINE59+$2000, LINE60+$2000, LINE61+$2000, LINE62+$2000, LINE63+$2000
.HIBYTES LINE64+$2000, LINE65+$2000, LINE66+$2000, LINE67+$2000, LINE68+$2000, LINE69+$2000, LINE70+$2000, LINE71+$2000
.HIBYTES LINE72+$2000, LINE73+$2000, LINE74+$2000, LINE75+$2000, LINE76+$2000, LINE77+$2000, LINE78+$2000, LINE79+$2000
.HIBYTES LINE80+$2000, LINE81+$2000, LINE82+$2000, LINE83+$2000, LINE84+$2000, LINE85+$2000, LINE86+$2000, LINE87+$2000
.HIBYTES LINE88+$2000, LINE89+$2000, LINE90+$2000, LINE91+$2000, LINE92+$2000, LINE93+$2000, LINE94+$2000, LINE95+$2000
.HIBYTES LINE96+$2000, LINE97+$2000, LINE98+$2000, LINE99+$2000, LINE100+$2000, LINE101+$2000, LINE102+$2000, LINE103+$2000
.HIBYTES LINE104+$2000, LINE105+$2000, LINE106+$2000, LINE107+$2000, LINE108+$2000, LINE109+$2000, LINE110+$2000, LINE111+$2000
.HIBYTES LINE112+$2000, LINE113+$2000, LINE114+$2000, LINE115+$2000, LINE116+$2000, LINE117+$2000, LINE118+$2000, LINE119+$2000
.HIBYTES LINE120+$2000, LINE121+$2000, LINE122+$2000, LINE123+$2000, LINE124+$2000, LINE125+$2000, LINE126+$2000, LINE127+$2000
.HIBYTES LINE128+$2000, LINE129+$2000, LINE130+$2000, LINE131+$2000, LINE132+$2000, LINE133+$2000, LINE134+$2000, LINE135+$2000
.HIBYTES LINE136+$2000, LINE137+$2000, LINE138+$2000, LINE139+$2000, LINE140+$2000, LINE141+$2000, LINE142+$2000, LINE143+$2000
.HIBYTES LINE144+$2000, LINE145+$2000, LINE146+$2000, LINE147+$2000, LINE148+$2000, LINE149+$2000, LINE150+$2000, LINE151+$2000
.HIBYTES LINE152+$2000, LINE153+$2000, LINE154+$2000, LINE155+$2000, LINE156+$2000, LINE157+$2000, LINE158+$2000, LINE159+$2000
.HIBYTES LINE160+$2000, LINE161+$2000, LINE162+$2000, LINE163+$2000, LINE164+$2000, LINE165+$2000, LINE166+$2000, LINE167+$2000
.HIBYTES LINE168+$2000, LINE169+$2000, LINE170+$2000, LINE171+$2000, LINE172+$2000, LINE173+$2000, LINE174+$2000, LINE175+$2000
.HIBYTES LINE176+$2000, LINE177+$2000, LINE178+$2000, LINE179+$2000, LINE180+$2000, LINE181+$2000, LINE182+$2000, LINE183+$2000
.HIBYTES LINE184+$2000, LINE185+$2000, LINE186+$2000, LINE187+$2000, LINE188+$2000, LINE189+$2000, LINE190+$2000, LINE191+$2000

18
colourgo/main.c Normal file
View File

@ -0,0 +1,18 @@
//
// main.c
// colourgo
//
// Created by Jeremy Rand on 2017-07-19.
// Copyright © 2017 Jeremy Rand. All rights reserved.
//
#include <stdio.h>
#include "game.h"
int main(void)
{
game();
return 0;
}

View File

@ -1,30 +0,0 @@
;
; main.s
; colourgo
;
; Created by Jeremy Rand on 2017-07-19.
; Copyright © 2017 Jeremy Rand. All rights reserved.
;
COUT = $fded
KEYBOARD = $c000
STROBE = $c010
main:
ldx #$00
loop:
lda msg, X
beq wait
ora #$80
jsr COUT
inx
jmp loop
wait:
lda KEYBOARD
bpl wait
lda STROBE
rts
msg: .asciiz "HELLO, WORLD"

Binary file not shown.

Binary file not shown.