Topic: Microbee computer

Hi all,

The Microbee computer is another 1980's z80 computer (Australian designed & built). Probably unheard of outside of Australia - they were built in their thousands and I would go so far as suggesting that nearly every Primary & High School throughout the country had one or a dozen.   https://en.wikipedia.org/wiki/MicroBee

Being bored and doing a little dabbling, the speaker hangs off bit 6 on Port 2 of it PIO chip via a single transistor.
I've made the very simple changes to a number of various engines, and have managed to get a few beep bop dreadful sounds coming out an emulator. I think that the emu that I'm using just isn't emulating sound correctly. Acknowledging that the earlier Microbee's were only 2 Mhz, the later 32mb keyboards were running at 3 point something Mhz.

I have found four Microbee emulators:
- MESS/MAME : can't for the life of me work out how to load in object code & execute. Needs more experimenting.
- Nanowasp (local install as well as an online version; neither supports sound at all)
- Ubee512 : can not get it to load the ROMs correctly.
- PiccoMozzy Mbee32k. This works great, but I feel as though it does not emulate sound output correctly.

I have two Microbee computers sitting on the ground underneath my parents house. Will have to dig them out, see if either works, and then attempt a WAV file load-in of the players. I feel as though if I were to give someone with a working Microbee system these assembled players, they'd just work and sound like they had intended to.
Anyway, I'll post up a reply If I ever get anywhere with this little side project.

Re: Microbee computer

I've heard about this machine before! Fat chance I'll ever see one here in good ol Europe though yikes

ArcadeDB claims that sound emulation in MAME is "good", at least for the base 16k machine (though I've found that to not always be true for other machines), so it might well worth to give it a try. I've dabbled with MAME quite a bit, so If you were to upload a .tap or .dat or whatever the go-to emulator format is, I could try to work out how to load it.

Re: Microbee computer

Days later: Haven't gotten very far with anything at all unfortunately.
Contacted the fellow that wrote nanowasp emulator. His reply :


>In terms of tape formats and sound - I don’t think I ever got around to supporting sound output in
>any of the emulators I wrote. A long time ago someone did fork one though and created uBee512,
>which is much fuller-featured than mine. Perhaps this is the one you’ve found?
>
>I’d guess that it probably just requires a file with the raw bytes that would appear on the tape.
>If you take a look at the code here you’ll see the what the format looks like:
>https://github.com/dgchurchill/nanowaspjs/blob/master/src/virtualtape.ts#L140-L196
>
>Roughly it’s a header, followed by a simple checksum, followed by 256-byte blocks which each have
>a checksum. (see
>https://github.com/dgchurchill/nanowaspjs/blob/90ecdb01f897bac4830ad5902105956a8e5e3e05/src/utils.ts#L276
>for how the checksum is calculated)
>
>I believe you should still be able to find Stewart Kay (author of uBee512 emulator) at
>https://microbee-mspp.org.au/forum under the username uBee. There’s lots of good info there too
>about his emulator, and there may be tools for creating the tape header.

...I'm on to it.

Re: Microbee computer

Five different emulators and I couldn't get anything to work. I thought I was doing something wrong or going bonkers.
A lot of mucking around and finally worked out how to load the assembled object code into MESS correctly.
The other emu's either don't emulate the speaker correctly (or at all).
Using an old version of MESS from 2009, and the 1-bit tunes sound great.

Three examples :

Lets Go                 https://www.youtube.com/watch?v=Jil6W1oLxzo   
Standing Wave     https://www.youtube.com/watch?v=JU2Qv_bwOPg   
Catching Up          https://www.youtube.com/watch?v=wF3dtUdJbnc

Re: Microbee computer

Yay, sounds great indeed! Almost cleaner than on Spectrum. I wonder if it's like this on actual hardware.
What's the process for loading stuff up in MESS?

Re: Microbee computer

https://github.com/bushy555/microbee_1-bit_music
Have about 40 songs there now in a few various engines.

I have assembled all of these as CP/M .COM files for the Microbee. Might not be the most correct file for everyone.

Not sure if it is the same as MAME as it is for MESS, however, find up an old copy of MESS. (Im using one from 2009)
Find and download/install the appropriate Microbee ROMs . Fire up MESS.
Then , essentially, it is like loading in a snapshot file.
Devices --> Quickload --> mount --> *.com      (and the file autoloads, executes and tunes play)

Re: Microbee computer

Doing the simple changes within the Pytha engine (grabbed from Bintracker) to the Microbee, this happened.
I call it RAGE.

https://www.youtube.com/watch?v=obzLe3lnWLs

Re: Microbee computer

Hahaha nice, I love it!

Re: Microbee computer

Question out to anyone that may be half bored and can easily answer :

I'm trying to get "trantor" music player working on the Microbee. Trantor uses IM2 interrupt mode which the Microbee does not support.
I have spent ages (many afternoons) fiddling trying to remove the IM2 initialisation routine and the interrupt playing snippet of code within, and just essentially turning it into a standard player. I am happy to loudly proclaim that I don't have much knowledge here - and trying to remove IM2 code certainly is not my specialty.

Trantor source here : https://pastebin.com/XSAwL14g

I've also looked at this from the VZ's angle, pretending that this was using VZ interrupt locations and removing required VZ interrupt code - but this is still a no go. (everything so far has just crashed for me)

Anyone interested in having a quick go at it?

10

Re: Microbee computer

Hmm, that's going to be a bit tricky. Unfortunately the disassembly is barely commented so it's kinda hard to tell what the code does by just quickly looking at it. Basically what you'd need to do is this: Find out which part makes up the main sound loop (I'm guessing lines 90-204). Count the cycles for this code. Calculate how many times you need to loop to get a 50 Hz rate. Set up a loop counter based on that. Afaict the AF' register is unused, so you could use A' to count, ie. before line 90 you set up A' with the correct value. Then just before line 204 you decrement A and then do a JP NZ instead of the JP. The fall-through (Z condition) should then jump to the former interrupt code.

Re: Microbee computer

Thanks heaps Utz.  A great starting point for me  (I had nothing other than simply just fiddling away randomly)

Re: Microbee computer

Shiru's Earshaver 11-track album now runs on the Microbee.  I'm hoping that I've done the original music some justice.

A bit of noise still there during transitions - perhaps something else specific to the bus in the Microbee(?). Timing seems to be spot on since there isn't any changes required other than the Microbee only needing $16 & $18 within the source to be changed to $40 to drive the speaker that sits on bit 6 on port $02.

All tracks assembled to $100 (standard CP/M .COM file), which, will autostart/autoplay. As mentioned above in a previous post. Out of about six emulators, I have found that MESS with the Microbee ROM selected to be the nicest & accurate Microbee emulator so far.


All credits to Shiru. Album for Microbee is here : https://github.com/bushy555/microbee_1-bit_music