sa: more work on ending

This commit is contained in:
Vince Weaver 2018-06-01 00:46:54 -04:00
parent 7bc95c55fd
commit a752622671
6 changed files with 196 additions and 32 deletions

View File

@ -4,7 +4,7 @@ MEMORY {
}
SEGMENTS {
CODE: load = RAM, type = ro;
CODE: load = RAM, type = ro, align=$1000;
RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw;
BSS: load = RAM, type = bss, define = yes;

View File

@ -7,9 +7,9 @@ all: still_alive.dsk
still_alive.dsk: STILL_ALIVE TITLE.BAS ENDING
$(DOS33) -y still_alive.dsk BSAVE -a 0x0C00 STILL_ALIVE
$(DOS33) -y still_alive.dsk BSAVE -a 0x4000 ENDING
$(DOS33) -y still_alive.dsk BSAVE -a 0x2000 ENDING
$(DOS33) -y still_alive.dsk SAVE A TITLE.BAS
# $(DOS33) -y still_alive.dsk SAVE B GLADOS.HGR
STILL_ALIVE: still_alive.o
ld65 -o STILL_ALIVE still_alive.o -C ../linker_scripts/apple2_c00.inc
@ -23,7 +23,7 @@ still_alive.o: still_alive.s \
ca65 -o still_alive.o still_alive.s -l still_alive.lst
ENDING: ending.o
ld65 -o ENDING ending.o -C ../linker_scripts/apple2_4000.inc
ld65 -o ENDING ending.o -C ../linker_scripts/apple2_2000.inc
ending.o: ending.s \
GLADOS.HGR

View File

@ -45,7 +45,7 @@ Memory Map
0400: Text Page 0 (AUX 0400: 80 column text)
2000: HGR Page0
4000: HGP Page1
4000: HGR Page1
9600: DOS 37.5k
C000: I/O Space
D000: ROM

View File

@ -19,6 +19,10 @@ HGR_SCALE EQU $E7
HGR_COLLISIONS EQU $EA
HGR_ROTATION EQU $F9
X1 EQU $FD
X2 EQU $FE
Y1 EQU $FF
HCLR EQU $F3F2
HPOSN EQU $F411
HPLOT0 EQU $F457
@ -35,59 +39,216 @@ COLORTBL EQU $F6F6
bit TEXTGR ; mixed text/graphics
bit PAGE0 ; first graphics page
jsr HOME
bit PAGE1 ; first graphics page
lda #$20
lda #$40
sta HGR_PAGE
jsr HCLR
; jsr HCLR
; lda #0
; sta HGR_ROTATION
; lda #1
; sta HGR_SCALE
lda #0
sta HGR_ROTATION
lda #1
sta HGR_SCALE
; jsr hgr_clear
; lda #<chell_right
; sta HGR_SHAPE
; lda #>chell_right
; sta HGR_SHAPE+1
;======================
; Draw Chell
;======================
lda #<chell_right
sta HGR_SHAPE
lda #>chell_right
sta HGR_SHAPE+1
; HFNS puts X-coord in Y,X, Y-coord in A
; HPOSN sets up GBASL/GBASH
; ldy #0
; lda #100
; tax
; jsr HPOSN
ldy #0
lda #112
ldx #69
jsr HPOSN
; lda HGR_ROTATION ; rotation
lda HGR_ROTATION ; rotation
; jsr XDRAW1
jsr XDRAW1
; HCOLOR=3
ldx #3
;======================
; Draw Blue Core
;======================
lda #<blue_core
sta HGR_SHAPE
lda #>blue_core
sta HGR_SHAPE+1
; HFNS puts X-coord in Y,X, Y-coord in A
; HPOSN sets up GBASL/GBASH
; 2005 SCALE=1:KX=150:KY=65:XDRAW 7 AT KX,KY:KO=0
ldy #0
lda #65
ldx #150
jsr HPOSN
lda HGR_ROTATION ; rotation
jsr XDRAW1
;=====================================
; Draw Explosion
;=====================================
; HCOLOR=5
ldx #5
lda COLORTBL,X ; get color pattern from table
sta HGR_COLOR
; HPLOT 100,100 to 150,150
;4010 FOR X=0 TO 278 STEP 5:HPLOT X,0 TO 120,85:V=PEEK(-16336):NEXT X
lda #0
sta X1
sta X2
loop1:
bit $C030
; HPLOT X,0 to 120,85
; X= (y,x), Y=a
ldy #0
lda #100
ldx #100
ldy X2
ldx X1
lda #0
jsr HPLOT0
; X=(x,a), y=Y
lda #150
lda #120
ldx #0
ldy #150
ldy #85
jsr HGLIN
clc
lda X1
adc #5
sta X1
lda X2
adc #0
sta X2
cmp #1
bne loop1
lda X1
cmp #22
bcc loop1
;4015 FOR Y=0 TO 159 STEP 5:HPLOT 278,Y TO 120,85:V=PEEK(-16336):NEXT Y
lda #0
sta Y1
loop2:
bit $C030
; HPLOT 278,Y to 120,85
; X= (y,x), Y=a
ldy #1
ldx #22
lda Y1
jsr HPLOT0
; X=(x,a), y=Y
lda #120
ldx #0
ldy #85
jsr HGLIN
clc
lda Y1
adc #5
sta Y1
cmp #159
bcc loop2
;4020 FOR X=278 TO 0 STEP -5:HPLOT X,159 TO 120,85:V=PEEK(-16336):NEXT X
lda #22
sta X1
lda #1
sta X2
loop3:
bit $C030
; HPLOT X,159 to 120,85
; X= (y,x), Y=a
ldy X2
ldx X1
lda #159
jsr HPLOT0
; X=(x,a), y=Y
lda #120
ldx #0
ldy #85
jsr HGLIN
sec
lda X1
sbc #5
sta X1
lda X2
sbc #0
sta X2
cmp #0
bne loop3
lda X1
cmp #5
bcs loop3
;4025 FOR Y=159 TO 0 STEP -5:HPLOT 0,Y TO 120,85:V=PEEK(-16336):NEXT Y
lda #159
sta Y1
loop4:
bit $C030
; HPLOT 0,Y to 120,85
; X= (y,x), Y=a
ldy #0
ldx #0
lda Y1
jsr HPLOT0
; X=(x,a), y=Y
lda #120
ldx #0
ldy #85
jsr HGLIN
sec
lda Y1
sbc #5
sta Y1
cmp #5
bcs loop4
infinite_loop:
jmp infinite_loop
@ -101,5 +262,7 @@ infinite_loop:
; Shape Table
.include "objects_shape.inc"
.align 8192
; Graphics Background
.incbin "GLADOS.HGR"
.incbin "GLADOS.HGR",4

View File

@ -158,5 +158,6 @@ chell_right:
; RT DN RT DN LT DN RT DN NLT LT DN LT LT LT
; STOP
blue_core:
.byte $fa,$24,$0d,$0d,$36,$9f,$3a,$3f, $3c,$3c,$2c,$3c,$0c,$25,$2d,$2d
.byte $2d,$2e,$2e,$3e,$2e,$1e,$37,$3f, $07,$00

Binary file not shown.