Atom-in-PC Hardware
../../images/terug.gif
Roland Leurs schreef deze pagina wetende dat er veel meer te vertellen was over de hardware . De meest belangrijke zaken zijn echter vermeld. Zie ook het Nederlandse handboek Epos (220kB) voor een antwoord op uw vragen.

Voor het laatst bijgewerkt door R.Leurs: 12 december 1999.
Met dank aan Roland die me toestemming gaf deze pagina's op mijn site te plaatsen. Haydn.

Contents:

  1. Hardware omschrijving

  2. 6847 Video emulatie

  3. Schema

  4. Printed Circuit Board

  5. GAL logica

pictures/atominpc.jpg
De Atom in PC kaart (± 34 x 10 cm)

Hardware Omschrijving

De Atom-in-PC kaart is een "enkelzijdig" grote ISA printkaart met een R6502 of een vergelijkbare microprocessor (R65C02 of 65802) met 96 KB RAM en 16 KB ROM aan boord. 16 Kb RAM wordt gebruikt als schaduw ROM voor het 16 KB grote Machine Operating Systeem in ROM, niet alleen om snelheid-reden maar u kunt daarin uw zelf geschreven OS laden. Verder is 40 KB RAM toegewezen aan de adresruimte #0000-#9FFF. Voor de utility ROM adresruimte #A000-#AFFF acht banken van 4 KB RAM elk beschikbaar. Met een geschikt aanvullend OS kunt u in de Atom in PC acht utility ROM's gelijktijdig schakelen.

Over Machine Operating Systemen gesproken: de originele Atom MOSROM is aangepast om in deze kaart te gebruiken.

Zoals in de originele Atom is de adresruimte #B000-#BFFF gereserveerd voor I/O doelen. De adresruimte #B000-#B97F wordt gebruikt voor I/O zoals de 6522 VIA, een latch voor de NMI (zie video emulatie), de utility RAM selectie en de Video Write Address Latches.

Alle gebruikers I/O (keyboard, display, printer, disk drives, mouse, joystick etc) wordt door de PC afgehandeld. De Atom moet communiceren met de PC. U kunt daarover meer lezen in het Atom-in-PC Terminal programma in de software sectie. Voor wat betreft de hardware communiceert de Atom-in-PC door middel van de 6522 VIA aan de Atom kant met een 8255 PPI aan de PC ISA bus. Deze 8255 PPI is het enige onderdeel dat direct met de PC ISA bus is verbonden. Dus, als uw PC met dit onderdeel kan communiceren is uw PC een aangepaste Atom geworden. Er worden geen interrupts en geen DMA channels gebruikt. Slechts echte I/O poorten opéén van de volgende adressen: 0x300, 0x304, 0x308, 0x30C, 0x310, 0x314, 0x318 of 0x31C. Geen plug-and-play gedoe, slechts één jumper op de printplaat plaatsen en het werkt. (De decodering van deze adressen wordt in een GAL verzorgd. Dus als u een ander adres wenst te gebruiken; geen probleem, dan verandert u slechts het adressering algoritme!)

../..images/terug.gif

6847 Video Emulation

