GUMBALL R.S. Moser

Discussion, Reviews & High-scores

Moderator: Moderators

Post Reply
User avatar
MrSterlingBS
Vic 20 Enthusiast
Posts: 174
Joined: Tue Jan 31, 2023 2:56 am
Location: Germany,Braunschweig

GUMBALL R.S. Moser

Post by MrSterlingBS »

Dear Sirs,

here you will find the GUMBALL maschine language game from the book Compute´s second book of VIC by R.S. Moser.
This programm help me to understand the 6502 and VIC language. I hope it help somebody else.

Code: Select all

* = $1001
		; BASIC program to boot the machine language code
		db $0b, $10, $0a, $00, $9e, $34, $31, $30, $39, $00, $00, $00

        JMP START

X1964:  STX $1D08
        CPX #$0C
        BPL X1976 
        LDA #$1E
        STA $FC
        LDA #$96
        STA $FE
        JMP X197E  
X1976:  LDA #$1F
        STA $FC
        LDA #$97
        STA $FE
X197E:  LDA #$00
X1980:  CPX #$00
        BEQ X198A  
        DEX
        ADC #$15
        JMP X1980  
X198A:  STA $FB
        STA $FD
        LDX $1D08
        RTS

X1992:  JSR X1964  
        LDA #$20
        STA ($FB),Y
        LDA #$01
        STA ($FD),Y
        RTS
START:
        LDY #$00
        JSR X19D2  
        LDY #$15
        JSR X19D2  
        LDX #$00
        JSR X19E5  
        LDX #$16
        JSR X19E5  
        LDY #$04
X19B4:  DEY
        LDA #$30
        STA $1FF1,Y
        CPY #$00
        BNE X19B4  
X19BE:  LDX #$01
X19C0:  LDY #$01
X19C2:  JSR X1992  
        INY
        CPY #$15
        BNE X19C2  
        INX
        CPX #$16
        BNE X19C0  
        JMP X19F8  
X19D2:  LDX #$00
X19D4:  JSR X1964  
        LDA #$66
        STA ($FB),Y
        LDA #$00
        STA ($FD),Y
        INX
        CPX #$17
        BNE X19D4  
        RTS

X19E5:  LDY #$01
X19E7:  JSR X1964  
        LDA #$66
        STA ($FB),Y
        LDA #$03
        STA ($FD),Y
        INY
        CPY #$15
        BNE X19E7  
        RTS

X19F8:  	
		LDA #$14
        STA $1CFF
        LDA #$0A
        STA $1D00
        LDY #$04
X1A04:  
		DEY
        LDA #$30
        STA $1FE6,Y
        CPY #$00
        BNE X1A04  
X1A0E:  
		LDA #$01
        STA $1D0C
        LDY #$00
X1A15:  
		LDA #$00
        STA $1D10,Y
        LDA #$01
        STA $1D24,Y
        STA $1D38,Y
        INY
        CPY #$14
        BNE X1A15  
        STA $1D03
        LDA #$0F
        STA $900E
        JMP X1A32  
X1A32:  	
		LDA #$02
        STA $1D04
X1A37:  
		LDA #$02
        STA $1D05
X1A3C:  
		LDA #$32
        STA $1D07
X1A41:  
		STA $1D06
X1A44:  
		DEC $1D06
        BNE X1A44  
        DEC $1D07
        BNE X1A41  
        JMP X1AA7  
X1A51:  
		DEC $1D05
        BNE X1A3C  
        JMP X1A61  
X1A59:  
		DEC $1D04
        BNE X1A37  
        JMP X1BE1  
X1A61:  
		LDX $1CFF
        LDY $1D00
        JSR X1992  
        LDA $C5
        CMP #$11
        BNE X1A71  
        DEY
X1A71:  
		CMP #$12
        BNE X1A76  
        INY
X1A76:  
		CMP #$09
        BNE X1A7B  
        DEX
X1A7B:  
		CMP #$1A
        BNE X1A84  
        CPX #$15
        BEQ X1A84  
        INX
