Homebrew [Project] SoulAnger's MENUdo

  • Thread starter Thread starter SoulAnger
  • Start date Start date
  • Views Views 200,200
  • Replies Replies 1,665
Status
Not open for further replies.
Haha, funny reply Toni Plutonij, although these replies are kinda nice to read.
smile.gif
So I think its okay.

Raika said:
r4,r4,r4 pls support the r4.
cry.gif
i cant pass this one it looks too GOOD EDIT: cant change color of my text
nyanya.gif
I cant promise it, but I would try my best. About r4 support, dont worry if menudo wont work on it, spinal is doing a good job with his incoming DSision2.
smile.gif
I have plans to make menudo work side by side with DSision2, if spinal would accept.
smile.gif
 
hey great job!
if you need any help/suggestions, im sure a lot of us here could lend a hand :]
 
If they can make this work with most flash cards, every1 will ditch there normal flashcard OS and use this. This looks like it will be a release that Apple would be proud of!
 
SoulAnger said:
detectivejph.gif

I hope this wont haunt you
tongue.gif

nah i agree that i should have been banned, it just sucks that now i have to actually do work during class
ohmy.gif


ONTopic: will your gbatemp skin be released before or after menudo and is there any chance of a sneak peak preview of the skin when it's done?
rolleyes.gif

also will documentation of how to make skins be released with the prog or can we just figure that part out for ourselves?
 
Are you going to release the source code after release?

Someone might pick it up and might get it working for other cards to support commercial loading.
But some flashcart manufacturers might steal the source.

For example is this source code, which is obvious from where it came from.
#include "io_r4tf.h"

#ifdef SUPPORT_R4TF

#include

void cardWaitReady(u32 flags, u8 *command)
{
bool ready = false;

do {
cardWriteCommand(command);
CARD_CR2 = flags;
do {
if (CARD_CR2 & CARD_DATA_READY)
if (!CARD_DATA_RD) ready = true;
} while (CARD_CR2 & CARD_BUSY);
} while (!ready);
}

void bytecardPolledTransfer(uint32 flags, uint32 * destination, uint32 length, uint8 * command) {
u32 data;;
cardWriteCommand(command);
CARD_CR2 = flags;
uint32 * target = destination + length;
do {
// Read data if available
if (CARD_CR2 & CARD_DATA_READY) {
data=CARD_DATA_RD;
if (destination < target) {
((uint8*)destination)[0] = data & 0xff;
((uint8*)destination)[1] = (data >> 8) & 0xff;
((uint8*)destination)[2] = (data >> 16) & 0xff;
((uint8*)destination)[3] = (data >> 24) & 0xff;
}
destination++;
}
} while (CARD_CR2 & CARD_BUSY);
}

void LogicCardRead(u32 address, u32 *destination, u32 length)
{
u8 command[8];

command[7] = 0xb9;
command[6] = (address >> 24) & 0xff;
command[5] = (address >> 16) & 0xff;
command[4] = (address >> 8) & 0xff;
command[3] = address & 0xff;
command[2] = 0;
command[1] = 0;
command[0] = 0;
cardWaitReady(0xa7586000, command);
command[7] = 0xba;
if ((u32)destination & 0x03)
bytecardPolledTransfer(0xa1586000, destination, length, command);
else
cardPolledTransfer(0xa1586000, destination, length, command);
}

u32 ReadCardInfo()
{
u8 command[8];
u32 ret;

command[7] = 0xb0;
command[6] = 0;
command[5] = 0;
command[4] = 0;
command[3] = 0;
command[2] = 0;
command[1] = 0;
command[0] = 0;
cardPolledTransfer(0xa7586000, &ret, 1, command);
return ret;
}

