[abc80] ABC8000

H. Peter Anvin hpa at zytor.com
Sat Okt 23 12:47:49 PDT 2010


Det börjar kanske bli dags att berätta om ett litet projekt jag har
pulat med när jag (inte) haft tid...

1983 skrev Bo Kullmar om ABC806:

"Det börjar bli trångt i minnet, eftersom RAM-minnet måste utnyttjas för
systemrutiner.  Därför kan man kanske säga att ABC806 är för bra för en
8 bitars dator!  Man skulle behöva lite större direktaddresserat minne
än 64 Kbytes!  Man tänker då på en 16 bitars dator från Luxor!

Det är så att man med just ABC806 är ganska förberedd för en ny
kraftfullare mikrodator, genom att man endast behöver byta datorburk om
man vill byta upp sig till en ny 16 bitars dator från Luxor!  När den nu
kommer, 1984 ???" (ABC-bladet 4/1983, sid 14.)

Så tanken kom...

Om ABC800 varit en mer ABC80-liknande maskin som kommit tidigare (och
utnyttjat mer av designen, som faktiskt byggt för att kumma expanderas)
kanske vi skulle haft en likande maskin med en större processor, men
inte så dyra som Unix-datorerna som kom senare.  Följaktligen har jag
mekat på en 68000-baserad FPGA-modell som följer mer designfilosofin i
80/800-serien, men samtidigt utnyttjar mer av DE1-kortet än var ABC80n
gjorde.

Så:

	ABC8000
	12.5 MHz 68000 (sista skriket 1982)
	Upp till 8 MB RAM(*)
	Upp till 4 MB ROM(*)
	Upp till 512K bildminne(*)
		640x400 skärmupplösning
		2, 4, 16 eller 256 färger av 4096
		Hårdvaruskroll (V & H) men ej sprites
		Ingen textmodul(**)
	Serieport (f.n. endast 115200 bps)
	
	Planerat men ännu ej implementerat:

	Ljudgenerator GI AY-3-8910/8912/Yamaha YM2149F
	SD card kontroller
	Programvara, inklusive systemprogram(!)


(*) Arkitekturellt max, som också är vad DE1-kortet implementerar.
    En riktig maskin skulle haft mindre i alla fall i basutförande.
(**) Kan ändras om det visar sig behövas för acceptabel hastighet.

F.n. så ligger detta endast i ett git-träd:

http://git.zytor.com/?p=fpga/abc8000/abc8000.git

Det är *stort* (typ 30 MiB) för att det innehåller gcc och binutils.
Jag funderar på att jag kanske borde lagt dem i ett separat träd...

För att köra:

a) Bygg binutils/gcc:

   - cd tools
   - Läs tools/REQUIREMENTS för mjukvara som behöver installeras först;
   - ./build.sh
   [Detta kan ta ordentligt med tid, typ timmar, vilket är anledningen
   att jag inte har en global Makefile]

b) Bygg datafiler:

   - cd ../data
   - make

c) Använd DE1 Control Panel för att flasha data/sysrom/sysrom.bin till
   flash-minnet.

d) Använd de1/de1.qsf för att kompilera FPGA-filerna med Quartus II.


Om allt funderar bör du se en testbild med diagonala ränder på skärmen.

	-hpa



More information about the ABC80 mailing list