X1A84:  
		JSR X1964  
        LDA #$66
        CMP ($FB),Y
        BNE X1A96  
        LDX $1CFF
        LDY $1D00
        JSR X1964  
X1A96:  
		LDA #$41
        STA ($FB),Y
        LDA #$00
        STA ($FD),Y
        STX $1CFF
        STY $1D00
        JMP X1A59 
X1AA7:  
		LDX $1D01
        LDY $1D02
        LDA #$00
        STA $900B
        STA $900C
        LDA $1D0E
        CMP #$01
        BEQ X1ACE  
        LDA $C5
        CMP #$08				
		BEQ X1AC5  
        JMP X1A51  
X1AC5:  LDX $1CFF
        LDY $1D00
        JMP X1AD1  
X1ACE:  JSR X1992  
X1AD1:  DEX
        LDA #$01
        STA $1D0E
        STX $1D01
        STY $1D02
        JSR X1964  
        LDA #$66
        CMP ($FB),Y
        BNE X1AF1  
        LDA #$C9
        STA $900C
        JSR X1B0D  
        JMP X1B1F  
		
X1AF1:  LDA #$51
        CMP ($FB),Y
        BNE X1B02  
        LDA #$DF
        STA $900B
        JSR X1B0D  
        JMP X1C42  
		
X1B02:  LDA #$1E
		STA ($FB),Y
		LDA #$00
		STA ($FD),Y
		JMP X1A51  
		
X1B0D:  LDA $1CFF
		STA $1D01
		LDA $1D00
		STA $1D02
		LDA #$00
		STA $1D0E
        RTS

X1B1F:  INX
		JSR X1992  
		DEC $1FE9
		LDA $1FE9
		CMP #$2F
		BNE X1B5F  
		LDA #$39
		STA $1FE9
		DEC $1FE8
		LDA $1FE8
		CMP #$2F
		BNE X1B5F  
		LDA #$39
		STA $1FE8
		DEC $1FE7
		LDA $1FE7
		CMP #$2F
		BNE X1B5F  
		LDA #$39
		STA $1FE7
		DEC $1FE6
		LDA $1FE6
		CMP #$2F
		BNE X1B5F  
		LDA #$39
		STA $1FE6
X1B5F:  JMP X1A51  
X1B62:  STY $1D09
		LDX $1CFD
		LDY $1CFE
		JSR X1964  
		LDA #$66
		CMP ($FB),Y
		BNE X1B7C  
		LDA #$00
		STA $1CFC
		JMP X1BDB  
X1B7C:  LDA #$20
		STA ($FB),Y
		LDA #$01
		STA ($FD),Y
		LDA $1CFC
		CMP #$01
		BEQ X1B95  
        INY
		LDA #$66
		CMP ($FB),Y
		BEQ X1BA9  
		JMP X1BB0  
X1B95:  DEY
		LDA #$66
		CMP ($FB),Y
		BEQ X1B9F  
		JMP X1BB0  
X1B9F:  INY
		LDA #$02
		STA $1CFC
        INX
		JMP X1BB0  
X1BA9:  DEY
		LDA #$01
		STA $1CFC
        INX
X1BB0:  CPX #$16
		BNE X1BB7  
		JMP X1A0E  
X1BB7:  JSR X1964  
		LDA #$66
		CMP ($FB),Y
		BNE X1BC4  
        INX
		JMP X1BB7  
X1BC4:  LDA #$41
		CMP ($FB),Y
		BNE X1BCD  
		JMP X1C86  
X1BCD:  LDA #$51
		STA ($FB),Y
		LDA #$04
		STA ($FD),Y
		STX $1CFD
		STY $1CFE
X1BDB:  LDY $1D09
		JMP X1C2D  
X1BE1:  LDA #$EB
		STA $900A
		LDA $1D0C
		CMP #$01
		BNE X1C04  
		LDY $1D03
		CPY #$13
		BEQ X1BFF  
		LDA #$02
        STA $1D10,Y
        INC $1D03
        JMP X1C04  
