aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspicyjpeg <88942473+spicyjpeg@users.noreply.github.com>2022-02-27 19:45:38 +0100
committerspicyjpeg <88942473+spicyjpeg@users.noreply.github.com>2022-02-27 19:45:38 +0100
commit69a364049a3958396d2d083c660591dad9ec257d (patch)
treee56b1b614890e512726448dad10cb68b3b7b261f
parenta2da2debfde1d44338d203aa4d56e485c4bb16ae (diff)
downloadpsn00bsdk-69a364049a3958396d2d083c660591dad9ec257d.tar.gz
Rename some hwregs_c.h and hwregs.a definitions
-rw-r--r--examples/graphics/rgb24/bunpattern.pngbin0 -> 59932 bytes
-rw-r--r--examples/io/pads/spi.c6
-rw-r--r--examples/system/timer/main.c5
-rw-r--r--libpsn00b/include/hwregs_a.h22
-rw-r--r--libpsn00b/include/hwregs_c.h10
-rw-r--r--libpsn00b/psxgpu/clearotagr.s2
-rw-r--r--libpsn00b/psxgpu/drawotag.s4
-rw-r--r--libpsn00b/psxgpu/drawprim.s4
-rw-r--r--libpsn00b/psxgpu/drawsynccallback.s2
-rw-r--r--libpsn00b/psxgpu/loadimage.s14
-rw-r--r--libpsn00b/psxgpu/putdispenv.s8
-rw-r--r--libpsn00b/psxgpu/putdispenvraw.s10
-rw-r--r--libpsn00b/psxgpu/readgpustat.s4
-rw-r--r--libpsn00b/psxgpu/resetgraph.s28
-rw-r--r--libpsn00b/psxgpu/setdispmask.s4
-rw-r--r--libpsn00b/psxgpu/setvideomode.s2
-rw-r--r--libpsn00b/psxgpu/storeimage.s14
17 files changed, 70 insertions, 69 deletions
diff --git a/examples/graphics/rgb24/bunpattern.png b/examples/graphics/rgb24/bunpattern.png
new file mode 100644
index 0000000..61524f8
--- /dev/null
+++ b/examples/graphics/rgb24/bunpattern.png
Binary files differ
diff --git a/examples/io/pads/spi.c b/examples/io/pads/spi.c
index 05a0e59..43b5bc3 100644
--- a/examples/io/pads/spi.c
+++ b/examples/io/pads/spi.c
@@ -179,12 +179,12 @@ SPI_Request *SPI_CreateRequest(void) {
}
void SPI_SetPollRate(uint32_t value) {
- TIM_CTRL(2) = 0x0258; // CLK/8 input, IRQ on reload, disable one-shot IRQ
+ TIMER_CTRL(2) = 0x0258; // CLK/8 input, IRQ on reload, disable one-shot IRQ
if (value < 65)
- TIM_RELOAD(2) = 0xffff;
+ TIMER_RELOAD(2) = 0xffff;
else
- TIM_RELOAD(2) = (F_CPU / 8) / value;
+ TIMER_RELOAD(2) = (F_CPU / 8) / value;
}
void SPI_Init(SPI_Callback callback) {
diff --git a/examples/system/timer/main.c b/examples/system/timer/main.c
index 8153581..eb62712 100644
--- a/examples/system/timer/main.c
+++ b/examples/system/timer/main.c
@@ -3,6 +3,7 @@
#include <psxgpu.h>
#include <psxapi.h>
#include <psxetc.h>
+#include <hwregs_c.h>
/* OT and Packet Buffer sizes */
#define OT_LEN 256
@@ -34,7 +35,7 @@ void display();
volatile int timer_calls = 0;
-volatile short *timer2_ctrl = (short*)0x1F801124;
+
void timer_func()
{
timer_calls++;
@@ -74,7 +75,7 @@ int main() {
//counter = 5163000/560;
SetRCnt(RCntCNT2, counter, RCntMdINTR);
- *timer2_ctrl = 0x1E58;
+ TIMER_CTRL(2) = 0x1E58;
InterruptCallback(6, timer_func);
StartRCnt(RCntCNT2);
ChangeClearRCnt(2, 0);
diff --git a/libpsn00b/include/hwregs_a.h b/libpsn00b/include/hwregs_a.h
index 4d0bade..8a504f5 100644
--- a/libpsn00b/include/hwregs_a.h
+++ b/libpsn00b/include/hwregs_a.h
@@ -8,8 +8,8 @@
## GPU
-.set GP0, 0x1810 # Also GPUREAD
-.set GP1, 0x1814 # Also GPUSTAT
+.set GPU_GP0, 0x1810 # Also GPUREAD
+.set GPU_GP1, 0x1814 # Also GPUSTAT
## CD drive
@@ -123,17 +123,17 @@
## Timers
-.set TIM0_VALUE, 0x1100
-.set TIM0_CTRL, 0x1104
-.set TIM0_RELOAD, 0x1108
+.set TIMER0_VALUE, 0x1100
+.set TIMER0_CTRL, 0x1104
+.set TIMER0_RELOAD, 0x1108
-.set TIM1_VALUE, 0x1110
-.set TIM1_CTRL, 0x1114
-.set TIM1_RELOAD, 0x1118
+.set TIMER1_VALUE, 0x1110
+.set TIMER1_CTRL, 0x1114
+.set TIMER1_RELOAD, 0x1118
-.set TIM2_VALUE, 0x1120
-.set TIM2_CTRL, 0x1124
-.set TIM2_RELOAD, 0x1128
+.set TIMER2_VALUE, 0x1120
+.set TIMER2_CTRL, 0x1124
+.set TIMER2_RELOAD, 0x1128
## Memory control
diff --git a/libpsn00b/include/hwregs_c.h b/libpsn00b/include/hwregs_c.h
index 4222a22..e533c56 100644
--- a/libpsn00b/include/hwregs_c.h
+++ b/libpsn00b/include/hwregs_c.h
@@ -19,8 +19,8 @@
/* GPU */
-#define GP0 _MMIO32(0x1f801810)
-#define GP1 _MMIO32(0x1f801814)
+#define GPU_GP0 _MMIO32(0x1f801810)
+#define GPU_GP1 _MMIO32(0x1f801814)
/* CD drive */
@@ -109,9 +109,9 @@
/* Timers */
-#define TIM_VALUE(N) _MMIO32(0x1f801100 + 16 * (N))
-#define TIM_CTRL(N) _MMIO32(0x1f801104 + 16 * (N))
-#define TIM_RELOAD(N) _MMIO32(0x1f801108 + 16 * (N))
+#define TIMER_VALUE(N) _MMIO32(0x1f801100 + 16 * (N))
+#define TIMER_CTRL(N) _MMIO32(0x1f801104 + 16 * (N))
+#define TIMER_RELOAD(N) _MMIO32(0x1f801108 + 16 * (N))
/* Memory control */
diff --git a/libpsn00b/psxgpu/clearotagr.s b/libpsn00b/psxgpu/clearotagr.s
index 832e54c..562cad4 100644
--- a/libpsn00b/psxgpu/clearotagr.s
+++ b/libpsn00b/psxgpu/clearotagr.s
@@ -8,7 +8,7 @@
.global ClearOTagR
.type ClearOTagR, @function
ClearOTagR:
- lui $a2, 0x1f80
+ lui $a2, IOBASE
addi $v0, $a1, -1
sll $v0, 2
addu $a0, $v0
diff --git a/libpsn00b/psxgpu/drawotag.s b/libpsn00b/psxgpu/drawotag.s
index 595fcd5..3cb0db0 100644
--- a/libpsn00b/psxgpu/drawotag.s
+++ b/libpsn00b/psxgpu/drawotag.s
@@ -11,11 +11,11 @@ DrawOTag:
addiu $sp, -4
sw $ra, 0($sp)
- lui $a3, 0x1f80 # I/O segment base
+ lui $a3, IOBASE # I/O segment base
lui $v0, 0x0400 # Set DMA direction to CPUtoGPU
ori $v0, 0x2
- sw $v0, GP1($a3)
+ sw $v0, GPU_GP1($a3)
.Lgpu_wait: # Wait for GPU to be ready for commands & DMA
jal ReadGPUstat
diff --git a/libpsn00b/psxgpu/drawprim.s b/libpsn00b/psxgpu/drawprim.s
index de5afbd..d62c202 100644
--- a/libpsn00b/psxgpu/drawprim.s
+++ b/libpsn00b/psxgpu/drawprim.s
@@ -18,7 +18,7 @@ DrawPrim:
lui $a3, IOBASE
lui $v0, 0x0400 # Set transfer direction to off
- sw $v0, GP1($a3)
+ sw $v0, GPU_GP1($a3)
move $a0, $s0
lbu $a1, 3($a0) # Get length of primitive packet
@@ -28,7 +28,7 @@ DrawPrim:
.Ltransfer_loop:
lw $v0, 0($a0)
addiu $a0, 4
- sw $v0, GP0($a3)
+ sw $v0, GPU_GP0($a3)
bgtz $a1, .Ltransfer_loop
addiu $a1, -1
diff --git a/libpsn00b/psxgpu/drawsynccallback.s b/libpsn00b/psxgpu/drawsynccallback.s
index 2b2c172..22cfb7d 100644
--- a/libpsn00b/psxgpu/drawsynccallback.s
+++ b/libpsn00b/psxgpu/drawsynccallback.s
@@ -84,7 +84,7 @@ _drawsync_handler:
lw $v1, 0($v1)
lui $v0, 0x0400 # Set DMA direction to off
- sw $v0, GP1($a0)
+ sw $v0, GPU_GP1($a0)
jalr $v1
nop
diff --git a/libpsn00b/psxgpu/loadimage.s b/libpsn00b/psxgpu/loadimage.s
index e2a5be5..45f152f 100644
--- a/libpsn00b/psxgpu/loadimage.s
+++ b/libpsn00b/psxgpu/loadimage.s
@@ -17,7 +17,7 @@ LoadImage:
sw $ra, 0($sp)
sw $s0, 4($sp)
- lui $s0, 0x1f80 # Set I/O segment base address
+ lui $s0, IOBASE # Set I/O segment base address
.Lgpu_wait: # Wait for GPU to be ready for commands and DMA
jal ReadGPUstat
@@ -31,21 +31,21 @@ LoadImage:
nop
lui $v0, 0x400 # Set DMA direction to off
- sw $v0, GP1($s0)
+ sw $v0, GPU_GP1($s0)
lui $v0, 0x0100 # Clear GPU cache
- sw $v0, GP0($s0)
+ sw $v0, GPU_GP0($s0)
lui $v1, 0xa000 # Load image to VRAM
- sw $v1, GP0($s0)
+ sw $v1, GPU_GP0($s0)
lw $v0, RECT_x($a0) # Set XY and dimensions of image
lw $v1, RECT_w($a0)
- sw $v0, GP0($s0)
- sw $v1, GP0($s0)
+ sw $v0, GPU_GP0($s0)
+ sw $v1, GPU_GP0($s0)
lui $v0, 0x400 # Set DMA direction to CPUtoVRAM
ori $v0, 0x2
- sw $v0, GP1($s0)
+ sw $v0, GPU_GP1($s0)
lhu $v0, RECT_w($a0) # Get rectangle size
lhu $v1, RECT_h($a0)
diff --git a/libpsn00b/psxgpu/putdispenv.s b/libpsn00b/psxgpu/putdispenv.s
index 4baa20e..fc09454 100644
--- a/libpsn00b/psxgpu/putdispenv.s
+++ b/libpsn00b/psxgpu/putdispenv.s
@@ -102,7 +102,7 @@ PutDispEnv:
or $a2, $v0
lui $v0, 0x0600
or $v0, $a2
- sw $v0, GP1($a3)
+ sw $v0, GPU_GP1($a3)
# Vertical resolution
@@ -127,7 +127,7 @@ PutDispEnv:
or $v1, $a2
lui $v0, 0x0700
or $v1, $v0
- sw $v1, GP1($a3)
+ sw $v1, GPU_GP1($a3)
# Video mode
@@ -159,7 +159,7 @@ PutDispEnv:
lui $v0, 0x800 # Apply mode
or $a1, $v0
- sw $a1, GP1($a3)
+ sw $a1, GPU_GP1($a3)
lhu $v0, DISP_dx($a0) # Set VRAM XY offset
lhu $v1, DISP_dy($a0)
@@ -171,4 +171,4 @@ PutDispEnv:
or $v0, $v1
jr $ra
- sw $v0, GP1($a3)
+ sw $v0, GPU_GP1($a3)
diff --git a/libpsn00b/psxgpu/putdispenvraw.s b/libpsn00b/psxgpu/putdispenvraw.s
index 157150d..747796f 100644
--- a/libpsn00b/psxgpu/putdispenvraw.s
+++ b/libpsn00b/psxgpu/putdispenvraw.s
@@ -19,7 +19,7 @@ PutDispEnvRaw:
sw $ra, 0($sp)
sw $s0, 4($sp)
- lui $s0, 0x1f80
+ lui $s0, IOBASE
lh $at, DISP_vxpos($a0) # Set horizontal display range
li $v0, 608
@@ -30,7 +30,7 @@ PutDispEnvRaw:
or $v0, $v1
lui $v1, 0x600
or $v1, $v0
- sw $v1, GP1($s0)
+ sw $v1, GPU_GP1($s0)
lh $at, DISP_vypos($a0) # Set vertical display range (for NTSC)
li $v1, 120 # (values differet for PAL modes)
@@ -47,12 +47,12 @@ PutDispEnvRaw:
or $v0, $at
lui $at, 0x700
or $v0, $at
- sw $v0, GP1($s0)
+ sw $v0, GPU_GP1($s0)
lw $v0, DISP_mode($a0) # Set video mode
lui $at, 0x800
or $v0, $at
- sw $v0, GP1($s0)
+ sw $v0, GPU_GP1($s0)
lhu $v0, DISP_fbx($a0) # Set VRAM XY offset
lhu $v1, DISP_fby($a0)
@@ -62,7 +62,7 @@ PutDispEnvRaw:
or $v0, $v1
lui $v1, 0x500
or $v0, $v1
- sw $v0, GP1($s0)
+ sw $v0, GPU_GP1($s0)
lw $ra, 0($sp)
lw $s0, 4($sp)
diff --git a/libpsn00b/psxgpu/readgpustat.s b/libpsn00b/psxgpu/readgpustat.s
index c587cfb..ffff4d7 100644
--- a/libpsn00b/psxgpu/readgpustat.s
+++ b/libpsn00b/psxgpu/readgpustat.s
@@ -8,7 +8,7 @@
.global ReadGPUstat
.type ReadGPUstat, @function
ReadGPUstat:
- lui $v0, 0x1f80
- lw $v0, GP1($v0)
+ lui $v0, IOBASE
+ lw $v0, GPU_GP1($v0)
jr $ra
nop
diff --git a/libpsn00b/psxgpu/resetgraph.s b/libpsn00b/psxgpu/resetgraph.s
index eae854c..6327f02 100644
--- a/libpsn00b/psxgpu/resetgraph.s
+++ b/libpsn00b/psxgpu/resetgraph.s
@@ -38,7 +38,7 @@ ResetGraph:
nop # interrupts enabled when transferring
# execution to the loaded program
- lui $a3, 0x1f80 # Base address for I/O
+ lui $a3, IOBASE # Base address for I/O
lui $v0, 0x3b33 # Enables DMA channel 6 (for ClearOTag)
ori $v0, 0x3b33 # Enables DMA channel 2
@@ -84,9 +84,9 @@ ResetGraph:
.Lskip_hook_init:
- lui $a3, 0x1f80
+ lui $a3, IOBASE
- lw $v0, GP1($a3) # Get video standard
+ lw $v0, GPU_GP1($a3) # Get video standard
lui $v1, 0x0010
and $v0, $v1
la $v1, _gpu_standard
@@ -98,18 +98,18 @@ ResetGraph:
lw $a0, 4($sp) # Get argument value
- lui $a3, 0x1f80 # Set base I/O again (likely destroyed
+ lui $a3, IOBASE # Set base I/O again (likely destroyed
# by previous calls)
li $v0, 0x1d00 # Configure timer 1 as Hblank counter
- sw $v0, TIM1_CTRL($a3) # Set timer 1 value
+ sw $v0, TIMER1_CTRL($a3) # Set timer 1 value
beq $a0, 1, .Lgpu_init_1
nop
beq $a0, 3, .Lgpu_init_3
nop
- sw $0 , GP1($a3) # Reset the GPU
+ sw $0 , GPU_GP1($a3) # Reset the GPU
b .Linit_done
nop
@@ -121,7 +121,7 @@ ResetGraph:
.Lgpu_init_3:
li $v0, 0x1 # Reset the command buffer
- sw $v0, GP1($a3)
+ sw $v0, GPU_GP1($a3)
.Linit_done:
@@ -140,12 +140,12 @@ VSync:
sw $s0, 4($sp)
lui $a3, IOBASE # Get GPU status (for interlace sync)
- lw $s0, GP1($a3)
+ lw $s0, GPU_GP1($a3)
.Lhwait_loop: # Get Hblank time
- lw $v0, TIM1_VALUE($a3)
+ lw $v0, TIMER1_VALUE($a3)
nop
- lw $v1, TIM1_VALUE($a3)
+ lw $v1, TIMER1_VALUE($a3)
nop
bne $v0, $v1, .Lhwait_loop
nop
@@ -189,14 +189,14 @@ VSync:
lui $a3, IOBASE # Interlace wait logic
- lw $v0, GP1($a3)
+ lw $v0, GPU_GP1($a3)
nop
xor $v0, $s0, $v0
bltz $v0, .Lhblank_exit
lui $a0, 0x8000
.Linterlace_wait:
- lw $v0, GP1($a3)
+ lw $v0, GPU_GP1($a3)
nop
xor $v0, $s0, $v0
and $v0, $a0
@@ -208,9 +208,9 @@ VSync:
la $a2, _vsync_lasthblank
.Lhwait2_loop:
- lw $v0, TIM1_VALUE($a3)
+ lw $v0, TIMER1_VALUE($a3)
nop
- lw $v1, TIM1_VALUE($a3)
+ lw $v1, TIMER1_VALUE($a3)
sw $v0, 0($a2)
bne $v0, $v1, .Lhwait2_loop
nop
diff --git a/libpsn00b/psxgpu/setdispmask.s b/libpsn00b/psxgpu/setdispmask.s
index 77ceb04..d79006c 100644
--- a/libpsn00b/psxgpu/setdispmask.s
+++ b/libpsn00b/psxgpu/setdispmask.s
@@ -8,12 +8,12 @@
.global SetDispMask
.type SetDispMask, @function
SetDispMask:
- lui $v1, 0x1f80
+ lui $v1, IOBASE
andi $a0, 0x1
lui $v0, 0x300
ori $v0, 0x1
sub $v0, $a0
- sw $v0, GP1($v1)
+ sw $v0, GPU_GP1($v1)
jr $ra
nop
diff --git a/libpsn00b/psxgpu/setvideomode.s b/libpsn00b/psxgpu/setvideomode.s
index 4395f0a..b89b285 100644
--- a/libpsn00b/psxgpu/setvideomode.s
+++ b/libpsn00b/psxgpu/setvideomode.s
@@ -41,7 +41,7 @@ SetVideoMode:
lui $v0, 0x800 # Apply new mode
or $a1, $v0
lui $v0, IOBASE
- sw $a1, GP1($v0)
+ sw $a1, GPU_GP1($v0)
lw $ra, 0($sp)
addiu $sp, 4
diff --git a/libpsn00b/psxgpu/storeimage.s b/libpsn00b/psxgpu/storeimage.s
index 933b14c..554e83c 100644
--- a/libpsn00b/psxgpu/storeimage.s
+++ b/libpsn00b/psxgpu/storeimage.s
@@ -17,7 +17,7 @@ StoreImage:
sw $ra, 0($sp)
sw $s0, 4($sp)
- lui $s0, 0x1f80 # Set I/O segment base address
+ lui $s0, IOBASE # Set I/O segment base address
.Lgpu_wait: # Wait for GPU to be ready for commands and DMA
jal ReadGPUstat
@@ -29,21 +29,21 @@ StoreImage:
nop
lui $v0, 0x400 # Set DMA direction to off
- sw $v0, GP1($s0)
+ sw $v0, GPU_GP1($s0)
lui $v0, 0x0100 # Clear GPU cache
- sw $v0, GP0($s0)
+ sw $v0, GPU_GP0($s0)
lui $v1, 0xc000 # Store image from VRAM
- sw $v1, GP0($s0)
+ sw $v1, GPU_GP0($s0)
lw $v0, RECT_x($a0) # Set XY and dimensions of image
lw $v1, RECT_w($a0)
- sw $v0, GP0($s0)
- sw $v1, GP0($s0)
+ sw $v0, GPU_GP0($s0)
+ sw $v1, GPU_GP0($s0)
lui $v0, 0x400 # Set DMA direction to VRAMtoCPU
ori $v0, 0x3
- sw $v0, GP1($s0)
+ sw $v0, GPU_GP1($s0)
lhu $v0, RECT_w($a0) # Get rectangle size
lhu $v1, RECT_h($a0)