MSX Assembly Page

Older Updates

2015-07-14
Added MSX datasheet chapters translated by FRS, Takamichi and sandervn.

2015-03-05
Added detailed R800 timing information to the Z80 instruction set overview.

2015-01-20
Fast loops: Faster “mystery calculus”, thanks to Urusergi.

2014-12-07
Added Sunrise MP3 Player documentation courtesy Dennis Koller and Sander van Nunen.

2014-11-20
Fast loops: Corrected timing calculations, replaced outdated example, disable interrupts in FastLDIR, and copy editing.

2014-08-16
Added V9938 VRAM timings, part II by team openMSX.

2014-07-26
Added V9938 VRAM timings article by the openMSX team. Highly detailed insights in the inner workings of the VDP.

2014-07-18
Added MSX-AUDIO music keyboard documentation.

2014-07-04
Added Yamaha YM2148 documentation. This is the Yamaha FM Sound Synthesizer Unit’s MIDI interface.

2014-05-29
Added Sony HBI-55 / Yamaha UDC-01 4kB SRAM data cartridge documentation.

2014-05-22
Added VDP version detection source code.

2014-05-20
Translated MSX-DOS 1 disk error handling article by Ramon van der Winkel.

2014-05-14
Translated Interrupts article by Ramon van der Winkel.

2014-05-10
Added OPM and SN76489 resources.

2014-04-03
Added links to Nestor Soriano (Konamiman)’s great MSX2 Technical Handbook transscription, and some clean-up.

2014-02-08
Added link to Eugeny Brychkov’s excellent V9938 application manual transscription.

2013-01-13
Added an English translation of the MSX Datapack Vol. 3’s MSX-MIDI documentation.

2010-07-19
Key matrices: Added more information on models with Yes/No keys and Pioneer PX-7 keys, thanks Manuel Bilderbeek and Sean Young.

2009-08-23
Added “A guide to scrolling game engines on MSX” article. Also made the 16-bit division routine 120 T-states faster, thanks to Juha N.

2009-03-27
Added Zemina memory extensions to the I/O ports overview and added link to Cronos’s manual scan / translation, thanks to Manuel Bilderbeek. Also added a division by 9 routine, thanks to Ricardo Bittencourt.

2009-03-09
The MSX Assembly Page’s address has changed to http://map.grauw.nl/. Source is now accessible in a public repository, and introducing a Contributing section.

2007-06-29
Moved JoyNet documentation to the MAP, and cleaned up, updated and merged text. Updated Funet links, added MSX mailinglist archive links.

2006-12-07
Added Tanni’s ‘A taste of VHDL’ tutorial.

2005-10-05
VDP programming guide: Update r#18 Q: it only happens with sprites disabled.

2005-08-28
Multiplications, divisions and shifts: The MCCW article Multiplication on a Z80 describes a very fast multiplication method.

2005-08-11
Fast loops: Optimized FastLDIR routine even more, yet another 5 ticks faster! (thanks Arnold Metselaar).

2005-06-01
Added information to the PSG samples article about its logarithmic volume scale, and how to play 8-bit samples on the PSG. Thanks go to Arturo Ragozini for pointing this out.

2005-05-12
Fixed cut-off values in some timings in the Z80 instruction set overview, and added undocumented and R800 instructions and timings. Also optimized the Div16 routine, it is only a humble 7 T-states faster than it was before, but can now be unrolled to be up to 234 T-states faster! It is also 15 bytes smaller. Thanks go to Flyguille.

2005-05-01
Multiplications, divisions and shifts: Optimized the Mult32 routine, it is now 96 T-states faster and three bytes smaller. Thanks to Colin Douglas Howell.

2005-04-25
Multiplications, divisions and shifts: Changed ld hl,0 to ld l,0 in Mult12, and removed it altogether in the Mult16 routine. Thanks to Sjoerd Mastijn for the tip :).

2005-03-18
Added information about memory mapper, PPI and subslot select register to I/O ports overview.

2005-02-10
Added stub article with MSX Basic tips & tricks.

2005-01-03
Added code of method to call SUBROM from MSX-DOS. Additionally, added some slot-management related addresses to the System Variables overview.

2004-10-15
Added info about the #6F register for the Gfx9000’s v7040 chip.

2004-09-12
Added Z80 instruction set reference. Also, linked to Funet source code repositories, and linkified DOS2 reference table of contents.

