Néstor Sancho (theNestruo)

Great stories start with di/im 1/ld sp, $f380 #msx #assembly #z80


2024

Physical cartridges available now at MSX Cartridge Shop !

Digital editions available now at thenestruo.itch.io/trucho

Have fun!!

2023

Font ligatures!? Where we're going we don't need font ligatures!!

The Z80 Assembly meter extension for Visual Studio Code reaches version 4.0.0 with huge performance improvements and supporting: NEC PC-8000 series, Sjasm and SjASMPlus repeat count, SjASMPlus register list instructions and repetitions, and advanced timing algorithms.

Get it here: Z80 Assembly meter

Browse the source code at github.com/theNestruo/z80-asm-meter-vscode

Happy coding!!

A mini-game for four players in one MSX.

Coded in two evenings for the RUN'23 (“ReuniĆ³n de Usuarios de MSX del Norte”) held in Hoznayo (Cantabria, Spain) on April 15th, 2023.

Get the cartridge image here: run23.zip

Browse the source code at github.com/theNestruo/msx-msxlib/tree/master/games/minigames/run23

Find some friends and have fun!!

“Ok, here's all 1008 32x32 female portrait studies done in the MSX palette.
2 years, 3 months and one day later, it's done.”

 Justin Cyr – Feb 8, 2017

Justin Cyr used the MSX palette to create 1008 32x32 female portraits. The palette and the resolution made them a very good fit for the multicolor graphic mode of the MSX (also known as SCREEN 3), so I coded a slideshow to learn about MegaROMS and the multicolor graphic mode.

Get the cartridge image here: Justin Cyr's 1008 32x32 female portraits slideshow.zip

Browse the source code at github.com/theNestruo/msx-justincyr-female-portraits

Enjoy!!

(Not so) recently, I acquired a Sony HB-11 MSX, also known as HitBit U. The firmware of this computer was previously undumped, so I dumped it

Beside the well-known features of Kanji-ROM, Japanese Word Processor, and English-Japanese dictionary —they are written on top of the computer—, the firmware contains a quite unique feature: the ability to change the system font with the extra BASIC instruction CALL FONT(n).

Inspecting other firmwares, I found that Sony HB-F900 also had a similar feature with three additional fonts.

As the HB-11 firmware easter egg is similar to the one present in the Sony HB-F1/HB-F1II firmwares, I analyzed them too. I found two additional fonts (one used for the easter egg, the other one used sparingly in the firmware), but no CALL FONT instruction.
However, those fonts can still be used as system fonts using the system variable CGPNT (0xF91F, 3 bytes):

Now, let's take a look at all these fonts in one single image:


Regarding the kanji/kana part of the character set, it is curious that, despite the HB-11 has the greater number of alternative fonts (six fonts), all of them use the same kanji/kana set: a less geometric and more scripted version of the default system font. This kanji/kana set is also used for two of the alternative fonts of the HB-F900, but it is not used in any of the HB-F1/HB-F1II alternative fonts.

The HB-F1/HB-F1II alternative fonts have two alternate kanji/kana sets: one features slightly larger katakanas, and the other one uses a bold variant of those larger katakanas. The rest of the characters of the kanji/kana set are different in every alternative font.

The HB-F900 also have a bold kanji/kana set, but it is not the same as the bold set from the HB-F1/HB-F1II: in this alternative font, the entire kanji/kana set is bold, and seems to be based on the default system font (unlike the HB-F1/HB-F1II version, that was based on the larger katakana set).


Regarding the western characters, the only alternative set that is actually shared between computers is the LCD-like font. This font appears in both the HB-11 and the HB-F900. There is a serif alternative font in every firmware, but it is not exactly the same:

The HB-F900 looks the first iteration of the serif font, as some symbols are directly taken from the default system font, and the lowercase letters seems to be designed using the default system font as a base. The HB-11 and the HB-F1/HB-F1II variants of the serif font are more elaborated; more symbols and lowercase letters are redesigned. Both are very similar to each other, but the HB-F1/HB-F1II version seems to be the most evolved, based on some details in the uppercase and lowercase C letters and the circumflex character.


Unfortunately, using these fonts as the system font is only useful for MSX-BASIC programs.

Early software that use the system font, such as Mr. Chin (HAL Laboratory, 1984) or Youkai Yashiki (CASIO, 1986), is not reading the system variable CGPNT but CGTABL (0x0004, 2 bytes), that always points to the BIOS default system font.

Fortunately, it is possible nowadays to patch a BIOS ROM, inject one of these fonts, and create a fake custom BIOS. Using this BIOS (most likely, using emulators), we can experience how would those early titles look with the cool looking LCD-like or Broadway-styled fonts instead the boring default system font:

We can also imagine that different manufacturers could have used stylized system fonts to give their computers a distinctive look and more personality:

Have fun!!

2022

One year (and a half) ago, the graphical patch for Youkai Yashiki (CASIO, 1986) was released, also known as Ghost House.
A friendly reminder of the superb graphics  yazioh did:

Today, I have finally cleaned up the source code of the patches and uploaded it to GitHub.

Get the patch here: Youkai Yashiki - Graphics patch v1.1 (Yazioh & Nestruo, 2021-07-12).zip

Browse the source code at github.com/theNestruo/msx-youkaiyashiki-patch

Happy patching!!

Recursive Mono Duotone Custom (Rec Mono DtCustom) is a custom build of Recursive Sans & Mono.

