Jump to content



1

Stella Vertical Bars Source


5 replies to this topic

#1 Curt Vendel OFFLINE  

Curt Vendel

    River Patroller

  • 4,243 posts
  • Location:Carmel, New York

Posted Sat Sep 10, 2005 11:21 PM

.TITLE VCS VERT. BARS
.SBTTL INTRODUCTION



; THIS IS A CARTRIDGE THAT WILL DISPLAY
; VERTICAL BARS ON THE STANDARD VCS (STELLA)
; SYSTEM. THE CONTROLS USED ARE BOTH LEFT AND RIGHT
; DIFFACULTY SWITCHES AND THE BLACK/WHITE COLOR SWITCH.
; WHEN THE COLOR/B/W SWITCH IS IN THE COLOR POSITION THE
; DISPLAY WILL BE 3 VERTICAL COLORED BARS BLUE, RED AND
; GREEN. WHEN THE BLACK/WHITE SWITCH IS IN
; THE BLACK/WHITE DIRECTION THE DISPLAY WILL BE
; 8 VERTICAL BARS OF ASCENDING LUMINANCE.
; THE LEFT DIFFACULTY SWITCH ADDS A
; 1KHZ TONE. WHEN THE SWITCH IS IN THE AMATUER(B)
; POSITION THE TONE WILL BE PRESENT. WHEN THE
; SWITCH IS IN THE PRO(A) POSITION THE TONE
; WILL DISSAPEAR.
; THE RIGHT DIFFACULTY SWITCH ADDS A ZERO
; LUMINANCE BAR BETWEEN THE COLOR BARS TO
; TOTALLY SEPERATE THE COLORS. IN THE PRO(A)
; POSITION THERE WILL BE NO SEPERATION. WHEN THE
; SWITCH IS IN THE AMATURE(B) THE SEPERATION BARS
; WILL BE PRESENT.
;




.PAGE
.INCLUDE SEQUAT.MAC

.PAGE
.SBTTL CART EQUATES

START = 0F000
GREEN = 0D4
RED = 44
BLUE = 84
BLACK = 00
BLANK = 2
STACK = 0FF
FREQ = 0E
VOLUME = 8
.PAGE
.SBTTL RAM EQUATES

.=80

RSTCNT: .=.+1 ;GAME RESET DEBOUNCE REGISTER
TSTFLA: .=.+1 ;COLOR ADJUST OR NORMAL SCREEN FLAG
.PAGE
.SBTTL INITALIZATION

.=START

INIT: SEI
CLD
LDX #STACK
TXS
LDA #BLACK
STA COLUBK
STA AUDV0 ;CLEAR BOTH AUDIO CHANNELS
STA AUDV1 ;PLAYERS,MISSILES AND BALL
STA ENAM0
STA ENAM1
STA ENABL
STA GRP0
STA GRP1
STA PF0
LDA #0FF
STA PF1
STA PF2
STA TSTFLA
LDA #5 ;SET PLAYFIELD THE HI PRIORITY
STA CTRLPF ;AND REFLECT THE PLAYFIELD
LDA #FREQ
STA AUDF0
LDA #4
STA AUDC0

.PAGE
.SBTTL FRAME KERNEL


FRAME: STA WSYNC
LDA #BLANK
STA VBLANK ;TURN ON VBLANK
STA VSYNC ;AND VSYNC
LDX #3 ;NUMBER OF LINES FOR VSYNC
1$: STA WSYNC
DEX
BNE 1$
LDA #0
STA VSYNC
LDA TSTFLA ;CHECK FOR A COLOR ADJUST SCREEN
BEQ 10$ ;AND BRANCH IF SO
LDA SWCHB
BPL 2$ ;CHECK RIGHT DIFF. SWITCH
LDA #0FF ;IF AMATR. NO SEPERATION
BMI 3$ ;BRANCH ALWAYS
2$: LDA #0F8 ;IF PRO. ADD SEPERATION
3$: STA PF2
10$: STA WSYNC
LDA SWCHB
AND #40 ;CHECK LEFT DIFF. SWITCH
BNE 5$
LDA #VOLUME ;IF AMATR. ADD 1KHZ AUDIO
JMP 6$
5$: LDA #BLACK ;IF PRO. KILL AUDIO
6$: STA AUDV0
STA WSYNC
LDA SWCHB ;CHECK FOR RESET SWITCH
AND #1
BEQ 7$ ;SWITCH CLOSED BRANCH
LDA #3
STA RSTCNT ;RESET DEBOUNCE COUNT
JMP 8$
7$: DEC RSTCNT
LDA RSTCNT
BNE 8$ ;CHECK FOR ZERO
LDA TSTFLA ;IF SO ALTER TEST FLAG
BEQ 9$
LDA #BLACK
STA TSTFLA
JMP 8$
9$: LDA #0FF
STA TSTFLA
8$: LDX #23 ;NUMBER OF LINES FOR VBLANK
4$: STA WSYNC
DEX
BNE 4$


