Search found 365 matches

by LameGuy64
October 12th, 2019, 11:58 am
Forum: Programming/CPU
Topic: Lameguy's PlayStation Programming Tutorial Series
Replies: 0
Views: 32

Lameguy's PlayStation Programming Tutorial Series

This is a tutorial series that I've been working on and off for awhile. The goal of this series is to cover as much about programming various parts of the PS1 hardware as possible, using the PsyQ/Programmers Tool SDK or PSn00bSDK. There isn't much covered in the series currently, but it has some ext...
by LameGuy64
October 11th, 2019, 9:44 pm
Forum: Work Logs / Projects
Topic: PSn00bSDK - My very own PS1 SDK project
Replies: 18
Views: 3306

Re: PSn00bSDK - My very own PS1 SDK project

Just pushed out an update that adds FntOpen(), FntPrint() and FntFlush() functions and a bunch of small fixes today. I recommend reading the changelog in the repo for more details.

Development on this SDK is still going so far, despite this project being mostly quiet.
by LameGuy64
October 7th, 2019, 8:03 pm
Forum: Graphics/GPU
Topic: [Question] Screen scale?
Replies: 12
Views: 878

Re: [Question] Screen scale?

LoadImage/StoreImage always retains and overwrites the STP bits of pixels being read or written. 16-bit TIMs have STP bits in all pixels while 8-bit and 4-bit TIMs have the STP bits in the CLUT pixels instead. True black (0, 0, 0) is normally treated as the transparent color when drawn using texture...
by LameGuy64
September 30th, 2019, 1:44 pm
Forum: Graphics/GPU
Topic: [Question] Depth Cueing fog + texture
Replies: 9
Views: 207

Re: [Question] Depth Cueing fog + texture

You can use a DR_ENV primitive to change the active drawing area to some place outside your display/draw areas for off-screen rendering. This can be used as a way to accomplish render to texture based effects.
by LameGuy64
September 26th, 2019, 10:59 pm
Forum: Graphics/GPU
Topic: [Question] Depth Cueing fog + texture
Replies: 9
Views: 207

Re: [Question] Depth Cueing fog + texture

To get proper color modulation for textures, you'll have to use a method called CLUT fog, where you have multiple CLUT entries stacked vertically of the CLUT transitioning from its original colors down to a solid color of your fog. The CLUT selected is based on the depth of the polygon primitive. Cu...
by LameGuy64
August 30th, 2019, 11:46 am
Forum: General Chat / Messaging
Topic: IRQ10
Replies: 2
Views: 486

Re: IRQ10

IRQ10 is connected to both the IRQ pin on the controller ports and one of the pins in the Parallel I/O port. I even toyed with it with a slightly modified Xplorer that attaches one of the parallel port pins to the IRQ10 pin of the Parallel I/O port. Not sure if you can just feed it with 5v directly ...
by LameGuy64
August 29th, 2019, 12:33 pm
Forum: Graphics/GPU
Topic: [Question] Screen scale?
Replies: 12
Views: 878

Re: [Question] Screen scale?

The most efficient method I could come up with is to draw to a off-screen area using a DR_AREA primitive, then switch to your main drawing area with DR_AREA then draw the off-screen one as a 16-bit texture. The off-screen draw area should only be up to 256x256 as that's the maximum addressable textu...
by LameGuy64
August 27th, 2019, 7:37 pm
Forum: Graphics/GPU
Topic: [Question] Screen scale?
Replies: 12
Views: 878

Re: [Question] Screen scale?

