top of page
andrewrfisher

Homebrew Extra - Retro Gamer 240


MAIN FEATURE - MAGNIFICENT MSX

Looking at the MSXDEV 2022 competition


Interview with the organisers Roman and John:


Q. When did you become an MSX fan?

Roman: Oh, that was a long time ago when I was around 14 years old. I'm 49 now. Must have been the somewhere late eighties then. I remember being introduced to computers by a friend whose dad bought a ZX Spectrum. The moment I touched those typical rubber keyboard buttons, I was hooked. I've always had an interest in electronics, so seeing and experiencing a real computer for the first was a special moment. Quickly after, I got in touch with the MSX system which stole my heart. Until this day, this 8-bit-friendly machine still does. I do own an MSX turbo R, the last manufactured MSX machine. These days I mainly enjoy the MSX through emulation.

John: That must be around 1984 or 1985. I was 4 or 5 years old, and my father had an MSX in the basement.

Q. When did you start organising the MSXDEV competition?

Roman: I stepped up two years ago when there was an opening in the organizational team. MSXdev21 was my first edition, and it was a good one. Since the first MSXdev edition, back in 2003, I've kept a sharp eye on this contest. I was even appointed as a jury member for that first episode. Sadly, the compo didn't do well and was cancelled. Luckily the following years it really gained some traction and we've all seen the results so far. The dev show has over 200 MSX exclusive games on its conto already. John and I are the lead organizers of MSXdev at this moment.

John: In 2015, when it was time for viejo_archivero and robsy to pass on the torch, it was Konamito and I who were approached by them to follow them up. Since then I have been one of always two co-organizers.

Q. How did you choose the jury?

Roman: Choosing the jury is a real team effort. We both make a wish list of people who we think would fit the jury team. While comparing notes, we make a definite list of potential members and reach out to those. This year we really wanted to have some Japanese "blast from the past" MSX developer on board and ended up having none other than Tadahiro Nitta from Micro Cabin. We both are big fans of the tunes he wrote for MSX games like the XAK series and Illusion City. For the graphics, we could really only think of one man who has a ton of experience on that matter. Tony Gálvez is the right man for that job. We liked having an MSXdev developer on board that made an impact on earlier editions. We took a look at MSXdev21 and realized that Micha Mulder, the man behind PAC01 and Raven, would be the perfect match to judge the gameplay. We're extremely happy and proud of these jurors for MSXdev22.

John: This year, Micha was offered the position in the Gameplay department based on his skills and talents, and his useful feedback on the jury deliberation of last year. Toni was asked by us for the Graphics department for his wide experience in and knowledge of videogame pixel art. And finally, Mister Nitta was having contact with Koen Dols of the FutureDisk through Twitter, which allowed us to contact him and ask to fulfil the Sound department.

Q. Are you glad to have several sponsors again for this year?

Roman: Yes, no doubt. The competition is non-commercial, for MSX lovers, by MSX lovers. Anybody can join the show. We have a donation and sponsoring the program. A donation via PayPal ends up as prize money (100%), while sponsored items end up in the winners-loot box. Participants get to choose an item of choice out of that box, ordered by ranking. So the first-place winner gets first choice, and so on. Last year, with MSXdev21, we had a record in both donations and sponsored items. Words just can't express the amount of pride we carry for this. With MSXdev22 we are already looking at a good amount of donations and sponsored items. New donations and sponsorships are always welcome, just contact us and we'll make it happen.

John: It is truly heartwarming and a great incentive to do our very best in organizing the contest.

Q. What has been your favourite theme from past competitions, and what led you to choose “freestyle” as this year’s theme?

Roman: My favourite theme is probably the freestyle. It can be a real showcase of what the MSX system can truly do. Why limit yourself to MSX1 machines? On the other hand, having such limits pushes creativity. The "classic" theme is all about MSX1 with 16K of RAM.

John: I especially liked the possibility for sponsors and donators to freely specify a category or condition to which their donation would go. For instance, Best Gameplay, Best Music, Best Shooter, Runner-Up (second place) and so on.

Q. Do you think the MSX has a good homebrew community, and what have been your recent highlights?

Roman: No doubt. The MSX scene is one that I really enjoy being a part of. Both in the early years as in today, the scene is a warm and cozy place to hang out in. Amazing people with amazing skills for 8-bit programming can be found all over the world, and a lot of them gather at the MSX Resouce Center (msx.org). I have a good time participating in the forums on a daily basis. I think teaming up with John and becoming good friends is a good example of that. A highlight, indeed.

