mirror of
https://github.com/antoinevignau/source.git
synced 2025-02-06 05:30:43 +00:00
v+1
This commit is contained in:
parent
856c51e721
commit
d9b04facb5
Binary file not shown.
@ -670,7 +670,7 @@ L6469
|
|||||||
rep #$30
|
rep #$30
|
||||||
PushLong ptrSCREEN
|
PushLong ptrSCREEN
|
||||||
PushLong #HGR2
|
PushLong #HGR2
|
||||||
PushLong #32768
|
PushLong #hgrTOMOVE
|
||||||
_BlockMove
|
_BlockMove
|
||||||
sep #$30
|
sep #$30
|
||||||
|
|
||||||
@ -4700,7 +4700,7 @@ L8289 HEX 220F8888888888888888CCCFC4C5A0D2
|
|||||||
HEX A0
|
HEX A0
|
||||||
|
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
* PRINT CHAR - TOTO
|
* PRINT CHAR
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
|
|
||||||
coutHGR1 STA theA ; char in $1E
|
coutHGR1 STA theA ; char in $1E
|
||||||
@ -4791,73 +4791,135 @@ L82B4 STA hgrPAGE ; page in $1F
|
|||||||
mx %11
|
mx %11
|
||||||
|
|
||||||
*--- sprite de 2 de large
|
*--- sprite de 2 de large
|
||||||
|
*
|
||||||
L82DF LDY theYSCREEN
|
*L82DF LDY theYSCREEN
|
||||||
JSR setHGRPOINTER
|
* JSR setHGRPOINTER
|
||||||
LDY theXSCREEN
|
* LDY theXSCREEN
|
||||||
LDA [ptrHGR1],Y ; 1
|
* LDA [ptrHGR1],Y ; 1
|
||||||
AND theMASK1
|
* AND theMASK1
|
||||||
ORA sprDATA,X
|
* ORA sprDATA,X
|
||||||
STA [ptrHGR1],Y
|
* STA [ptrHGR1],Y
|
||||||
INX
|
* INX
|
||||||
INY
|
* INY
|
||||||
LDA [ptrHGR1],Y ; 2
|
* LDA [ptrHGR1],Y ; 2
|
||||||
AND theMASK2
|
* AND theMASK2
|
||||||
ORA sprDATA,X
|
* ORA sprDATA,X
|
||||||
STA [ptrHGR1],Y
|
* STA [ptrHGR1],Y
|
||||||
INX
|
* INX
|
||||||
INX
|
* INX
|
||||||
INC theYSCREEN
|
* INC theYSCREEN
|
||||||
DEC nbLINES
|
* DEC nbLINES
|
||||||
BNE L82DF
|
* BNE L82DF
|
||||||
RTS
|
* RTS
|
||||||
|
*
|
||||||
*--- sprite de 3 de large
|
*--- sprite de 3 de large
|
||||||
|
*
|
||||||
L8301 LDY theYSCREEN
|
*L8301 LDY theYSCREEN
|
||||||
JSR setHGRPOINTER
|
* JSR setHGRPOINTER
|
||||||
LDY theXSCREEN
|
* LDY theXSCREEN
|
||||||
LDA [ptrHGR1],Y ; 1
|
* LDA [ptrHGR1],Y ; 1
|
||||||
AND theMASK1
|
* AND theMASK1
|
||||||
ORA sprDATA,X
|
* ORA sprDATA,X
|
||||||
STA [ptrHGR1],Y
|
* STA [ptrHGR1],Y
|
||||||
INX
|
* INX
|
||||||
INY
|
* INY
|
||||||
LDA sprDATA,X ; 2
|
* LDA sprDATA,X ; 2
|
||||||
STA [ptrHGR1],Y
|
* STA [ptrHGR1],Y
|
||||||
INX
|
* INX
|
||||||
INY
|
* INY
|
||||||
LDA [ptrHGR1],Y ; 3
|
* LDA [ptrHGR1],Y ; 3
|
||||||
AND theMASK2
|
* AND theMASK2
|
||||||
ORA sprDATA,X
|
* ORA sprDATA,X
|
||||||
STA [ptrHGR1],Y
|
* STA [ptrHGR1],Y
|
||||||
INX
|
* INX
|
||||||
INC theYSCREEN
|
* INC theYSCREEN
|
||||||
DEC nbLINES
|
* DEC nbLINES
|
||||||
BNE L8301
|
* BNE L8301
|
||||||
RTS
|
* RTS
|
||||||
|
*
|
||||||
tblMASK1 HEX 000103070F1F3F ; mask1
|
*tblMASK1 HEX 000103070F1F3F ; mask1
|
||||||
tblMASK2 HEX F8F0E0C080FEFC ; mask2
|
*tblMASK2 HEX F8F0E0C080FEFC ; mask2
|
||||||
|
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
* DRAW SPRITE AT X,Y
|
* DRAW SPRITE AT X,Y - TOTO
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
* draw a sprite at real HGR X,Y (eg. 175,111)
|
* draw a sprite at real HGR X,Y (eg. 175,111)
|
||||||
|
|
||||||
drawSPRITEXY
|
drawSPRITEXY
|
||||||
STY theYSCREEN
|
STY theYSCREEN
|
||||||
STA theA
|
STA theA
|
||||||
|
jsr setHGRPOINTERS
|
||||||
JSR getXBYBI
|
JSR getXBYBI
|
||||||
STA theXSCREEN
|
STA theXSCREEN
|
||||||
STX sprTABLE
|
* STX sprTABLE
|
||||||
JSR getSPRITEDATA
|
* JSR getSPRITEDATA
|
||||||
LDX #sprHEIGHT ; nb lignes
|
* LDX #sprHEIGHT ; nb lignes
|
||||||
STX nbLINES
|
* STX nbLINES
|
||||||
LDX #$00
|
* LDX #$00
|
||||||
LDA sprTABLE
|
* LDA sprTABLE
|
||||||
CMP #$05
|
* CMP #$05
|
||||||
BCS L8376
|
* BCS L8376
|
||||||
|
|
||||||
|
rep #$30
|
||||||
|
lda #0
|
||||||
|
tax
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda #sprHEIGHT
|
||||||
|
sta nbLINES2
|
||||||
|
|
||||||
|
lda theXSCREEN ; Y for column
|
||||||
|
and #$ff
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda theA ; X for sprite
|
||||||
|
and #$ff
|
||||||
|
asl
|
||||||
|
tax
|
||||||
|
lda tblSPRITES,x
|
||||||
|
tax
|
||||||
|
|
||||||
|
]lp lda |$0000,x ; sprite
|
||||||
|
* eor #-1
|
||||||
|
and [ptrHGR1],y ; fond
|
||||||
|
ora [ptrHGR2],y ; fond
|
||||||
|
sta [ptrHGR1],y ; fond
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
inx
|
||||||
|
inx
|
||||||
|
|
||||||
|
lda |$0000,x ; sprite
|
||||||
|
* eor #-1
|
||||||
|
and [ptrHGR1],y ; fond
|
||||||
|
ora [ptrHGR2],y ; fond
|
||||||
|
sta [ptrHGR1],y ; fond
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
inx
|
||||||
|
inx
|
||||||
|
|
||||||
|
sep #$20
|
||||||
|
lda |$0000,x ; sprite
|
||||||
|
* eor #-1
|
||||||
|
and [ptrHGR1],y ; fond
|
||||||
|
ora [ptrHGR2],y ; fond
|
||||||
|
sta [ptrHGR1],y ; fond
|
||||||
|
rep #$20
|
||||||
|
|
||||||
|
iny
|
||||||
|
tya
|
||||||
|
clc
|
||||||
|
adc #160-5 ; 5 = 10 pixels
|
||||||
|
tay
|
||||||
|
inx
|
||||||
|
|
||||||
|
dec nbLINES2
|
||||||
|
bne ]lp
|
||||||
|
sep #$30
|
||||||
|
rts
|
||||||
|
|
||||||
|
mx %11
|
||||||
|
|
||||||
*--- sprite de 2 de large
|
*--- sprite de 2 de large
|
||||||
|
|
||||||
@ -4962,6 +5024,7 @@ L83C3 LDY theYSCREEN
|
|||||||
INC theYSCREEN
|
INC theYSCREEN
|
||||||
DEC nbLINES
|
DEC nbLINES
|
||||||
BNE L83C3
|
BNE L83C3
|
||||||
|
stz fgCOLLISION
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
*--- sprite de 3 de large
|
*--- sprite de 3 de large
|
||||||
@ -5001,6 +5064,7 @@ L83F5 LDY theYSCREEN
|
|||||||
INC theYSCREEN
|
INC theYSCREEN
|
||||||
DEC nbLINES
|
DEC nbLINES
|
||||||
BNE L83F5
|
BNE L83F5
|
||||||
|
stz fgCOLLISION
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
@ -5700,7 +5764,7 @@ calcHGRX TYA
|
|||||||
tblDELTAX HEX FEFF000102 ; -2, -1, 0, 1, 2
|
tblDELTAX HEX FEFF000102 ; -2, -1, 0, 1, 2
|
||||||
|
|
||||||
*-------------------------------
|
*-------------------------------
|
||||||
* CIRCLE ANIMATION
|
* CIRCLE ANIMATION - LOGO
|
||||||
*-------------------------------
|
*-------------------------------
|
||||||
|
|
||||||
circleANIMATION
|
circleANIMATION
|
||||||
@ -5713,6 +5777,12 @@ circleANIMATION
|
|||||||
|
|
||||||
*--- hide the level
|
*--- hide the level
|
||||||
|
|
||||||
|
rep #$30
|
||||||
|
PushWord #0
|
||||||
|
_ClearScreen
|
||||||
|
sep #$30
|
||||||
|
rts
|
||||||
|
|
||||||
LDX #$AA ; 170
|
LDX #$AA ; 170
|
||||||
STX $6D
|
STX $6D
|
||||||
LDX #$00 ; 0
|
LDX #$00 ; 0
|
||||||
@ -5729,6 +5799,15 @@ L88BD LDA #$01 ; 1
|
|||||||
STA $72 ; 1
|
STA $72 ; 1
|
||||||
JSR printMEN
|
JSR printMEN
|
||||||
JSR printLEVEL
|
JSR printLEVEL
|
||||||
|
|
||||||
|
rep #$30
|
||||||
|
PushLong #HGR2
|
||||||
|
PushLong ptrSCREEN
|
||||||
|
PushLong #hgrTOMOVE
|
||||||
|
_BlockMove
|
||||||
|
sep #$30
|
||||||
|
rts
|
||||||
|
|
||||||
L88CB JSR L88D7
|
L88CB JSR L88D7
|
||||||
INC $6D
|
INC $6D
|
||||||
LDA $6D
|
LDA $6D
|
||||||
|
@ -433,7 +433,14 @@ bitable DB $00 ; 0..4: sprite is 2-col wide
|
|||||||
|
|
||||||
*--- From a X in HGR (0..139) coordinate to a Y column in HGR (0..39)
|
*--- From a X in HGR (0..139) coordinate to a Y column in HGR (0..39)
|
||||||
|
|
||||||
xbytable DB $00 ; and the index within the table
|
xbytable
|
||||||
|
]debut = $0
|
||||||
|
lup 140
|
||||||
|
dfb <]debut
|
||||||
|
]debut = ]debut+2
|
||||||
|
--^
|
||||||
|
|
||||||
|
DB $00 ; and the index within the table
|
||||||
DB $00
|
DB $00
|
||||||
DB $00
|
DB $00
|
||||||
DB $00
|
DB $00
|
||||||
|
@ -35,6 +35,7 @@ maxHEIGHT = 192 ; lines
|
|||||||
|
|
||||||
hgrHEIGHT = 176
|
hgrHEIGHT = 176
|
||||||
hgrWIDTH = 160 ; 40
|
hgrWIDTH = 160 ; 40
|
||||||
|
hgrTOMOVE = 28160 ; 176*160
|
||||||
|
|
||||||
modeEDIT = 0 ; to decode level
|
modeEDIT = 0 ; to decode level
|
||||||
modeGAME = 1
|
modeGAME = 1
|
||||||
|
@ -348,16 +348,16 @@ spr00 hex 0000000000 ; empty
|
|||||||
hex 0000000000
|
hex 0000000000
|
||||||
hex 0000000000
|
hex 0000000000
|
||||||
hex 0000000000
|
hex 0000000000
|
||||||
spr01 hex 4444400040 ; diggable floor
|
spr01 hex 4444400044 ; diggable floor
|
||||||
hex 4444400040
|
hex 4444400044
|
||||||
hex 4444400040
|
hex 4444400044
|
||||||
hex 4444400040
|
hex 4444400044
|
||||||
hex 0000000000
|
hex 0000000000
|
||||||
hex 4000444440
|
hex 4000444444
|
||||||
hex 4000444440
|
hex 4000444444
|
||||||
hex 4000444440
|
hex 4000444444
|
||||||
hex 4000444440
|
hex 4000444444
|
||||||
hex 4000444440
|
hex 4000444444
|
||||||
hex 0000000000
|
hex 0000000000
|
||||||
spr02 hex 4444444440 ; solid floor
|
spr02 hex 4444444440 ; solid floor
|
||||||
hex 4444444440
|
hex 4444444440
|
||||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -187,7 +187,10 @@ noSOUND _HideMenuBar
|
|||||||
dex
|
dex
|
||||||
bpl ]lp
|
bpl ]lp
|
||||||
|
|
||||||
sep #$30 ; MAJ le banc des pages
|
jsr loadLEVELS ; exit 8-bit
|
||||||
|
|
||||||
|
mx %11
|
||||||
|
|
||||||
lda ptrSCREEN+2
|
lda ptrSCREEN+2
|
||||||
sta ptrHGR1+2
|
sta ptrHGR1+2
|
||||||
brl theGAME
|
brl theGAME
|
||||||
@ -294,7 +297,7 @@ loadLEVELS9 ldx #0 ; clear all levels
|
|||||||
]lp stal ptrLEVELS,x
|
]lp stal ptrLEVELS,x
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
cpx #38400+256
|
cpx #38400 ; 150 x 256
|
||||||
bcc ]lp
|
bcc ]lp
|
||||||
|
|
||||||
ldx #256-2
|
ldx #256-2
|
||||||
|
Loading…
x
Reference in New Issue
Block a user