Rec Mono Duotone
A personal favorite — this use the Linear style for Regular text and Casual styles for Bold, Italic, & Bold Italic text. In many themes that use italic styles, this will give most code a utilitarian look, but set comments, some keywords, and certain headlines in the more-handwritten Casual style.

This custom build is based on Rec Mono Duotone configuration, with some OpenType Features tweaks:

Get it here: RecMonoDtCustom-1.085.zip

Happy coding!!

Happy birthday, Stevedore!

Two years ago, Stevedore for MSX was released.
To celebrate the second anniversary, you can now download the original soundtrack converted to MP3 for your convenience!

You can now play (and download) for free at thenestruo.itch.io/stevedore

Physical cartridges can be acquired at MSX Cartridge Shop

And you can browse the source code at github.com/theNestruo/msx-stevedore

Have fun!!

Stevedore password system was cracked by MSX user Briqunullus on Jan 16, 2021, and then I shared the password generator I used during the development process as a GitHub Gist .

Today, I was talking with MSX AREA editor  Juanmi Ortuño about Stevedore, then I remembered the password generator was not available online.

So here it is:


Chapters unlocked

Stars found

Secret stage

Password


Have fun!!

The Z80 Assembly meter extension for Visual Studio Code reaches version 3.0.0 and gains support for user-defined macros.

Update Aug 17, 2023

Major version 4.0.0 released

2021

The Z80 Assembly meter extension for Visual Studio Code reaches version 2.0.0 and gains support for Pasmo, SDCC, and SjASMPlus assembler syntax.

Update Aug 17, 2023

Major version 4.0.0 released

Update Feb 19, 2022

Major version 3.0.0 released

Happy birthday, Stevedore!

One year ago, Stevedore for MSX was released.
To celebrate the first anniversary, you can now play (and download) for free at thenestruo.itch.io/stevedore

Physical cartridges can be acquired at MSX Cartridge Shop

And you can browse the source code at github.com/theNestruo/msx-stevedore

Have fun!!

Update Oct 18, 2022

You can now download the original soundtrack

Update Nov 14

Due a bug in BlueMSX 2.8.x emulator, players were getting a forced game over after loading a save state.
If you replace you .exe with BlueMSX 2.9.0, save states will work as intended.
Get the Blue MSX 2.9.0 compiled executable here: github.com/ducasp/blueMSX

PNG2MSX and PNG2SPR[+] are free command line tools to convert PNG images to TMS9918 (MSX-1 VDP) format (i.e. CHRTBL/CLRTBL/NAMTBL-ready values, and SPRTBL/SPATBL-ready values).

TMX2BIN is a free command line tool to convert Tiled maps to binary.

The new version 3.0 uses PNG (Portable Network Graphics) files as inputs, instead of the obsolete PCX (PiCture eXchange).

Get them and browse the source code at github.com/theNestruo/pcxtools

Happy coding!!

One month ago, these superb graphics by  yazioh were just a mock-up of Youkai Yashiki (CASIO, 1986), also known as Ghost House, for MSX.

Today, you can play with those graphics!

The graphical patch for the game is offered in two flavours:

Additionally, a minipatch is provided for those who want to play with enhancements but using the original graphics.

Get it here: Youkai Yashiki - Graphics patch v1.1 (Yazioh & Nestruo, 2021-07-12).zip

Enjoy!!

Can you spot the differences between the original MSX Pyramid Warp (T&E soft, 1983) and the Enhanced+ version?


With music by  bitcaffe and graphics by  nenefranz

Get it here: PyramidWarp.enhancedplus.rom

Browse the source code, including an annotated disassembly of the original Pyramid Warp (T&E soft, 1983), at github.com/theNestruo/msx-pyramidwarpex

Enjoy!!

Simple dark themes, based on the default Dark (Visual Studio) theme but with less syntax highlight.

Get them here: Dark-

Browse the source code at github.com/theNestruo/dark-minus-theme-vscode

Happy coding!!

2020

Available now at MSX Cartridge Shop !

Update Oct 18, 2022

You can now download the original soundtrack

Update Oct 18, 2021

You can now play (and download) for free

The Z80 Assembly meter extension for Visual Studio Code reaches version 1.0.0 and gains support for Z80N (ZX Spectrum Next Extended Z80 instruction set).

Update Nov 18, 2021

Major version 2.0.0 released

Update Feb 19, 2022

Major version 3.0.0 released

Update Aug 17, 2023

Major version 4.0.0 released

2019

The Z80 Assembly meter extension for Visual Studio Code meters clock cycles and bytecode size from Z80 assembly source code.

Update Mar 8, 2020

Major version 1.0.0 released

Update Nov 18, 2021

Major version 2.0.0 released

Update Feb 19, 2022

Major version 3.0.0 released

2012

Congratulations, Pérez the Mouse!

Pérez the Mouse won first place in the MSX-BASIC Contest 2011!

Let's celebrate by revealing a little secret... Did you know there is an hidden jukebox in the cassette?

Get it here: Perez the Mouse v1.1 (theNestruo & Wonder, 2011-12-09).zip

Have fun!!

2011

Pérez the Mouse presented to MSXBlog's MSX-BASIC Contest 2011!


With music by Wonder

Get it here: Perez the Mouse v1.1 (theNestruo & Wonder, 2011-12-09).zip

Enjoy!!

Update Dec 13

Contest entry updated! More graphics, more difficulty levels, more musics, and faster gameplay!

Update Feb 5, 2012

Pérez the Mouse won first place in the MSX-BASIC Contest 2011!