Offline
Sweeeeeeden

This week's project is (again) slightly late, but hopefully worth the wait. This is the latest and greatest version of LittleFM, and alternative file manager for LSD. Here are the key features in this version:

Key features
  • LittleFM now comes with a Java based patcher application for easy application to any unpatched LSDj ROM, including (most probably) future versions. No more IPS patches that only work with a single version of LSDj.

  • LittleFM is fully Drag’n'derp compatible. This includes interfacing with the virtual “file system” of the Derp and making sure that any song data stored in flash will be copied back

  • LittleFM now supports song trading over a link cable. Currently only in the form of transfering a whole 128 kB sav at a time, but this may still be useful for backups and redundancy.

  • LittleFM now checks that the SRAM is ok, both in terms of hardware and corruption. If the SRAM is corrupt or uninitialized, LittleFM will offer you to initialize it, but also to leave it as is. If the SRAM is malfunctioning on the hardware level, the program will halt with an error message.

  • The stupid screen scroll bug is gone! You can now scroll to the bottom of the song list in SAVs with 32 songs, without problems.

There has also made a number of under the hood tweaks and small bug fixes.

Some notes on the features


ShitStrapOn, the patcher application

If you have Java installed, starting the application should be as simple double clicking the file. Should you need to execute it manually from the command line, you should be able to run it with something like java -jar ShitStrapOn.jar

The patcher will ask for three things, a clean LSDj ROM, the littlefm.gb file, and a location where to sav the output. However, it will search for littlefm.gb and not ask for it, if the program finds the file in the same directory as the .jar file. A clean LSDj ROM means one that has not been patched with LittleFM and does not contain any LittleFM save data in ROM. The ROM may still have ny number of kits, so long as there is one free slot where LittleFM can reside.

The name originally meant bootstrap for Shitwave. Since, then, however, the project has come to be used for patching LSDj ROMs with LittleFM. If you’re offended by the name, (or the subtext, a dirty dildo in LSDj’s ass,) too bad for you.


Link cable support

