aboutsummaryrefslogtreecommitdiff
path: root/examples/hello
diff options
context:
space:
mode:
Diffstat (limited to 'examples/hello')
-rw-r--r--examples/hello/main.c118
-rw-r--r--examples/hello/makefile60
2 files changed, 0 insertions, 178 deletions
diff --git a/examples/hello/main.c b/examples/hello/main.c
deleted file mode 100644
index 1f02f0b..0000000
--- a/examples/hello/main.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * LibPSn00b Example Programs
- *
- * Hello World Example
- * 2019-2020 Meido-Tek Productions / PSn00bSDK Project
- *
- * The obligatory hello world example normally included in nearly every
- * SDK package. This example should also get you started in how to manage
- * the display using psxgpu.
- *
- * Example by Lameguy64
- *
- *
- * Changelog:
- *
- * January 1, 2020 - Initial version
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <psxetc.h>
-#include <psxgte.h>
-#include <psxgpu.h>
-
-
-// Define display/draw environments for double buffering
-DISPENV disp[2];
-DRAWENV draw[2];
-int db;
-
-
-// Init function
-void init(void)
-{
- // This not only resets the GPU but it also installs the library's
- // ISR subsystem to the kernel
- ResetGraph(0);
-
- // Define display environments, first on top and second on bottom
- SetDefDispEnv(&disp[0], 0, 0, 320, 240);
- SetDefDispEnv(&disp[1], 0, 240, 320, 240);
-
- // Define drawing environments, first on bottom and second on top
- SetDefDrawEnv(&draw[0], 0, 240, 320, 240);
- SetDefDrawEnv(&draw[1], 0, 0, 320, 240);
-
- // Set and enable clear color
- setRGB0(&draw[0], 0, 96, 0);
- setRGB0(&draw[1], 0, 96, 0);
- draw[0].isbg = 1;
- draw[1].isbg = 1;
-
- // Clear double buffer counter
- db = 0;
-
- // Apply the GPU environments
- PutDispEnv(&disp[db]);
- PutDrawEnv(&draw[db]);
-
- // Load test font
- FntLoad(960, 0);
-
- // Open up a test font text stream of 100 characters
- FntOpen(0, 8, 320, 224, 0, 100);
-}
-
-// Display function
-void display(void)
-{
- // Flip buffer index
- db = !db;
-
- // Wait for all drawing to complete
- DrawSync(0);
-
- // Wait for vertical sync to cap the logic to 60fps (or 50 in PAL mode)
- // and prevent screen tearing
- VSync(0);
-
- // Switch pages
- PutDispEnv(&disp[db]);
- PutDrawEnv(&draw[db]);
-
- // Enable display output, ResetGraph() disables it by default
- SetDispMask(1);
-
-}
-
-// Main function, program entrypoint
-int main(int argc, const char *argv[])
-{
- int counter;
-
- // Init stuff
- init();
-
- // Main loop
- counter = 0;
- while(1)
- {
-
- // Print the obligatory hello world and counter to show that the
- // program isn't locking up to the last created text stream
- FntPrint(-1, "HELLO WORLD\n");
- FntPrint(-1, "COUNTER=%d\n", counter);
-
- // Draw the last created text stream
- FntFlush(-1);
-
- // Update display
- display();
-
- // Increment the counter
- counter++;
- }
-
- return 0;
-}
diff --git a/examples/hello/makefile b/examples/hello/makefile
deleted file mode 100644
index 77edaa7..0000000
--- a/examples/hello/makefile
+++ /dev/null
@@ -1,60 +0,0 @@
-include ../sdk-common.mk
-
-# Project target name
-TARGET = hello.elf
-
-# Searches for C, C++ and S (assembler) files in local directory
-CFILES = $(notdir $(wildcard *.c))
-CPPFILES = $(notdir $(wildcard *.cpp))
-AFILES = $(notdir $(wildcard *.s))
-
-# Determine object files
-OFILES = $(addprefix build/,$(CFILES:.c=.o)) \
- $(addprefix build/,$(CPPFILES:.cpp=.o)) \
- $(addprefix build/,$(AFILES:.s=.o))
-
-# Project specific include and library directories
-# (use -I for include dirs, -L for library dirs)
-INCLUDE +=
-LIBDIRS +=
-
-# Libraries to link
-LIBS = -lpsxetc -lpsxgpu -lpsxgte -lpsxspu -lpsxapi -lc
-
-# C compiler flags
-CFLAGS = -g -O2 -fno-builtin -fdata-sections -ffunction-sections
-
-# C++ compiler flags
-CPPFLAGS = $(CFLAGS) -fno-exceptions
-
-# Assembler flags
-AFLAGS = -g -msoft-float
-
-# Linker flags
-LDFLAGS = -g -Ttext=0x80010000 -gc-sections \
- -T $(GCC_BASE)/mipsel-unknown-elf/lib/ldscripts/elf32elmip.x
-
-# Toolchain programs
-CC = $(PREFIX)gcc
-CXX = $(PREFIX)g++
-AS = $(PREFIX)as
-LD = $(PREFIX)ld
-
-all: $(OFILES)
- $(LD) $(LDFLAGS) $(LIBDIRS) $(OFILES) $(LIBS) -o $(TARGET)
- elf2x -q $(TARGET)
-
-build/%.o: %.c
- @mkdir -p $(dir $@)
- $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@
-
-build/%.o: %.cpp
- @mkdir -p $(dir $@)
- $(CXX) $(AFLAGS) $(INCLUDE) -c $< -o $@
-
-build/%.o: %.s
- @mkdir -p $(dir $@)
- $(CC) $(AFLAGS) $(INCLUDE) -c $< -o $@
-
-clean:
- rm -rf build $(TARGET) $(TARGET:.elf=.exe)