• Please review our updated Terms and Rules here

New 68K Tandy Memory Board and MMU Extension

dlightman

Experienced Member
Joined
Jun 8, 2014
Messages
160
Location
Eastern US
Just a sneak peak at a few things peburrell has been working on for the big Tandys!

Memory Board:

fH3u7BRl.jpg
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


This is a tiny 8M board that plugs into the 50 pin header of the 68K CPU board and consumes about 200mW. The jumper block on the left lets you select various memory configurations that cover all of the big Tandy hardware configurations whether its a stock 1MB system or has been upgraded with a 2 or 3 bit MMU extension.

The main configurations are:

1024K - Stock system
4096K - System with Tandy 2-bit extension
7680K - System with XMMU 3-bit extension

With the memory board jumper'd at 1024K for a stock system it puts a 1MB gap at 1025-2048K and leaves the next 5.5MB available. XENIX quits counting system memory at the first unused 4K block so it thinks 1MB only is available. You can continue on as normal with a reliable 1MB memory board or reclaim the last 5.5MB as swap or a ram disk using Tandy's ramswap driver.

With the jumper set to the 4096K configuration + a 2-bit extension the last 2MB can be reclaimed using ramswap and of course with a 3-bit extension you can of manage the full 7.5MB as user memory.

Considering 1MB memory boards aren't cheap and getting harder to find it's going to be a nice solution.

MMU Extension:

Pd9F2e5l.jpg
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


Basically this is a faithful clone of the Tandy 2-bit MMU extension. It installs exactly as described in TB 6000:18 with 4 jumps and one cut to the CPU board. If your buffers are socketed no need to unsocket them for clearence simply stack another CPU socket on the board and it will clear fine.

Adding 2-bits the stock MMU allows XENIX to manage up to 4096K of user memory and greatly improves the overall performance of the machine. It's a necessity to have >1MB of memory to run various programs from the MUSIE archive and build largish things with gcc.

I've been running both of these on a 6 Mhz short board and they work great. As an added bonus the memory board is fast enough that you can jumper the 6 Mhz short for 8 Mhz (remove the E7 <-> E4 jumper and jumper E7 <-> E6) and realize a solid speed improvement. I my case its been stable at 8 Mhz through a 48 hour memory test, Snappware's stress test and the byte benchmarks.

Two exciting developments for the Tandy 68K systems and I don't think peburrell is quite done yet so stay tuned for more developments!



6 Mhz short with both boards installed:

1OiCufpl.jpg
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


XENIX 3.3 boot with both boards:

MSZglGvl.jpg
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


Stock 6 Mhz with 1MB of user memory and 5.5MB of Ram Swap:

qXijrRYl.jpg
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


48 hour memory test:

m99aCGjl.jpg
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


Byte Benchmarks @ 6 Mhz:


Code:
pipes       Ave real = 6.79     Ave sys = 3.12      Ave user = 0.06        
scall       Ave real = 10.28    Ave sys = 9.15      Ave user = 1.05
sieve       Ave real = 4.11     Ave sys = 0.05      Ave user = 4.00    
dread       Ave real = 2.20     Ave sys = 1.78      Ave user = 0.02        
dwrite      Ave real = 2.07     Ave sys = 1.40      Ave user = 0.00        
edread      Ave real = 12.45    Ave sys = 5.63      Ave user = 0.05
edwrite     Ave real = 15.18    Ave sys = 6.80      Ave user = 0.00
fcalla      Ave real = 0.41     Ave sys = 0.01      Ave user = 0.30        
fcalle      Ave real = 1.61     Ave sys = 0.01      Ave user = 1.50        
loop        Ave real = 5.90     Ave sys = 0.01      Ave user = 5.80        
multi1      Ave real = 3.69     Ave sys = 2.55      Ave user = 0.51        
multi2      Ave real = 6.42     Ave sys = 4.64      Ave user = 1.10        
multi3      Ave real = 9.65     Ave sys = 7.08      Ave user = 1.53        
multi4      Ave real = 12.94    Ave sys = 9.39      Ave user = 2.14
multi5      Ave real = 16.15    Ave sys = 11.78     Ave user = 2.55
multi6      Ave real = 19.58    Ave sys = 14.28     Ave user = 3.15
multi10     Ave real = 32.64    Ave sys = 24.17     Ave user = 5.06
multi20     Ave real = 65.41    Ave sys = 47.85     Ave user = 10.49

Byte Benchmarks @ 8 Mhz:

Code:
pipes       Ave real = 5.07     Ave sys = 2.29      Ave user = 0.03        
scall       Ave real = 7.61     Ave sys = 6.38      Ave user = 1.15        
sieve       Ave real = 3.01     Ave sys = 0.00      Ave user = 2.93
dread       Ave real = 1.65     Ave sys = 1.35      Ave user = 0.04
dwrite      Ave real = 1.78     Ave sys = 1.06      Ave user = 0.00        
edread      Ave real = 11.67    Ave sys = 4.22      Ave user = 0.02
edwrite     Ave real = 14.10    Ave sys = 5.22      Ave user = 0.01
fcalla      Ave real = 0.31     Ave sys = 0.00      Ave user = 0.20        
fcalle      Ave real = 1.21     Ave sys = 0.00      Ave user = 1.17        
loop        Ave real = 4.41     Ave sys = 0.01      Ave user = 4.31  
multi1      Ave real = 2.87     Ave sys = 1.91      Ave user = 0.39        
multi2      Ave real = 4.95     Ave sys = 3.59      Ave user = 0.76          
multi3      Ave real = 7.37     Ave sys = 5.42      Ave user = 1.14        
multi4      Ave real = 9.80     Ave sys = 7.22      Ave user = 1.53        
multi5      Ave real = 12.21    Ave sys = 8.93      Ave user = 1.96
multi6      Ave real = 14.63    Ave sys = 10.80     Ave user = 2.30
multi10     Ave real = 24.39    Ave sys = 17.93     Ave user = 3.77
multi20     Ave real = 48.81    Ave sys = 36.12     Ave user = 7.52

Album with larger images: https://imgur.com/a/hIhgGNe
 
Last edited:
Back
Top