mirror of
https://git.sr.ht/~rabbits/uxn
synced 2024-11-21 21:35:11 +00:00
Setting up stage to add versioning
This commit is contained in:
parent
13570f790d
commit
97d299261f
14 changed files with 100 additions and 38 deletions
4
build.sh
4
build.sh
|
@ -81,8 +81,8 @@ else
|
|||
fi
|
||||
|
||||
${CC} ${CFLAGS} src/uxnasm.c -o bin/uxnasm
|
||||
${CC} ${CFLAGS} src/uxn.c src/devices/system.c src/devices/file.c src/devices/datetime.c src/devices/mouse.c src/devices/controller.c src/devices/screen.c src/devices/audio.c src/uxnemu.c ${UXNEMU_LDFLAGS} ${FILE_LDFLAGS} -o bin/uxnemu
|
||||
${CC} ${CFLAGS} src/uxn.c src/devices/system.c src/devices/file.c src/devices/datetime.c src/uxncli.c ${FILE_LDFLAGS} -o bin/uxncli
|
||||
${CC} ${CFLAGS} src/uxn.c src/devices/system.c src/devices/console.c src/devices/file.c src/devices/datetime.c src/devices/mouse.c src/devices/controller.c src/devices/screen.c src/devices/audio.c src/uxnemu.c ${UXNEMU_LDFLAGS} ${FILE_LDFLAGS} -o bin/uxnemu
|
||||
${CC} ${CFLAGS} src/uxn.c src/devices/system.c src/devices/console.c src/devices/file.c src/devices/datetime.c src/uxncli.c ${FILE_LDFLAGS} -o bin/uxncli
|
||||
|
||||
if [ $install = 1 ]
|
||||
then
|
||||
|
|
7
mkfile
7
mkfile
|
@ -14,6 +14,7 @@ HFILES=\
|
|||
src/devices/mouse.h\
|
||||
src/devices/screen.h\
|
||||
src/devices/system.h\
|
||||
src/devices/console.h\
|
||||
src/uxn.h\
|
||||
|
||||
CLEANFILES=$TARG $ROM
|
||||
|
@ -34,19 +35,19 @@ bin:
|
|||
%.rom:Q: %.tal bin/uxnasm
|
||||
bin/uxnasm $stem.tal $target >/dev/null
|
||||
|
||||
bin/uxncli: file.$O datetime.$O system.$O uxncli.$O uxn.$O
|
||||
bin/uxncli: file.$O datetime.$O system.$O console.$O uxncli.$O uxn.$O
|
||||
$LD $LDFLAGS -o $target $prereq
|
||||
|
||||
bin/uxnasm: uxnasm.$O
|
||||
$LD $LDFLAGS -o $target $prereq
|
||||
|
||||
bin/uxnemu: audio.$O controller.$O datetime.$O file.$O mouse.$O screen.$O system.$O uxn.$O uxnemu.$O
|
||||
bin/uxnemu: audio.$O controller.$O datetime.$O file.$O mouse.$O screen.$O system.$O console.$O uxn.$O uxnemu.$O
|
||||
$LD $LDFLAGS -o $target $prereq
|
||||
|
||||
(uxnasm|uxncli|uxnemu|uxn)\.$O:R: src/\1.c
|
||||
$CC $CFLAGS -Isrc -o $target src/$stem1.c
|
||||
|
||||
(audio|controller|datetime|file|mouse|screen|system)\.$O:R: src/devices/\1.c
|
||||
(audio|controller|datetime|file|mouse|screen|system|console)\.$O:R: src/devices/\1.c
|
||||
$CC $CFLAGS -Isrc -o $target src/devices/$stem1.c
|
||||
|
||||
nuke:V: clean
|
||||
|
|
|
@ -12,6 +12,11 @@ WITH REGARD TO THIS SOFTWARE.
|
|||
|
||||
typedef signed int Sint32;
|
||||
|
||||
|
||||
#define AUDIO_VERSION 1
|
||||
#define AUDIO_DEIMASK 0x0000
|
||||
#define AUDIO_DEOMASK 0x0000
|
||||
|
||||
#define SAMPLE_FREQUENCY 44100
|
||||
#define POLYPHONY 4
|
||||
|
||||
|
|
40
src/devices/console.c
Normal file
40
src/devices/console.c
Normal file
|
@ -0,0 +1,40 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "../uxn.h"
|
||||
#include "console.h"
|
||||
|
||||
/*
|
||||
Copyright (c) 2022-2023 Devine Lu Linvega, Andrew Alderwick
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
int
|
||||
console_input(Uxn *u, char c, int type)
|
||||
{
|
||||
Uint8 *d = &u->dev[0x10];
|
||||
d[0x2] = c;
|
||||
d[0x7] = type;
|
||||
return uxn_eval(u, PEEK2(d));
|
||||
}
|
||||
|
||||
void
|
||||
console_deo(Uint8 *d, Uint8 port)
|
||||
{
|
||||
switch(port) {
|
||||
case 0x8:
|
||||
fputc(d[port], stdout);
|
||||
fflush(stdout);
|
||||
return;
|
||||
case 0x9:
|
||||
fputc(d[port], stderr);
|
||||
fflush(stderr);
|
||||
return;
|
||||
}
|
||||
}
|
22
src/devices/console.h
Normal file
22
src/devices/console.h
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright (c) 2022 Devine Lu Linvega, Andrew Alderwick
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#define CONSOLE_VERSION 1
|
||||
#define CONSOLE_DEIMASK 0x0000
|
||||
#define CONSOLE_DEOMASK 0x0000
|
||||
|
||||
#define CONSOLE_STD 0x1
|
||||
#define CONSOLE_ARG 0x2
|
||||
#define CONSOLE_EOA 0x3
|
||||
#define CONSOLE_END 0x4
|
||||
|
||||
int console_input(Uxn *u, char c, int type);
|
||||
void console_deo(Uint8 *d, Uint8 port);
|
|
@ -9,6 +9,10 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|||
WITH REGARD TO THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#define CONTROL_VERSION 1
|
||||
#define CONTROL_DEIMASK 0x0000
|
||||
#define CONTROL_DEOMASK 0x0000
|
||||
|
||||
void controller_down(Uxn *u, Uint8 *d, Uint8 mask);
|
||||
void controller_up(Uxn *u, Uint8 *d, Uint8 mask);
|
||||
void controller_key(Uxn *u, Uint8 *d, Uint8 key);
|
||||
|
|
|
@ -9,4 +9,8 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|||
WITH REGARD TO THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#define DATETIME_VERSION 1
|
||||
#define DATETIME_DEIMASK 0x0000
|
||||
#define DATETIME_DEOMASK 0x0000
|
||||
|
||||
Uint8 datetime_dei(Uxn *u, Uint8 addr);
|
||||
|
|
|
@ -9,6 +9,10 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|||
WITH REGARD TO THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#define FILE_VERSION 1
|
||||
#define FILE_DEIMASK 0x0000
|
||||
#define FILE_DEOMASK 0x0000
|
||||
|
||||
#define POLYFILEY 2
|
||||
#define DEV_FILE0 0xa
|
||||
|
||||
|
|
|
@ -9,6 +9,11 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|||
WITH REGARD TO THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#define MOUSE_VERSION 1
|
||||
#define MOUSE_DEIMASK 0x0000
|
||||
#define MOUSE_DEOMASK 0x0000
|
||||
|
||||
void mouse_down(Uxn *u, Uint8 *d, Uint8 mask);
|
||||
void mouse_up(Uxn *u, Uint8 *d, Uint8 mask);
|
||||
void mouse_pos(Uxn *u, Uint8 *d, Uint16 x, Uint16 y);
|
||||
|
|
|
@ -10,6 +10,10 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|||
WITH REGARD TO THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#define SCREEN_VERSION 1
|
||||
#define SCREEN_DEIMASK 0x0000
|
||||
#define SCREEN_DEOMASK 0x0000
|
||||
|
||||
typedef struct UxnScreen {
|
||||
int width, height, x1, y1, x2, y2;
|
||||
Uint32 palette[4], *pixels;
|
||||
|
|
|
@ -96,32 +96,6 @@ system_deo(Uxn *u, Uint8 *d, Uint8 port)
|
|||
}
|
||||
}
|
||||
|
||||
/* Console */
|
||||
|
||||
int
|
||||
console_input(Uxn *u, char c, int type)
|
||||
{
|
||||
Uint8 *d = &u->dev[0x10];
|
||||
d[0x2] = c;
|
||||
d[0x7] = type;
|
||||
return uxn_eval(u, PEEK2(d));
|
||||
}
|
||||
|
||||
void
|
||||
console_deo(Uint8 *d, Uint8 port)
|
||||
{
|
||||
switch(port) {
|
||||
case 0x8:
|
||||
fputc(d[port], stdout);
|
||||
fflush(stdout);
|
||||
return;
|
||||
case 0x9:
|
||||
fputc(d[port], stderr);
|
||||
fflush(stderr);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* Errors */
|
||||
|
||||
int
|
||||
|
|
|
@ -9,16 +9,13 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|||
WITH REGARD TO THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#define RAM_PAGES 0x10
|
||||
#define SYSTEM_VERSION 1
|
||||
#define SYSTEM_DEIMASK 0x0000
|
||||
#define SYSTEM_DEOMASK 0x0000
|
||||
|
||||
#define CONSOLE_STD 0x1
|
||||
#define CONSOLE_ARG 0x2
|
||||
#define CONSOLE_EOA 0x3
|
||||
#define CONSOLE_END 0x4
|
||||
#define RAM_PAGES 0x10
|
||||
|
||||
int system_load(Uxn *u, char *filename);
|
||||
void system_inspect(Uxn *u);
|
||||
int system_error(char *msg, const char *err);
|
||||
void system_deo(Uxn *u, Uint8 *d, Uint8 port);
|
||||
int console_input(Uxn *u, char c, int type);
|
||||
void console_deo(Uint8 *d, Uint8 port);
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "uxn.h"
|
||||
#include "devices/system.h"
|
||||
#include "devices/console.h"
|
||||
#include "devices/file.h"
|
||||
#include "devices/datetime.h"
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#pragma clang diagnostic ignored "-Wtypedef-redefinition"
|
||||
#include <SDL.h>
|
||||
#include "devices/system.h"
|
||||
#include "devices/console.h"
|
||||
#include "devices/screen.h"
|
||||
#include "devices/audio.h"
|
||||
#include "devices/file.h"
|
||||
|
|
Loading…
Reference in a new issue