X1BFF:  LDA #$00
        STA $1D0C
X1C04:  LDY #$FF
X1C06:  INY
        LDA $1D10,Y
        BNE X1C18  
        CPY #$13
        BNE X1C06  
        LDA #$00
        STA $900A
        JMP X1A32  
X1C18:  LDA $1D10,Y
        STA $1CFC
        LDA $1D24,Y
        STA $1CFD
        LDA $1D38,Y
        STA $1CFE
        JMP X1B62  
X1C2D:  LDA $1CFC
        STA $1D10,Y
        LDA $1CFD
        STA $1D24,Y
        LDA $1CFE
        STA $1D38,Y
        JMP X1C06  
X1C42:  JSR X1964  
        LDA #$66
        STA ($FB),Y
        LDA #$04
        STA ($FD),Y
        INX
        JSR X1992  
        INC $1FE8
        LDA $1FE8
        CMP #$3A
        BNE X1C7E  
        LDA #$30
        STA $1FE8
        INC $1FE7
        LDA $1FE7
        CMP #$3A
        BNE X1C7E  
        LDA #$30
        STA $1FE7
        INC $1FE6
        LDA $1FE6
        CMP #$3A
        BNE X1C7E  
        LDA #$30
        STA $1FE6
X1C7E:  LDA #$00
        STA $1D0E
        JMP X1A51  
X1C86:  JSR X1964  
        LDA #$53
        STA ($FB),Y
        LDA #$02
        STA ($FD),Y
        LDA #$C9
        STA $900C
        LDA #$0F
        STA $900E
X1C9B:  LDA #$78
        STA $1D0A
X1CA0:  STA $1D0B
X1CA3:  DEC $1D0B
        BNE X1CA3  
        DEC $1D0A
        BNE X1CA0  
        DEC $900E
        BNE X1C9B  
        LDA #$00
        STA $900C
        LDY #$00
X1CB9:  LDA $1FE6,Y
        CMP $1FF1,Y
        BMI X1CD3  
        BNE X1CCB  
        INY
        CPY #$04 
        BNE X1CB9  
X1CC8:  LDA $1FE6,Y
X1CCB:  STA $1FF1,Y
        INY
        CPY #$04
        BNE X1CC8  
X1CD3:  LDA $C5
        CMP #$0F
        BNE X1CD3  
        JMP X19BE
User avatar
MrSterlingBS
Vic 20 Enthusiast
Posts: 174
Joined: Tue Jan 31, 2023 2:56 am
Location: Germany,Braunschweig

Re: GUMBALL R.S. Moser

Post by MrSterlingBS »

And here is a little better version with some upgrades.
- Wait for Raster
- Stop interrupt - faster keyboard inputs
- use of zero page entries in stead of normal memory - faster and less memory
- use of tables for very fast print on screen
- more colors

Use the keys
k - right
h - left
w - up
d - down
b - fire

Have fun! ;-)

Code: Select all

; ***************************************
; Original GUMBALL 903 Bytes
; NEW Gumball 909 bytes

; Last Bullet Location Y = $1D01 = $10
; Last Bullet Location X = $1D02 = $11
; Bullet Move ??? = $1D0E = $12
; Load Gumball Location Y to $1CFD = $14
; Load Gumball Location X to $1CFE = $15
; Eliminate Hit Gumball to $1CFC = $16
; Slow down Volume = $1D0A = $17
; Slow down Volume = $1D0B = $18

; Stash Y = $1D09	= $21
; PlayerY = $1CFF	= $22
; PlayerX = $1D00	= $23
; Set NewGumballs to 1 = $1D0C = $24
; Set Direction of Gumballs to 0 = $1D10 to $1D24	= $30
; Set Gumballs Y coordinates to 1 = $1D24 to $1D38	= $50
; Set Gumballs X coordinates to 1 = $1D38 to $1D4C  = $70
; Start of Gumball number = $1D03 = $90
; Timer0 = $1D04 = $A0
; Timer1 = $1D05 = $A1
; Timer2 = $1D06 = $A2
; Timer3 = $1D07 = $A3