; START THE VISABLE PICTURE

PICTOP: LDA #0
STA VBLANK ;STOP VBLANKING
LDX #0C ;NUMBER OF LINES ON THE TOP OF
1$: STA WSYNC ;THE PICTURE
DEX
BNE 1$

; LOAD UP THE COLORS OF THE BARS


LDX #0AA ;NUMBER OF LINES OF BAR DISPLAY
LDA SWCHB
AND #8 ;TEST THE B.W./COLOR SWITCH
BEQ GRAY ;IF B.W. BRANCH
LDA TSTFLA
BEQ COLADJ
LDA #BLACK
STA PF0
2$: STA WSYNC
LDA #BLUE
STA COLUPF
LDY #6
3$: DEY
BNE 3$
LDA #RED
STA COLUPF
LDY #2
4$: DEY
BNE 4$
LDA #GREEN
STA COLUPF
DEX
BNE 2$
BEQ BOTTOM ;BRANCH ALWAYS

; GRAY SCALE BARS

GRAY: LDA #0FF
STA PF0
STA PF2
2$: STA WSYNC
LDY #4
3$: DEY
BNE 3$
LDA #0
STA COLUPF
LDA #02
STA COLUPF
LDA #04
STA COLUPF
LDA #06
STA COLUPF
LDA #08
STA COLUPF
LDA #0A
STA COLUPF
LDA #0C
STA COLUPF
LDA #0E
STA COLUPF
LDA #0
STA COLUPF
DEX
BNE 2$
BEQ BOTTOM

; COLOR ADJUST SCREEN

COLADJ: DEX
STA WSYNC
LDA #14
STA COLUP0
LDA #0F4
STA COLUP1
LDA #2
STA CTRLPF
LDA #0FF
STA PF0
1$: STA WSYNC
DEX
BNE 1$

; BLANK OUT REST OF SCREEN

BOTTOM: STA WSYNC
LDA #0FF
STA PF2
LDA #BLACK
STA COLUP0
STA COLUP1
STA COLUPF
LDA #5
STA CTRLPF
LDX #0A ;NUMBER OF LINES OT FINISH PICTURE
1$: STA WSYNC
DEX
BNE 1$

; OVERSCAN TIME

OSCAN: LDX #1D ;NUMBER OF OVERSCAN LINES -1
1$: STA WSYNC
DEX
BNE 1$
JMP FRAME


.=START+0FFA
.WORD INIT
.WORD INIT
.WORD INIT
.END

#2 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!

  • 16,745 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Sun Sep 11, 2005 11:53 AM

Curt, since the formatting info got lost, could you repost this as [code] please? Thanks!

#3 Tempest ONLINE  

Tempest

    One Winged Moderator

  • 19,864 posts
  • Screaming at Fate
  • Location:Elysium

Posted Sun Sep 11, 2005 2:29 PM

Hmm... This sounds suspiciously like my Colors proto.

http://www.atariprot...lors/colors.htm

Tempest

#4 Cybergoth OFFLINE  

Cybergoth

    Quadrunner

  • 8,207 posts
  • This is Sparta!
  • Location:Bavaria

Posted Mon Sep 12, 2005 12:10 PM

Hi Thomas!

Thomas Jentzsch, on Sun Sep 11, 2005 5:53 PM, said:

Curt, since the formatting info got lost, could you repost this ... please? Thanks!

No problem, here it comes even DASM'd for you :)

@Tempest: It's something completely simpler than your proto...

;           THIS IS A CARTRIDGE THAT WILL DISPLAY
;       VERTICAL BARS ON THE STANDARD VCS (STELLA)
;       SYSTEM.  THE CONTROLS USED ARE BOTH LEFT AND RIGHT
;       DIFFACULTY SWITCHES AND THE BLACK/WHITE COLOR SWITCH.
;       WHEN THE COLOR/B/W SWITCH IS IN THE COLOR POSITION THE
;       DISPLAY WILL BE 3 VERTICAL COLORED BARS BLUE, RED AND
;       GREEN.  WHEN THE BLACK/WHITE SWITCH IS IN
;       THE BLACK/WHITE DIRECTION THE DISPLAY WILL BE
;       8 VERTICAL BARS OF ASCENDING LUMINANCE.
;          THE LEFT DIFFACULTY SWITCH ADDS A
;       1KHZ TONE.  WHEN THE SWITCH IS IN THE AMATUER(B)
;       POSITION THE TONE WILL BE PRESENT.  WHEN THE
;       SWITCH IS IN THE PRO(A) POSITION THE TONE
;       WILL DISSAPEAR.
;          THE RIGHT DIFFACULTY SWITCH ADDS A ZERO
;       LUMINANCE BAR BETWEEN THE COLOR BARS TO
;       TOTALLY SEPERATE THE COLORS.  IN THE PRO(A)
;       POSITION THERE WILL BE NO SEPERATION.  WHEN THE
;       SWITCH IS IN THE AMATURE(B) THE SEPERATION BARS
;       WILL BE PRESENT.

    PROCESSOR 6502
    INCLUDE VCS.H

GREEN   = $D4
RED     = $44
BLUE    = $84
BLACK   = $0
BLANK   = $2
STACK   = $FF
FREQ    = $E
VOLUME  = $8

    SEG.U VARS
    ORG $80

RSTCNT  ds 1;GAME RESET DEBOUNCE REGISTER
TSTFLA  ds 1;COLOR ADJUST OR NORMAL SCREEN FLAG

    SEG Bank0
    ORG $F000

INIT:   SEI
    CLD
    LDX #STACK
    TXS
    LDA #BLACK
    STA COLUBK
    STA AUDV0      ;CLEAR BOTH AUDIO CHANNELS
    STA AUDV1      ;PLAYERS,MISSILES AND BALL
    STA ENAM0
    STA ENAM1
    STA ENABL
    STA GRP0
    STA GRP1
    STA PF0
    LDA #$FF
    STA PF1
    STA PF2
    STA TSTFLA
    LDA #5    ;SET PLAYFIELD THE HI PRIORITY
    STA CTRLPF    ;AND REFLECT THE PLAYFIELD
    LDA #FREQ
    STA AUDF0
    LDA #4
    STA AUDC0

FRAME:  STA WSYNC
    LDA #BLANK
    STA VBLANK    ;TURN ON VBLANK
    STA VSYNC      ;AND VSYNC
    LDX #3    ;NUMBER OF LINES FOR VSYNC
1$: STA WSYNC
    DEX
    BNE 1$
    LDA #0
    STA VSYNC
    LDA TSTFLA    ;CHECK FOR A COLOR ADJUST SCREEN
    BEQ 10$    ;AND BRANCH IF SO
    LDA SWCHB
    BPL 2$    ;CHECK RIGHT DIFF. SWITCH
    LDA #$FF      ;IF AMATR. NO SEPERATION
    BMI 3$    ;BRANCH ALWAYS
2$: LDA #$F8      ;IF PRO. ADD SEPERATION
3$: STA PF2
10$:    STA WSYNC
    LDA SWCHB
    AND #$40    ;CHECK LEFT DIFF. SWITCH
    BNE 5$
    LDA #VOLUME    ;IF AMATR. ADD 1KHZ AUDIO
    JMP 6$