void LogicCardWrite(u32 address, u32 *source, u32 length)
{
u8 command[8];
u32 data = 0;

command[7] = 0xbb;
command[6] = (address >> 24) & 0xff;
command[5] = (address >> 16) & 0xff;
command[4] = (address >> 8) & 0xff;
command[3] = address & 0xff;
command[2] = 0;
command[1] = 0;
command[0] = 0;
cardWriteCommand(command);
CARD_CR2 = 0xe1586000;
u32 * target = source + length;
do {
// Write data if ready
if (CARD_CR2 & CARD_DATA_READY) {
if (source < target) {
if ((u32)source & 0x03)
data = ((uint8*)source)[0] | (((uint8*)source)[1]
 
Lord Prime said:
Are you going to release the source code after release?

Someone might pick it up and might get it working for other cards to support commercial loading.
But some flashcart manufacturers might steal the source.

For example is this source code, which is obvious from where it came from.
#include "io_r4tf.h"

#ifdef SUPPORT_R4TF

#include

void cardWaitReady(u32 flags, u8 *command)
{
bool ready = false;

do {
cardWriteCommand(command);
CARD_CR2 = flags;
do {
if (CARD_CR2 & CARD_DATA_READY)
if (!CARD_DATA_RD) ready = true;
} while (CARD_CR2 & CARD_BUSY);
} while (!ready);
}

void bytecardPolledTransfer(uint32 flags, uint32 * destination, uint32 length, uint8 * command) {
u32 data;;
cardWriteCommand(command);
CARD_CR2 = flags;
uint32 * target = destination + length;
do {
// Read data if available
if (CARD_CR2 & CARD_DATA_READY) {
data=CARD_DATA_RD;
if (destination < target) {
((uint8*)destination)[0] = data & 0xff;
((uint8*)destination)[1] = (data >> 8) & 0xff;
((uint8*)destination)[2] = (data >> 16) & 0xff;
((uint8*)destination)[3] = (data >> 24) & 0xff;
}
destination++;
}
} while (CARD_CR2 & CARD_BUSY);
}

void LogicCardRead(u32 address, u32 *destination, u32 length)
{
u8 command[8];

command[7] = 0xb9;
command[6] = (address >> 24) & 0xff;
command[5] = (address >> 16) & 0xff;
command[4] = (address >> 8) & 0xff;
command[3] = address & 0xff;
command[2] = 0;
command[1] = 0;
command[0] = 0;
cardWaitReady(0xa7586000, command);
command[7] = 0xba;
if ((u32)destination & 0x03)
bytecardPolledTransfer(0xa1586000, destination, length, command);
else
cardPolledTransfer(0xa1586000, destination, length, command);
}

u32 ReadCardInfo()
{
u8 command[8];
u32 ret;

command[7] = 0xb0;
command[6] = 0;
command[5] = 0;
command[4] = 0;
command[3] = 0;
command[2] = 0;
command[1] = 0;
command[0] = 0;
cardPolledTransfer(0xa7586000, &ret, 1, command);
return ret;
}

void LogicCardWrite(u32 address, u32 *source, u32 length)
{
u8 command[8];
u32 data = 0;

command[7] = 0xbb;
command[6] = (address >> 24) & 0xff;
command[5] = (address >> 16) & 0xff;
command[4] = (address >> 8) & 0xff;
command[3] = address & 0xff;
command[2] = 0;
command[1] = 0;
command[0] = 0;
cardWriteCommand(command);
CARD_CR2 = 0xe1586000;
u32 * target = source + length;
do {
// Write data if ready
if (CARD_CR2 & CARD_DATA_READY) {
if (source < target) {
if ((u32)source & 0x03)
data = ((uint8*)source)[0] | (((uint8*)source)[1]
 
airpirate545 said:
Looks awesome, if you got your hands on a 3 in 1 could u add 3 in 1 support
smile.gif
That is the only thing that would be needed before I used this forever =D
"Support" meaning being able to do all the things that YSMenu can with GBA games.
Which AKAIO doesn't.
Which is why I still have YSMenu
 
QUOTE said:
Oh... so the 100% noypi thing is suppose to represent like... racial pride or something?
Nah its just an slur that a filipino singer popularized, it was a very awesome song.
smile.gif


Are you going to release the source code after release?

Someone might pick it up and might get it working for other cards to support commercial loading.
But some flashcart manufacturers might steal the source.

For example is this source code, which is obvious from where it came from.
#include "io_r4tf.h"

#ifdef SUPPORT_R4TF

#include

void cardWaitReady(u32 flags, u8 *command)
{
bool ready = false;

do {
cardWriteCommand(command);
CARD_CR2 = flags;
do {
if (CARD_CR2 & CARD_DATA_READY)
if (!CARD_DATA_RD) ready = true;
} while (CARD_CR2 & CARD_BUSY);
} while (!ready);
}

void bytecardPolledTransfer(uint32 flags, uint32 * destination, uint32 length, uint8 * command) {
u32 data;;
cardWriteCommand(command);
CARD_CR2 = flags;
uint32 * target = destination + length;
do {
// Read data if available
if (CARD_CR2 & CARD_DATA_READY) {
data=CARD_DATA_RD;
if (destination < target) {
((uint8*)destination)[0] = data & 0xff;
((uint8*)destination)[1] = (data >> 8) & 0xff;
((uint8*)destination)[2] = (data >> 16) & 0xff;
((uint8*)destination)[3] = (data >> 24) & 0xff;
}
destination++;
}
} while (CARD_CR2 & CARD_BUSY);
}

void LogicCardRead(u32 address, u32 *destination, u32 length)
{
u8 command[8];

command[7] = 0xb9;
command[6] = (address >> 24) & 0xff;
command[5] = (address >> 16) & 0xff;
command[4] = (address >> 8) & 0xff;
command[3] = address & 0xff;
command[2] = 0;
command[1] = 0;
command[0] = 0;
cardWaitReady(0xa7586000, command);
command[7] = 0xba;
if ((u32)destination & 0x03)
bytecardPolledTransfer(0xa1586000, destination, length, command);
else
cardPolledTransfer(0xa1586000, destination, length, command);
}

u32 ReadCardInfo()
{
u8 command[8];
u32 ret;

command[7] = 0xb0;
command[6] = 0;
command[5] = 0;
command[4] = 0;
command[3] = 0;
command[2] = 0;
command[1] = 0;
command[0] = 0;
cardPolledTransfer(0xa7586000, &ret, 1, command);
return ret;
}

void LogicCardWrite(u32 address, u32 *source, u32 length)
{
u8 command[8];
u32 data = 0;

command[7] = 0xbb;
command[6] = (address >> 24) & 0xff;
command[5] = (address >> 16) & 0xff;
command[4] = (address >> 8) & 0xff;
command[3] = address & 0xff;
command[2] = 0;
command[1] = 0;
command[0] = 0;
cardWriteCommand(command);
CARD_CR2 = 0xe1586000;
u32 * target = source + length;
do {
// Write data if ready
if (CARD_CR2 & CARD_DATA_READY) {
if (source < target) {
if ((u32)source & 0x03)
data = ((uint8*)source)[0] | (((uint8*)source)[1]
 
guys i saw the files he said u need to try the demo here.

i am not sure where i found the link to download the files to try the BETA , i am pretty sure i found it in 1 of the pages in the link above....

Soulranger will peobably tell u which one..i suppose..
yaynds.gif
 
That's the source code for the R4's interface.

I didn't make it. They did.
ph34r.gif


They said that it is:
QUOTE said:
-Open I/O interface
-User friendly skinnable interface. Touchscreen or button operation.

No one hardly ever tried changing it. If someone did, kindly notify me.
unsure.gif


As for me, i'm just starting my way to this homebrew scene.
grog.gif
I dont' have much knowledge.

I'm trying to start by trying to translate a game into NOYPI language.
yaynds.gif
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum