game of life

This commit is contained in:
aramya 2022-01-01 21:08:11 +01:00
parent 64341435f0
commit 60480adc08
2 changed files with 4 additions and 22 deletions

View File

@ -1,6 +1,5 @@
#include "boot.h" #include "boot.h"
void __stack_chk_fail_local(void){} void __stack_chk_fail_local(void){}
void get_io_type(void) void get_io_type(void)
{ {
if (*(unsigned char*)__VRAM__BEIGE == beige) IO_TYPE = beige; if (*(unsigned char*)__VRAM__BEIGE == beige) IO_TYPE = beige;
@ -47,8 +46,8 @@ void main(void)
{ {
if (IO_TYPE == mac99) if (IO_TYPE == mac99)
{ {
random = (*p_bios ); random = (*p_timer + *p_bios);
if (!(random%3)) universe[i][j] = 1; if (!(random%7)) universe[i][j] = 1;
else universe[i][j] = 0; else universe[i][j] = 0;
p_bios++; p_bios++;
} }
@ -63,7 +62,8 @@ void main(void)
for(;;) for(;;)
{ {
init(); init();
memcpy(p_vram, p_vram+511, 400000); memcpy(p_vram, p_vram+255, 400000);
p_vram += 400000; p_vram += 400000;
for (i = 0; i < N; i++) for (j = 0; j < N; j++) for (i = 0; i < N; i++) for (j = 0; j < N; j++)
{ {
@ -103,7 +103,6 @@ void main(void)
} }
for (i = 0; i < N; i++) for (j = 0; j < N; j++) universe[i][j] = universe2[i][j]; for (i = 0; i < N; i++) for (j = 0; j < N; j++) universe[i][j] = universe2[i][j];
} }
} }
@ -124,22 +123,6 @@ void fillscreen(unsigned int* addr, unsigned char a, unsigned char b, unsigned c
} }
} }
void colorscreen(unsigned int* addr, unsigned char a, unsigned char b, unsigned char c, int n)
{
unsigned char* ptr = addr;
for (unsigned int i = 0; i<n; i++)
{
//24-bit VGA
*ptr = a;
ptr++;
*ptr = b;
ptr++;
ptr++;
*ptr = 0;
ptr++;
}
}
void memcpy(unsigned char* dest, unsigned char* src, int n) void memcpy(unsigned char* dest, unsigned char* src, int n)
{ {
unsigned char* destination = dest; unsigned char* destination = dest;

View File

@ -23,5 +23,4 @@ void fillscreen(unsigned int* addr, unsigned char a, unsigned char b, unsigned c
void memcpy(unsigned char* dest, unsigned char* src, int n); void memcpy(unsigned char* dest, unsigned char* src, int n);
unsigned char u8_extract_bit(unsigned char n, unsigned char bit); unsigned char u8_extract_bit(unsigned char n, unsigned char bit);
unsigned char u32_extract_bit(unsigned int n, unsigned char bit); unsigned char u32_extract_bit(unsigned int n, unsigned char bit);
void colorscreen(unsigned int* addr, unsigned char a, unsigned char b, unsigned char c, int n);