John: The MSX community is very open and helpful, and the developers are no exception. On top of that, they are extremely skilled, creative and motivated. Each edition of MSXdev, I am very impressed by several entries.

Q. What are your personal five favourite entries into the competition?

Roman: I can't really answer that one, right? We stay neutral on that while we're in charge of MSXdev. (let's skip this question altogether)

John: Agreed. Maybe we can come back on that one sometime after the winners are known.

Q. Will you be organising the competition again in future?

Roman: MSXdev is an annual competition that is organized by anyone willing to. John has already 7 editions under his belt, I have two. I'm already planning MSXdev23, so yeah I guess I will organize future editions. I love organizing, and I love MSX. I've become good friends with John while doing MSXdev and like to think we make a good team. If it was up to me, we'll be doing this for years to come.

John: To be honest, since Konamito left the team, I was wondering if I'd pass the torch as well, since organizing such a thing does take quite some spare time and energy. It's my love for the contest and MSX in general, as well as the friendship and great teamwork that Roman and I have going.


John: Thanks for your time and for giving me this opportunity, and all the best wishes for your magazine!



Interview with Marco Blom of Robosoft:


Q: When did you become an MSX fan?

I started using MSX somewhere around 1985. At first with MSX-1, later moved to MSX-2 (which was eventually upgraded to MSX-2+) and at the end the TurboR. Q: When did you start creating homebrew?

That must be somewhere around 1989, at that time mostly demo work and a music disk based on Amiga modules. After a couple of years that totally stopped, and I picked it up again around 2013, releasing a music replayer that was never finished in 1994. Q: What made you enter the MSXDEV competition this year?

I already did a lot with the sound chips of MSX (RoboSID, RoboPlay) but for a long time did not look at the graphics part. At first, I wanted to investigate this a bit further to come up with a graphical interface for the sound players, however, I somehow ended up with a full game ('Make them fall').

That was my first entry for MSXDEV last year, since then I just continued creating games, resulting in submissions for this year's competition as well. The good thing about MSXDEV is that it sets sort of a deadline to get things finished. Q: Your two entries are based on existing C64 games - are you a C64 fan too?

Yes, in the early days I also used C64 (and later on Amiga), and I always kept following that scene. However, I somehow never picked up a lot of programming for it (although I can write in 6502 as well). Actually, the development of RoboSID came from wanting to play a lot of my favourite C64 tunes on the MSX as well (at first through the OPL4, later also on an actual SID chip of the PlaySoniq extension).


Q: What was the toughest part about converting Shadow Switcher to MSX1?

The biggest challenge for Shadow Switcher was mapping the levels on a smaller resolution (320 versus 256 pixels wide). All levels were recreated with modifications to fit this resolution.

Another challenge was sort of mimicking the AI of the robots, based on seen behaviour in the original. Q: How close to the original is your port of Randoom?

Also for Randoom, the levels were redesigned to fit the resolution of MSX. Other than that I tried to stay as close as possible to the original, however, both games were re-created without having the source code of the original. Q: What are the biggest differences for a developer between MSX1 and MSX2?

The biggest advantage of MSX2 is the better sprite handling (more than 4 sprites in a row), as well as the flexible colour palette. For example, in Randoom I mapped the colours of the C64 on the R, G, and B values of MSX2 to come as close as possible to the original colours. Q: What is your development environment for MSX games, and do you test on real hardware?

I use Visual Studio Code together with the Glass Z80 assembler and SDCC for C code. Most of the development and debugging is done using OpenMSX, but in the end, I always test it on my real hardware (TurboR FS-A1ST, Sony F1-XDJ MSX2+ and Sanno SPC MK-II MSX1 systems).using the MegaFlashRom extension. Q: Which other entries in the competition have you enjoyed?

From this year's competition, I really enjoyed Mix and Blastoid. From earlier releases, Freedom Fighter is one of my favourites (its development blog inspired me to start coding games). Q: Would you compete in another MSXDEV or competition for other machines?

I think joining another MSXDEV is pretty sure. For other machines, I think the C64 would be the most likely option.



Interview with Angel Colaso (Roolando):


Q. When did you become an MSX fan?

Well, when I was about 16 years old, my father gave me an MSX2 Sony HB-F9S.

I previously owned a ZX Spectrum Plus and had a lot of fun with both machines.


Q. When did you start creating homebrew?

I am a computer engineer and in the year 2020, during the COVID lockdown, I discovered that there was a large community that kept the essence of 8 bits alive.

I started trying homebrew games and got back to the feeling of when I was young, so I decided to start creating my own solo games.

As of today, I have already developed 6 games (3 for ZX Spectrum and 3 for MSX).


Q. What made you enter the MSXDEV competition this year?

Given my good experience in the previous year's competition (2021) where my game "S.O.L.O." (Slot One Level One) was second classified and the great treatment received by the organizers, I decided to present myself again to this prestigious contest again with my new game "Bufonada".


Q. What was the toughest part about converting your game from ZX Spectrum to MSX?

I have lived in the golden age of 8 bits and I have suffered the horrible ports that were made from ZX Spectrum to MSX (at least in Spain),

for this reason, when I make the version for MSX I try to make the most of all the capabilities of the machine and, therefore, I almost had to remake

the game from scratch to incorporate hardware sprites, more fluids movements, more colors, new sound effects, etc...


Q. What is your development environment for MSX games, and do you test on real hardware?

I use a heavily modified version of the MSX Suite created by JLTursan for M.P.A.G.D. and i complement the work with some ASM. In addition, I use a large number of different tools for the graphic and sound part.

During development most of the tests are done on emulator (BlueMSX and OpenMSX) but, at the end of development, all my games are tested on real machines (I have an MSX1 and an MSX2). In addition, I have the help of several friends who test them on other more problematic MSX models, such as some Japanese.


Q. Which other entries in the competition have you enjoyed?

Today, the games that most attract me to this MSXDev are: Shadow Switcher, Randoom and Robo Rumble, although I would like to wait until the end to be able to evaluate them all.


Q. Would you compete in another MSXDEV, or a competition for other machines?

Of course. For me, so far it has been a very satisfying experience and I think that, in addition, the contests help a lot with the development of homebrew games. Therefore, I encourage everyone to also participate so that our old and beloved 8-bit world stays alive.



FIRM FAVOURITES

RG's top 5 entries:


DICED – Tournament (Mi-Chi & Def Danny)


SACRED VALLEY (Visualedu & Bitcaffe)


SPACECAT (Platty Soft)


MUHONMOURN 3 (hoge1e3)


LILLY’S SAGA – THE STONES OF EVERGREEN (Fabulous8bit)


RESULTS:



NEWS BYTES


ACORN: 0xC0DE’s Electrobots – Going Underground - https://bit.ly/electrobots2


ATARI 2600: Arlasoft released Top & Tom (based on https://chsxf.itch.io/top-and-tom) and Stepz (inspired by a MEGA65 title). Stepz is dedicated to Aurora Richmond, with donations welcome to Great Ormond Street Hospital ( https://www.gosh.org ). Visit https://arlagames.itch.io/


C64: Terrestrial and Captain Ishtarhttps://psytronik.itch.io


MASTER SYSTEM: Under4MHz's Wolfenstein conversion - https://bit.ly/wolfenstein-sms

Mananuk's Black Sea - https://bit.ly/blacksea-sms


PICO-8: Paul Hammond’s latest is Berzerk - https://pahammond.itch.io/berzerk


PLUS/4: Hercules to C16 and Plus/4 - https://c64mark.itch.io/hercules


SONGBIRD PRODUCTIONS: Nuon title Freefall 3050 AD and limited edition Microvaders Preview Lynx cartridge (RG232) - https://songbird-productions.com


VARIOUS: Tenebra 2 - C64 and Plus/4 - https://h4plo.itch.io/tenebra-2


ZX SPECTRUM: Gherbert Groundhog in Save The Date from Putty CAD and PsychicParrot - https://bit.ly/ghebert1

Zosya’s Don Quixote - https://bit.ly/donquixote16k

Ariel Endaraues’ Yokai Monk - https://endaraues.itch.io/yokai-monk



CHAMPION CODER


[Name]

Fabrizio Caruso

[Info]

From: Italy

Format: Various

Previous game: Cross Horde (Various)

Working on: Cross-Lib (Various)



Q. What computers did you grow up with?


I wrote my very first little BASIC program on my cousin's Commodore VIC 20.

I grew up with a Commodore 64, a Commodore 128, and a Commodore Amiga 2000.



Q. When did you start coding homebrew games for old computers?


In the 80s I wrote some BASIC games and programs for the Commodore 64 with little Assembly in some cases.

Much more recently, in 2017, I discovered the existence of C cross-compilers for 8-bit systems.

Out of curiosity, I tried the CC65 dev kit for the MOS 6502 (https://github.com/cc65/cc65) targets.

Not much later I discovered the Z88DK dev kit for the Zilog 80 and Intel 8080 (https://github.com/z88dk).

I was quickly hooked by the fact that I could use modern C to code for multiple vintage systems.

Much later I started using several other dev-kits such as CMOC (http://perso.b2b2c.ca/~sarrazip/dev/cmoc.html) for the 6809 targets and

LCC1802 (https://github.com/bill2009/lcc1802) for the RCA 1802 targets.



Q. What inspired the Cross-Lib engine?


Cross-Lib (https://github.com/Fabrizio-Caruso/CROSS-LIB) was initially inspired by CC65 cross-platform graphics libraries and

even more by Z88DK huge cross-platform libraries.

Some of the most common dev-kits for cross-development for 8-bit systems come with almost ANSI-compliant C (C89) compilers and

a set of libraries that allow you to code graphics in a hardware-agnostic way for most of the targets in each dev kit.

Some dev kits even provide hardware-agnostic APIs for input and sound.


This is not true for all targets on each dev kit and the APIs are different across different dev kits.

So I decided to implement the support for some missing targets to cover *all* targets for which there is a C compiler (currently about 200) and

implement my hardware abstraction layer on top of all these libraries.


Remark: Cross-Lib is a library and a set of tools. It is not a C compiler.

Its sole goal is to enable the game developer to code in a hardware-agnostic way for vintage systems as they would with Unity for modern systems.

So, you write the game code in C with Cross-Lib APIs *only once* and then you use Cross-Lib build tools to build it for 200 different targets.

The build process can use a dozen different compilers and dev kits. Cross-Lib also provides tools to import graphics assets so that the very same assets are

used among all targets.



Q. What have been the easiest and hardest things to implement?


Since the Z88DK dev-kit already provides libraries to abstract the graphics, sound, and input for most Zilog 80 and Intel 8080 targets,

it is easier for me to support targets with the Zilog 80 or Intel 8080 CPU as they are already supported by Z88DK.

So I do not have to reimplement low-level routines for most of these targets.


On the other hand, CC65 and CMOC have much slimmer libraries (stdio.h and little more).

So for targets with the MOS 6502 CPU and Motorola 6809 I have to implement most input/output routines from scratch.



Q. By necessity, the games are character-based, do different machines handle printing/plotting in different ways?


All machines have different sound and graphics capabilities, but Cross-Lib exposes a universal library that provides hardware abstraction, i.e.,

you write your code *only once* with no adaptation for any system and you cross-compile it for 200 targets possibly with up to a dozen different dev-kits.

Cross-Lib will do the magic and "adapt the code" at compile/build time and it produces the very same game. Cross-Lib adapts the game to

different colour palettes, screen sizes, sound capabilities, etc.

This is done for a great part by using an abstraction, i.e., some sort of compile-time "virtual machine" whose graphics are only tile-based.

Remark: Tile-based graphics can display smoothly moving objects even in a pixel-perfect fashion.

In my games, I use pre-shifted tiles to produce smoothly moving software sprites.


Q. What has been your favourite game to develop with the system?


Cross Horde is a zombie shoot ‘em up with lots of power-ups and little secrets, which has been a lot of fun to code and also to play.

Cross Snake is my second-best preferred game. It has a mix of the arcade Nibbler game and the Nokia mobile phone Snake game with many more game elements and 33 different levels.



Q. Have you seen the work of Japanese coder Inufuto, who also compiles for multiple systems?


Yes, of course, I have. Because of the language barrier and the lack of clear documentation, I can only guess what he is doing.

I think his project is similar to Turbo Rascal Syntax Error (https://lemonspawn.com/turbo-rascal-syntax-error-expected-but-begin/),

in that he is building a compiler (or compilers) for very diverse targets, but he is not building an abstraction layer, i.e., I don't think all his

games use the very same code (and assets). I think they share a lot of code, though.

On the other hand, Cross-Lib is not a compiler. It is a library and a set of tools that provide a hardware abstraction layer for 200 different systems.

So, Cross-Lib allows you to code for an abstracted machine and the *very same* code with the *very same* assets are used to build the same game for all systems.

The closest projects to Cross-Lib are the libraries provided by Z88DK (only for Zilog 80 and Intel 80 targets) and 8-bit-Unity (https://8bit-unity.com/), which provides abstracted APIs for 6 systems based on the MOS 6502.

What makes Cross-Lib unique is the sheer number of targets it supports.

This forces Cross-Lib to make compromises to support systems with just ASCII graphics, no colours, and no sounds.

As a consequence Cross-Lib is limited to graphics that look like graphics from early 80s systems to support potentially *any* target.



Q. What else can you add to the system?


Cross-Lib is being extended in several directions:

- Better supported targets (e.g., better support for BBC Micro, Atari 7800, TRS-80 MC-10, etc.)

- Support new targets (e.g., TRS-80 CoCo 3, Fujitsu FM-77, etc.)

- Support more cross-compilers (e.g., LLVM-MOS for the MOS 6502, PCC-tms9995 for the TMS-9900 and TMS-9995 CPUs, etc.)

- Improve build and assets tools (e.g., easier graphics asset manipulation, import, export, etc.)

- Improved APIs (i.e., provide less constrained graphics on capable targets while still preserving an abstracted model)

- Improved native build (Cross-Lib can already be used to build PC games that run natively on a modern PC, but it is currently limited to the ASCII terminal).



Q. Do you have plans for any new Cross-Lib titles, or is anyone else working with the system?


Yes, I do have plans for more titles. Maybe too many. My next Cross-Lib games will probably be mini-games.

I have already written a Space Invader interactive demo and I am working on a demo version of the Google T-Rex offline game.

By demo versions, I mean that I can display the graphics and not a completed game.


I am aware of at least one person experimenting with it, but I cannot provide any details.



DATABURST REVIEWS


Black Dawn Technomage


Format: Amiga (AGA machines only)

Credits: Z-Soft (Shaun Watters, Tim Gilbert, Mike Richmond)

Price: £42.50 (limited edition box - sold out), £9.99 (digital download)


OVERALL: 85%



Spaceman Kerl


Format: Amstrad CPC

Credits: Fitosoft

Price: Name your own price (digital download)


OVERALL: 81%



Nosy


Format: 128K Spectrum (+2A or +3 recommended)

Credits: Javier Fopiani

Price: €2 or more (digital download)


OVERALL: 74%



PROCESSING


Hyperdrive (Amstrad CPC) by Juan J, Martinez:


The game is progressing nicely. I have around 70% done, so there should

be only another 70% left (at least!).


It will have 5 stages, with different enemies, music and final bosses,

and the game will be available as cartridge (CPC+ and Dandanator) for

any Amstrad CPC model, the GX4000 and most used emulators.


Juan J. Martinez




Space Zot (Atari ST) by Eric Damain:


The game is developed in GFA Basic on an ATARI Mega STE, I use an emulator to make screenshots and videos. I chose to work on Atari because it's the machine I had at the end of the 80s. What good memories!

We are 3 people working on it: Grandpa CPC who takes care of all the graphics and who grumbles when I add new stuff. DMA-SC (Mathieu) who writes the music, he worked on many Atari homebrew games. And me, Shaoth (Eric) who codes and manages the sound effects.

We are French and we live in the Paris area.


We have a friend, DrFloyd, who also writes a game on Atari ST in GFA, Cosmos Chronicles, it's a tribute to ULTIMA (the first ones) in an SF atmosphere with many planets to explore. In his game, there is a mini-game in the form of an arcade terminal and the game is ... SpaceZot !!!


And we decided to make a stand-alone version.

That's why we gave SpaceZot an arcade look.

I put you a link if you want info about Cosmos :


With PAPY CPC and DMA-SC, we are working on another project, CATACOMBS, a rogue like for ATARI STE. It's a bigger project that takes us more time.

SpaceZot was started during a slow period of Catacombs.

SpaceZot was very well received during presentations at different conventions. So we decided to go ahead and make it into something very clean.

The number of asteroids and their speeds increase as you progress through the levels. But after the Saberman video, we realized that people were finding the game repetitive. So we're going to make it better.

In the attached version, the asteroid trajectories are no longer completely vertical from level 3 on. And I'm coding an intermediate level that we'll have every 2 or 3 levels. Grandpa CPC is complaining because the graphics I made for the tests are horrible... He's not wrong, but he'll have to do it all over again before we can present it. And I'm also coding an animated intro scene to these new levels, I'll have to listen to him criticize my unstructured graphics!

DMA-SC wrote 2 musics for the game, the first one for the main gameplay and the second one for the player's name entry in case of a very good score. By the way, the scores are saved on the diskette.

A new music is planned for the new levels.


That's all I can think of for SpaceZot. If you have any questions, don't hesitate to ask me.


You can find information about Catacombs here:


and some videos here :


In particular:

or


One last thing, Electric Dreams, the name of the development studio. When I started coding homebrew, 3-4 years ago, I was looking for a studio name that sounded like the 80's and that corresponded to my initials ED, for Eric DAMAIN. Electric Dreams came to me quickly, I loved the movie, and there was already a studio with this name at the time!


Eric.




52 views0 comments

Recent Posts

See All

Comments


bottom of page