SYM-1 Maxi
This design follows on from the SYM-1 mini board.
It improves on previous design by increasing the memory size to possibly full 64K, using NVRam as both RAM and ROM with GAL chip for decoding.
6532 chip is used for comms and general PIO ...or possible connection to external keypad (like the original SYM-1 board).
There is provision for 2 extra 6522 chips to give extra VIO capabilities to the board.
It should be possible to implement the original Monitor software plus any other software like BASIC or the assembler/editor
Communication to the board is via TTLto USB converter and a need for terminal program like REALTerm
Following is the schematic of the design....
Following is a TOP view of the manufactured PCB ..
And image of assembled board (most of it tested ) ...
Current consumption of the board with all chips on board is about 270mA ... that is without any external connections to VIA chips ..
There is a slight mod ...looking at the above schematic ..pins 18 and 13 have to be swapped ..that is pin18 becomes !a9 and 13 becomes crtout... reason being the the default schematic for the gal chip had pin 13 as i/o pin ... but it is only an input pin ..!!!
Note cut tracks on top and links at the bottom
Note Tx, Rx and 0v connection to TTL to USB converter (Green, White and Black).
Also shown are 3 links for jumpers(which you can make from top with links on top pins. I am not sure if the two resistors (4.7K) are needed .. but you can put them in if you like.
PLD file to make it all work ....
PLD code
Name SYM-1 Maxi;
Partno 0001;
Revision ver1,monitor 8000/F000,basic C000,RAE B000, Ram 0-7FFF, VIA#1 A000, VIA#2 A800;
Date 09/09/20;
Designer mc;
Company mcoz;
Location oz;
Assembly manual;
Device g22v10;
/** Inputs **/
pin [3..8] = [a15..10] ;
pin 1 = phi2;
pin 2 = rnw;
pin 9 = a9;
pin 10 = a8;
pin 11 = a7;
pin 13 = crtout;
pin 16 = crtin;
/** Outputs **/
pin 14 = !nr;
pin 15 = !nw;
pin 22 = !cs6532;
pin 18 = !na9;
pin 20 = !via2cs;
pin 21 = !via1cs;
pin 23 = !csram;
pin 19 = !ncrtin;
pin 17 = !ncrtout;
/** Declarations and Intermediate Variable Definitions **/
field ioaddr= [a15..7];
cs6532_eqn = ioaddr:[A4XX..A7XX];
csrom_eqn = (ioaddr:[80XX..8FXX])#(ioaddr:[B0XX..FFXX]) ;
csram_eqn = (ioaddr:[00XX..7FXX]) ;
via2cs_eqn = ioaddr:[A8XX..ABXX];
via1cs_eqn = ioaddr:[A0XX..A3XX];
/** Logic Equations **/
ncrtout=crtout;
ncrtin=crtin;
na9=a9;
nr = phi2&rnw ;
nw = !rnw&phi2 ;
cs6532 = cs6532_eqn ;
csrom = csrom_eqn&nr;
csram = csram_eqn#csrom;
via1cs = via1cs_eqn;
via2cs = via2cs_eqn;
You can source all binary files from 6502.org or try this combined file that has
Monitor imaged @8000-8FFF and F000-FFFF
PIA #1 A000-A003
PIA #2 A800-A803
Basic imaged from C000-DFFF and
RAE imaged @B000-BFFF and E000-EFFF
Following is a screen capture of SYM-1 Monitor and SYM BASIC running on maxi Board ...
Note: To start comms with the RealTerm .. after RESET .. only press letter "Q" on PC keyboard to set communication to PC.
To explore the feature of saving a file to tape cassette do the following ...
After typing in "SAVE A" and <CR> monitor the output on pin 9 of 74ls145..it should be pulsing for a while while the code is being transferred. The rest of circuitry converts the TTL pulses so they can be saved in appropriate audio signals levels for a tape input . Should be able to use any reasonably good tape recorders ..or even modern digital voice recorders ..for saving the code (basic text file) on tape. Similar procedure can be used for saving memory code from Monitor Program via S1 or S2 commands ..
Further information about Synertek SYM-1 microcomputer - from 6502.org