Programming

It was around early 2014 when I decided to dust off my Sharp MZ-80A again and properly explore what might be achievable with it. For a long time I’d wondered whether you could even test for the Vertical Blank (a vital test to carry out if you are attempting to create graphics sync’d with the display). After finding some good reading material on the MZ I discovered there was, indeed, an easy test to wait for the Vertical Blank. After this the possibilities really opened up for what you can do on the 80A.

The only real issue with attempting ‘hi-res’ graphics or scrolling etc is that the timing of the display can be tricky to program for. Some 8-bit machines have interrupts already set up which are regulated by either the vertical blank or by a particular scanline being reached. The MZ-80A has none of this. We can test for the VBlank but that’s about it, we are then left to our own devices. This means you have to really experiment to get the right timings for your graphics displays (for instance the number of NOPs you need to burn before creating your graphics effect) because the VBlank / VSync itself can occur any time during your instructions which are waiting for it. Luckily, it is actually possible to achieve stable graphics effects despite all these issues. Please see below for some links to some examples.

DownloadsElementary Tricks & TipsInterruptsSoundMemory Map

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s