-
Notifications
You must be signed in to change notification settings - Fork 450
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
coco autoload .dsk and .cas support #11706
Conversation
squash your commits
|
Do you have a good article on how to squash commits? I tried practicing and following this article on a simpler branch in mamedev and feel it made it less readable by bringing non-related commits into the branch.
sanity check: does configgen create a data structure w the contents of an XML software list? I ask because I believe it is more elegant to extract the
|
I'm not sure of the software that you use but there are numerous ways to do it. Based on how you're working read the associated article(s). |
did you mean to link some articles? I’m just using CLI git and this stackexchange article makes it sound like this is the right command:
it looked like it was working using if you have a favorite tool/process you like to use, I’m happy to try it.
ok based on your response, it doesn’t sound like there’s a global object anywhere with this data. I got the hang of ElementTree this past week so this is what I’d use. Don’t merge anything until I give the green light - it’s okay if this gets included in v41 (i’ll update the changelog as needed) I plan to add a menu option for the coco Cassette Software List so I want to build Emulation Station from source to make sure it works. |
I use sublime merge. but |
f1f2848
to
bde5c7f
Compare
THANK YOU for that - I really struggled with that and this worked perfectly! so much cleaner and now I have no fear of squashing commits in the future Just realized I don’t have enough beef (8GB not 16GB+) in my machine for a full build so it craps out building I tried to go into the shell using (btw, as an integrator in a past life, the use of build containers is a godsend! solves soooo many cross-platform build problems we used to have back in the day!) |
ok - I’m done incorporating your suggestion and pretty happy with the result!
updated the changelog & squashed my commits :) only thing remaining is getting my hands on a build of ES that contains the menu changes. Might you have a build server in the cloud to offer I can get permission to build inside a Docker container and host the update when it’s done? Even without the menu changes, everything works fine in a patched up v39. |
are these files still necessary - coco_{cass,flop}_autoload.csv ? |
because the MAME software lists can do all the heavylifting, it’s only there for power users who aren’t happy with the defaults (and perhaps workarounds). the files are optional and don’t need to be included on install/update. |
- allow ES to accept .dsk extension. Add “Disk” to coco altRomType choice - add "Tandy Radio Shack Color Computer cassettes" to coco softList choice in Advanced Game Options (lr-mame and standalone) - implement autoload behavior to use "usage" info in MAME software lists - implement autoload behavior for .cas and .dsk (.bas in rom basename uses CLOAD/RUN) - implement user definable override (optional) for cass and flop (system/configs/mame/autoload)
Understood but my only reservation is that you don't provide an example of the csv. So even to an advanced user, it's not clear what should be in the csv file to make modifications. So my advice is to either provide example files, outline what one looks like in the _info.txt file or remove the reference. |
thank you very much for the feedback! I added two files (one simple and one complex example) - I noticed the datainit tree is pretty sparse, did I put them in the right place? |
you need to do it from the mame package, not the |
ok - thanks. updated the commit. Please review my changes to mame.mk |
thanks for the merge! coco is looking much shinier in Batocera now thanks to your support! :) tested latest butterfly build ( 2 minor issues:
Workaround: specify “Cassette” as media type (and not use software list) I confirmed ES passes
Who on the MAME team could we chat with to better understand how to integrate the following new software list? https://github.com/udance4ever/mame/blob/coco_cass/hash/coco_cass.xml
|
Color Computer (coco) .cas and .dsk files previously did not autoload like other systems (eg. apple2)
Drivers coco & coco3 as of MAME v0.261 have support for .dsk:
Commit Summary
Default Autoload Behavior (top to bottom)
CLOADM:EXEC
(F10 is useful to unthrottle and speed up loading :)LOADM “ZONX”:EXEC
)4a. ALPHAII.BAS.dsk autoloads using
RUN “ALPHAII”
4b. GROVER.bas.cas autoloads using
CLOAD:RUN
Example Autoload Behavior Found in MAME Software Lists
RUN “MENU”
)LOADM "SLUTHIGH":EXEC:LOADM "SLUTHLOW":EXEC &H073F
(as specified by developer)CLOAD:RUN
prior bootloader loading 2nd binary segment on tape into memory)NOTE: A software list in “Advanced Game Options” must be selected to enable ES to search for your rom (and usage info, if available). This is not the default (unless you have set a software list for Color Computer in “Per System Advanced Configuration”)
User definable overrides
define autoload overrides in:
system/configs/mame/autoload/coco_{cass,flop}_autoload.csv
- examples:1988_02a.dsk
to Castle of Death (The Rainbow) and autorunRUN “CASTLE”
)blank lines and lines starting with
#
(comments) are skipped in override file.please consider contributing your overrides (and declaring new software) in our MAME software lists
Not Implemented
Verified carts continue to boot (eg. Personal Finance:
finance2.zip
)If any other coco users want to pitch in and test their coco libraries, this would be great but I think I’ve covered most cases.
Let me know if you have any questions!
Complete List of Titles Verified to Autoload
2a. Castle of Death (The Rainbow, Feb 1988) (symlink, Castle of Death (The Rainbow).dsk, bas, coco_flop override)
2b The Controllers (The Rainbow) (symlink, CONTROL.bas.dsk)
3a. Maze of Moycullen (symlink, MOYCULEN.BAS.dsk)
7a. Deed of the York (symlink, DEEDYORK.BAS.dsk)
7b. Dungeon Adventure (symlink, DUNGEON.BAS.dsk)
7c. Escape from Sparta (symlink, ESSPARTA.BAS.dsk)
7d. Head of the Beast (symlink, HEAD.BAS.dsk)
7e. Lighthouse Adventure (symlink, LIGHTADV.BAS.dsk)
7f. Search for the Ruby Chalice (symlink, RCHALICE.BAS.dsk)
7g. An Unexplored Mansion (symlink, UMANSION.BAS.dsk)