mirror of
https://github.com/jeremysrand/a2bejwld.git
synced 2024-06-02 05:41:31 +00:00
Initial commit for an Apple // game based on Bejewelled.
This commit is contained in:
parent
e50e057406
commit
ecfaa194eb
|
@ -17,6 +17,10 @@
|
|||
9D6B47361D3FB16F00F6D704 /* prodos_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = prodos_template.dsk; path = make/prodos_template.dsk; sourceTree = "<group>"; };
|
||||
9D6B47371D3FB16F00F6D704 /* tail.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = tail.mk; path = make/tail.mk; sourceTree = "<group>"; };
|
||||
9D6B47381D3FB16F00F6D704 /* V2Make.scpt */ = {isa = PBXFileReference; lastKnownFileType = file; name = V2Make.scpt; path = make/V2Make.scpt; sourceTree = "<group>"; };
|
||||
9D6B473E1D3FB20000F6D704 /* dbllores.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = dbllores.s; sourceTree = "<group>"; };
|
||||
9D6B473F1D3FB5C800F6D704 /* dbllores.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dbllores.h; sourceTree = "<group>"; };
|
||||
9D6B47401D40098300F6D704 /* game.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = game.c; sourceTree = "<group>"; };
|
||||
9D6B47411D40098300F6D704 /* game.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = game.h; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
|
@ -31,6 +35,10 @@
|
|||
isa = PBXGroup;
|
||||
children = (
|
||||
9D6B472E1D3FB16F00F6D704 /* main.c */,
|
||||
9D6B47401D40098300F6D704 /* game.c */,
|
||||
9D6B47411D40098300F6D704 /* game.h */,
|
||||
9D6B473E1D3FB20000F6D704 /* dbllores.s */,
|
||||
9D6B473F1D3FB5C800F6D704 /* dbllores.h */,
|
||||
9D6B472F1D3FB16F00F6D704 /* Makefile */,
|
||||
9D6B47301D3FB16F00F6D704 /* make */,
|
||||
);
|
||||
|
|
|
@ -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 = "9D6B472C1D3FB16F00F6D704"
|
||||
BuildableName = "a2bejwld"
|
||||
BlueprintName = "a2bejwld"
|
||||
ReferencedContainer = "container:a2bejwld.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
|
@ -26,6 +42,15 @@
|
|||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D6B472C1D3FB16F00F6D704"
|
||||
BuildableName = "a2bejwld"
|
||||
BlueprintName = "a2bejwld"
|
||||
ReferencedContainer = "container:a2bejwld.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
|
@ -35,6 +60,15 @@
|
|||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D6B472C1D3FB16F00F6D704"
|
||||
BuildableName = "a2bejwld"
|
||||
BlueprintName = "a2bejwld"
|
||||
ReferencedContainer = "container:a2bejwld.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
|
|
|
@ -30,7 +30,7 @@ PGM=a2bejwld
|
|||
# MACHINE = apple2-reboot
|
||||
# MACHINE = apple2enh
|
||||
# MACHINE = apple2enh-dos33
|
||||
# MACHINE = apple2enh-system
|
||||
MACHINE = apple2enh-system
|
||||
# MACHINE = apple2enh-loader
|
||||
# MACHINE = apple2enh-reboot
|
||||
|
||||
|
@ -43,7 +43,7 @@ PGM=a2bejwld
|
|||
# the one you want below (the first one is the default):
|
||||
# CPU = 6502
|
||||
# CPU = 65SC02
|
||||
# CPU = 65C02
|
||||
CPU = 65C02
|
||||
# CPU = 65816
|
||||
# Note: You can assemble for 65816 in 16-bit mode but the C compiler
|
||||
# will only produce 8-bit code.
|
||||
|
|
31
a2bejwld/dbllores.h
Normal file
31
a2bejwld/dbllores.h
Normal file
|
@ -0,0 +1,31 @@
|
|||
//
|
||||
// dbllores.h
|
||||
// a2bejwld
|
||||
//
|
||||
// Created by Jeremy Rand on 2016-07-20.
|
||||
// Copyright © 2016 Jeremy Rand. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef __a2bejwld__dbllores__
|
||||
#define __a2bejwld__dbllores__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
void __fastcall__ showDblLoRes(void);
|
||||
void __fastcall__ clearDblLoRes(void);
|
||||
|
||||
void __fastcall__ drawBgSquare(uint8_t square);
|
||||
|
||||
void __fastcall__ drawBlueGem(uint8_t square);
|
||||
void __fastcall__ drawYellowGem(uint8_t square);
|
||||
void __fastcall__ drawRedGem(uint8_t square);
|
||||
void __fastcall__ drawGreenGem(uint8_t square);
|
||||
void __fastcall__ drawOrangeGem(uint8_t square);
|
||||
void __fastcall__ drawGreyGem(uint8_t square);
|
||||
void __fastcall__ drawPurpleGem(uint8_t square);
|
||||
|
||||
void __fastcall__ selectSquare(uint8_t square);
|
||||
|
||||
|
||||
#endif /* defined(__a2bejwld__dbllores__) */
|
612
a2bejwld/dbllores.s
Normal file
612
a2bejwld/dbllores.s
Normal file
|
@ -0,0 +1,612 @@
|
|||
;
|
||||
; dbllores.s
|
||||
; a2bejwld
|
||||
;
|
||||
; Created by Jeremy Rand on 2016-07-20.
|
||||
; Copyright © 2016 Jeremy Rand. All rights reserved.
|
||||
;
|
||||
|
||||
.export _showDblLoRes, _clearDblLoRes, _drawBgSquare
|
||||
.export _drawGreenGem, _drawPurpleGem, _drawYellowGem
|
||||
.export _drawBlueGem, _drawRedGem, _drawGreyGem
|
||||
.export _drawOrangeGem, _selectSquare
|
||||
|
||||
.include "apple2.inc"
|
||||
|
||||
SETAN3 := $C05E
|
||||
SET80VID := $C00D
|
||||
|
||||
LINE1 := $400
|
||||
LINE2 := $480
|
||||
LINE3 := $500
|
||||
LINE4 := $580
|
||||
LINE5 := $600
|
||||
LINE6 := $680
|
||||
LINE7 := $700
|
||||
LINE8 := $780
|
||||
LINE9 := $428
|
||||
LINE10 := $4a8
|
||||
LINE11 := $528
|
||||
LINE12 := $5a8
|
||||
LINE13 := $628
|
||||
LINE14 := $6a8
|
||||
LINE15 := $728
|
||||
LINE16 := $7a8
|
||||
LINE17 := $450
|
||||
LINE18 := $4d0
|
||||
LINE19 := $550
|
||||
LINE20 := $5d0
|
||||
LINE21 := $650
|
||||
LINE22 := $6d0
|
||||
LINE23 := $750
|
||||
LINE24 := $7d0
|
||||
|
||||
|
||||
; I get a linker error with this so I am hard coding some ZP addresses instead
|
||||
; .ZEROPAGE
|
||||
; line1addr: .WORD $0
|
||||
; line2addr: .WORD $0
|
||||
; line3addr: .WORD $0
|
||||
line1addr := $82
|
||||
line2addr := $84
|
||||
line3addr := $86
|
||||
gemaddr := $88
|
||||
gemmask := $8A
|
||||
|
||||
|
||||
.proc _showDblLoRes
|
||||
lda TXTCLR
|
||||
lda SETAN3
|
||||
sta SET80VID
|
||||
sta SET80COL
|
||||
rts
|
||||
.endproc
|
||||
|
||||
.proc _clearDblLoRes
|
||||
sta LOWSCR
|
||||
ldx #40
|
||||
@L1:
|
||||
dex
|
||||
stz LINE1, X
|
||||
stz LINE2, X
|
||||
stz LINE3, X
|
||||
stz LINE4, X
|
||||
stz LINE5, X
|
||||
stz LINE6, X
|
||||
stz LINE7, X
|
||||
stz LINE8, X
|
||||
stz LINE9, X
|
||||
stz LINE10, X
|
||||
stz LINE11, X
|
||||
stz LINE12, X
|
||||
stz LINE13, X
|
||||
stz LINE14, X
|
||||
stz LINE15, X
|
||||
stz LINE16, X
|
||||
stz LINE17, X
|
||||
stz LINE18, X
|
||||
stz LINE19, X
|
||||
stz LINE20, X
|
||||
stz LINE21, X
|
||||
stz LINE22, X
|
||||
stz LINE23, X
|
||||
stz LINE24, X
|
||||
bne @L1
|
||||
|
||||
sta HISCR
|
||||
ldx #40
|
||||
@L2:
|
||||
dex
|
||||
stz LINE1, X
|
||||
stz LINE2, X
|
||||
stz LINE3, X
|
||||
stz LINE4, X
|
||||
stz LINE5, X
|
||||
stz LINE6, X
|
||||
stz LINE7, X
|
||||
stz LINE8, X
|
||||
stz LINE9, X
|
||||
stz LINE10, X
|
||||
stz LINE11, X
|
||||
stz LINE12, X
|
||||
stz LINE13, X
|
||||
stz LINE14, X
|
||||
stz LINE15, X
|
||||
stz LINE16, X
|
||||
stz LINE17, X
|
||||
stz LINE18, X
|
||||
stz LINE19, X
|
||||
stz LINE20, X
|
||||
stz LINE21, X
|
||||
stz LINE22, X
|
||||
stz LINE23, X
|
||||
stz LINE24, X
|
||||
bne @L2
|
||||
|
||||
rts
|
||||
.endproc
|
||||
|
||||
|
||||
.proc _drawBgSquare
|
||||
; A is the square position (from 0 to 63)
|
||||
; 0 through 7 are on the top row
|
||||
tax
|
||||
lda bgColor,X
|
||||
sta color
|
||||
|
||||
txa
|
||||
sta square
|
||||
|
||||
and #7
|
||||
sta xPos
|
||||
lda square
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
|
||||
; Get line addrs
|
||||
tax
|
||||
lda bgLoLines1,X
|
||||
sta line1addr
|
||||
lda bgHiLines1,X
|
||||
sta line1addr+1
|
||||
|
||||
lda bgLoLines2,X
|
||||
sta line2addr
|
||||
lda bgHiLines2,X
|
||||
sta line2addr+1
|
||||
|
||||
lda bgLoLines3,X
|
||||
sta line3addr
|
||||
lda bgHiLines3,X
|
||||
sta line3addr+1
|
||||
|
||||
; Write the square
|
||||
lda xPos
|
||||
asl
|
||||
asl
|
||||
tay
|
||||
lda color
|
||||
ldx #4
|
||||
@L1:
|
||||
sta LOWSCR
|
||||
sta (line1addr),Y
|
||||
sta (line2addr),Y
|
||||
sta (line3addr),Y
|
||||
|
||||
sta HISCR
|
||||
sta (line1addr),Y
|
||||
sta (line2addr),Y
|
||||
sta (line3addr),Y
|
||||
|
||||
iny
|
||||
dex
|
||||
bne @L1
|
||||
|
||||
|
||||
rts
|
||||
; Locals
|
||||
|
||||
xPos: .BYTE $0
|
||||
square: .BYTE $0
|
||||
color: .BYTE $0
|
||||
.endproc
|
||||
|
||||
|
||||
.proc _drawGem
|
||||
; A is the square position (from 0 to 63)
|
||||
; 0 through 7 are on the top row
|
||||
sta square
|
||||
|
||||
and #7
|
||||
asl
|
||||
asl
|
||||
sta xPos
|
||||
lda square
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
|
||||
; Get line addrs
|
||||
tax
|
||||
lda bgLoLines1,X
|
||||
clc
|
||||
adc xPos
|
||||
sta line1addr
|
||||
lda bgHiLines1,X
|
||||
sta line1addr+1
|
||||
|
||||
lda bgLoLines2,X
|
||||
clc
|
||||
adc xPos
|
||||
sta line2addr
|
||||
lda bgHiLines2,X
|
||||
sta line2addr+1
|
||||
|
||||
lda bgLoLines3,X
|
||||
clc
|
||||
adc xPos
|
||||
sta line3addr
|
||||
lda bgHiLines3,X
|
||||
sta line3addr+1
|
||||
|
||||
; Draw the gem
|
||||
ldy #0
|
||||
ldx #4
|
||||
@L1:
|
||||
sta HISCR
|
||||
lda (line1addr)
|
||||
sta square
|
||||
lda (gemmask),Y
|
||||
and square
|
||||
sta square
|
||||
lda (gemaddr),Y
|
||||
ora square
|
||||
sta (line1addr)
|
||||
iny
|
||||
|
||||
lda (line2addr)
|
||||
sta square
|
||||
lda (gemmask),Y
|
||||
and square
|
||||
sta square
|
||||
lda (gemaddr),Y
|
||||
ora square
|
||||
sta (line2addr)
|
||||
iny
|
||||
|
||||
lda (line3addr)
|
||||
sta square
|
||||
lda (gemmask),Y
|
||||
and square
|
||||
sta square
|
||||
lda (gemaddr),Y
|
||||
ora square
|
||||
sta (line3addr)
|
||||
iny
|
||||
|
||||
sta LOWSCR
|
||||
lda (line1addr)
|
||||
sta square
|
||||
lda (gemmask),Y
|
||||
and square
|
||||
sta square
|
||||
lda (gemaddr),Y
|
||||
ora square
|
||||
sta (line1addr)
|
||||
iny
|
||||
|
||||
lda (line2addr)
|
||||
sta square
|
||||
lda (gemmask),Y
|
||||
and square
|
||||
sta square
|
||||
lda (gemaddr),Y
|
||||
ora square
|
||||
sta (line2addr)
|
||||
iny
|
||||
|
||||
lda (line3addr)
|
||||
sta square
|
||||
lda (gemmask),Y
|
||||
and square
|
||||
sta square
|
||||
lda (gemaddr),Y
|
||||
ora square
|
||||
sta (line3addr)
|
||||
iny
|
||||
|
||||
dex
|
||||
beq @L2
|
||||
|
||||
inc line1addr
|
||||
inc line2addr
|
||||
inc line3addr
|
||||
|
||||
jmp @L1
|
||||
@L2:
|
||||
|
||||
rts
|
||||
; Locals
|
||||
|
||||
xPos: .BYTE $0
|
||||
square: .BYTE $0
|
||||
.endproc
|
||||
|
||||
.proc _drawGreenGem
|
||||
ldx #<greenGem
|
||||
stx gemaddr
|
||||
ldx #>greenGem
|
||||
stx gemaddr+1
|
||||
ldx #<greenMask
|
||||
stx gemmask
|
||||
ldx #>greenMask
|
||||
stx gemmask+1
|
||||
jmp _drawGem
|
||||
.endproc
|
||||
|
||||
.proc _drawPurpleGem
|
||||
ldx #<purpleGem
|
||||
stx gemaddr
|
||||
ldx #>purpleGem
|
||||
stx gemaddr+1
|
||||
ldx #<purpleMask
|
||||
stx gemmask
|
||||
ldx #>purpleMask
|
||||
stx gemmask+1
|
||||
jmp _drawGem
|
||||
.endproc
|
||||
|
||||
.proc _drawYellowGem
|
||||
ldx #<yellowGem
|
||||
stx gemaddr
|
||||
ldx #>yellowGem
|
||||
stx gemaddr+1
|
||||
ldx #<yellowMask
|
||||
stx gemmask
|
||||
ldx #>yellowMask
|
||||
stx gemmask+1
|
||||
jmp _drawGem
|
||||
.endproc
|
||||
|
||||
.proc _drawBlueGem
|
||||
ldx #<blueGem
|
||||
stx gemaddr
|
||||
ldx #>blueGem
|
||||
stx gemaddr+1
|
||||
ldx #<blueMask
|
||||
stx gemmask
|
||||
ldx #>blueMask
|
||||
stx gemmask+1
|
||||
jmp _drawGem
|
||||
.endproc
|
||||
|
||||
.proc _drawRedGem
|
||||
ldx #<redGem
|
||||
stx gemaddr
|
||||
ldx #>redGem
|
||||
stx gemaddr+1
|
||||
ldx #<redMask
|
||||
stx gemmask
|
||||
ldx #>redMask
|
||||
stx gemmask+1
|
||||
jmp _drawGem
|
||||
.endproc
|
||||
|
||||
.proc _drawGreyGem
|
||||
ldx #<greyGem
|
||||
stx gemaddr
|
||||
ldx #>greyGem
|
||||
stx gemaddr+1
|
||||
ldx #<greyMask
|
||||
stx gemmask
|
||||
ldx #>greyMask
|
||||
stx gemmask+1
|
||||
jmp _drawGem
|
||||
.endproc
|
||||
|
||||
.proc _drawOrangeGem
|
||||
ldx #<orangeGem
|
||||
stx gemaddr
|
||||
ldx #>orangeGem
|
||||
stx gemaddr+1
|
||||
ldx #<orangeMask
|
||||
stx gemmask
|
||||
ldx #>orangeMask
|
||||
stx gemmask+1
|
||||
jmp _drawGem
|
||||
.endproc
|
||||
|
||||
.proc _selectSquare
|
||||
ldx #<selectGem
|
||||
stx gemaddr
|
||||
ldx #>selectGem
|
||||
stx gemaddr+1
|
||||
ldx #<selectMask
|
||||
stx gemmask
|
||||
ldx #>selectMask
|
||||
stx gemmask+1
|
||||
jmp _drawGem
|
||||
.endproc
|
||||
|
||||
|
||||
.DATA
|
||||
lineAddrs:
|
||||
.WORD LINE1, LINE2, LINE3, LINE4, LINE5, LINE6, LINE7, LINE8
|
||||
.WORD LINE9, LINE10, LINE11, LINE12, LINE13, LINE14, LINE15, LINE16
|
||||
.WORD LINE17, LINE18, LINE19, LINE20, LINE21, LINE22, LINE23, LINE24
|
||||
|
||||
lineLoAddrs:
|
||||
.LOBYTES LINE1, LINE2, LINE3, LINE4, LINE5, LINE6, LINE7, LINE8
|
||||
.LOBYTES LINE9, LINE10, LINE11, LINE12, LINE13, LINE14, LINE15, LINE16
|
||||
.LOBYTES LINE17, LINE18, LINE19, LINE20, LINE21, LINE22, LINE23, LINE24
|
||||
|
||||
lineHiAddrs:
|
||||
.HIBYTES LINE1, LINE2, LINE3, LINE4, LINE5, LINE6, LINE7, LINE8
|
||||
.HIBYTES LINE9, LINE10, LINE11, LINE12, LINE13, LINE14, LINE15, LINE16
|
||||
.HIBYTES LINE17, LINE18, LINE19, LINE20, LINE21, LINE22, LINE23, LINE24
|
||||
|
||||
; Index this with (xPos << 3) + yPos
|
||||
bgColor:
|
||||
.BYTE $0, $55, $0, $55, $0, $55, $0, $55
|
||||
.BYTE $55, $0, $55, $0, $55, $0, $55, $0
|
||||
.BYTE $0, $55, $0, $55, $0, $55, $0, $55
|
||||
.BYTE $55, $0, $55, $0, $55, $0, $55, $0
|
||||
.BYTE $0, $55, $0, $55, $0, $55, $0, $55
|
||||
.BYTE $55, $0, $55, $0, $55, $0, $55, $0
|
||||
.BYTE $0, $55, $0, $55, $0, $55, $0, $55
|
||||
.BYTE $55, $0, $55, $0, $55, $0, $55, $0
|
||||
|
||||
bgLoLines1:
|
||||
.LOBYTES LINE1, LINE4, LINE7, LINE10, LINE13, LINE16, LINE19, LINE22
|
||||
bgLoLines2:
|
||||
.LOBYTES LINE2, LINE5, LINE8, LINE11, LINE14, LINE17, LINE20, LINE23
|
||||
bgLoLines3:
|
||||
.LOBYTES LINE3, LINE6, LINE9, LINE12, LINE15, LINE18, LINE21, LINE24
|
||||
|
||||
bgHiLines1:
|
||||
.HIBYTES LINE1, LINE4, LINE7, LINE10, LINE13, LINE16, LINE19, LINE22
|
||||
bgHiLines2:
|
||||
.HIBYTES LINE2, LINE5, LINE8, LINE11, LINE14, LINE17, LINE20, LINE23
|
||||
bgHiLines3:
|
||||
.HIBYTES LINE3, LINE6, LINE9, LINE12, LINE15, LINE18, LINE21, LINE24
|
||||
|
||||
|
||||
greenGem:
|
||||
.BYTE $00, $00, $00
|
||||
.BYTE $00, $cc, $00
|
||||
.BYTE $c0, $cc, $0c
|
||||
.BYTE $c0, $cc, $0c
|
||||
.BYTE $c0, $cc, $0c
|
||||
.BYTE $c0, $cc, $0c
|
||||
.BYTE $00, $cc, $00
|
||||
.BYTE $00, $00, $00
|
||||
greenMask:
|
||||
.BYTE $ff, $ff, $ff
|
||||
.BYTE $ff, $00, $ff
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $ff, $00, $ff
|
||||
.BYTE $ff, $ff, $ff
|
||||
|
||||
|
||||
purpleGem:
|
||||
.BYTE $00, $00, $00
|
||||
.BYTE $00, $30, $03
|
||||
.BYTE $00, $33, $03
|
||||
.BYTE $30, $33, $03
|
||||
.BYTE $30, $33, $03
|
||||
.BYTE $00, $33, $03
|
||||
.BYTE $00, $30, $03
|
||||
.BYTE $00, $00, $00
|
||||
purpleMask:
|
||||
.BYTE $ff, $ff, $ff
|
||||
.BYTE $ff, $0f, $f0
|
||||
.BYTE $ff, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $ff, $00, $f0
|
||||
.BYTE $ff, $0f, $f0
|
||||
.BYTE $ff, $ff, $ff
|
||||
|
||||
|
||||
yellowGem:
|
||||
.BYTE $00, $00, $00
|
||||
.BYTE $00, $00, $00
|
||||
.BYTE $00, $dd, $00
|
||||
.BYTE $d0, $dd, $0d
|
||||
.BYTE $d0, $dd, $0d
|
||||
.BYTE $00, $dd, $00
|
||||
.BYTE $00, $00, $00
|
||||
.BYTE $00, $00, $00
|
||||
yellowMask:
|
||||
.BYTE $ff, $ff, $ff
|
||||
.BYTE $ff, $ff, $ff
|
||||
.BYTE $ff, $00, $ff
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $ff, $00, $ff
|
||||
.BYTE $ff, $ff, $ff
|
||||
.BYTE $ff, $ff, $ff
|
||||
|
||||
|
||||
blueGem:
|
||||
.BYTE $00, $00, $00
|
||||
.BYTE $00, $06, $00
|
||||
.BYTE $60, $66, $00
|
||||
.BYTE $60, $66, $06
|
||||
.BYTE $60, $66, $06
|
||||
.BYTE $60, $66, $00
|
||||
.BYTE $00, $06, $00
|
||||
.BYTE $00, $00, $00
|
||||
blueMask:
|
||||
.BYTE $ff, $ff, $ff
|
||||
.BYTE $ff, $f0, $ff
|
||||
.BYTE $0f, $00, $ff
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $ff
|
||||
.BYTE $ff, $f0, $ff
|
||||
.BYTE $ff, $ff, $ff
|
||||
|
||||
|
||||
redGem:
|
||||
.BYTE $00, $00, $00
|
||||
.BYTE $10, $11, $01
|
||||
.BYTE $10, $11, $01
|
||||
.BYTE $10, $11, $01
|
||||
.BYTE $10, $11, $01
|
||||
.BYTE $10, $11, $01
|
||||
.BYTE $10, $11, $01
|
||||
.BYTE $00, $00, $00
|
||||
redMask:
|
||||
.BYTE $ff, $ff, $ff
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $ff, $ff, $ff
|
||||
|
||||
|
||||
greyGem:
|
||||
.BYTE $00, $00, $00
|
||||
.BYTE $00, $aa, $00
|
||||
.BYTE $a0, $aa, $0a
|
||||
.BYTE $a0, $aa, $0a
|
||||
.BYTE $a0, $aa, $0a
|
||||
.BYTE $a0, $aa, $0a
|
||||
.BYTE $00, $aa, $00
|
||||
.BYTE $00, $00, $00
|
||||
greyMask:
|
||||
.BYTE $ff, $ff, $ff
|
||||
.BYTE $ff, $00, $ff
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $ff, $00, $ff
|
||||
.BYTE $ff, $ff, $ff
|
||||
|
||||
|
||||
orangeGem:
|
||||
.BYTE $00, $00, $00
|
||||
.BYTE $00, $99, $00
|
||||
.BYTE $90, $99, $09
|
||||
.BYTE $90, $99, $09
|
||||
.BYTE $90, $99, $09
|
||||
.BYTE $90, $99, $09
|
||||
.BYTE $00, $99, $00
|
||||
.BYTE $00, $00, $00
|
||||
orangeMask:
|
||||
.BYTE $ff, $ff, $ff
|
||||
.BYTE $ff, $00, $ff
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $ff, $00, $ff
|
||||
.BYTE $ff, $ff, $ff
|
||||
|
||||
|
||||
selectGem:
|
||||
.BYTE $ff, $ff, $ff
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $0f, $00, $f0
|
||||
.BYTE $ff, $ff, $ff
|
||||
selectMask:
|
||||
.BYTE $00, $00, $00
|
||||
.BYTE $f0, $ff, $0f
|
||||
.BYTE $f0, $ff, $0f
|
||||
.BYTE $f0, $ff, $0f
|
||||
.BYTE $f0, $ff, $0f
|
||||
.BYTE $f0, $ff, $0f
|
||||
.BYTE $f0, $ff, $0f
|
||||
.BYTE $00, $00, $00
|
11
a2bejwld/game.c
Normal file
11
a2bejwld/game.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
//
|
||||
// game.c
|
||||
// a2bejwld
|
||||
//
|
||||
// Created by Jeremy Rand on 2016-07-20.
|
||||
// Copyright © 2016 Jeremy Rand. All rights reserved.
|
||||
//
|
||||
|
||||
#include "game.h"
|
||||
|
||||
|
15
a2bejwld/game.h
Normal file
15
a2bejwld/game.h
Normal file
|
@ -0,0 +1,15 @@
|
|||
//
|
||||
// game.h
|
||||
// a2bejwld
|
||||
//
|
||||
// Created by Jeremy Rand on 2016-07-20.
|
||||
// Copyright © 2016 Jeremy Rand. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef __a2bejwld__game__
|
||||
#define __a2bejwld__game__
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* defined(__a2bejwld__game__) */
|
|
@ -9,12 +9,57 @@
|
|||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <conio.h>
|
||||
|
||||
#include "dbllores.h"
|
||||
|
||||
|
||||
int main(void)
|
||||
{
|
||||
printf("HELLO, WORLD!\n");
|
||||
uint8_t square;
|
||||
|
||||
srand(0);
|
||||
|
||||
showDblLoRes();
|
||||
clearDblLoRes();
|
||||
|
||||
for (square = 0; square < 64; square++) {
|
||||
drawBgSquare(square);
|
||||
|
||||
switch (rand() % 7) {
|
||||
case 0:
|
||||
drawOrangeGem(square);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
drawBlueGem(square);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
drawRedGem(square);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
drawGreyGem(square);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
drawYellowGem(square);
|
||||
break;
|
||||
|
||||
case 5:
|
||||
drawPurpleGem(square);
|
||||
break;
|
||||
|
||||
case 6:
|
||||
drawGreenGem(square);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
selectSquare(19);
|
||||
|
||||
cgetc();
|
||||
return 0;
|
||||
}
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user