* = $A000
		dw ProgramStart
		dw ProgramStart
		db $41,$30,$C3,$C2,$CD	;ROM Header
ProgramStart:
		SEI
;Screen Init
		ldx #16					;We're going to copy 16 registers 
ScreenInitAgain:	
		dex
		lda VicScreenSettings,x	;Get A parameter
		sta $9000,X				;Store to the video registers at $9000
		txa
		bne ScreenInitAgain
		
		lda #%01111111			; activate keyboard input
		sta $9122
			
START:
        LDY #$00		; left wall
        JSR X19D2  
        LDY #$15		; right wall
        JSR X19D2  
        LDX #$00		; top wall
        JSR X19E5  
        LDX #$16		; bottom wall
        JSR X19E5
		
        LDY #$04		; four times loop
X19B4:  DEY
        LDA #$30		; set highscore to zero
        STA $1FF1,Y
		LDA #$05		; set highscore color to green
		STA $97F1,Y
        CPY #$00
        BNE X19B4  

; first start and start after death
		
X19BE:  LDX #$01		; clear screen playfield
X19C0:  LDY #$01		; from x0,y0 - 1,1 to x1,y1 - 20,22 
X19C2:  JSR X1992  
        INY
        CPY #$15		; x = 20
        BNE X19C2  
        INX
        CPX #$16		; y = 22
        BNE X19C0 

X19F8:  LDA #$14		; set player position on playfield
        STA $22			; PlayerY	= $1CFF
        LDA #$0A
        STA $23			; PlayerX	= $1D00
       
		LDY #$04		; four times loop
X1A04:  DEY
        LDA #$30		; set score to zero
        STA $1FE6,Y
		LDA #$02		; set score color to red
		STA $97E6,Y
        CPY #$00
        BNE X1A04
		
X1A0E:  LDA #$01
        STA $24			; Set NewGumballs to 1 = $1D0C
        LDY #$00
X1A15:  LDA #$00
        STA $30,Y		; Set Direction of Gumballs to 0 = $1D10 to $1D24
        LDA #$01
        STA $50,Y		; Set Gumballs Y coordinates to 1 = $1D24 to $1D38
        STA $70,Y		; Set Gumballs X coordinates to 1 = $1D38 to $1D4C
        INY
        CPY #$14
        BNE X1A15
		STA $90			; Start of Gumball number 1 
        LDA #$0F		; sound volume max to all channels
        STA $900E  
X1A32:		
		LDA #32			; raster loop for the smooth movement of "sprites"
RasterLoop:
		CMP $9004
		BNE RasterLoop

		LDA #$02		; speed Gumballs
        STA $A0			; Timer0 = $1D04 = $A0
X1A37:  LDA #$02		; speed Gumballs and Player
        STA $A1			; Timer1 = $1D05 = $A1
X1A3C:  LDA #$32		; speed Gumballs, Player and Bullet
        STA $A3			; Timer3 = $1D07 = $A3
X1A41:  STA $A2			; Timer2 = $1D06 = $A2
X1A44:  DEC $A2
        BNE X1A44  
        DEC $A3
        BNE X1A41  
        JMP X1AA7  
X1A51:  DEC $A1
        BNE X1A3C  
        JMP X1A61  
X1A59:  DEC $A0
        BNE X1A37  
        JMP X1BE1  
X1A61:  LDX $22			; plot player on playfield
        LDY $23
        JSR X1992  

; ask keyboard for input
		
		lda #223
        sta $9120
        lda $9121
        cmp #247        ; char H - left
        BNE X1A71  
        DEY
X1A71:  
		cmp #239        ; char K - right
        BNE X1A76  
        INY
X1A76:  
		lda #253
        sta $9120
        lda $9121
        cmp #253        ; char W - up
        BNE X1A7B  
        DEX
X1A7B:  
		lda #251
        sta $9120
        lda $9121
        cmp #251        ; char D - down
        BNE X1A84  
        CPX #$15		; check PlayerY Position not to destroy score and highscore
        BEQ X1A84  
        INX
