1
0
mirror of https://github.com/RevCurtisP/C02.git synced 2024-06-26 05:29:32 +00:00
C02/vcs/humans.c02

56 lines
1.5 KiB
Plaintext
Raw Normal View History

2017-07-01 03:02:26 +00:00
/* Atari VCS 2 Line Kernel Test` */
#pragma origin $F800 //4k Cartridge
#include <vcshead.h02> //TIA and RIOT Registers
2017-07-01 03:25:32 +00:00
#include <vcsstub.h02> //VCS Program Stub
2017-07-01 03:02:26 +00:00
#include <vcslib.h02> //VCS Library Routines
#include <k2line.h02> //Two Line Game Kernel
2017-07-01 03:25:32 +00:00
//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 k2line.h02
2017-07-01 03:02:26 +00:00
#define KNLLNS = 96 //Kernal Lines (Scanlines/2)
#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};
/* Setup Code */
void setup() {
setclr(&colors); //Set Color Table
}
/* Vertical Blank Code */
void vrtblk() {
posobj(0,0); //Set P0 X-Position
p0prep(191, &human); //Set P0 Y-Position & Graphics Pointer
2017-07-01 03:02:26 +00:00
posobj(8,1); //Set P1 X-Position
p1prep(191, &human); //Set P1 Y-Position & Graphics Pointer
//VDELP0 = (SWCHB & #P0DIFF) ? #SET : #CLEAR;
//VDELP1 = (SWCHB & #P1DIFF) ? #SET : #CLEAR;
2017-07-01 03:02:26 +00:00
}
/* Execute Kernel Code */
void kernel() {
dsplns(); //Display Playfield and Objects
}
/* Execute Overscan Code */
void ovrscn() {
}
#include <digits.h02> //Digit Graphics
#include <vcsfoot.h02> //Finalization Code