2004-07-25
Fixed Mult32 routine, thanks to Nyyrikki for pointing me to a bit that didn’t make sense.

2004-06-23
Added log functions with more detailed UA stats.

2004-05-31
Key matrices: Updated Spanish / Argentinian keyboard layout and added a keyboard version no. 6 (again thanks to Flyguille).

2004-05-26
Updated key matrices article with information about the keyboard layout bit in PSG I/O port A, and updated the I/O ports overview with PSG ports.

2004-05-25
Hosting all resources ourselves now, amongst others because unfortunately many of the documentation files on funet are broken. Also updated key matrices article, adding the Spanish / Argentinian keyboard layout (thanks to Flyguille) and added more detailed information for the Japanese keyboards (JIS vs. ANSI).

2004-05-24
Added a stub article about the T9769B.

2004-04-21
Added MARMSX's 19268 colors on MSX 2+ article to external articles.

2004-04-09
Redesigned site structure somewhat. If you linked or bookmarked one of the section indices, please update your links. Also added a style changer.

2004-03-03
On capable browsers (Firefox), the MAP is now using true XHTML.

2004-02-17
Added Panasonic FS-A1FM's Modem ROM info in I/O ports overview. Also added link to MARMSX tools.

2004-02-09
Got rid of the ?p= style linking. This should improve the indexing of the MAP by search engines such as Google.

2004-02-06
In the Multiplications and divisions article, replaced the square root routine with a new (faster) one, thanks to Ricardo Bittencourt. Also added a link to the MSX Banzai Gfx9000 programmer's manual and Development FAQ in the external articles section. Finally, added the Z80 Bits article kindly provided by Petr Petyovsky from the Sinclair scene, also in the external articles section.

2004-02-01
Updated the Multiplications and divisions article with the following: fixed bugs in Div16 and renamed it to Div15 because the divider could only be 15 bits max; there is a new Div16 available offering support for all 16 bits. Also changed Mult12 unrolled version's routine name to Mult12U, and optimized the ld l,0 here aswell. Furthermore, added a square root Sqr16 routine by Arjan Bakker (based on the one published in MCCM). And finally, re-calculated all timing figures to include M1 wait states

2004-01-22
Fast loops: Optimized DoLDIR routine more, 5 ticks faster now, and corrected a small error (thanks GuyveR800).

2004-01-19
Applied gamma correction to the screen 8 palette from yesterday’s update, to make it sRGB, and updated the article again. Thanks to Maarten ter Huurne.

2004-01-18
Replaced the screen 8 palette file with one with the ‘proper’ colours for Blue. Also wrote a little explanation why in the VDP programming guide. Updated the downloads section as well with some new tools.

2003-10-04
Added the Japanese keyboard layout. Thanks to Manuel Bilderbeek.

2003-09-06
Split programming guide: Changed the BITs in the polls to ANDs, added a macro to the blank line screensplit example. Still didn’t fix the statements about HR.

2003-08-27
Updated the keyboard matrices article, and added the Russian keyboard layout. For that, many thanks to Stanislav Borutsky.

2003-08-05
Added an ‘external articles’ section and put up a couple of links to amongst others interesting articles on MCCW.

2003-07-15
Wrote a resource about I/O ports on MSX. Updated the resources section with a fair number of new documentation and added mirrors. Linked to a couple more sites in the links section. Also made the tables look a little prettier.

2003-04-24
Updated the fast loops article (wrote a faster DoLDIR routine, corrected speed calculations, uses JP PE for -0-check now), added notice to the screensplit programming guide.

2003-04-23
Official release of the MSX Assembly Page. Also removed the inactive forum section and replaced it with a new links section.

2003-04-05
Did some work on the downloads section, introduced ‘MAP bullets’ (MAP) to indicate MAP-authored documents.

2003-02-18
Added article about playing samples on the PSG.

2003-02-03
Added MSX-DOS2 documentation. Updated VDP commands speed test article.

2003-01-22
Updated the VDP commands speed tests article, added downloads section.

2003-01-14
Finished the screen split programming guide and the VDP programming tutorial. Also put up BiFi's profile and made a couple of minor corrections.

2002-12-30
New: a VDP programming tutorial, a keymatrices article, a switch RAM in page 1 source, links to hardware application manuals (OPL4 & v9990), and a list of planned articles. Also rewrote the disclaimer and did some work on the layout.

2002-11-30
Updated multiplications & divisions article.