Go Back   TehSkeen.com > Nintendo Wii > Libogc Support Forum

Mini Skeen Menu
Main News Page Online Discussion Forums Downloads Database Console Modification Reviews IRC Chat Information Contests
Network Links
Network Links
Active Threads
195 *EXCLUSIVE* Interview with teh Wii Exploit Author
Last Post: antonioster
Posted On: Today
Replies: 29
Views: 26,860
0 I have a problem
Last Post: link11510
Posted On: Today
Replies: 15
Views: 322
102 Theater Room, Nintendo’s Video On Demand Service Launches Tomorrow
Last Post: SifJar
Posted On: Today
Replies: 3
Views: 80
102 More "Unlock Your Wii" Scam Sites
Last Post: monoufo
Posted On: Today
Replies: 14
Views: 514
102 WODE vs. NSMB
Last Post: djdynamite123
Posted On: Today
Replies: 0
Views: 48
106 Game Categories Revised v11 Released
Last Post: brakken
Posted On: Today
Replies: 0
Views: 60
203 Crap 2.4b Released
Last Post: djdynamite123
Posted On: Today
Replies: 0
Views: 68
214 New Mario Bros - Anti-Modchip Protection
Last Post: MENTALDOMINANCE
Posted On: Today
Replies: 53
Views: 4,433
0 SDL MAME Wii
Last Post: azrael11
Posted On: Today
Replies: 237
Views: 16,330
0 Boot 2 Thoughts
Last Post: SifJar
Posted On: Today
Replies: 6
Views: 231
0 NDS broke, need money to fix it :(
Last Post: SoraK05
Posted On: Today
Replies: 6
Views: 1,206
225 Pong2 v0.99 Released
Last Post: djdynamite123
Posted On: Today
Replies: 0
Views: 83
225 RedSquare 0.93 Released
Last Post: djdynamite123
Posted On: Today
Replies: 0
Views: 71
225 SpaceBubble 0.92 Released
Last Post: djdynamite123
Posted On: Today
Replies: 0
Views: 67
225 BibleQuiz 0.94 Released
Last Post: djdynamite123
Posted On: Today
Replies: 0
Views: 64
0 New Super Mario Bros. Question
Last Post: cobleman
Posted On: Today
Replies: 9
Views: 260
52 HELP!!! Backup Channel Trouble
Last Post: R3dfaction
Posted On: Today
Replies: 2
Views: 65
228 Wii64/Cube64 Beta 1 Released!
Last Post: spellcaster
Posted On: Today
Replies: 157
Views: 19,609
203 KeyStego 1.0 Released
Last Post: Savage_Nation
Posted On: Today
Replies: 8
Views: 560
189 Hu-Go GC Project
Last Post: gusmento01
Posted On: Yesterday
Replies: 171
Views: 34,060
More...

Alternate SD FS
  #1  
Old 07-24-2007, 02:37 AM
softdev softdev is offline
masta blasta
 
Join Date: Aug 2005
Location: Alpha Centauri
Posts: 575
Softdev Alternate SD FS

An alternate FAT FS for SD Cards
----------------------------------

Recently, I've been getting into SD cards. The libOGC sdcard layer currently has
a few issues - mostly brought on by the introduction of long filenames.

For me, as an application developer, I needed something which was bullet proof.
Reliability means much more than pretty filenames! - I want the correct data now!

Enter the excellent elm-chan TinyFAT FS module.

I've ported it here to work with the libOGC sdcardio layer. So far it works well.

There is of course a downside. You can't have long filenames.

In TinyFAT FS there is only provision for unsigned short data lengths, so I've
included a wrapper to get round that, it's in src/fileio.

I've also included the original documentation for TinyFAT FS, as the site is
currently undergoing maintenance.

The demo is not perfect, but shows using a pseudo virtual memory system to play
GameBoy Advance ROMs of any size.

Setup your card as follows, remember upper case and 8.3 only!

/VBA172/ROMS - Put here GB/GBC/GBA roms. Extension determines machine.
/VBA172/BIOS - Put here BIOS.GBA, if you have one.

Notice the unix syntax - aren't you loving it already!

The demo is minimal, but shows that there are no problems seeking, reading etc.
Writing works, but isn't complete in the demo.

To get the full elm-chan fs, go to http://www.elm-chan.org
To get the VBA source code, go to http://vba.ngemu.com

For non-developers - sorry this time there is no binary - but in the future - who knows!

Enjoy!

PS: This will take some time to compile. If you have less than 2GB RAM, expect GBA.cpp to take ~45 minutes. Otherwise, it takes about ten minutes.
Attached Files
File Type: 7z sddemo.7z (338.1 KB, 130 views)
Reply With Quote

  #2  
Old 07-24-2007, 04:16 AM
emu_kidid emu_kidid is offline
masta blasta
 
Join Date: Aug 2005
Posts: 737
Default

Quote:
Originally Posted by softdev
An alternate FAT FS for SD Cards
----------------------------------

Recently, I've been getting into SD cards. The libOGC sdcard layer currently has
a few issues - mostly brought on by the introduction of long filenames.

For me, as an application developer, I needed something which was bullet proof.
Reliability means much more than pretty filenames! - I want the correct data now!

Enter the excellent elm-chan TinyFAT FS module.

I've ported it here to work with the libOGC sdcardio layer. So far it works well.

There is of course a downside. You can't have long filenames.

In TinyFAT FS there is only provision for unsigned short data lengths, so I've
included a wrapper to get round that, it's in src/fileio.

I've also included the original documentation for TinyFAT FS, as the site is
currently undergoing maintenance.

The demo is not perfect, but shows using a pseudo virtual memory system to play
GameBoy Advance ROMs of any size.

Setup your card as follows, remember upper case and 8.3 only!

/VBA172/ROMS - Put here GB/GBC/GBA roms. Extension determines machine.
/VBA172/BIOS - Put here BIOS.GBA, if you have one.

Notice the unix syntax - aren't you loving it already!

The demo is minimal, but shows that there are no problems seeking, reading etc.
Writing works, but isn't complete in the demo.

To get the full elm-chan fs, go to http://www.elm-chan.org
To get the VBA source code, go to http://vba.ngemu.com

For non-developers - sorry this time there is no binary - but in the future - who knows!

Enjoy!
Absolutely Brilliant (The libogc one currently sucks!!)
Reply With Quote

  #3  
Old 07-24-2007, 05:04 AM
eke-eke eke-eke is offline
finish him
 
Join Date: Mar 2006
Location: Toulouse, France
Posts: 982
Default

Quote:
Originally Posted by softdev
The demo is not perfect, but shows using a pseudo virtual memory system to play GameBoy Advance ROMs of any size.
this is really impressive


PS: do you know the reason of Tiny-FatFs supporting only 8.3 filenames ? could the sourcecode be modified to support LFN without major rewrite ?

And another question: I noticed that you have included in pal60.h Video Register values that have to be patched after the Video Mode has been by libogc ... what is it for ?

Last edited by eke-eke; 07-24-2007 at 05:36 AM..
Reply With Quote

  #4  
Old 07-24-2007, 05:29 AM
softdev softdev is offline
masta blasta
 
Join Date: Aug 2005
Location: Alpha Centauri
Posts: 575
Default

Quote:
Originally Posted by eke-eke
PS: do you know the reason of Tiny-FatFs supporting only 8.3 filenames ? could the sourcecode be modified to support LFN without major rewrite ?
The reason no open embedded software supports LFN is principly that Microsoft own the patent.

Re-writing the code would be possible, if you want to do it. I'd prefer personally to stick with elm-chan's work - it's robust and in use every day in a zillion embedded devices.
Reply With Quote

  #5  
Old 07-24-2007, 05:43 AM
softdev softdev is offline
masta blasta
 
Join Date: Aug 2005
Location: Alpha Centauri
Posts: 575
Default

Quote:
Originally Posted by eke-eke
And another question: I noticed that you have included in pal60.h Video Register values that have to be patched after the Video Mode has been by libogc ... what is it for ?
These values are what were observed on both PAL GC and Wii for games in 60hz mode. I believe the real problem is that the Odd Field Timing register is incorrect in libogc - so this guarantees no black bar issue.

The upside for me is it keeps the screen centred - otherwise it moves up and to the left.

So really, you can use them or ignore them - what best suits you.
Reply With Quote

  #6  
Old 07-24-2007, 05:55 AM
eke-eke eke-eke is offline
finish him
 
Join Date: Mar 2006
Location: Toulouse, France
Posts: 982
Default

Quote:
The reason no open embedded software supports LFN is principly that Microsoft own the patent.

Re-writing the code would be possible, if you want to do it. I'd prefer personally to stick with elm-chan's work - it's robust and in use every day in a zillion embedded devices.
I'm not very aware of patent issues: does this mean that we legally shouldn't release code supporting LFN ?


Quote:
These values are what were observed on both PAL GC and Wii for games in 60hz mode. I believe the real problem is that the Odd Field Timing register is incorrect in libogc - so this guarantees no black bar issue.

The upside for me is it keeps the screen centred - otherwise it moves up and to the left.

So really, you can use them or ignore them - what best suits you.
thanks for the precision
the weird thing is that this "black bar" problem only happened when using TVMpal480IntDf timings, they completely disappear if mode is set to TVNtsc480IntDf, regardless of the console region



I'm curious about the Virtual Memory system used to play roms that can't fit into RAM, have you coded it yourself or was it already a feature of VBA ?
Anyway, this would for sure be a great inspiration for all future emulator porting job
Reply With Quote

  #7  
Old 07-24-2007, 06:00 AM
softdev softdev is offline
masta blasta
 
Join Date: Aug 2005
Location: Alpha Centauri
Posts: 575
Default

Quote:
Originally Posted by eke-eke
I'm curious about the Virtual Memory system used to play roms that can't fit into RAM, have you coded it yourself or was it already a feature of VBA ?
No, it's not a feature of VBA. It's also not the best method, but it demonstrates the reliability of the FS quite well.
Reply With Quote

  #8  
Old 07-24-2007, 12:08 PM
the byter the byter is offline
member
 
Join Date: May 2007
Posts: 36
Default

This may be explained if I look at the source.. but is this a solid FAT16 (or FAT12) implementation, or something independent? Can I plug an SD card formatted this way into a PC and read/write to it?

LFNs were implemented on FAT file systems by using a number of file records which would then be strung together. It was a hack done with Windows 95 on an old file system.
Reply With Quote

  #9  
Old 07-24-2007, 01:52 PM
softdev softdev is offline
masta blasta
 
Join Date: Aug 2005
Location: Alpha Centauri
Posts: 575
Softdev

Quote:
Originally Posted by the byter
This may be explained if I look at the source.. but is this a solid FAT16 (or FAT12) implementation, or something independent? Can I plug an SD card formatted this way into a PC and read/write to it?
YES - It supports FAT12/16/32. Interestingly, this is on PAGE ONE of the documentation.

Quote:
Originally Posted by the byter
LFNs were implemented on FAT file systems by using a number of file records which would then be strung together. It was a hack done with Windows 95 on an old file system.
Again! - a link to the full MS specification is also on - OMFG! PAGE ONE!

C'mon, how lazy can ya get?
Reply With Quote

  #10  
Old 07-24-2007, 02:30 PM
the byter the byter is offline
member
 
Join Date: May 2007
Posts: 36
Default

Quote:
Originally Posted by softdev
C'mon, how lazy can ya get?
I'd say quite a bit. Haven't downloaded the package yet.
Reply With Quote

  #11  
Old 07-28-2007, 12:19 PM
columdrum columdrum is offline
new member
 
Join Date: Feb 2006
Posts: 4

hi first of all , great job!!

I had a problem while compiling this:
Code:
Compiling ... GB.cpp
../src/gb/GB.cpp:23:20: warning: memory.h: No such file or directory
Compiling ... gbCheats.cpp
Compiling ... gbDis.cpp
Compiling ... gbGfx.cpp
../src/gb/gbGfx.cpp:19:20: warning: memory.h: No such file or directory
Compiling ... gbGlobals.cpp
Compiling ... gbMemory.cpp
Compiling ... gbPrinter.cpp
../src/gb/gbPrinter.cpp:20:20: warning:memory.h: No such file or directory
../src/gb/gbPrinter.cpp: In function `void gbPrinterReceiveData()':
../src/gb/gbPrinter.cpp:121: error: `memset' was not declared in this scope
../src/gb/gbPrinter.cpp:121: warning: unused variable 'memset'
../src/gb/gbPrinter.cpp:128: error: `memcpy' was not declared in this scope
../src/gb/gbPrinter.cpp:128: warning: unused variable 'memcpy'
../src/gb/gbPrinter.cpp:139: error: `memcpy' was not declared in this scope
../src/gb/gbPrinter.cpp:139: warning: unused variable 'memcpy'
make[1]: *** [gbPrinter.o] Error 1
make: *** [build] Error 2
(i have remoded the paths for better reading)
You forgot the memory.h or i am doing something wrong?
Reply With Quote

  #12  
Old 07-28-2007, 12:25 PM
softdev softdev is offline
masta blasta
 
Join Date: Aug 2005
Location: Alpha Centauri
Posts: 575
Default

Sorry, I develop on linux where the full C includes are always available. Cross platform development would be damn slow without it

If you're on Windows, grab the full mingw C compiler from Mame downloads. You'll find any other includes you need in there.
Reply With Quote

  #13  
Old 08-01-2007, 04:18 AM
PeterM's Avatar
PeterM PeterM is offline
member
 
Join Date: Apr 2007
Posts: 48
Default

Thanks very much for posting this - I was using the old library and the corrupted data was driving me (and my game) crazy!
__________________
Development diary
Reply With Quote

Alternate SD FS
  #14  
Old 07-30-2009, 04:36 AM
PrimaMimo PrimaMimo is offline
new member
 
Join Date: Jul 2009
Posts: 8
Default Alternate SD FS

alternate Eb fingering i.e. the "fork" Eb это вроде была какая-то конструктивная особенность старых саксов, которую потом упразднили.???
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



All times are GMT -4. The time now is 06:10 PM.


vBulletin skins developed by: eXtremepixels
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
All Original Content (C) 2005-2008 brakken, All Rights Reseverd