Hardware and Firmware Errors and Bugs

About original Memotech hardware.
Martin A
Posts: 802
Joined: 09 Nov 2013 21:03

Re: Hardware and Firmware Errors and Bugs

Post by Martin A »

I've been playing with an automated dis-assembly of the MTX Roms, and comparing that to the rom listings from Andy's site, and I think I've found a bug!

At 018fd in the listing, where RST 10 is being used prep VS 7 before the system prints error messages, is the following code.

Code: Select all

SYNT11:  PUSH AF
SYNTAX:  RST SCRRST
         DB 6fH,13,10
SYNT1:   LD HL,ERR0    
         POP AF

The RST 10 byte string decodes as:
6FH – select VS 7, with CLS and continue
13 - ASCII code for carriage return
10 - ASCII code for line feed

But there’s no continuation bit on the Carriage return, so RST10 processing would stop.
If it does, then the 10 byte gets processed, and is the instruction LD A,(BC),

With the code as it is doesn’t affect anything
a) VS 7 is only 1 line, and it’s been cleared so the LF isn’t needed
b) A gets restored 2 lines later,

What's interesting is, the dis-assembler didn’t find any references to the addresses for “SYNTAX” or “SYNT1” when it was building the list of branches and jumps.

So I’m wondering if the push/pop AF isn’t needed either, and was just added to “fix” the corrupted A register.

Comments, speculation and raspberries tot he usual address.....
User avatar
Crazyboss
Site Admin
Posts: 274
Joined: 09 Aug 2012 21:45
Location: Sweden
Contact:

Re: Hardware and Firmware Errors and Bugs

Post by Crazyboss »

dont know if its real erros, also mentioned at Facebook MTX Group.

For loops with negative steps dont do as they do on eg. MSX BASIC.

Dave Stevenson said: See page 83 of the Phoenix MTX Operator's manual - this behaviour, with negative step increments, is documented there



If you use assembler routines (using the build in assembler) you need to go into the assembler again to align the code, if you changed someting.

Dave Stevenson mention something about that can be found here: Phoenix Operator's Manual page 183

Paul Daniels said if you are adding basic before an ASSEM line, you will need to reenter the ASSEM line and come out again so that it gets assembled at the new address.
//CLAUS - Webmaster at www.mtxworld.dk
Post Reply