X1A84:  JSR PlotChar	; get screen position
		
        LDA #$66		; check Player position on wall
        CMP ($FB),Y
        BNE X1A96  
        LDX $22
        LDY $23
        JSR PlotChar	; get screen position
		
X1A96:  LDA #$41		; plot player if everything is ok
        STA ($FB),Y
        LDA #$05
        STA ($FD),Y
        STX $22			; store new player position
        STY $23
        JMP X1A59		; jump to timer $A0
		
X1AA7:  LDX $10			; Last Bullet Location Y = $1D01
        LDY $11			; Last Bullet Location X = $1D02
        LDA #$00		; set sound channel to zero
        STA $900B		; sound channel 2
        STA $900C		; sound channel 3 
        LDA $12			; Bullet Move ??? = $1D0E
        CMP #$01
        BEQ X1ACE  
        		
        lda #239        ; check keyboard if B pressed for bullet
        sta $9120
        lda $9121
        cmp #247        ; char B - Bullet
		
		BEQ X1AC5  
        JMP X1A51 
		
X1AC5:  LDX $22			; 
        LDY $23
        JMP X1AD1  
X1ACE:  JSR X1992  
X1AD1:  DEX
        LDA #$01
        STA $12
        STX $10
        STY $11
        JSR PlotChar
		LDA #$66
        CMP ($FB),Y
        BNE X1AF1  
        LDA #$C9
        STA $900C
        JSR X1B0D  
        JMP X1B1F  
X1AF1:  LDA #$51
        CMP ($FB),Y
        BNE X1B02  
        LDA #$DF
        STA $900B
        JSR X1B0D  
        JMP X1C42  
X1B02:  LDA #$2A			; char of bullet
		STA ($FB),Y
		LDA #$02			; color of bullet
		STA ($FD),Y
		JMP X1A51  
X1B0D:  LDA $22
		STA $10
		LDA $23
		STA $11
		LDA #$00
		STA $12
        RTS

X1B1F:  INX
		JSR X1992  
		DEC $1FE9
		LDA $1FE9
		CMP #$2F
		BNE X1B5F  
		LDA #$39
		STA $1FE9
		DEC $1FE8
		LDA $1FE8
		CMP #$2F
		BNE X1B5F  
		LDA #$39
		STA $1FE8
		DEC $1FE7
		LDA $1FE7
		CMP #$2F
		BNE X1B5F  
		LDA #$39
		STA $1FE7
		DEC $1FE6
		LDA $1FE6
		CMP #$2F
		BNE X1B5F  
		LDA #$39
		STA $1FE6
X1B5F:  JMP X1A51  
X1B62:  STY $21			; Stash Y = $1D09
		LDX $14			; Load Gumball Location Y to $1CFD
		LDY $15			; Load Gumball Location X to $1CFE
		JSR PlotChar
		LDA #$66
		CMP ($FB),Y
		BNE X1B7C  
		LDA #$00
		STA $16			; Eliminate Hit Gumball to $1CFC
		JMP X1BDB  
X1B7C:  LDA #$20		; clear screen after gumball is moving over
		STA ($FB),Y
		LDA #$01
		STA ($FD),Y
		LDA $16
		CMP #$01
		BEQ X1B95  
        INY
		LDA #$66		; check gumballs with right wall
		CMP ($FB),Y
		BEQ X1BA9  
		JMP X1BB0  
X1B95:  DEY
		LDA #$66		; check gumballs with left wall
		CMP ($FB),Y
		BEQ X1B9F  
		JMP X1BB0  
X1B9F:  INY
		LDA #$02
		STA $16
        INX
		JMP X1BB0  
X1BA9:  DEY
		LDA #$01
		STA $16
        INX
X1BB0:  CPX #$16
		BNE X1BB7  
		JMP X1A0E  
X1BB7:  JSR PlotChar
		LDA #$66		; ???
		CMP ($FB),Y
		BNE X1BC4  
        INX
		JMP X1BB7  
X1BC4:  LDA #$41		; check collision player - gumballs
		CMP ($FB),Y
		BNE X1BCD  
		JMP X1C86  
X1BCD:  LDA #$51		; plot gumballs
		STA ($FB),Y
		LDA color,Y
		;LDA #$04		; color of gumballs
		STA ($FD),Y
		STX $14
		STY $15
X1BDB:  LDY $21			; Stash Y = $1D09
		JMP X1C2D  
X1BE1:  LDA #$EB
		STA $900A
		LDA $24
		CMP #$01
		BNE X1C04  
		LDY $90
		CPY #$13		; visible numbers of gumballs
		BEQ X1BFF  
		LDA #$02
        STA $30,Y
        INC $90
        JMP X1C04  
X1BFF:  LDA #$00
        STA $24
X1C04:  LDY #$FF
X1C06:  INY
        LDA $30,Y
        BNE X1C18  
        CPY #$13
        BNE X1C06  
        LDA #$00
        STA $900A
        JMP X1A32  
X1C18:  LDA $30,Y
        STA $16
        LDA $50,Y
        STA $14
        LDA $70,Y
        STA $15
        JMP X1B62  
X1C2D:  LDA $16
        STA $30,Y
        LDA $14
        STA $50,Y
        LDA $15
        STA $70,Y
        JMP X1C06  
X1C42:  JSR PlotChar
        LDA #$66			; char of gum
        STA ($FB),Y
        LDA #$F6			; color of gum
        STA ($FD),Y
        INX
        JSR X1992  
        INC $1FE8
        LDA $1FE8
        CMP #$3A
        BNE X1C7E  
        LDA #$30
        STA $1FE8
        INC $1FE7
        LDA $1FE7
        CMP #$3A
        BNE X1C7E  
        LDA #$30
        STA $1FE7
        INC $1FE6
        LDA $1FE6
        CMP #$3A
        BNE X1C7E  
        LDA #$30
        STA $1FE6
X1C7E:  LDA #$00
        STA $12
        JMP X1A51  
X1C86:  JSR PlotChar  
        LDA #$53		; plot heart after players death
        STA ($FB),Y
        LDA #$02
        STA ($FD),Y
        LDA #$C9		; play sound after players death
        STA $900C
        LDA #$0F
        STA $900E
X1C9B:  LDA #$78
        STA $17			; Slow down Volume = $1D0A
X1CA0:  STA $18			; Slow down Volume = $1D0B
X1CA3:  DEC $18
        BNE X1CA3  
        DEC $17
        BNE X1CA0  
        DEC $900E
        BNE X1C9B 		
        LDA #$00
        STA $900C
		
        LDY #$00		; copy score to highscore
X1CB9:  LDA $1FE6,Y		
        CMP $1FF1,Y
        BMI X1CD3  		; only when highscore is higher
        BNE X1CCB  
        INY
        CPY #$04 
        BNE X1CB9  
X1CC8:  LDA $1FE6,Y
X1CCB:  STA $1FF1,Y
        INY
        CPY #$04
        BNE X1CC8  
X1CD3:  
		lda #253		; wait for enter to play next round
        sta $9120
        lda $9121
        cmp #127
        BNE X1CD3  
        JMP X19BE

; *************** sub routines ***************************
		
X19D2:  LDX #$00		; plot left and right wall
X19D4:  JSR PlotChar
		LDA #$66
		STA ($FB),Y
        LDA #$00
        STA ($FD),Y
        INX
        CPX #$17
        BNE X19D4  
        RTS

X19E5:  LDY #$01		; plot top and bottom wall
X19E7:  JSR PlotChar
		LDA #$66
        STA ($FB),Y
        LDA #$F3
        STA ($FD),Y
        INY
        CPY #$15
        BNE X19E7  
        RTS		
		
X1992:  ;JSR PlotChar
		lda screenLo,x		; 4 cyl
		sta $FB				; 3 cyl
		;sta $FD
		lda screenHi,x		; 4 cyl
		sta $FC				; 3 cyl
		;clc					; 2 cyl
		;adc #$78			; 2 cyl				add Offset to Color Ram ($9600)
		;sta $FE				; 3 cyl
				
		LDA #$20
        STA ($FB),Y
        ;LDA #$02
        ;STA ($FD),Y
        RTS

