Cumulus Firware Compilation

This is the right place to discuss on how to implement hardware vsync, adding a VIA or AY chipset, puting multiple roms, or how to design a new flash expansion card.
User avatar
ibisum
Wing Commander
Posts: 1645
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Re: Cumulus Firware Compilation

Post by ibisum »

What makes an 'official' firmware at this point? There isn't a main repository administrator, there isn't an 'official' guy who will take the changes, build CUMULUS.BIN, and release them - right now, there's you, me, metadata, Chema, and retromaster who are interested in contributing to the firmware. (Sorry if I missed anyone - please raise hands if interested..) retromaster, the original author, may or may not be around - if not, we can coordinate with metadata what features we need/want and then get on with it. metadata - as the principle person responsible for the hardware, I give your opinion quite some weight, so please guide me if I'm off the rails.

So maybe what we can get out of this thread is some form of tangible organization for how we will deal with the issue of contributions, merging, and releases. I've already volunteered to be the release maintainer - building binaries, accepting features and merging them into the mainline sources - so if thats acceptable to the community, I'm happy to fulfill that role - because I think its needed.

And, not to be too much of a boor, but if someone is having trouble with SVN, probably the most productive thing for them to be doing for this project is: getting over that hump, so we can use it properly. Catering to the Lowest-common-denominator is honorable social policy, but it rarely ever gets anything *done* ..

In any case, I've started diffing and merging the changes from the fw_dbug/ hack-arena, and producing viable commits to the main master. I'm already seeing things I'll keep - useful things - and things I'll throw away (reset feature). And I'm seriously considering proposing to you all that we use git for the firmware project, because its just so much more useful in this context. You (DBug) can branch and hack away without any problems, and (assuming you git commit frequently enough) we *can* cherry-pick features. If its going to be important to you that we isolate some hacky features from more 'mainstream features that the CUMULUS user group will appreciate', then I *really* think we need commit-level merges as a feature. So, we should use git.

Any disagreements, violent or otherwise? If not, then I'll set up a public git repo on github in a few hours .. and then I'll produce a working CUMULUS.BIN with the merges I've gotten in there so far.
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Cumulus Firware Compilation

Post by Dbug »

ibisum wrote:What makes an 'official' firmware at this point?
The version 0.5 is the official firmware at this point.
It's the one made by Retromaster and which is currently in the SVN depot.

Imo, the problem is not a question of coding, or branching, or svn or git: It's before all a question of what needs to be done, and this will necessary be the result of the feedback we get on the existing Cumulus from people using it.

You wrote that you back-ported some of my changes, but are you sure they are worth having:
- If it's the display of the current sector/track, I'm not sure: I believe it's actually impacting the performance of the reading, I don't have hard numbers but I think it is not trivial
- If it's the new 6510 driver commands to handle the UI? Well it's only worth having if we want to keep this type of UI
- The removal of the eject/write protect was obviously an oversight, definitely not something you want in
- And the quick reset you removed
So what did you bring in exactly? Because if this code did not pass my criteria for 'good for production' I find it scary that you find it good enough.

The whole SVN depot is just a free service I offer: I don't force anyone to use it.
And yes I target the lower common denominator because it's what I do here: Helping everybody independently of their skills.

People are here to do Oric stuff, not to learn source control, branching, diffing, conflict solving. The SVN is just here to make it easier to provide help, and keep traces of the code so it does not just disappear because a hard drive failed.

Now back to the firmware: I personally do not care about who build versions, who is in charge and where the changes are made.

