1
0
mirror of https://github.com/sehugg/8bitworkshop.git synced 2024-12-01 13:50:30 +00:00

fixed VCS presets for MAME compatibility

This commit is contained in:
Steven Hugg 2017-05-13 08:08:36 -04:00
parent 82a87330ac
commit 7c18e1a27c
4 changed files with 27 additions and 23 deletions

View File

@ -97,8 +97,6 @@ Start CLEAN_START
sta XBall sta XBall
ldx #4 ldx #4
jsr SetHorizPos2 jsr SetHorizPos2
sta WSYNC
sta HMOVE
; Set ball initial velocity ; Set ball initial velocity
lda #1 lda #1
sta YBallVel sta YBallVel
@ -235,7 +233,7 @@ ScanLoop3a
DRAW_BALL ; draw the ball on this line? DRAW_BALL ; draw the ball on this line?
ScanSkipSync ScanSkipSync
sta WSYNC sta WSYNC
< stx COLUPF ; change colors for bricks stx COLUPF ; change colors for bricks
; Load the first byte of bricks ; Load the first byte of bricks
; Bricks are stored in six contiguous arrays (row-major) ; Bricks are stored in six contiguous arrays (row-major)
lda Bricks+NBL*0,y lda Bricks+NBL*0,y
@ -492,14 +490,10 @@ SkipMoveRight
lda XBall lda XBall
ldx #4 ldx #4
jsr SetHorizPos2 jsr SetHorizPos2
sta WSYNC
sta HMOVE
; Set player position using SetHorizPos ; Set player position using SetHorizPos
lda XPlyr lda XPlyr
ldx #0 ldx #0
jsr SetHorizPos2 jsr SetHorizPos2
sta WSYNC
sta HMOVE
; Play audio from shadow register? ; Play audio from shadow register?
ldx AVol0 ldx AVol0
@ -571,10 +565,11 @@ NoBrickFound
; X=3: missile 1 ; X=3: missile 1
; X=4: ball ; X=4: ball
; This routine does a WSYNC both before and after, followed by ; This routine does a WSYNC both before and after, followed by
; a HMOVE and HMCLR. So it takes two scanlines to complete. ; HMOVE. So it takes two scanlines to complete.
SetHorizPos2 SetHorizPos2
sta WSYNC ; start a new line
sec ; set carry flag sec ; set carry flag
sta WSYNC ; start a new line
sta HMCLR
DivideLoop DivideLoop
sbc #15 ; subtract 15 sbc #15 ; subtract 15
bcs DivideLoop ; branch until negative bcs DivideLoop ; branch until negative
@ -587,7 +582,6 @@ DivideLoop
sta RESP0,x ; fix coarse position sta RESP0,x ; fix coarse position
sta WSYNC sta WSYNC
sta HMOVE ; apply the previous fine position(s) sta HMOVE ; apply the previous fine position(s)
sta HMCLR ; reset the old horizontal position(s)
rts ; return to caller rts ; return to caller
; Height of our sprite in lines ; Height of our sprite in lines
@ -654,18 +648,17 @@ ColorFrame0
.byte #$F4; .byte #$F4;
; Bitmap pattern for digits ; Bitmap pattern for digits
DigitsBitmap ;;{w:8,h:5,count:10,brev:1};;
DigitsBitmap ;;{w:8,h:6,count:10,brev:1};; .byte $EE,$AA,$AA,$AA,$EE
.byte $EE,$AA,$AA,$AA,$EE,$00 .byte $22,$22,$22,$22,$22
.byte $22,$22,$22,$22,$22,$00 .byte $EE,$22,$EE,$88,$EE
.byte $EE,$22,$EE,$88,$EE,$00 .byte $EE,$22,$66,$22,$EE
.byte $EE,$22,$66,$22,$EE,$00 .byte $AA,$AA,$EE,$22,$22
.byte $AA,$AA,$EE,$22,$22,$00 .byte $EE,$88,$EE,$22,$EE
.byte $EE,$88,$EE,$22,$EE,$00 .byte $EE,$88,$EE,$AA,$EE
.byte $EE,$88,$EE,$AA,$EE,$00 .byte $EE,$22,$22,$22,$22
.byte $EE,$22,$22,$22,$22,$00 .byte $EE,$AA,$EE,$AA,$EE
.byte $EE,$AA,$EE,$AA,$EE,$00 .byte $EE,$AA,$EE,$22,$EE
.byte $EE,$AA,$EE,$22,$EE,$00
; Playfield bitmasks for all 40 brick columns ; Playfield bitmasks for all 40 brick columns
PFMaskTable PFMaskTable
@ -674,6 +667,7 @@ PFMaskTable
.byte #$80,#$40,#$20,#$10,#$08,#$04,#$02,#$01 .byte #$80,#$40,#$20,#$10,#$08,#$04,#$02,#$01
.byte #$01,#$02,#$04,#$08,#$10,#$20,#$40,#$80 .byte #$01,#$02,#$04,#$08,#$10,#$20,#$40,#$80
REPEND REPEND
; Brick array byte offsets for all 40 brick columns ; Brick array byte offsets for all 40 brick columns
PFOfsTable PFOfsTable
.byte NBL*0,NBL*0,NBL*0,NBL*0 .byte NBL*0,NBL*0,NBL*0,NBL*0

View File

@ -317,6 +317,7 @@ NoFireButton
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Set horizontal position of object ; Set horizontal position of object
SetHorizPos SetHorizPos
sta HMCLR
sta WSYNC ; start a new line sta WSYNC ; start a new line
sec ; set carry flag sec ; set carry flag
DivideLoop DivideLoop
@ -331,7 +332,6 @@ DivideLoop
sta RESP0,x ; fix coarse position sta RESP0,x ; fix coarse position
sta WSYNC sta WSYNC
sta HMOVE sta HMOVE
sta HMCLR
rts ; return to caller rts ; return to caller
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

View File

@ -193,6 +193,7 @@ SetupRoadComponents subroutine
lda #$90 ; right 7 pixels lda #$90 ; right 7 pixels
ldy #$70 ; left 7 pixels ldy #$70 ; left 7 pixels
ldx #$00 ; no movement ldx #$00 ; no movement
SLEEP 14 ; wait until safe to set regs
sta HMM0 sta HMM0
sty HMM1 sty HMM1
stx HMBL stx HMBL

View File

@ -295,6 +295,15 @@ var VCSMAMEPlatform = function(mainElement) {
return "dasm"; return "dasm";
} }
this.getDefaultExtension = function() { return ".a"; }; this.getDefaultExtension = function() { return ".a"; };
this.getOriginPC = function() {
return (this.readAddress(0xfffc) | (this.readAddress(0xfffd) << 8)) & 0xffff;
}
/*
this.getOpcodeMetadata = function(opcode, offset) {
return Javatari.getOpcodeMetadata(opcode, offset);
}
*/
} }
//////////////// ////////////////