mirror of
https://github.com/RevCurtisP/C02.git
synced 2024-11-24 15:31:17 +00:00
67 lines
1.8 KiB
Plaintext
67 lines
1.8 KiB
Plaintext
/* Atari VCS 2 Line Kernel Test` */
|
|
|
|
#pragma origin $F800 //4k Cartridge
|
|
#include <vcshead.h02> //TIA and RIOT Registers
|
|
#include <vcsstub.h02> //VCS Program Stub
|
|
#include <vcslib.h02> //VCS Library Routines
|
|
#include <score2.h02> //Two Player Score Kernel
|
|
#include <timerbar.h02> //Two Player Score Kernel
|
|
#include <k2line.h02> //Two Line Game Kernel
|
|
|
|
//TIA Register Bit Masks
|
|
#define CLEAR = 0
|
|
#define SET = $0B
|
|
|
|
//Console Switch Bit Masks
|
|
#define P1DIFF = $80 //Player 1 Difficulty
|
|
#define P0DIFF = $40 //Player 0 Difficulty
|
|
|
|
//Constants Required by timerbar.h02
|
|
#define TMRCLR = $64
|
|
|
|
//Constants Required by k2line.h02
|
|
#define P0HGHT = 10 //Player 0 Height
|
|
#define P1HGHT = 10 //Player 1 Height
|
|
|
|
//Color Table
|
|
char colors = {$86, $C6, $46, $00, $0E, $06, $0A, $00};
|
|
|
|
//Human Shaped Player Graphics
|
|
char human = {%00011100, %00011000, %00011000, %00011000, %01011010,
|
|
%01011010, %00111100, %00000000, %00011000, %00011000};
|
|
|
|
zeropage char frame; //Frame Counter
|
|
|
|
/* Setup Code */
|
|
void setup() {
|
|
setclr(&colors); //Set Color Table
|
|
initmr(); //Initialize Timer Bar
|
|
}
|
|
|
|
/* Vertical Blank Code */
|
|
void vrtblk() {
|
|
scrprp(); //Prepare Score For Display
|
|
posobj(0,0); //Set P0 X-Position
|
|
p0prep(175, &human); //Set P0 Y-Position & Graphics Pointer
|
|
posobj(8,1); //Set P1 X-Position
|
|
p1prep(175, &human); //Set P1 Y-Position & Graphics Pointer
|
|
}
|
|
|
|
/* Execute Kernel Code */
|
|
void kernel() {
|
|
scrdsp(); //Display Scores
|
|
dsptmr(); //Display Timer Bar
|
|
dsplns(); //Display Playfield and Objects
|
|
}
|
|
|
|
/* Execute Overscan Code */
|
|
void ovrscn() {
|
|
frame++;
|
|
if (!frame & 7) { //Decrement Timer Every X Frames
|
|
if (!dectmr()) initmr(); //Reset Timer if It Runs Out
|
|
}
|
|
}
|
|
|
|
#include <digits.h02> //Digit Graphics
|
|
#include <vcsfoot.h02> //Finalization Code
|