Page 1 of 1

Mz80-A no cursor

Posted: Sat Sep 05, 2020 8:38 pm
by gibant1
Hi, I have just purchased an Mz80-A, When I turn it on it shows ** MONITOR SA-1510 **

Unfortunately, there's no cursor and no keys register onscreen. Any help you could give would be appreciated. Thank you.

Re: Mz80-A no cursor

Posted: Sun Sep 06, 2020 9:31 am
by mz-80a
Has the machine been modified at all?

Re: Mz80-A no cursor

Posted: Sun Sep 06, 2020 10:54 am
by gibant1
It looks stock to me comparing it to images off the internet.

Re: Mz80-A no cursor

Posted: Sun Sep 06, 2020 5:07 pm
by psmart
No cursor normally means the initialisation hasn't completed, either because it made a jump to User ROM, Floppy ROM or the DRAM is corrupt.

Check to see if there is a User ROM installed (ROM or RAM), remove it if so. If there is a Floppy interface connected then unplug that (this is normally only available if you have the I/O expansion box installed at the back). If the monitor ROM startup detects a ROM at 0xE800 or 0xF000 then it will make the jump, if no ROM is installed in these locations it could be possible that a buffer (74LS245) is going faulty but I doubt you would get the startup banner if that was the case.

If no ROMS are installed then try unseating all the DRAM and plugging it back in (all of it is socketed). They are static sensitive so need to watch out your not wearing a woolly jumper. Do this for all the other socketed chips, ie. IC31/20 Gate Arrays, Monitor ROM etc just in case of bad contacts.
The 8255 PPI chip is responsible for scanning the keyboard and for detecting the cursor flash timer interval so this could be another potential candidate to unseat and reseat. It could also go faulty!

It is possible for the Monitor ROM to have 'aged' thus losing parts of the monitor program, I tried to use my CGROM Eprom a few days ago and some bytes have gone the way of the dodo.

The service manual is located here: https://original.sharpmz.org/mz-80a/download/80asm.pdf - so may be worth a read if the above doesn't help.

Re: Mz80-A no cursor

Posted: Sun Sep 06, 2020 8:22 pm
by gibant1
Thank you for your help, I will try this week and update you on my findings. Much appreciated.

Re: Mz80-A no cursor

Posted: Thu Sep 10, 2020 9:20 am
by S_U_C
I had a similar fault on a MZ80K.
I was the flash timer is not working.
The K used a 555 timer and the MZ80A uses a 556 (IC51)+ caps C39,C40

On the A the start up order is
the setup
clear screen print
** MONITOR SA-1510 **
test for he USER ROM/RAM at $E800 (IC43 next to the Monitor ROM)
print Newline
print *
get input

It is stuck in an endless loop getkey/ test flash timer.
This may be the 556 timer IC51 or the 8255 IC50 not working so not seeing the 556.

Re: Mz80-A no cursor

Posted: Thu Sep 10, 2020 9:25 am
by hlide
So if there is no prompt "*" on the next line of "** MONITOR SA-1510 **", the issue won't be the 556/8255. Correct?

Re: Mz80-A no cursor

Posted: Thu Oct 08, 2020 7:53 pm
by psmart
Just catching up, my hypothesis earlier seems more relevant if it is not the 556 timer, ie. it is believing there is a rom at $E800 or $F000 and making a jump to this location. If there is no ROM in the User ROM socket or an FDC card installed then without a scope it will be difficult to locate, it could be a device is becoming active when it shouldnt, but as the User ROM shares the same 245 bidir databus driver the machine wouldnt start up if this was faulty. If an address line is sticking then it could point to a 244 driver (I had to replace one on my m/board), but to be honest, without more information, it is only guess work as to the fault.

Did you manage to unseat and reseat all the socketed IC's?

Re: Mz80-A no cursor

Posted: Sat Oct 24, 2020 11:35 am
by psmart
Found the reason today by accident, basically replace your 8253 Timer IC (IC 47).

I was transferring developments from my MZ700 board to my MZ80A board and inadvertently blocked $E000 - $E7FF which manifested the same problem you have, ie. no cursor, just the monitor signon text. I then decided to narrow down the window and blocked $E004-$E007 keeping all other addresses accessible, (ie. $E000-$E003, $E008 - $E7FF) and the same issue, ie no cursor. I double confirmed by removing the 8253 from the motherboard.

If you don't have an 8253, message me and I will send you one which I will test before sending (have a few in my parts bin from many years ago which should still work but will test first).

Edit: Looking in the code, the Z80 in the ?TMST routine loads the timers and then checks the value loaded, waiting in a never ending loop until the value is correct, ie:
LD HL,CONTF
LD (HL),074H
LD (HL),0B0H
DEC HL
LD (HL),E
LD (HL),D

DEC HL
LD (HL),00AH
LD (HL),000H
INC HL
INC HL
LD (HL),080H
DEC HL
L0323: LD C,(HL)
LD A,(HL)
CP D
JR NZ,L0323


If the 8253 isnt present or it is broken then the value in DE which is loaded into Counter 2 will never be read back out so the compare never matches.