Page 5 of 6


Posted: 12 May 2019 21:21
by Martin A
stephen_usher wrote: 12 May 2019 20:13
Dave wrote: 12 May 2019 16:10 But it works fine when the RS232 board is not fitted?
OK, I have found one issue. The machine's stable when in BASIC and running games.

The machine boots into the CFX menu fine and as long as you enter BASIC within about 10 seconds everything is fine. If I leave it any longer then the machine will reboot into the CFX menu or (very rarely) drop into the PANEL. This is consistent. It's almost as if the RAM refresh isn't happening. Wierd.
No luck duplicating that here, I've got the other MTX hooked up to CFX, it's been sitting on the menu for the last 5 mins no problems. If didn't do anything odd with shorter pauses and a manual resets between.

The CFX menu just sits in a tight loop reading the keyboard hardware directly. Since that's in ROM, ram refresh issues shouldn't affect that code.

However, interrupts are still enabled, so it could still be the ram, as the CTC vectors interrupts through memory in the FFF0 to FFFF area.


Posted: 12 May 2019 21:41
by stephen_usher
I can swap the CTC. I installed a new one just in case I'd broken the old one, and I have another brand new spare.

I'm a little bit untrusting of the current set of LS244 chips as they've been through a lot during the troubleshooting. I've a complete set on order which, like everything else, should arrive on Tuesday.

I've also a couple of complete sets of RAM I can swap if necessary.


Posted: 15 May 2019 16:53
by Dave
I have been able to test CFX with an RS232 board attached. Much to my surprise, I can duplicate the problem - CFX does not start with the RS232 board attached.

I was speaking rubbish when I suggested removing the ROM from the RS232 board - there isn't one! I had forgotten that the ROM is on the FDX interface card at the FDX end of the ribbon cable - sorry. The PAL can be removed and CFX boots, but SDX BASIC does not run either and the system reboots when pressing <RET> or trying to start MTX Mode.

Martin, it looks like a new PAL (GAL) may be needed for the RS232 board to run with CFX?


Posted: 15 May 2019 20:47
by Martin A
If I'm reading the schematic for the RS232 board correctly, Rom decode for the FDX is potentially as much of a problem as the I/O port decode. Whist the DART is compatible with the CFX it looks like the communications part of the board isn't.

So I've come up with a GAL design that enables just the DART.

That should prevent the 74LS245 on the communications board connecting the data bus to fresh air ...

Code: Select all

Name     Rs232-GAL ;
PartNo   ATF16V8B ;
Date     15/05/2019 ;
Revision 01 ;
Designer Engineer ;
Company  None ;
Assembly None ;
Location  ;
Device   g16v8a ;

/* *************** INPUT PINS *********************/
/* Namings as per MTX manual page 246             */
PIN    1  = MREQ                    ; /*                                 */ 
PIN    2  = RDL                     ; /*                                 */ 
PIN    3  = M1L                     ; /*                                 */ 
PIN    4  = IORQL                   ; /*                                 */ 
PIN    5  = DTIEO                   ; /*                                 */ 
PIN    6  = BUSAKL                  ; /*                                 */ 
PIN    7  = A7                      ; /*                                 */ 
PIN    8  = A6                      ; /*                                 */ 
PIN    9  = A5                      ; /*                                 */ 
PIN   11  = A432                    ; /*                                 */ 
PIN   12  = RELCPMH                 ; /*                                 */ 
PIN   13  = R1                      ; /*                                 */ 
PIN   18  = R2                      ; /*                                 */ 
PIN   19  = EXT245                  ; /*                                 */ 

/* *************** OUTPUT PINS *********************/
/* PIN   14  = 245DIR                  ; /*                                 */ 
PIN   15  = DARTEN                  ; /*                                 */ 
/* PIN   16  = O3                      ; /*                                 */ 
/* PIN   17  = ND                      ; /*                                 */ 

field address = [A7..0] ;

/* external 74LS245 Pin B3 on the external connector   */
/* original equation equivalent to:                    */
/* !245DIR =                                           */
/*   !EXT245                                           */
/* # !M1L & !IORQL & DTIEO                             */
/* # !BUSAKL & RDL                                     */
/* ;                                                   */

/* z80 DART enabled on ports 0C to 0F the top 3 bits   */
/* come from the connected address bits, the remaining */
/* 3 bits from the A234 signal generated externally    */
  address:[00..1F] & !A432 & !IORQL & M1L

/* External rom partial decode                         */
/* original equation equivalent to:                    */
/* !O3 =                                               */
/*   !MREQ & !RDL & !RELCPMH & !R1 & R2                */
/* ;                                                   */

/* original equation equivalent to:                    */
/*  address:[20..FF] & !RDL & M1L                      */
/* !ND =                                               */
/* ;                                                   */
The JED file produced is pretty compact, as it's only enabling one pin:

Code: Select all

CUPL(WM)        5.0a  Serial# 60008009
Device          g16v8as  Library DLIB-h-40-2
Created         Wed May 15 19:37:05 2019
Name            Rs232-GAL 
Partno          ATF16V8B 
Revision        01 
Date            15/05/2019 
Designer        Engineer 
Company         None 
Assembly        None 
*L01024 11110111101111111111101110111010
*L02048 00000000010000010101010001000110
*L02080 00110001001101100101011000111000
*L02112 01000010111101111111111111111111
*L02144 11111111111111111111111111111111
*L02176 111111111111111110


Posted: 16 May 2019 19:58
by Dave
I have installed the GAL with Martin's fix.

CFX now seems to work with the RS232 board (with the FDX interface disabled in the GAL).

I have not tested the serial ports though.


Posted: 09 Jun 2019 17:47
by stephen_usher
I'm probably being a bit thick but how do you format an SD card from scratch?

Obviously you can't use as you can' boot from an empty device and "USER FORMAT" and "USER SYSCOPY" have been disabled.

I've got a nice 4MB (that's right, MB) CF card I'd like to format and put a selection of games I can guarantee to work on it for when I take it to the Lavecon convention as part of a retrocomputing/gaming exhibition. I don't want to have people potentially damaging the precious original SD card data and I only want the games which are guaranteed to load from the CFX.


Posted: 09 Jun 2019 18:11
by Dave
Hi Steve,

unfortunately, your 4MB card isn't going to work without modification to the firmware. The "disks" need to be of a size supported by the firmware and that means 8MB, or multiples thereof. See Andy's page on Memotech disk formats


Posted: 09 Jun 2019 18:22
by stephen_usher
So, it can't pretend to be a type "4B" Silicon disk then I s'pose? Oh well.


Posted: 09 Jun 2019 20:58
by Martin A
You just could try it!

Grab the Rememotech distribution package from Andy's website.
Write the SDdisc.Bin package to your 4 meg card with a imaging program
Configure it as a type 18 drive but don't fill more than half of it.

It might work. CPM has very simple allocation rules and just uses the first block it finds free, so in theory it's not going to attempt to use any of the "missing" sectors until all the real ones are used.

The biggest issue I think would be the actual writing of the oversize image. Something like WinDiscImager is going to complain that the source 8 meg image is too big for the 4 meg drive.


Posted: 09 Jun 2019 21:23
by stephen_usher
I'll just use dd(1) under macOS. How do I configure the drive type?