Om de Motorola 6847 Video Graphic chip te emuleren worden twee latches gebruikt die de adressen (data) die op de adresbus verschijnen te bewaren als een programma naar de video adresruimte (#8000-#9FFF) schrijft. Het Chip Select signaal voor de video RAM chip wordt ook gebruikt om een NMI te genereren. Die NMI kunt u ook disabelen door een "0" bit naar een latch te sturen. Die latch controleert de write protect, Operating RAM/ROM select, NMI enable en de bank select voor de utility RAM op #Axxx. Lees meer hier over in het Atom-in-PC manual "het groene Epos boekje".
Dus, als een programma naar het video geheugen schrijft, wordt een NMI gegenereerd. De NMI service routine leest het adres in de twee latches (high and low order byte) en zendt die naar het terminal programma dat op de PC loopt. Omdat de NMI service routine de adressen kent, leest die de door het video geheugen geschreven data en zendt die naar het terminal programma. De adressen en data is de enige input die nodig is om iets op een CGA scherm weer te geven. Het is niet de snelste manier om de Atom graphics te emuleren maar het werkt in alle modi en is snel genoeg om Snapper te spelen.
../../images/terug.gif

Circuit Diagram

Hieronder staan de schema's voor de Atom-in-PC kaart. Ze worden op vier afzonderlijke tekeningen weergegeven. ../../images/terug.gif Printed Circuit Board

Dit is het meest kritieke onderdeel als u begint met het bouwen van uw Atom-in-PC. U moet de tekeningen downloaden en een goede afdruk ervan maken. Deze moet u op de printplaat overbrengen. Hieronder staan de print-lay-out en de beide zijden van de printplaat. (klik er op voor een meer gedetailleerd plaatje)

pictures/atpc.print.gif
Print lay-out (er is een 'silk screen' file in het zip file)

pictures/sold_s.gif
Soldeer kant

pictures/comp_s.gif
Componenten kant

Het PCB design is in AutoCAD 2.0 DXF formaat of Epson 132 column PRN formaat. Vervolgens is het slechts een kwestie van een nieuw inkt-lint en printen door te typen: copy .prn lpt1 ..... één van de files uit het zip file.

De tekeningen zijn ontworpen in smArtwork. Het kan mogelijk zijn de smArtwork files in het Layo PCB design programma te importeren.

GAL Logica

Op het Atom-in-PC board zijn drie Gate Array Logic devices aanwezig: De PC Address decoder GAL wordt gebruikt om de 8255 PPI op het Atom-in-PC board te selecteren. In dit ontwerp decodeert het acht adressen van 4 bytes elk in de adres ruimte 0x300-0x31F. Natuurlijk bent u vrij om deze adressen te wijzigen als u een ander adres wilt gebruiken. U moet dan wel het algoritme veranderen. U kunt het terminal programma starten met de adres parameter. De Atom in PC is klaar voor gebruik en voorbereid op veranderingen.
../../images/terug.gif
PC ADRES DECODER-DESIGN GAL16V8A
DATE 08/03/93
BY: R.LEURS
CHIP DECODERP GAL16V8A
NC A2 A3 A4 A5 A6 A7 A8 A9 GND 
AEN CS300 CS304 CS308 CS30C CS310 CS314 CS318 CS31C VCC
EQUATIONS
/CS300 = /AEN*A9*A8*/A7*/A6*/A5*/A4*/A3*/A2
/CS304 = /AEN*A9*A8*/A7*/A6*/A5*/A4*/A3*A2
/CS308 = /AEN*A9*A8*/A7*/A6*/A5*/A4*A3*/A2
/CS30C = /AEN*A9*A8*/A7*/A6*/A5*/A4*A3*A2
/CS310 = /AEN*A9*A8*/A7*/A6*/A5*A4*/A3*/A2
/CS314 = /AEN*A9*A8*/A7*/A6*/A5*A4*/A3*A2
/CS318 = /AEN*A9*A8*/A7*/A6*/A5*A4*A3*/A2
/CS31C = /AEN*A9*A8*/A7*/A6*/A5*A4*A3*A2

De tweede GAL draagt zorg voor het grootste deel van de adres decodering in het adresgebied binnen de 6502 geheugenruimte. Leuke bijkomstigheid (geen bug!) als u pin 9 aan 0 volt legt worden alle on board geheugen en I/O devices gedisabled. Op die manier kunt u alle geheugen en I/O vervangen door externe circuits zonder dat het nodig is de Atom-in-PC kaart te modificeren.
../../images/terug.gif
ATOM ADRES DECODER - DESIGN 16V8A
DATE 09/03/93
BY: R.LEURS
CHIP DECODERA_V2 GAL16V8A
A15 A14 A13 A12 RW FI2 WP OSRAM ENABLE GND NC1 CS_IO FI2OUT RWOUT
NWDS CS_PROG CS_UTIL CS_VIDEO CS_ROM VCC
@UES RL09034a
EQUATIONS
 FI2OUT = FI2
/RWOUT = /RW
/NWDS = FI2*/RW
/CS_IO = A15*/A14*A13*A12*ENABLE
/CS_UTIL = A15*/A14*A13*/A12*RW*ENABLE
 + A15*/A14*A13*/A12*/RW*/WP*ENABLE
 CS_PROG = A15+/A15*/A14*/A13*A12*WP*/RW+/ENABLE
/CS_VIDEO = A15*/A14*/A13*ENABLE
 + A15*A14*OSRAM*RW*ENABLE
 + A15*A14*/WP*/RW*ENABLE
/CS_ROM = A15*A14*/OSRAM*RW*ENABLE

De laatste GAL draagt zorg voor het selecteren van een intern I/O device en genereert een NMI signaal naar de processor als er een video geheugen schrijf-cyclus bezig is.

../../images/terug.gif
ATOM VIDEOKAART-DESIGN GAL16V8A
DATE 14/1/1995
BY: R.LEURS
CHIP VIDEO GAL16V8A
CS NMI_EN RW O2 A0 A1 A13 A14 A15 GND
IOSEL VIASEL LATSEL DIR NC NRDS LATCH CS_ADL CS_ADH VCC
; IOSEL = SELECTIE I/O GEBIED (DECODER GAL PIN 12)
; VIASEL = SELECTIE VIA (74HCT138 PIN 15)
; LATSEL = SELECTIE LATCH (74HCT138 PIN 14)
; CS = SELECTIE VIDEOGAL (74HCT138 PIN 13)
; DIR = RICHTING DATATRANSPORT (74HCT245 PIN 1)
EQUATIONS
/LATCH = A15 * /A14 * /A13 * /RW * O2 * NMI_EN * IOSEL *
 VIASEL * LATSEL
/CS_ADL = RW * /A1 * /A0 * /CS
/CS_ADH = RW * /A1 * A0 * /CS
/NRDS = RW * O2
 DIR = /RW

Als u zelf in het bezit bent van GAL assembler software kunt u de GAL ontwerpen naar believen aanpassen. Het is niet nodig de Atom adres decoder GAL and the Video & I/O controller GAL te modificeren. In de download sectie van deze site is een file met de naam gals.zip die de sources en binary files bevat. ../../images/terug.gif

Roland Leurs schreef deze pagina zich realiserend dat er meer over de hardware te zeggen valt. De meest belangrijke zaken zijn echter genoemd. Zie ook het Nederlandse handboek Epos het "groene EPOS boekje" voor verdere informatie.

Laatst bijgewerkt door R.Leurs: 12 december 1999. Met dank aan Roland die toestemming gaf om deze pagina's op mijn site te plaatsen. Haydn.
../../images/home.gif