Assembler Optimizer

Page 3/58
1 | 2 | | 4 | 5 | 6 | 7 | 8

By Grauw

Ascended (10819)

Grauw's picture

14-06-2020, 11:29

Do you know of RicBit’s Super Optimizador?

By santiontanon

Paragon (1830)

santiontanon's picture

14-06-2020, 19:26

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?

By santiontanon

Paragon (1830)

santiontanon's picture

17-06-2020, 22:36

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 )

By Grauw

Ascended (10819)

Grauw's picture

18-06-2020, 11:13

Mine are here.

By ARTRAG

Enlighted (6976)

ARTRAG's picture

17-06-2020, 23:21

By santiontanon

Paragon (1830)

santiontanon's picture

18-06-2020, 01:54

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]

By ARTRAG

Enlighted (6976)

ARTRAG's picture

18-06-2020, 08:07

Yes, it means rept
With [3] the line is repeated 3 times

By Grauw

Ascended (10819)

Grauw's picture

18-06-2020, 11:13

Ah sorry, you didn’t even need to register! I’ve updated the link above.

By theNestruo

Champion (429)

theNestruo's picture

18-06-2020, 14:21

santiontanon wrote:

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)

By santiontanon

Paragon (1830)

santiontanon's picture

18-06-2020, 18:02

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 Smile

Page 3/58
1 | 2 | | 4 | 5 | 6 | 7 | 8