Ultimem or Final Expansion?

Discuss anything related to the VIC
User avatar
pixel
Vic 20 Scientist
Posts: 1357
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: Ultimem or Final Expansion?

Post by pixel »

plbyrd wrote: Are there any docs telling me how to construct an Ultimem compatible image with these files?
Now get my puzzled looks coz that's work already done, loverlies. You'd have been better off picking the raisins out of G.
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
plbyrd
Vic 20 Hobbyist
Posts: 135
Joined: Tue Jun 01, 2010 9:32 pm
Website: http://thesharp.ninja
Location: Clarksville, TN
Occupation: Software Engineer

Re: Ultimem or Final Expansion?

Post by plbyrd »

pixel wrote:
plbyrd wrote: Are there any docs telling me how to construct an Ultimem compatible image with these files?
Now get my puzzled looks coz that's work already done, loverlies. You'd have been better off picking the raisins out of G.
I literally understood none of this. I think you're saying there's already a spec for what an Ultimem cart image looks like. Can you point me in that direction?
User avatar
pixel
Vic 20 Scientist
Posts: 1357
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: Ultimem or Final Expansion?

Post by pixel »

plbyrd wrote:
pixel wrote:
plbyrd wrote: Are there any docs telling me how to construct an Ultimem compatible image with these files?
Now get my puzzled looks coz that's work already done, loverlies. You'd have been better off picking the raisins out of G.
I literally understood none of this. I think you're saying there's already a spec for what an Ultimem cart image looks like. Can you point me in that direction?
Äh… sorry, perhaps I was a little unfair. Own work is always kind of laid out. I have a bunch of stuff at github. Link below. If you're also nuts enough to write an OS for the Ultimem, we should team up some day.
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
plbyrd
Vic 20 Hobbyist
Posts: 135
Joined: Tue Jun 01, 2010 9:32 pm
Website: http://thesharp.ninja
Location: Clarksville, TN
Occupation: Software Engineer

Re: Ultimem or Final Expansion?

Post by plbyrd »

Not sure I want to tackle an entire operating system right now. I'm more interested in standing up a menuing system that we can be proud of. I'm building it off of CBM-Command since I have a TON of the work to show a UI and work with files already there. I'm going to treat the Ultimem as a big blob of 8k blocks.

Cartridges will be loaded into the blocks as necessary, and a small metadata descriptor will be created for the cartridge with information such as the name of the cart, location on the Ultimem, location to install each block into in the VIC, and any requested features, such as RAM configurations. We could even put thumbnails and such in the metadata for display in the menu. Cartridges can be imported from 8k/16k bin files or crt files and the user manually enter the metadata in the app, or with a new package mechanism that would place all the metadata in a JSON file with the bin/crt file(s) in a wrapper. This way, the user can populate their Ultimem however they want without having to use any PC-Side tools.

One-filer programs would be treated the exact same way.
User avatar
pixel
Vic 20 Scientist
Posts: 1357
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: Ultimem or Final Expansion?

Post by pixel »

plbyrd wrote:Not sure I want to tackle an entire operating system right now. I'm more interested in standing up a menuing system that we can be proud of. I'm building it off of CBM-Command since I have a TON of the work to show a UI and work with files already there.
Sounds great. Didn't go for a text display because of the low number of columns.
I'm going to treat the Ultimem as a big blob of 8k blocks.
What a waste. Perhaps I can help out right there with that UltiFS? https://github.com/SvenMichaelKlose/g/b ... s/ultifs.c
Having RAM/ROM file systems would be awesome. And our projects won't collide. :)

But back on topic: I'd recommend the Ultimem. ;) But I'll support the FE with Arukanoido as well.
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
plbyrd
Vic 20 Hobbyist
Posts: 135
Joined: Tue Jun 01, 2010 9:32 pm
Website: http://thesharp.ninja
Location: Clarksville, TN
Occupation: Software Engineer

Re: Ultimem or Final Expansion?

Post by plbyrd »

I'm thinking maybe the structure of the file system should simply be the CMD-DOS file system. It's well known, there are already great tools for it on modern systems (DirMaster comes to mind), and it's arbitrary in size. I could use the last 1MiB of flash to hold the FS, leaving the rest for 8k banks of data. This would give us a decent volume for metadata storage and transient data while providing 7MiB of block storage. The kernal could be patched to treat the Ultimem as a normal drive.
User avatar
pixel
Vic 20 Scientist
Posts: 1357
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: Ultimem or Final Expansion?

Post by pixel »

plbyrd wrote:I'm thinking maybe the structure of the file system should simply be the CMD-DOS file system. It's well known, there are already great tools for it on modern systems (DirMaster comes to mind), and it's arbitrary in size. I could use the last 1MiB of flash to hold the FS, leaving the rest for 8k banks of data. This would give us a decent volume for metadata storage and transient data while providing 7MiB of block storage. The kernal could be patched to treat the Ultimem as a normal drive.
Had nothing else in mind but to provide the file system via the kernal. :)
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
plbyrd
Vic 20 Hobbyist
Posts: 135
Joined: Tue Jun 01, 2010 9:32 pm
Website: http://thesharp.ninja
Location: Clarksville, TN
Occupation: Software Engineer

