There are many homebrew that I see that do not make it on the news, VitaDB, or even get finished, so this is an attempt to shed some light on them. Many of the Playstation scene websites rather watch paint dry (the PS4 scene) than cover anything not TheFlow on the Vita scene.
Note: I have not personally played all, if not any, of the games on this list. They may be unknown for a reason... Besides not having quake in the title.
Please contribute if you come across any: Andromeda by DrakonPL - Many graphical experiments.
EDGE (Enhanced Doom Gaming Engine) - EDGE is an open source implementation of the DOOM engine with enhancements.
There seems to be a reference to the vita in its makefile, however I am not sure if there are any pre-compiled binaries for the vita. I may try to compile myself. If you do, please post a link. Thank you in advance.
Sqrxz 4 port by Rodolphe Boixel (Thor) - it seems this game has many installments with the 4th being ported to the vita. It looks like a very nice puzzle platformer that uses SDL allowing for it to be ported to many systems. The original Sqrxz was a DOS game made in 1996 by Marcus Vesterlund (Maze) and John Holmvall (Hojo) for DOS and Windows 9x.
xsystem35port by nunuhara - an open-source implementation of AliceSoft's System 3.x game engine in SDL that was ported to the vita. The author warns of many bugs. You can read about System 3 and the eroge games, such as Rance IV, utilizing it here. https://alicesoft.fandom.com/wiki/System
Based. I'd leave the Arduino part out and just mount a serial connector though. Other than that, really really based. So based it makes me want to do it too.
It already says that you should skip the Arduino stuff. It's mostly just for documentation just in case someone else has the same issue/idea.
A Compiled History and Improvements (Skip to the end for a download and screenshots): TailTale, or Shippo no Puzzle – Tail Tale, is a fast paced Tetris Attack-like puzzle game created by notable Japanese developer rerofumi and artist pyonkey-matsuo of the doujin circle FumiFumikick (formed 1997). The game, made in 2002, is a “doujin fan application” using characters from the relatively obscure anime Angel Tales/Angel’s Tail. Maybe too obscure as seen with its inaugural release, which was burned onto CD-R’s and had 10 copies sold. Rerofumi decided to distribute online along with its source code. Thus started TailTale’s Tale in open source software, however there was a hurdle.
It was programmed originally in the not so popular FreePascal utilizing SDL4FreePascal. But in Oct 2005, with interest in PSP homebrew growing, rerofumi was compelled to convert his work to C utilizing the portability of the SDL library. Because of the combination of C and SDL, this version served as the basis for every port to come.
And they came. (Full list and Links at the end. If there are anymore or you can recover some of the files, let me know.)
You may notice Rikku2000 popping up a lot, rerofumi actually has a pretty funny statement regarding the developer. Maybe something was lost in Google Translation:
Quote
Martin Dieter [Rikku2000], who lives in Germany, is one of those who likes "tailing" strangely, and who emails me every time he's ported something hard.
Many of his ports were through the seemingly defunct BigVioSoft, based in Germany. I really hope it was not a result of rerofumi’s post.
However, Rikku2000 is not too crazy with his love for TailTale. With every port it has gained new fans who praise it for its fun, addictive nature and cute graphics. This so much that the GP2x version had to be accommodated with new controls, due to the dead zones of the joystick hindering its gameplay. Some even listed it as one, if not their, favorite homebrew for their respective system. Even the devs of these ports take a liking to it.
I personally have gained a probably unhealthy (and autistic) obsession with this game (as you can tell with this article) and it is probably the longest I’ve played on my PS Vita gaming wise. I like pretty much everything about it, not only gameplay wise, but also its overall aesthetics. The music and graphics are just wonderfully a product of its time. SonicMastr, who tested my port, liked it so much he experienced hand cramps from playing the game (I also did, even with my baby hands, I can’t understand how people play on the Vita now).
So, with this new found love for a randomly selected game I found on wiibrew, I have decided to try to restore its full resolution.
Because the original was written in FreePascal, every port (that I know of) is based off the PSP port. This meant that with the resolution limitations of the screen, changes were made. The resolution of the assets were cropped, and in the version I used the quality was reduced also. Along with this, the overall difficulty changed with amount of rows being reduced from 13 to 11/10.
Rerofumi has made the changes to scale the game down easily reversible and if they were not, the Pascal code was used. But in hindsight a lot of this work was due to using gameblabla’s port as a base (such as the issues with PNG alpha), his base may have also helped, who knows. However, I did learn some SDL stuff at least.
So this vita port is seemingly the first port to restore its full resolution, utilizing the original PC assets, all while maintaining the new features such as difficulty settings.
With more rows, I have moved the difficulty over 1 (example hard is now very hard, easy is now normal). So thus the resolution went from 480x360 -> 480x272 -> 320x240 -> 480x360.
Vita running the gameblabla's 320x240: (note the PSP version runs at 480x272 I believe, which had larger vertical resolution)
Vita running the restored 480x360:
Anyways, I hope you enjoy the game as much as I, the first 10 people who bought the CD, and the many other scenes did!
Princess of Sleeping has allowed us to release their logger which has must better performance (in memory management and speed) to finally replace the terrible ShipLog. This logger works similarly to ShipLog in that it captures all stdout with ease (with better accuracy also). Please upgrade to this if you have been using ShipLog.
Usage instructions: 1. Install NetLoggingMgrSettings.vpk. 2. Launch the application and configure your settings. Be sure to save. 3. Add net_logging_mgr.skprx to your config.txt 4. Run
Note: If the plugin is already installed and you wish to update the configuration, you may use Update Configuration (along with saving it) without rebooting your system.
Note: While being much faster than ShipLog, if there is massive amounts of logs the logger may not be able to process them completely and will freeze (ex: taiHEN hexdump). This is unlikely in normal usage.
FAPS Team is currently working on something that required better logs as the current "real-time" logging methods used, while well written, did not perform well enough for this. Thus, I looked into getting UART, a simple serial communication, out on the Vita. This is not a new hack and has been known forever thanks to the work of Yiffy and the vita scene lord Xerpi.
This article is just a compilation of their work and the steps I took to replicate it. If a brainlet like myself can do it, so can you!(Don't blame me if you are an omega brainlet and break something though)
If you are in EE, you can just stay for some laughs.
Also Disclaimer: I am not an EE and I do not claim to be and again am not responsible for what happens to your device. This is just what worked for me.
Making a plan:
I only have one Vita, so I only had one chance, so I did as much research as my patience would allow. From the information on the internet (henkaku wiki -https://wiki.henkaku.xyz/vita/UART_Console):
UART0 is obtainable on the PS TV and on OLED 1000 Vita models. On the PSV1000, there are two points to obtain UART0: On the multi-connector or in the metal can near the multi-connector. All points have easily solder-able test pads. However, the one directly on the multi-connector, you need to deal with that switch thing and they have a bit smaller pads.
On the multi-connector itself.
Furthermore, the 3G model has UART5 on it's PCIE connector but who cares you can get that with Yifan's PSVD.
The logic level is 1.8v!
It seemed that you can use both UART0 and UART5 them respectively. The number is the port.
After consulting with Celesteblue. I found that his Frankenvita, created by CentrinoUK, uses the one under the metal can (Kermit UART0). He said that the multi-connector one was not proven to be working (the one with the extra connections and the nonsense with the jumper).
So with this information, I decided to mod my PSV1000 to get Kermit UART0 using the test pads under the metal can because I could use the same applications as Celeste, there is a labeled points for 1.8v, and it is known to work thus removing uncertainty.
However, there comes the hurdle of actually having a device for communication. I don't like spending money and waiting, so I decided to use devices already have. I had just recently found an Arduino pro micro clone (I lost it right before I did my port of psp2048), so I used that.
Modding the Vita:
This is not a teardown, go to iFixit or something. However some tips if you are too lazy like me:
Do not remove the front facing camera from the mainboard (it is the one with the thick connector that goes into a ZIF socket) until you remove the mainboard. Do not remove the mainboard until you free the front facing camera from underneath the controller board. Watch out when removing the controller board as I broke one of the connectors, nothing a bit of tape can't fix... This probably wouldn't be a problem for careful people. Which I am not.
Click the images for larger versions:
Opening the metal can was probably the hardest part of dissembling the device, it's not soldered, just an annoyance to lift.
I used a solenoid's wires (thin wire with enamel) and soldered them to each of the necessary points. To remove the insulation off the wire, use a hot solder blob on the tip of the soldering iron or burn it with a lighter. For UART, you only need: TX, RX, GND, 1.8v. There are holes in the metal can that are big enough for these wires to escape. Please keep in mind that the Vita is a premium product, and these wires will turn them into a Nintendo DS.
I pushed the power related wires and the communication wires through different holes. This makes it so you can identify them with one color of tape. Speaking of tape, I covered the soldered points with tape to insulate from the metal can (especially that capacitor with the power wires). No, tx is not touching that capacitor... I think. Be sure before covering that you test the connections, obviously. These points were quite easy to solder to even with my shaky hands and terrible tools. I used a Michael's woodcraft soldering iron with a pitted conical tip with no magnification.
A hole was burned through using the same soldering iron, the vita plastic had a weird gritty feeling while melting it. It is pretty easy to form a desired exit for the header (just get any header and trim it down or use any connector you have lying around). I don't remember if I started burning from the inside or outside, sorry. Regardless, watch out for the battery.
There is also plenty of space internally which a header could easily fit. Zexceil was able to fit a USB port in his 3g model. I am wondering if you could another SD card slot maybe for an SD2Vita... If only I had not wasted so much space with this UART. Also, before putting hot glue don't be a tough guy like myself. I didn't test it before hot gluing and the first time it did not work so I had to rip it out.
I was going to put a disconnect header, but whatever. You can see I broke the battery connector (from repeatably testing the UART as you will see later)... You can also see I used blue tape to distinguish wire pairings, you could just get away with one color tape though. I used the following pinout: 1 1.8v 2 Tx -blue 3 Rx -black -blue 4 GND - black
Not a bad job for a brainlet, probably should have pushed the header in more though. I will write here (before I forget) that pin 1 is closer to the multi-connector, hopefully this site doesn't go down... You should mark yours with a pen or make some sort of key pin. This was a relatively simple mod to perform. All in all, I managed to only break the battery connector, one controller connector, and left only one screw out! This is good for me. The bulk of the issues came in testing it without a known working UART communicator...
The Pain of Getting UART
The rest of the process is dedicated to documenting getting 1.8v logic levels to work with the Arduino pro micro's 5v logic levels. Many devices use either 3.3v (Linux computers like odroid or Raspberry pi), ESP2866 or 5v (many Arduinos), thus you must have a logic level shifter or circuitry to compensate. Or you could just buy a UART communication device that supports 1.8v (again many cheap ones only support 3.3v and 5v).
I found some guy ran into the same issue and fixed it with the diagram in this post: https://forum.arduino.cc/index.php?topic=160716.msg1210677#msg1210677. Luckily I had a bags of assorted transistors and resistors from when I biked to Radio Shack as a kid one summer. I just say that because it sounds extremely boomer.
It was a great pain getting this to work because I did not know if it was my Vita, Arduino and its code, or the circuitry was at fault.
I confirmed the Vita connection worked and that UART on the Vita was initialized properly because I had originally had a broken Arduino nano with the ATMEL chip ripped off to use as a serial device (this route did not work btw) which exposed blinking RX lights when the Vita was sending data through a test application. The Vita also reacted when I removed the RX line connection from Vita. I switched to using a pro micro (again).
I am relatively new to the microcontroller memes, but I managed to code something to redirect Serial1 to Serial. After a while, I started to get weird symbols on the serial monitor. I messed with the baud rate (115200 recommended by Celeste), and restarted the pro micro a couple times. Then finally remembered you send characters not strings.
However, there was no sending (PC-> Vita) yet. I used a voltage divider, it didn't work. I tried inverting it, it didn't work. Then I realized I forgot to code the redirection of input... Then the characters came in wrong with "q" coming back as "G" on the Vita.
q 01110001 G 01000111 I'm sure you can now see the inverter is not necessary... So voltage divider only, it is.
Thus, here is the circuit I used (it's mostly that guys diagram redrawn to be more absolute with a voltage divider). Please keep in mind you will have to recalculate the voltage divider, easily googe-able or you can pay thousands of dollars and go to University.
Diagram for 1.8v to 5v logic levels:
UPDATE: I got the broken Arduino nano to work, thus do not need the script. This was accomplished by using a wire bypassing the resistors on the bottom of the board creating a direct line for the tx and rx line to the CH340G. The original diagram had a 1k resistor going to the Vita, however it is 10k in the build. I have updated the diagram to reflect that.
static tai_hook_ref_t SceLowio_kscePervasiveUartResetEnable_ref; static SceUID SceLowio_kscePervasiveUartResetEnable_hook_uid = -1; static tai_hook_ref_t SceLowio_ScePervasiveForDriver_81A155F1_ref; static SceUID SceLowio_ScePervasiveForDriver_81A155F1_hook_uid = -1; static int kscePervasiveUartResetEnable_hook_func(int uart_bus) { /* * We want to keep the UART enabled... */ return 0; }
/* * Returns ScePervasiveMisc vaddr, ScePower uses it to disable the UART * by writing 0x80000000 to the word 0x20 bytes past the return value. */ static void *ScePervasiveForDriver_81A155F1_hook_func(void) { static unsigned int tmp[0x24 / 4]; //LOG("ScePervasiveForDriver_81A155F1()\n"); return tmp; }
void setup() { // put your setup code here, to run once: Serial.begin(115200); Serial1.begin(115200);
}
void loop() { // put your main code here, to run repeatedly: if(Serial1.available()) { int c = Serial1.read(); Serial.write(c); } if(Serial.available()) { int c = Serial.read(); Serial1.write(c); } } Anyways, it was not a good idea to introduce so many places for errors without many knowns especially with no background in this. Hopefully this will help you also reduce your errors and learned something though. However, you could literally skip the second half if you just wait 2 days for Amazon prime and pay the 12 dollars. I apologize for the dirty objects in the pictures.
Vectoroids is a game created by Bill Kendrick based on Agendaroids in 2001. Agendaroids was based on the classic Asteroids. The readme packaged with the source provides more information. This version of Vectoroids was a port for the Wii by MiniK.
Thus the timeline is as follows: Asteroids -> Cloned into Agendaroids for Agenda VR3 by Bill Kendrick -> Recreated for SDL for a "SDL Game Under 1 Megabyte" contest held by No Starch Press / Loki Entertainment Software by Bill Kendrick-> Ported to Wii by MiniK -> Ported to Vita by me.
Screenshot:
CONTROLS
Hold the Vita (or controller) sideways
PS Btn Exit to loader Start Return to menu Cross Shoot Circle Thrust
Thanks New Breed Software MiniK Team Molecule VitaSDK and GCC authors rsn8887, Cpasjuste, xerpi for SDL-Vita The Vita homebrew community as a whole. (Especially CBPS)
Volume_profile of course is the plugin that allows the speaker and headphones to have their own volume settings. It automatically switches between the two when the headphones are plugged in or unplugged. I find it kind of funny that with the plugins being released this month on CBPS, this one is getting minimal attention. Please help it out.
This update includes bug fixes such as fixes a boot time crash that was caused by a stack overflow due to size being battered by the OS. I did not ask about the headphone detection being fixed or recall how it was accomplished, but its a nice improvement.
UPDATE: I think the headphone detection has patched issues with LOLIcon since it no longer uses the input buffer. I am not sure how I didn't see this.
Definitive proof that Samilop "Cimmerian" Iter is a gigga homo homo by dots_tb[11/21/2019] https://forum.devchroma.nl/index.php/topic,47.0.html Following my ban on twitter, I have found proof that Samilop Iter is a gigga homo homo. This is very important, I hope you take a look at this damning evidence. I will not back down on Samilop Iter and delete the post, you guys should already know this with how I handled my banning from VitaDB.
It seems Yoti has made a program to view information about games installed:
Quote
Simple plugin that shows title_id, stitle and app_ver of the running application.
This is quite helpful when you have many games installed and are trying to modify resources like with rePatch. Finding title ids can be quite troublesome, I usually always ended up googling them.
I also had a release this week. This plugin helps make finding screenshots a little easier by saving them to folders named after the game it was taken it. I personally always found it hard finding screenshots for those stupid teasers that people do on twitter. I used to sort it by date and transferred them one by one until I found the right one. Ironically, this might be hard to do without an updated libftpvita, as Unicode support may not enabled for some reason. This was fixed by cuevavirus.
Anyways, I'm going to start doing these weekend reports if it is warranted by many releases. I will try to get better.
I hope this was helpful and please subscribe to the RSS... I'm not going back to Twitter.
When the vita saves a screenshot, it randomly creates a folder name composed of two letters. This makes finding screenshots frustrating as you would have to search through a maze of folders with no coherent structure.
reScreeny fixes this issue by redirecting the screenshot to a folder named after the game it was taken in.
Supports Unicode (Japanese and other non-ASCII characters)
When an illegal character is found, it is replaced with a space
If path is too long, the game name will be truncated
If no game name is found, it will be stored in the "Other" folder
Adrenaline will save to PspEmu folder.
The Photo app will work as normal, however the title of the image given by the vita will be different than the title given by reScreeny. This is because reScreeny uses a uniform naming system that include microseconds, it also is generated a few seconds after the vita's title. So keep this in mind.
cuevavirus has tested with pngshot and it works fine
NOTE: Vitashell FTP may not support Unicode characters, a commit by cuevavirus was made to libftpvita.
My @dots_tb account has been suspended by Twitter for a shitpost.
I will try to appeal it, I personally believe I did nothing wrong.
I called Samilop Iter a homo (which he is), but where did I infer that it is negative to be a homo? If I called Hitler an artistic murderer, do I infer that artists are all murderers?
The only negative comes from the person being called a homo, him having the perception that being a homo is bad. Its 2019, how is it bad?
This belief can be further seen in how I said: "what is wrong with being gay?"
You may ask, how do I know Samilop Iter is a homo? Well his own logic was "calling someone gay makes you gay". Using his own logic, he called me a homosexual, thus he is a homosexual.
In fact, it seems Samilop Iter is the one causing violence against homosexual by perpetuating that homosexuality is a bad thing.
I cannot believe that Twitter would allow such a hateful bigot homophobe on Twitter.