What I care about is:
- that the changes do not break compatibility (I don't want to see games that only work on Cumulus version a.b.c)
- that the feature and fixes address first the need of the people who bought the device and only second bring new fancy/extensions
- that the versions are reliable and well tested
- that hacked/custom versions are easy to identify
- that the released versions are easy to track, and the associated code changes easy to find as well.

I still think you are doing it backward: We need to know what has to be done on the firmware first and then see how to do it.

Feel free to create a new thread about what need to be done in the firmware and we can have it sticky, can even add a poll to organize the priority.
User avatar
barnsey123
Flight Lieutenant
Posts: 379
Joined: Fri Mar 18, 2011 10:04 am
Location: Birmingham

Re: Cumulus Firware Compilation

Post by barnsey123 »

I have to say that I think Dbug is absolutely right.

I'm also saying that because the device/software is all open source then anyone is free to make their own "fork" for their own purposes. people are also free to make their own cumulus's. The "official" version (for want of a better word) will merely be the one that Metadata decides to install on the devices he is making. I think that serves as a good baseline (a known quantity). "This device has been tested and known to be working on fw version x.y"

It may be in the future that home rolled firmwares will be adopted as the "official" version. In the end, different versions of the firmware may offer different things to different people and it may come down to personal preference (e.g. a left or right-handed optimized UI).

The one idea I would really like to see is Ibisums idea for selecting the DSK file from the Oric. I can predict a need for that...and that's a shameless plug for Tycho Blue... :D

We must also remember that we're doing this for the fun of it (we may disagree on some points, sometime strongly, we choose to offer, ignore or follow the advice of others) but in the end we are all free to do what we want, how we want. No one can tell us otherwise...gotta go...train to catch
User avatar
ibisum
Wing Commander
Posts: 1645
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Re: Cumulus Firware Compilation

Post by ibisum »

I don't disagree with DBug's position that there should be experimental features and hacking going on, separate from the mainline distribution of the firmware. What I took issue with is the presence of fw_dbug/ in the repo, alongside fw/ - this is a fork, plain and simple. We've seen it a million times before - someone comes out with some great software, it gets forked, and the original tree gets ignored/forgotten about in the rush to add new, fancy features. So, we're both pretty much on the same page - my *only* issue has been that source-code repo tools should be the solution to this problem, and not in itself, a problem. Which is where I think DBug and I diverge in our opinions - I believe it *is* a problem if someone, contributing to an open source project, doesn't use the repo tools properly.

Anyway, enough said about it - we can move on from this glitch in our work. You're totally right barney, that we're all in this for fun. So, lets try to have as much fun as possible while minimizing the extra work that occurs from misusing tools ..
coolman66
Flying Officer
Posts: 243
Joined: Wed Jul 14, 2010 7:37 pm
Location: lancashire GB
Contact:

Re: Cumulus Firware Compilation

Post by coolman66 »

Please stop teasing me with the CUMULUS loading screens ,I can't wait to get mine !
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Cumulus Firware Compilation

Post by Chema »

And silence came....

Not sure if I should even attempt to drop random thoughts here, but as there has been no more debate about the important thing here which is, imho, what to include in a new firmware, let's start some kind of brainstorming.

I understand the first thing to do is trying to figure out why non SDHC cards do not work. Maybe there is some kind of bug lurking here. I found my cumulus hanging randomly when there is an error booting SEDORIC. It happens to me nearly always the first time I boot, and after a couple of resets, everything goes perfectly.

Maybe there is something going wrong when there is a kind of read error. I know I say I'd try to develop a kind of test program (and I failed to do it so far). What do you think should be tested? I propose at least something that reads patterns of bytes and counts the number of read errors. The same could be done for writing data. It would also be nice to time the operations, but for that I think I will need to rewrite my disc routines, which disable other interruptions.

Another matter could be designing some kind of internal debugger in Cumulus, taking benefit of the "commands" (or something like that) screen, where you could see a log of what was done and the current status.

And finally we talked about the GUI design. I propose to have the three buttons on the right side for select/up/down in all screens and menus. Then we should think about the two buttons in the left.

I'd say we need a fast way to perform the usual actions. What do we (at least I) do 90% of the time? Select a dsk image and then reboot the Oric. Maybe dedicating one button for rebooting the Oric when in the disc screen could be a good idea (even with some kind of confirmation, say press it twice with a message between presses).

The other button should be then used for iterating through screens (disk, configuration, cumulus status...).

Finally, I would remove the protection of disk images. I don't think it is useful enough (you can always protect the file on the SD card).

What do you think?
Godzil
Squad Leader
Posts: 774
Joined: Sat May 21, 2011 7:21 pm
Location: Between UK and France
Contact:

Re: Cumulus Firware Compilation

Post by Godzil »

I like your idea for the GUI,

3 button on left are dedicated to go up, select and down, the two on the left shoud be used as "soft" button depending on what is on the screen.

For the SD I loved to help, but until I have my own one, it will be difficult to help :(
User avatar
barnsey123
Flight Lieutenant
Posts: 379
Joined: Fri Mar 18, 2011 10:04 am
Location: Birmingham

Re: Cumulus Firware Compilation

Post by barnsey123 »

How about this?
Cumulus-Buttons.png
Cumulus-Buttons.png (9.95 KiB) Viewed 13774 times
User avatar
coco.oric
Squad Leader
Posts: 720
Joined: Tue Aug 11, 2009 9:50 am
Location: North of France
Contact:

Re: Cumulus Firware Compilation

Post by coco.oric »

Hello, i think the gui purposed by barnsey123 is good whatever i prefer replace the eject button with a menu button to go for exemple protect the disk or not.
Today, firmware locked the disk so you can't modify it. I suggest to drop this or to make a menu choice.

I'll try to compile the official firmware.
coco.oric as DidierV, CEO Member
Historic owner of Oric, Apple II, Atari ST, Amiga
User avatar
metadata
Pilot Officer
Posts: 114
Joined: Wed Aug 31, 2011 7:59 pm
Location: Hildesheim, Germany
Contact:

Re: Cumulus Firware Compilation

Post by metadata »

barnsey123 wrote:How about this?
Cumulus-Buttons.png
i like the sun in your gui :D
... i hope we can find a way to work together on a better firmware. But don't forget... it's just a firmware so please no fight about it.
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Cumulus Firware Compilation

Post by Chema »

Only thing is that we need a way to change from the disk screen to the system screen, with preferences, log, etc...
User avatar
ibisum
Wing Commander
Posts: 1645
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Re: Cumulus Firware Compilation

Post by ibisum »

My priorities:

1. Save .DSK configuration to flashram, so that manual mounting is not required after a reboot.
2. Add an options screen/GUI somehow.
3. Add the following options: a) always reboot Oric after .DSK mount in Drive 0 (y/n), b) Auto-load last-saved .DSK configuration on reboot (y/n)
4. Work out how to have the Oric control Cumulus to load .DSK's programmatically.