The link feature is a hardware feature, and any attempt to use it with any emulator is likely to end in missed bytes and tears. In my experience so far, it works perfectly both between a DMG and a DMG, and a GBC and a DMG. A GBC can send data about twice as fast DMG. (Well much faster than that, actually, but *2 mode is what I’ve found to be safe for these transfers.

LittleFM will show a progress bar as the transfer progresses. If all is well, both sides will move their progress bar in synch, and will both show OK on their respective side. If a transfer is stalled, it is safe to turn off the Gameboy, as long as no data is currently being actively transmitted or received.

You can use the Nanoloop MIDI adapter with, sort of. Sending data from the PC usually works ok-ish. However, make sure that the receving Gameboy shows ok at the end of the transfer, and that songs load correctly when the transfer is finished. Receiving data from the Gameboy to the PC can work but is extremely touchy. You may lose bytes in transit, with or without an error message. Be extremely wary of corruption, and make sure the received file is 131072 bytes big. Not a single byte less or more! Remember, unlike LSDj’s own file manager, LFM will give you an error on almost every kind of corruption, so use it to detect errors early.

Please also the previous post about LittleFM 0.4.The same basic precautions apply. Erase all in the Bleepbloop/Smartboy etc type flasher will delete all songs stored in flash. Save project will overwrite whatever was in that flash slot before.

Have fun and be safe, and report any issue to me.

Download the latest version of LittleFM here.

blog post

And a quick plug: If you have an older flash cart (for example belonging to an older LPT port flasher) then I would like to borrow the cartridge for a while for science, to make it work well with LittleFM and other software I have in the pipeline.

Last edited by nitro2k01 (Nov 21, 2016 3:59 am)

Offline
Unsubscribe

a crazy idea: would you ever be able to patch kits from one dmg to the other?

Offline
Abandoned On Fire

EMS 64M compatible now or still not?

Offline
matt's mind

^ there is a new tool out for EMS multi-sav...  i'll try to dig up that link.

but, wow, what an update!

Offline
egr wrote:

EMS 64M compatible now or still not?

kitsch wrote:

^ there is a new tool out for EMS multi-sav...  i'll try to dig up that link.

but, wow, what an update!

The thread is here http://chipmusic.org/forums/topic/9501/ … hat-is-it/ however, the patches that exist currently do not support LSDJ (it uses all available SRAM, unlike Pokemon Blue and other games that are supported by the patches).

Nitro - I might ship you my GB Transferrer II and plain blue EMS cart I got from PianoGameboy, I won't be able to use it for a few months until I build a proper PC with a parallel port. Let me know if you are interested. Not sure if it's the kind of LPT port device you are looking for.

Offline
Cincinnati Ohio

thank you so much for making this!  i installed it on my Drag N Derp and it works great.  multiple save banks... who knew!  big_smile  does anyone know if LSDmanager can handle the multi-savs?  otherwise, is there a different way to manage the individual songs in the different sav banks once you get it backed up to your computer?

Offline
Sweeeeeeden
herr_prof wrote:

a crazy idea: would you ever be able to patch kits from one dmg to the other?

Yes, but the problem then becomes flash sectors. The flash chip is divided into about 64 kB (blepbloop/smartboy etc) or 128 kB (Derp) sectors with a special property. For each sector, the whole sector needs to be erased before a new one can be written. So to write one kit to  a bleepbloop, you need to first erase a group of four.

egr wrote:

EMS 64M compatible now or still not?

The flash chip is not accessible for writes from the Gameboy, so that part will never work on the EMS cartridge, unless there's a secret method of accessing it. However, let me stress that the rest of the functionality, which used to be only "load a song" and now also includes sav transfer over a link cable, do not involve the flash chip and will work all the same on EMS cartridges. There's little reason not to use LittleFM for song loading since it's both faster and more robust than the builtin file manager.

kitsch wrote:

^ there is a new tool out for EMS multi-sav...  i'll try to dig up that link.

This thread: http://forums.nesdev.com/viewtopic.php?f=20&t=5804

But that's no good for LSDj. This is meant for holding multiple saves for games, up to 32 kB. LSDj already does this with its file loading and saving, and LSDj doesn't play well with that guy's menu ROM. You're still limited by the basic 128 kB SRAM size and the lack of flash chip access.

One idea I have for the future is a menu ROM for EMS carts based on LittleFM that can both store other games'/programs' RAM contents in LSDj's file system and do multi ROM functionality on EMS carts. But coding something like that takes time.

thebitman wrote:

Nitro - I might ship you my GB Transferrer II and plain blue EMS cart I got from PianoGameboy, I won't be able to use it for a few months until I build a proper PC with a parallel port. Let me know if you are interested. Not sure if it's the kind of LPT port device you are looking for.

Well, that is the one cartridge I'm probably not interested in. I'll just spill the beans. I'm also working on a firmware for a flasher to replace the bleepbloop flasher, which can write to as many types of cartridges as I can get my hands on. I have more plain blue EMS carts than I can poke a stick at, however. I'm mainly looking for every other type of classical era flash cartridge. I may be interested in it if it's one of the rarer older types. If you open it up and there's no chip that says Intel E28F320J5, I'm interested in it.

spry wrote:

thank you so much for making this!  i installed it on my Drag N Derp and it works great.  multiple save banks... who knew!  big_smile  does anyone know if LSDmanager can handle the multi-savs?  otherwise, is there a different way to manage the individual songs in the different sav banks once you get it backed up to your computer?

There's currently no application where you can just simply open it, but the data is right there and you just need to extract it. You can do this by splitting the file. For example in anything UNIX-ey, you can use the dd command, as such:

dd if=LSDJ_LFM.gb of=songs.sav bs=128k count=1 skip=8

This command extracts the first sav. You could get any other sav by replacing the number 8 with any number between and including 8 and 15. In Windows... I don't know...

Offline
BK
spry wrote:

thank you so much for making this!  i installed it on my Drag N Derp and it works great.  multiple save banks... who knew!  big_smile  does anyone know if LSDmanager can handle the multi-savs?  otherwise, is there a different way to manage the individual songs in the different sav banks once you get it backed up to your computer?

I believe what you'd do in this case is one by one load the Project you want to back up into RAM and then pull it off with a transferrer and edit it with LSDmanager.
Nitro, would you be able to make a similar LSDmanager program that deals with a LittleFM patched LSDJ ROM instead of sav files?

Offline
Sweeeeeeden

I will, in time.

Offline
BK
nitro2k01 wrote:

I will, in time.

Thank you! What you've done so far is quite amazing though.

Offline
vancouver, canada

question: when loading a project from flash, is it possible to detect and warn if the SAV currently in ram needs to be saved in flash memory first? 

unfortunately i learned the hard way that even if you save a song to the current SAV, those changes aren't permanent unless you actually save the project.

Offline
Cincinnati Ohio
nitro2k01 wrote:

I will, in time.

Awesome!  thanks so much big_smile

Offline
BK

^ seconded, this sounds like a really important feature.

Offline
Sweeeeeeden

Currently, no. I have milestones for each version, and unfortunately that wasn't one of them. However, it will likely be a part of the next version. What I plan for that version is a hidden sector in the file system which will contain information about the currently open project.

Offline
vancouver, canada
nitro2k01 wrote:

Currently, no. I have milestones for each version, and unfortunately that wasn't one of them. However, it will likely be a part of the next version. What I plan for that version is a hidden sector in the file system which will contain information about the currently open project.

appreciate it!  glad to know it's at least technically feasible - it'd certainly be a great feature for absent-minded fellows such as myself.

Offline
Cincinnati Ohio

quick update:  my DnD is working well with littleFM except for that it occasionally freezes.  none of the data gets lost, i just have to restart the system.  it does this much more often than it used to though, and im guessing it has to do with littleFM.  ill have it freeze on me maybe one out of 10 times im working with it, and theres no particular catalyst that i can figure out.  ill let you know if i come up with a more satisfying explanation.