PlotChar:
		lda screenLo,x		; 4 cyl
		sta $FB				; 3 cyl
		sta $FD
		lda screenHi,x		; 4 cyl
		sta $FC				; 3 cyl
		clc					; 2 cyl
		adc #$78			; 2 cyl				add Offset to Color Ram ($9600)
		sta $FE				; 3 cyl
		rts

VicScreenSettings:
	db $0C		;DEC = 12 - $9000 - horizontal centering
	db $26		;DEC = 38 - $9001 - vertical centering
	db $96		;DEC = 150 - $9002 - set # of columns / 
					;Bit7 = screen base bit ($16 for screen at $1000)
	db $AE		;DEC = 174 - $9003 - set # of rows
	db $7A		;$9004 - TV raster beam line
	db $F0		;DEC = 240 - $9005 bits 0-3 start of character memory /  
					;bits 4-7 is rest of video address 
					;$(CF for screen at $1000)
	db $57		;DEC = 87 - $9006 - horizontal position of light pen
	db $EA		;DEC = 234 - $9007 - vertical position of light pen
	db $FF		;DEC = 255 - $9008 - Digitized value of paddle X
	db $FF		;DEC = 255 - $9009 - Digitized value of paddle Y
	db $00		;$900A - Frequency for oscillator 1 (low)
	db $00		;$900B - Frequency for oscillator 2 (medium)
	db $00		;$900C - Frequency for oscillator 3 (high)
	db $00		;$900D - Frequency of noise source
	db $00		;%01000000	;$00		;$900E - bit 0-3 sets volume of all sound / 
					;bits 4-7 are auxiliary color information
	db $1B	 	;DEC = 27 - $900F - Screen and border color register
	
screenLo:
		DB $00,$16,$2C,$42,$58,$6E,$84,$9A,$B0,$C6,$DC,$F2
		DB $08,$1E,$34,$4A,$60,$76,$8C,$A2,$B8,$CE,$E4,$FA
screenHi:
		DB $1E,$1E,$1E,$1E,$1E,$1E,$1E,$1E,$1E,$1E,$1E,$1E
		DB $1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F
color:
		DB $07,$02,$02,$02,$03,$03,$04,$04,$05,$05,$06
		DB $06,$07,$07,$06,$06,$05,$05,$04,$04,$03,$03
marco.bergomi
Vic 20 Drifter
Posts: 24
Joined: Tue Mar 31, 2020 7:37 am
Location: Lodi Italy
Occupation: eng.

Re: GUMBALL R.S. Moser

Post by marco.bergomi »

Hi, could you create a PRG file?

Thank you
bye
Marco
User avatar
MrSterlingBS
Vic 20 Enthusiast
Posts: 174
Joined: Tue Jan 31, 2023 2:56 am
Location: Germany,Braunschweig

Re: GUMBALL R.S. Moser

Post by MrSterlingBS »

Hi Marco,

i can not upload the files. I need some help from the admin, i think.
To Drag&Drop dont work.

BR
Sven
User avatar
MrSterlingBS
Vic 20 Enthusiast
Posts: 174
Joined: Tue Jan 31, 2023 2:56 am
Location: Germany,Braunschweig

Re: GUMBALL R.S. Moser

Post by MrSterlingBS »

Hi Marco,

now it should work.
here are the two files from my above posts.

If you need some help please send a PM.

BR
Sven
GumballCART.zip
(944 Bytes) Downloaded 67 times
GumballOriginal.zip
(848 Bytes) Downloaded 70 times
marco.bergomi
Vic 20 Drifter
Posts: 24
Joined: Tue Mar 31, 2020 7:37 am
Location: Lodi Italy
Occupation: eng.

Re: GUMBALL R.S. Moser

Post by marco.bergomi »

Very very very thanks

bye
Marco
Post Reply