diff options
| author | lameguy64 <lameguy64@gmail.com> | 2019-05-23 22:24:56 +0800 |
|---|---|---|
| committer | lameguy64 <lameguy64@gmail.com> | 2019-05-23 22:24:56 +0800 |
| commit | 3ffebff2aad2ca438cf76db51fb3459c5639cd67 (patch) | |
| tree | a234fc6158d3c09904c4c1fb2feee09afb479a4c /examples/rgb24 | |
| parent | e70cd149f41ea71f9ca9ee86c03d1e59005dad2a (diff) | |
| download | psn00bsdk-3ffebff2aad2ca438cf76db51fb3459c5639cd67.tar.gz | |
Added BIOS Controller, BIOS CD, 2 new examples and custom exit handler in the works
Diffstat (limited to 'examples/rgb24')
| -rw-r--r-- | examples/rgb24/bunpattern.tim | bin | 0 -> 921620 bytes | |||
| -rw-r--r-- | examples/rgb24/main.c | 52 | ||||
| -rw-r--r-- | examples/rgb24/makefile | 41 | ||||
| -rw-r--r-- | examples/rgb24/tim.s | 7 |
4 files changed, 100 insertions, 0 deletions
diff --git a/examples/rgb24/bunpattern.tim b/examples/rgb24/bunpattern.tim Binary files differnew file mode 100644 index 0000000..f233453 --- /dev/null +++ b/examples/rgb24/bunpattern.tim diff --git a/examples/rgb24/main.c b/examples/rgb24/main.c new file mode 100644 index 0000000..178ece2 --- /dev/null +++ b/examples/rgb24/main.c @@ -0,0 +1,52 @@ +/* LibPSn00b Example Programs + * Part of the PSn00bSDK Project + * + * RGB24 Example by Lameguy64 + * + * + * This example demonstrates the 24-bit color mode of the PS1. This mode is + * not practical for gameplay as the GPU can only draw graphics primitives + * in 16-bit color depth so this feature would normally be used only for + * fullscreen graphic illustrations or FMV sequences. + * + * + * Changelog: + * + * 05-03-2019 - Initial version. + * + */ + +#include <stdio.h> +#include <psxgte.h> +#include <psxgpu.h> + +// So data from tim.s can be accessed +extern unsigned int tim_image[]; + +int main() { + + DISPENV disp; + TIM_IMAGE tim; + + // Reset GPU + ResetGraph(0); + + // Setup 640x480 24-bit video mode + SetDefDispEnv(&disp, 0, 0, 640, 480); + disp.isrgb24 = 1; + disp.isinter = 1; + + // Apply and enable display + PutDispEnv(&disp); + SetDispMask(1); + + // Upload image to VRAM + GetTimInfo(tim_image, &tim); + LoadImage(tim.prect, tim.paddr); + DrawSync(); + + while(1) { + } + + return 0; +}
\ No newline at end of file diff --git a/examples/rgb24/makefile b/examples/rgb24/makefile new file mode 100644 index 0000000..ada9fbb --- /dev/null +++ b/examples/rgb24/makefile @@ -0,0 +1,41 @@ +include ../sdk-common.mk + +TARGET = rgb24.elf + +CFILES = $(notdir $(wildcard *.c)) +CPPFILES = $(notdir $(wildcard *.cpp)) +AFILES = $(notdir $(wildcard *.s)) + +OFILES = $(addprefix build/,$(CFILES:.c=.o) $(CPPFILES:.cpp=.o) $(AFILES:.s=.o)) + +INCLUDE += +LIBDIRS += + +LIBS = -lc -lpsxgpu -lpsxapi -lgcc + +CFLAGS = -g -O2 -fno-builtin -fdata-sections -ffunction-sections +CPPFLAGS = $(CFLAGS) -fno-exceptions +AFLAGS = -g -msoft-float +LDFLAGS = -g -Ttext=0x80010000 -gc-sections + +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: %.s + @mkdir -p $(dir $@) + $(CC) $(AFLAGS) $(INCLUDE) -c $< -o $@ + +build/%.o: %.tim + +clean: + rm -rf build $(TARGET) $(TARGET:.elf=.exe) diff --git a/examples/rgb24/tim.s b/examples/rgb24/tim.s new file mode 100644 index 0000000..a4432d9 --- /dev/null +++ b/examples/rgb24/tim.s @@ -0,0 +1,7 @@ +.section .data + +.global tim_image +.type tim_image, @object +tim_image: + .incbin "bunpattern.tim" +
\ No newline at end of file |