For me, getting to #4 would mean a whole new world of development potential for the Oric, so I'd love to discuss this technique in a friendly way that makes it feasible for other developers to start using Cumulus as a proper memory storage device from within the Oric environment..
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Cumulus Firware Compilation

Post by Dbug »

ibisum wrote:4. Work out how to have the Oric control Cumulus to load .DSK's programmatically.
For me, getting to #4 would mean a whole new world of development potential for the Oric, so I'd love to discuss this technique in a friendly way that makes it feasible for other developers to start using Cumulus as a proper memory storage device from within the Oric environment..
Just give a shot at it, quick and dirty.
When you know that it is doable, you can share the experimentation and then that's a good base for discussing on how to do it cleanly/efficiently and in a way that satisfies everybody.

If there's a rule in the Oric world it is this one: Community projects fail. Hard. Each time.

All the projects that have succeeded so far have started from individual initiatives, and when something was shown as working then people have jumped in and helped.
Godzil
Squad Leader
Posts: 774
Joined: Sat May 21, 2011 7:21 pm
Location: Between UK and France
Contact:

Re: Cumulus Firware Compilation

Post by Godzil »

I will only says one thing. Don't reinvent the wheel and look at the HxC hd mode.
User avatar
coco.oric
Squad Leader
Posts: 720
Joined: Tue Aug 11, 2009 9:50 am
Location: North of France
Contact:

Re: Cumulus Firware Compilation

Post by coco.oric »

Hello,

I've succeeded in compile the firmware with a small mod. (thanks mickael)
I've succeeded in updating the firmware ... but my screen is blue after reboot !

Going back (and reformating again the sdcard) !
I'm trying again with the sourcecode of dbug. Compiling .. updating ...
It's the same !

If i put the firmware of metadata directly to update, everything is going well. Seems that i've something wrong with the compiler.

I've :
Windows 7 environment
MPLAB X IDE v2.05
mplabc18-v3.47-windows-lite-installer

at the creation of the project
using PIC18F46K20
Encoding ISO8859-1
and after it hex2bin 1.0.10

I don't understand what happen with my build
coco.oric as DidierV, CEO Member
Historic owner of Oric, Apple II, Atari ST, Amiga
Post Reply