Re: Ultimem or Final Expansion?

Post by plbyrd »

I've finished making a simple configuration cart image. You can download the source and build it at:

https://github.com/sharpninja/ultimem-boot

Or you can get the image file from:

https://github.com/sharpninja/ultimem-boot/releases

To launch with vice you simply execute:

xvic -ultimem ultimem.img
User avatar
plbyrd
Vic 20 Hobbyist
Posts: 135
Joined: Tue Jun 01, 2010 9:32 pm
Website: http://thesharp.ninja
Location: Clarksville, TN
Occupation: Software Engineer

Re: Ultimem or Final Expansion?

Post by plbyrd »

Exciting stuff is on the way. Found some really, really cool libraries to work with for JSON parsing. I also have an idea of how to store metadata on the Ultimem that can be used to drive the menu system. I'll be able to create an ecosystem where multiple Ultimem-aware apps can live peacefully on one device. Apps will not manage the ultimem directly through the registers, but would make calls to load/store assets to/from flash/ram. It'll also act as a mini-database that can be used to store persistent state for your apps.

I've also decided to use the CMD-DOS File System for a virtual drive. You'll be able to easily extract and import your data with DNP files which can be manipulated on a PC using your favorite image manager. I will create a wedge so that standard kernal calls (through the jump table) will be able to use the virtual drive. Since hardly any VIC software exists with custom fast loaders, this will be a huge win for the VIC community.

Hopefully all of this will drive some adoption of Ultimem. If it does, please support Jim Brain so he'll keep supporting us. Expanding on the current Ultimem to include a SD-card reader (for the virtual drive, NOT SD2IEC) and of course more FLASH and RAM on-board as well. Bring over the RS232 port of the VicMidi as well and I'll be a very happy camper.
User avatar
pixel
Vic 20 Scientist
Posts: 1357
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: Ultimem or Final Expansion?

Post by pixel »

plbyrd wrote:Exciting stuff is on the way. Found some really, really cool libraries to work with for JSON parsing. I also have an idea of how to store metadata on the Ultimem that can be used to drive the menu system. I'll be able to create an ecosystem where multiple Ultimem-aware apps can live peacefully on one device. Apps will not manage the ultimem directly through the registers, but would make calls to load/store assets to/from flash/ram. It'll also act as a mini-database that can be used to store persistent state for your apps.
Jim Brain has a banked memory API on his wish list which is used on the C64 at least. As usual I forgot what or where it is.

I sense a friendly Ultimem OS war coming up next. DOS vs. GUI-Unix :lol:
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
plbyrd
Vic 20 Hobbyist
Posts: 135
Joined: Tue Jun 01, 2010 9:32 pm
Website: http://thesharp.ninja
Location: Clarksville, TN
Occupation: Software Engineer

Re: Ultimem or Final Expansion?

Post by plbyrd »

pixel wrote: Jim Brain has a banked memory API on his wish list which is used on the C64 at least. As usual I forgot what or where it is.

I sense a friendly Ultimem OS war coming up next. DOS vs. GUI-Unix :lol:
I've thought a lot about EasyFlash and using it's "file system". EasyFlash is great. I love it. But I'm not sure it's the right fit for the VIC-20. Using the CMD-DOS file system to give a storage device really appeals to me because of the available tools to manipulate it on the PC side of things. Getting a DNP image into and out of the Ultimem is trivial.

I'm not looking to create an OS. I'm just enhancing the OS that's already there to provide some facilities for the modern hardware. The only user interface I'm going to be writing are individual apps. Since the VIC-20 cannot bank out BASIC, might as well just keep it there for the users for their Text based activities.
User avatar
pixel
Vic 20 Scientist
Posts: 1357
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: Ultimem or Final Expansion?

Post by pixel »

plbyrd wrote: I'm not looking to create an OS. I'm just enhancing the OS that's already there to provide some facilities for the modern hardware. The only user interface I'm going to be writing are individual apps. Since the VIC-20 cannot bank out BASIC, might as well just keep it there for the users for their Text based activities.
Great. Not very far away from what I had in mind lately, except that I want graphical apps, a writable file system and end user friendliness. You'll probably beat my ideas anyway as I have plenty to do with other stuff that needs finishing. Let's just have fun. :mrgreen:
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
hawk
Vic 20 Afficionado
Posts: 342
Joined: Mon Jun 20, 2005 7:32 pm

Re: Ultimem or Final Expansion?

Post by hawk »

I'm sorry I've come on this thread a little late as I went to have a look at plbyrd's code and saw that he's taken it down.

Did anyone happen to grab a copy before it was removed, as I'd like to see where the code was headed.

I'm happy to say that I purchased an UltiMem and have loaded the default image onto it but have done little else with it. I'd like to have a go at writing a menu system for it (which is sort of what I've been trying to do for the Behr Bonz cart for the last ?? years. :^( ) I need to learn how to overcome my hurdles better. I have holidays coming up soon. Maybe this would be a good winter holiday activity.
Post Reply