User Tools

Site Tools


midres_library:isomorphism:conclusions
Translations of this page:


CONCLUSIONS AND FORECASTS

How will the MIDRES library evolve?

Sooner or later, it will take care of the sound section: if the game has a soundtrack played by a harpsichord, you should hear the same track if you recompile that code on another platform (possibly with a harpsichord but if there is only a piano, it is fine!). This SHOULD ALWAYS BE POSSIBLE between similar computers with comparable computational resources, that is, going from a C=64 to a MSX2.

The translation between the two platforms should not be done at runtime but at compile time, and it should be a library business. The music sequencer, written by the programmer and using the library, should not have plenty #if…#endif conditional compilation to manage the different hardware/software configurations. At most, it will have conditional compilations to include or exclude music pieces.

If (or, better, when) an good audio support will be present, the programmer will develop both sound effects and trackers that work, IDENTICAL, on C=64 and MSX2. They will work with frequencies, waveforms, and so on. He/she will use protothreading to send music to the background, and he/she doen't have to worry about whether there's a Z80 or a 6502 underneath.

This is an extreme example and I don't even know if it's feasible but it serves to explain what an isomorphism is (and what it isn't). At least for the graphics and the controls, MIDRES is isomorphic and it will be isomorphic also for the sound, when it will be.