-
Notifications
You must be signed in to change notification settings - Fork 9
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
Problems running cicoparser with some games #6
Comments
Attach assembly file and configuration in your comment please, so I can verify the problem |
Sure! There you go: DSCHUMP-cicoparser-files.zip Thanks for the quick reply 😄 |
I checked the jetpack game: |
Hello @gabonator , In my case I'm trying with the game Cicoparser by Gabriel Valky, 2021 (https://github.com/gabonator/Projects/tree/master/XenonResurrection/Parser)
line 0,
[439] _Not_Enough_Memory_:
Assertion failed: (0), function MatchLine, file ../CicParser2021/parser.h, line 46.
./convert.sh: line 1: 89847 Abort trap: 6 ../build/cicoparser -config mm2.cfg Here you have the Am I doing something wrong? or is the parser that doesn't support this game either? Thanks |
Hello again @gabonator , I think that the
if ( CUtils::match("^(_[\\w]*):$", strLine, arrMatches) )
{
return make_shared<CILabel>(arrMatches[0]);
}
if ( CUtils::match("^([\\w]*_):$", strLine, arrMatches) )
{
return make_shared<CILabel>(arrMatches[0]);
} Doing that, I have been able to proceed parsing ASM file, but additional errors appears for some instructions that are not recognized 😢 Thanks |
I have created a PR #7
These 3 instructions are the only ones pending to implement to make Thanks |
@fjtrujy if there are just 3 unsupported instructions, just add dummy implementation for them. This will place assertion at the point where the unsupported instruction is and then you can manually fix it when it will try to execute it:
but regarding the I do not think cicoparser in its current state of development is powerful enough to process any pascal/C/C++ apps... To port Micromachines it will take a lot of effort... but I am happy to see that there are contributors trying to improve it :) |
I forgot to comment it but there are a lot FIXME_ generated anyway in the file. |
I can give it a try, just drop here generated code and assembly |
Here you have it! I just commented the 3 instructions that I said before in order to Thanks |
@fjtrujy this won't definitely work. The assembly code is heavily using stack for passing arguments and local variables and this is still not supported. Currently I do not do any further development on this project - it is summer and prefer spending time outdoors and also I am waiting for the next wave of corona :) The development was stopped during porting "Arcade volleyball" game which is written in turbo C and it is possibly the easiest game in higher language I could find (also heavily using stack for local variables/arguments). So when I will complete porting this game, then we can discuss porting these more advanced games |
Thanks in advance! |
Hello!
I was trying out cicoparser following the instructions from this Youtube video and everything worked fine with CD-MAN, but I had trouble parsing the same cico.py output for 2 different games:
___fpreset
token and cannot parse it:__MMODEL
token and cannot parse it:Is this something I'm doing wrong or just some stuff that is not supported yet?
If you want to test it, you can download the games yourself or I can share with you the relevant files to run cicoparser 😄
Thanks in advance!
The text was updated successfully, but these errors were encountered: