PSX mem loading for newbies
psx mem loading for newbies
this is just a few quick points to note when uploading data to memory (quite handy when uploading to psx ram using caetla) for more information read the memmap documents on the info part of my webpage.
psx memory addesses for loading to:
Main RAM
* 0x80000000 to 0x80200000 - the psx has 2 meg of ram. the addresses that you should specify to upload to, should be between 0x80010000 and 0x801FFFFF. this is due to the psx os taking up the first 64k of memory. (remember 0x means that it is in hexadecimal notation.)
(the psx memory is available at different mem address as well as the 0x80 ones. eg 0x00, 0xa0. but stick to the 0x80 as they are the ones u want to use)
* the yaroze loads its precompiled library (libps.exe and the like) from 0x80010000 to 0x80100000. so if you are using a yaroze dont upload to these addresses or you will overwrite the libs and crash your program. (note that jihad has now written a util for running exes on a yaroze utilising this memory
- check out the hitmen site for more details)
* upload addresses must be a multiple of 4. eg 0x80010000 is fine, 0x80010001 is not.
* a good way of arranging the upload of your psx data from pc to psx might be to upload your exe file to the lowest section of mem that is allowable (this depends on whether you use yaroze or psyq). then leave a bit of space and start uploading your psx data.
* you need to leave a bit of space after your exe file in memory since dynamically allocated variables and stuff like that require memory and so will use the memory after the exe file.
* the address that your psx.exe is loaded to is specified at compile time. make sure you dont overwrite some of your data you have uploaded with your psx.exe or vice-versa. the parameter "-Xo$80010000" is added in your command line, or makefile, to upload to 0x80010000, which is the first available address for upload when using psyq. simply change the number to the address you want to load your exe file to.