5$: LDA #BLACK    ;IF PRO. KILL AUDIO
6$: STA AUDV0
    STA WSYNC
    LDA SWCHB      ;CHECK FOR RESET SWITCH
    AND #1
    BEQ 7$    ;SWITCH CLOSED BRANCH
    LDA #3
    STA RSTCNT    ;RESET DEBOUNCE COUNT
    JMP 8$
7$: DEC RSTCNT
    LDA RSTCNT
    BNE 8$    ;CHECK FOR ZERO
    LDA TSTFLA    ;IF SO ALTER TEST FLAG
    BEQ 9$
    LDA #BLACK
    STA TSTFLA
    JMP 8$
9$: LDA #$FF
    STA TSTFLA
8$: LDX #$23    ;NUMBER OF LINES FOR VBLANK
4$: STA WSYNC
    DEX
    BNE 4$


;       START THE VISABLE PICTURE

PICTOP: LDA #0
    STA VBLANK    ;STOP VBLANKING
    LDX #$C    ;NUMBER OF LINES ON THE TOP OF
1$: STA WSYNC      ;THE PICTURE
    DEX
    BNE 1$

;       LOAD UP THE COLORS OF THE BARS


    LDX #$AA      ;NUMBER OF LINES OF BAR DISPLAY
    LDA SWCHB
    AND #8    ;TEST THE B.W./COLOR SWITCH
    BEQ GRAY      ;IF B.W. BRANCH
    LDA TSTFLA
    BEQ COLADJ
    LDA #BLACK
    STA PF0
2$: STA WSYNC
    LDA #BLUE
    STA COLUPF
    LDY #6
3$: DEY
    BNE 3$
    LDA #RED
    STA COLUPF
    LDY #2
4$: DEY
    BNE 4$
    LDA #GREEN
    STA COLUPF
    DEX
    BNE 2$
    BEQ BOTTOM    ;BRANCH ALWAYS

;       GRAY SCALE BARS

GRAY:   LDA #$FF
    STA PF0
    STA PF2
2$: STA WSYNC
    LDY #4
3$: DEY
    BNE 3$
    LDA #0
    STA COLUPF
    LDA #$2
    STA COLUPF
    LDA #$4
    STA COLUPF
    LDA #$6
    STA COLUPF
    LDA #$8
    STA COLUPF
    LDA #$A
    STA COLUPF
    LDA #$C
    STA COLUPF
    LDA #$E
    STA COLUPF
    LDA #0
    STA COLUPF
    DEX
    BNE 2$
    BEQ BOTTOM

;       COLOR ADJUST SCREEN

COLADJ: DEX
    STA WSYNC
    LDA #$14
    STA COLUP0
    LDA #$F4
    STA COLUP1
    LDA #2
    STA CTRLPF
    LDA #$FF
    STA PF0
1$: STA WSYNC
    DEX
    BNE 1$

;       BLANK OUT REST OF SCREEN

BOTTOM: STA WSYNC
    LDA #$FF
    STA PF2
    LDA #BLACK
    STA COLUP0
    STA COLUP1
    STA COLUPF
    LDA #5
    STA CTRLPF
    LDX #$A    ;NUMBER OF LINES OT FINISH PICTURE
1$: STA WSYNC
    DEX
    BNE 1$

;       OVERSCAN TIME

OSCAN:  LDX #$1D    ;NUMBER OF OVERSCAN LINES -1
1$: STA WSYNC
    DEX
    BNE 1$
    JMP FRAME


    ORG $FFFA
    .WORD INIT
    .WORD INIT
    .WORD INIT

Greetings,
Manuel

#5 Troy Fullwood OFFLINE  

Troy Fullwood

    Combat Commando

  • 1 posts

Posted Mon Jan 30, 2012 5:51 AM

I have reason to believe that I have access to the original assembler, or at least a possible compatible (via an account on the toad-1 @ livingcomputermuseum.org)

However, I cannot assemble it w/o SEQUAT.MAC, which appears to be their equivelant of VCS.H

Happen to have a copy?

#6 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!

  • 16,745 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Mon Jan 30, 2012 3:16 PM

Hope that helps.

Attached Files






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users