Do you know of RicBit’s Super Optimizador?
I haven't played with it, but I remember looking at it a while ago! It's quite interesting, if I understand correctly, it does exhaustive search in the space of programs to try to find the optimal sequence of assembler instructions that is equivalent to the input one, right? My portuguese is not very good, but from what I understand it is quite slow (it mentions 12 hours when optimizing sequences of 7 instructions! (on some old hardware)). Has anyone tried it?
I could not resist and started coding some infrastructure. I have a basic parser now that can parse the source files (supporting some of the basic most common macros like IF, REPT, etc. but not all the fancy ones). I have tested it with all my games, and I can load all of them, and the symbol tables I get match 100% with those generated by Glass, so, it seems to be working.
But I'd like to make sure it's robust. So, I was looking for open source assembler MSX projects that I could test my code on. All my games are open source, but I haven't found many others. Do you guys have links to open source MSX projects that I could use for testing? I could only find the unfinished World Rally ( https://github.com/theNestruo/msx-wrally ), and a Flappy Bird implementation ( https://github.com/plainspooky/flappybird4msx )
This is uridium
https://github.com/artrag/Uridium-msx1
And this is Deep Dungeon Adventure
https://github.com/artrag/Deep-Dungeon-Adventure
Awesome!
Btw Grauw, I cannot find your projects there, that's just a link to the home page of source hut, but searching for Grauw or MSX after registering doesn't have any results!
And ARTRAG, I noticed some syntax I am not familiar with in your projects. For example, in Uridium, I see that some lines start with a number in square brackets, like this:
[3] add hl,hl
What does that [3] mean? I thought initially, it might be like a REPT macro, but not sure if it makes sense in some of the contexts where I've seen it.
[edit: I see, it's indeed a REPT macro using sjasm syntax... hmm... do any other z80 assembler compilers support this syntax? I might support some basic form of it if it's common]
Yes, it means rept
With [3] the line is repeated 3 times
Ah sorry, you didn’t even need to register! I’ve updated the link above.
But I'd like to make sure it's robust. So, I was looking for open source assembler MSX projects that I could test my code on. All my games are open source, but I haven't found many others. Do you guys have links to open source MSX projects that I could use for testing? I could only find the unfinished World Rally ( https://github.com/theNestruo/msx-wrally ), and a Flappy Bird implementation ( https://github.com/plainspooky/flappybird4msx )
A quick list:
- asMSX code examples: https://github.com/Fubukimaru/asMSX/tree/master/code (mine, g-monkey, pong, robots)
- Bogaboo: https://github.com/mcolom/boogaboo_disasm_msx
- Metal Gear: https://github.com/GuillianSeed/MetalGear
- Pyramid Warp: https://github.com/theNestruo/msx-pyramidwarpex (includes both the original and an enhanced version)
- Sword of Ianna: https://github.com/fjpena/sword-of-ianna-msx2
Other Retroworks games have source code download (Jinj 2, Genesis, Brunilda, probably ohters)
Some MSXdev entries (Jumping, I Need Speed, probably others)
Fantastic, thanks for all the links TheNestruo!
And thanks for the updated link Grauw, I can see the projects now!
Alright, so it seems that there is a lot of extra syntax that I need to parse in order to handle some of these, hehe