From 6797b82a16f7bdd66fde320d8d0b79d56f3c1f43 Mon Sep 17 00:00:00 2001 From: Christophe Meneboeuf Date: Wed, 8 Feb 2017 00:03:46 +0100 Subject: [PATCH] Not building Linux native version anymore --- Makefile | 14 +- README.md | 15 +- scripts/Sound_Precalculus.ods | Bin 9188 -> 13324 bytes src/gol_linux.c | 238 ------------------ src/{gol_apple2.c => gol_main.c} | 0 ...apple2_optimized.asm => gol_optimized.asm} | 0 src/music.asm | 2 - 7 files changed, 11 insertions(+), 258 deletions(-) delete mode 100755 src/gol_linux.c rename src/{gol_apple2.c => gol_main.c} (100%) rename src/{gol_apple2_optimized.asm => gol_optimized.asm} (100%) diff --git a/Makefile b/Makefile index 167f115..16a7958 100755 --- a/Makefile +++ b/Makefile @@ -1,23 +1,15 @@ -LINUX_CC := cc -LINUX_SRC := src/gol_linux.c -LINUX_CFLAGS := -Wall -Wextra -pedantic-errors -ansi -std=gnu99 -lncurses -lm -O3 -LINUX_OUT := bin/gol.out - APPLE2_CL := $(CC65_HOME)/bin/cl65 APPLE2_CC := $(CC65_HOME)/bin/cc65 -APPLE2_SRC := src/gol_apple2.c src/gol_apple2_optimized.asm src/gfx.asm src/rnd_colors.asm src/file_io.c src/mli.asm src/music.asm -APPLE2_MAP := gol_apple2.map +APPLE2_SRC := src/gol_main.c src/gol_optimized.asm src/gfx.asm src/rnd_colors.asm src/file_io.c src/mli.asm src/music.asm +APPLE2_MAP := gol.map APPLE2_CFLAGS := -Oirs -v -t apple2 APPLE2_OUT := bin/gol.a2 -all: directories linux apple2 +all: directories apple2 directories: mkdir -p bin -linux: $(LINUX_SRC) - $(LINUX_CC) -o $(LINUX_OUT) $? $(LINUX_CFLAGS) - apple2: $(APPLE2_SRC) $(APPLE2_CL) -m $(APPLE2_MAP) -o $(APPLE2_OUT) $? $(APPLE2_CFLAGS) -C src/game-of-life.cfg diff --git a/README.md b/README.md index 75cc547..e00bf19 100755 --- a/README.md +++ b/README.md @@ -4,10 +4,7 @@ It should build with no modification on Linux, macOs and Windows 10 (using the b --- -Two binaries will be produced. - -1. *gol.out* is a Linux executable. -2. *gol.a2* is an Apple II executable +It will produce the file *gol.a2*, which is an Apple II executable **Prerequisite in order to build:** @@ -22,10 +19,10 @@ Two binaries will be produced. Run the *add-to-disk.sh* script. -**Title screen** +**Splash screen** -The title screen art is located in the *assets* folder. It has to be -manually loaded on the disk image using the *AppleCommander's GUI*, for the +The splash screen art is located in the *assets* folder. **It has to be +manually loaded** on the disk image using the *AppleCommander's GUI*, for the command line loads a corrupted file! This screen was converted from a PNG using [*Rgb2Hires*](https://github.com/Pixinn/Rgb2Hires). @@ -34,3 +31,7 @@ This screen was converted from a PNG using [*Rgb2Hires*](https://github.com/Pixi For more information, you can refer to these posts on [my blog](https://www.xtof/info/blog/). * [Coding in C for a 8 bit 6502 CPU](https://www.xtof.info/blog/?p=714) * [Coding in Assembly for an Apple II](https://www.xtof.info/blog/?p=745) +* [HIRES Graphics on the Apple II](https://www.xtof.info/blog/?p=768) +* [Making the Apple II sing](https://www.xtof.info/blog/?p=807) +* [A Game of Life](https://www.xtof.info/blog/?p=837) + diff --git a/scripts/Sound_Precalculus.ods b/scripts/Sound_Precalculus.ods index 40cde99f79e6b42cb0751f3ebe498f311ccee25c..9cd91fe775bb1ac8724a61c97b720c2ebf6698dd 100755 GIT binary patch delta 12603 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 delta 8489 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 Nn-u@#t)=>}`d_?4C;|Wg diff --git a/src/gol_linux.c b/src/gol_linux.c deleted file mode 100755 index de41eb2..0000000 --- a/src/gol_linux.c +++ /dev/null @@ -1,238 +0,0 @@ -/* A Conway's Game of Life -* Copyright (C) 2016 Christophe Meneboeuf -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - -#include -#include -#include -#include -#include -#include -#include - -/******************* FUNCTION DEFINITIONS **************/ - -static void finish(int sig); - -void init_display( void ); -void draw_cells( void ); /* lets the user draw some starting cells */ -void toggle_cell( uint8_t x, uint8_t y ); /* toggles the cell at the given coordinates */ - -void run( void ); /* runs the simulation */ -void update( void ); /* updates the simulation */ -uint8_t count_neighbours( uint8_t* cell ); /* counts nb neighbours of the cell */ - - -/******************* CUSTOM TYPES AND VALUES DEFINITIONS ****************/ - -#define NB_LINES 23u -#define NB_COLUMNS 40u - -#define ALIVE 1u -#define DEAD 0u -#define SPRITE_ALIVE '0' -#define SPRITE_DEAD ' ' - - - -/******************* STATIC GLOBAL VARIABLES ******************/ - -uint8_t Cells[ NB_COLUMNS ][ NB_LINES ]; -uint8_t Cells_Future[ NB_COLUMNS ][ NB_LINES ]; - - -/******************** CODE ************************/ - - -int main( void ) -{ - signal(SIGINT, finish); /* arrange interrupts to terminate */ - - /* Initial state */ - memset( Cells, DEAD, sizeof(Cells) ); - init_display(); - - /* go */ - draw_cells(); - run(); - - endwin(); - return 0; -} - - -void init_display( void ) -{ - /* Init ncurses */ - setlocale(LC_ALL, ""); - initscr(); - cbreak(); - noecho(); - nonl(); - intrflush(stdscr, FALSE); - keypad(stdscr, TRUE); - nodelay(stdscr, TRUE); - - /* Init displayed playfield */ - uint8_t i; - for( i = 0u; i < NB_COLUMNS; ++i ) { - mvaddch(0u,i,'+'); - } - for( i = 0u; i < NB_COLUMNS; ++i ) { - mvaddch(NB_LINES-1u,i,'+'); - } - for( i = 0u; i < NB_LINES; ++i ) { - mvaddch(i,0u,'+'); - } - for( i = 0u; i < NB_LINES; ++i ) { - mvaddch(i,NB_COLUMNS-1u,'+'); - } - refresh(); -} - - -void draw_cells( void ) -{ - uint8_t quit = 0u; - - uint8_t ch; - uint8_t y = NB_LINES >> 1; - uint8_t x = NB_COLUMNS >> 1; - - move(y,x); - refresh(); - - while ( quit == 0) - { - getyx(stdscr, y, x); - ch = getch(); - switch (ch) { - case 'j': - if( x > 1u ) { move(y, --x); } - break; - case 'k': - if( y < NB_LINES - 2u ) { move(++y, x); } - break; - case 'i': - if( y > 1u ) { move(--y, x); } - break; - case 'l': - if( x < NB_COLUMNS - 2u ) { move(y, ++x); } - break; - case ' ': - toggle_cell(x,y); - break; - case 'q': - quit = 1; - break; - } - - refresh(); - } - - /* Cells was updated by the calls to toggle() */ - memcpy( Cells_Future, Cells, sizeof(Cells_Future) ); - -} - - -void toggle_cell( const uint8_t x, const uint8_t y ) -{ - if( x == 0u || x >= NB_COLUMNS-1 || y == 0u || y >= NB_LINES-1 ) { return; } - uint8_t* cell = &Cells[x][y]; - if( *cell == DEAD ) { - *cell = ALIVE; - mvaddch(y,x,SPRITE_ALIVE); - } else { - *cell = DEAD; - mvaddch(y,x,SPRITE_DEAD); - } - refresh(); -} - - -void run( void ) -{ - #define PERIOD_MS 200000u - curs_set(0); - char ch = '\0'; - while( ch != 'q') - { - ch = getch(); - update(); - usleep( PERIOD_MS ); - } -} - - -void update( void ) -{ - uint8_t x, y; - uint8_t* cell_neighbourhoud = &Cells[0][0]; // cell_neighbourhoud = &Cells[0][0]; - uint8_t* cell = cell_neighbourhoud + NB_LINES + 1u; // cell = &Cells[1][1]; - uint8_t* cell_future = &Cells_Future[0][0] + NB_LINES + 1u; // cell_future = &Cells_Future[1][1]; - for( y = 1u; y < NB_LINES - 1u; ++y ) - { - - uint8_t* cell_line = cell; - uint8_t* cell_neighbourhoud_line = cell_neighbourhoud; - uint8_t* cell_future_line = cell_future; - for( x = 1u; x < NB_COLUMNS - 1u; ++x) - { - uint8_t nb_neighbours = count_neighbours( cell_neighbourhoud_line ); - if( *cell_line == ALIVE && \ - (nb_neighbours < 2u || nb_neighbours > 3u ) - ) { - *cell_future_line = DEAD; - mvaddch(y,x,SPRITE_DEAD); - } - else if( *cell_line == DEAD && nb_neighbours == 3u ) { - *cell_future_line = ALIVE; - mvaddch(y,x,SPRITE_ALIVE); - } - cell_line += NB_LINES; - cell_neighbourhoud_line += NB_LINES; - cell_future_line += NB_LINES; - } - ++cell; - ++cell_neighbourhoud; - ++cell_future; - } - memcpy( Cells, Cells_Future, sizeof(Cells) ); - refresh(); -} - - -uint8_t count_neighbours( uint8_t* cell ) -{ - uint8_t count; - count = *cell++; count += *cell++; count += *cell; - cell += NB_LINES - 2u; - count += *cell; cell+=2 ; count += *cell; - cell += NB_LINES - 2u; - count += *cell++; count += *cell++; count += *cell; - return count; -} - -static void finish(int sig) -{ - (void) sig; - endwin(); - - /* do your non-curses wrapup here */ - - exit(0); -} diff --git a/src/gol_apple2.c b/src/gol_main.c similarity index 100% rename from src/gol_apple2.c rename to src/gol_main.c diff --git a/src/gol_apple2_optimized.asm b/src/gol_optimized.asm similarity index 100% rename from src/gol_apple2_optimized.asm rename to src/gol_optimized.asm diff --git a/src/music.asm b/src/music.asm index ea94c75..79c341c 100755 --- a/src/music.asm +++ b/src/music.asm @@ -8,8 +8,6 @@ .export _pause .DATA -Loops: .byte 149, 141, 133, 125, 118, 111, 105, 99, 94, 88, 83, 78 ;Note loops -Test: .word 31100 ;NB nop loops of each note, lasting hal a period Half_Periods: .byte 251, 237, 224, 211, 199, 188, 177, 167, 158