The hardware cannot really scale the size of the picture shown on the screen. The closest you can get to accomplish such a thing is by a combination of choosing one of five supported horizontal screen resolutions (256, 320, 384, 512, 640) and one of two vertical screen resolutions (240 and 480 for N...
by LameGuy64
August 24th, 2019, 12:33 pm
Forum: Graphics/GPU
Topic: Trying to get the FPS limit
Replies: 3
Views: 342

Re: Trying to get the FPS limit

You need to install a VSync callback which will run a counter, and update a variable that will be your FPS from a variable that is updated constantly on every screen update. volatile int fps; volatile int fps_counter; volatile int fps_measure; void vsync_cb(void) { fps_counter++; if( fps_counter > 6...
by LameGuy64
August 24th, 2019, 12:26 pm
Forum: Graphics/GPU
Topic: How to workaround black borders in Pal + graphic glitch using (w)x512 resolutions
Replies: 7
Views: 1783

Re: How to workaround black borders in Pal + graphic glitch using (w)x512 resolutions

You can adjust the picture position and size, using GsDISPENV.screen , which is a RECT struct. // Adjust picture position GsDISPENV.screen.x = 0; GsDISPENV.screen.y = 16; // Adjust picture size (amount of pixels shown, not image size) GsDISPENV.screen.w = 320; GsDISPENV.screen.h = 256; // This shoul...
by LameGuy64
August 23rd, 2019, 2:23 pm
Forum: Graphics/GPU
Topic: How to workaround black borders in Pal + graphic glitch using (w)x512 resolutions
Replies: 7
Views: 1783

Re: How to workaround black borders in Pal + graphic glitch using (w)x512 resolutions

You use GsINTER only if you set a vertical resolution greater than 256, such as 480 for NTSC and 512 for PAL.
by LameGuy64
August 19th, 2019, 7:36 pm
Forum: Members Downloads
Topic: PSn00b Debugger - Homebrew debugger for retail consoles
Replies: 13
Views: 3222

Re: PSn00b Debugger - Homebrew debugger for retail consoles

You need to do AddSIO(115200) to replace the BIOS tty driver with a serial driver, so tty messages from printf are sent out to serial.
by LameGuy64
August 11th, 2019, 11:36 am
Forum: Graphics/GPU
Topic: Easiest way to make a Sprite?
Replies: 12
Views: 1158

Re: Easiest way to make a Sprite?

No, I'm not doing a scrolling background, just a sprite, remember... Just a SPRITE. Ah, I wasn't paying enough attention... My bad. Judging by what I've sifted through your code so far, it appears you're mixing libgpu and libgs stuff, but your main.c does not appear to be initializing libgs. Your t...
by LameGuy64
August 10th, 2019, 3:00 pm
Forum: Graphics/GPU
Topic: Easiest way to make a Sprite?
Replies: 12
Views: 1158

Re: Easiest way to make a Sprite?

If you want to do a scrolling background, you'll also have to look into drawing tilemaps on the PS1. Basically, you're going to put together a tile sheet, then composite them together with a tilemap editor like Tiled (think that's the name of the open source tile map editor), and finally write a con...
by LameGuy64
July 31st, 2019, 10:43 pm
Forum: Psy-Q SDK
Topic: Psy-Q on x64 system? [Arch Linux/Windows 8.1]
Replies: 16
Views: 6138

Re: Psy-Q on x64 system? [Arch Linux/Windows 8.1]

Get it from the Programmers Tool CD 2.2 ISO in the Downloads page. That one has the copy of the toolchain that is all 32-bit.

The Programmers Tool CD is more or less PsyQ but several magnitudes cleaner and more organized.
by LameGuy64
July 31st, 2019, 8:08 pm
Forum: Psy-Q SDK
Topic: Psy-Q on x64 system? [Arch Linux/Windows 8.1]
Replies: 16
Views: 6138

Re: Psy-Q on x64 system? [Arch Linux/Windows 8.1]

I have the compilers fully working in 64-bit Windows 7.
by LameGuy64
July 31st, 2019, 7:47 pm
Forum: Psy-Q SDK
Topic: Psy-Q on x64 system? [Arch Linux/Windows 8.1]
Replies: 16
Views: 6138

Re: Psy-Q on x64 system? [Arch Linux/Windows 8.1]

Grab the Programmers Tool SDK ISO from the downloads page as that is a cleanest distribution of the SDK you can find. It also comes with all 32-bit copies of the toolchain (ccpsx, psylib and psylink), though psymake is still offered as a 16-bit DOS applcation. You can use make from Msys2 instead and...
by LameGuy64
July 24th, 2019, 11:51 am
Forum: Members Downloads
Topic: sioloader
Replies: 32
Views: 1809

Re: sioloader

I just tested 230,400 and 345,600 bauds with my FTDI and well, communications was still very unreliable. Bytes often kept getting missed and I end up with incomplete data, I'm not so sure about the integrity of what was received though. It could either be my wiring (I used old, probably rusty wires ...
by LameGuy64
July 24th, 2019, 11:46 am
Forum: Examples (Psy-Q)
Topic: 3D FPS Example
Replies: 41
Views: 19983

Re: 3D FPS Example

I don't think this example is optimized enough to display flawlessly in hi-res mode, since hi-res operates in single buffer mode which demands 60FPS. I don't remember how I coded this demo exactly (its been so long) but you basically want to position both display/draw buffers to the same VRAM locati...
by LameGuy64
July 20th, 2019, 11:32 am
Forum: Members Downloads
Topic: MKPSXISO - A PlayStation ISO Maker to Replace BUILDCD
Replies: 51
Views: 32586

Re: MKPSXISO - A PlayStation ISO Maker to Replace BUILDCD

I think that is a limitation in the CD libraries of the PsyQ/Programmers Tool SDK. I never ran into an issue creating large images with multiple directory levels in MKPSXISO (though I usually test them by browsing the contents in Windows), didn't find any missing file problems with the most recent v...