Bygga en modern kopia på ABC80

Berätta om dina pågående projekt.
Snutten
Inlägg: 27
Blev medlem: 3 december 2019, 14:52:41

Bygga en modern kopia på ABC80

Inlägg av Snutten »

Tänkte försöka ge mej på att bygga en modern "kopia" på ABC80.
Har grundläggande elektronik och datorkunskaper på hobbynivå.

Med modern så menar jag med chips som går att köpa över disk idag.
Ingen FPGA eller dyl.
Bara standard hålmonterade kretsar så långt det är möjligt.
Z80
PIO
CTC
EPROM (kernel och BASIC)
SRAM(istället för DRAM)
Gluelogik med antingen vanliga TTL-kretsar eller PAL. Verkar som ABC80 använder mycket PROM för detta original dvs alltså en tidig form av PAL. Så jag ser inget fel att använda detta ifall det blir för avancerat att få till det med vanliga TTL-kretsar.

Svårast att förstå sej på verkar vara videodelen, jag kilar mej lite i huvudet här!
Funderar på om man kunde ersätta med nåt färdigt chip.
Som jag förstått det så är ABC80 i huvudsak baserat på texttvggrafik-standard.
Borde finnas en del färdiga chip för det. Letar...

Ps/2 tangentbord
Tänker ersätta det parallella ASCII-tangentbordet med ett vanligt PC-tangentbord.
Troligtvis med hjälp av nån enkel uC.

Lagring
Kassettbandspelare(kult :) eller diskettstation eller ev nån modernare form av floppyemulator.
Inte funderat klart här. Vad var vanligast förr?
Floppykontrollern verkar vara rätt avancerad med egen CPU osv så det lutar nog åt kassettbandspelare i nuläget.
Återstår att läsa på lite om detta och hur svårt eller enkelt det är att anpassa en vanlig bandspelare till ABC80.
Även hur själva interfacet ska utformas dvs omvandlingen digital till analogt och vice versa.
Verkar som det skiljer mot andra vanliga datorer från tiden tex ZX Spectrum där man använder helt vanliga kassettbandspelare och kablar.

Just nu håller jag mest på att samla in kunskap och lära/läsa på mej om arkitekturen.

Lyssnar gärna på input och ideer! :)
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: Bygga en modern kopia på ABC80

Inlägg av MiaM »

Kul projekt!

Videohårdvara med minnesmappad skärm var ju väldigt vanligt på åttabitarsdatorer av alla slag - det är väl bara ett fåtal såsom TMS 9918/9928/9929, 80-teckenskretsen i Commodore 128 och några andra som inte har minnesmappad skärm.

Har inte 100% koll på hur detta normalt gjordes på Z80-baserade datorer eftersom Z80 har "ojämna" cykletider (dvs den går på t.ex. 4 MHz och varje minnessaccess tar inte t.ex. exakt fyra klockcykler, varpå man inte kan använda processorns minnesaccessperioder som timing för videohårdvaran. Jämför med t.ex. 6502-baserade system (samma även för 6800-baserade) där man t.ex. kör processorn på 1 MHz och för varje 1MHz-cykel dels låter processorn göra en minnesaccess och dels låter videohårdvaran göra en, och med 15kHz/TV-frekvens på videoutgången så får man automatiskt 40 tecken per rad på detta vis.


Jag kör lite featurecreep med en gång. Specifikt rekommenderar jag att försöka läsa de nummer av Mikrodatorn (tror jag det var?) där de visar minnesexpansion och omkopplingsbara adresser för vissa grejer, för att man ska kunna köra ett något modifierat ROM från ABC 800.
Användarvisningsbild
Hobbyisten
Inlägg: 2531
Blev medlem: 3 december 2017, 22:55:25

Re: Bygga en modern kopia på ABC80

Inlägg av Hobbyisten »

Spännande ! Du kommer att lära dig mycket på bygget :) Om Z80 blir originalet och andra delar lite modernare så får du en "personlig ABC80". Jag minns kassettstationerna och det gnisslande pulståget. Kassettstationernas avkodning följer väl samma principer som telefonmodemen gjorde på sin tid. Spännande är även att studera processorns arbetssätt med maskinkod och assembler, Z80 och 6502 är inte helt olika varandra.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6888
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Bygga en modern kopia på ABC80

Inlägg av Marta »

Den enklaste lösningen på videodelen för att få 80x25 tecken på det som var den gamla videostandarden, är en 6845 CRTC.

Skriv osynkat i minnet och släck de fragment som blir störda. På en riktig monokrom CRT i vaje fall syns ingen störning. Har inte testat modern monitor. Det är enkel hårdvara. I princip en D-vippa som resettas vid access av videominnet och en etta klockas in i början av varje tecken. Förvånande att ingen tillverkare gjorde så.

Ett sätt att lösa tangentbord och lagring är att ha en liten MCU med USB ansluten till en port. Då används PC'ns tangentbord och hårddisk. Reset och bootloader kan också styras från denna.
Mjukvarumässigt är skillnaden total. 6502 har bara accumulator och två 8-bit indexpekare. All 16-bit addressering görs med indirekta pekare i RAM. Z80 har två 16-bit index och ytterligare 6 register som även kan användas som tre 16-bit, varav ett som minnespekare.
Enda likheten är båda är von Neumann-arkitektur, precis som alla andra "stora" processorer.

Mitt råd är att skippa ROM och bara ha RAM utöver en primär bootloader i ROM som kopplas ur när den använts. Mitt 65816 hembygge är gjort som beskrivet här och fungerar helt som det är tänkt.

Bygger Du med RAM och helst med en del bankswitchat så kan Du även köra CP/M-80+ på den. Där finns väldigt mycket mer programvara från förr till detta.
Användarvisningsbild
Hobbyisten
Inlägg: 2531
Blev medlem: 3 december 2017, 22:55:25

Re: Bygga en modern kopia på ABC80

Inlägg av Hobbyisten »

Ja den största skillnaden mellan de två processorerna är att Z80 har fler register så att bytes kan lagras tillfälligt i CPU. I 6502 måste de tillbaka till minnet. Ackumulator, indexregister, stackpekare, statusregister och programräknaren fungerar på likartat sätt mellan de två processorerna.
Användarvisningsbild
rvl
Inlägg: 5720
Blev medlem: 5 april 2016, 14:58:53
Ort: Helsingfors

Re: Bygga en modern kopia på ABC80

Inlägg av rvl »

Dessutom har Z80 dubbel uppsättning av registren. Främst användbart för interrupts.

Ska följa tråden och hoppas det blir nåt fungerande med tiden.
SeniorLemuren
Inlägg: 7779
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Bygga en modern kopia på ABC80

Inlägg av SeniorLemuren »

Marta skrev: 7 mars 2023, 06:01:27 Den enklaste lösningen på videodelen för att få 80x25 tecken på det som var den gamla videostandarden, är en 6845 CRTC.
ABC 80 hade 40 tecken och 24 rader original. Man kunde köpa ett 80 teckens tillsatskort.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6888
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Bygga en modern kopia på ABC80

Inlägg av Marta »

Valet där beror på vad som skall göras. 40 tecken färg för spel, eller 80 tecken text för annat. Det är bara att initiera CRTC annorlunda och ha en omkopplingsbar pixelklocka för att växla om videoram är stort nog. Skall det vara färg och grafik för spel så blir det genast mer stökigt

Nu kanske jag blandar ihop saker. Det var nog ABC800 som hade valbart 40 tecken färg, eller 80 tecken monokrom amber monitor.
meconer
EF Sponsor
Inlägg: 491
Blev medlem: 27 april 2010, 20:07:46
Ort: Järfälla

Re: Bygga en modern kopia på ABC80

Inlägg av meconer »

Ja, ABC80 hade bara svartvitt 40x24. Och en speciell grafikmod som jag inte minns upplösningen på. Kan det ha varit 80x72? Det var ett visst antal punkter per tecken.
hummel
Inlägg: 2259
Blev medlem: 28 november 2009, 10:40:52
Ort: Stockholm

Re: Bygga en modern kopia på ABC80

Inlägg av hummel »

2x3 per tecken, upplösningen i grafikmod var 78 × 72 pixlar.
Nerre
Inlägg: 26655
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Bygga en modern kopia på ABC80

Inlägg av Nerre »

Boken Mikrodatorns ABC kan nog vara bra läsning, den beskriver rätt ingående hur hårdvaran i ABC80 fungerade.
Användarvisningsbild
xrayspex
EF Sponsor
Inlägg: 270
Blev medlem: 23 december 2010, 20:38:33
Ort: Limhamn

Re: Bygga en modern kopia på ABC80

Inlägg av xrayspex »

Kul projekt!
Jag har länge varit inne på detsamma men tid/ork har inte räckt till. Hoppas du genomför det.
Borde vara möjligt att pressa in allt på ett europa-kort.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Bygga en modern kopia på ABC80

Inlägg av Icecap »

Jag gillar tanken på retro, lekar själv med den.

Men allvar: Band för lagring? Det har ju bara varit problem med det - alltid.

För mig är det roliga med sånt system inte alla dåliga lösningar men allt det roliga.

Jag vet om att det finns (iaf. fanns) en FTDI-krets som kopplar mellan seriell port och USB-minne med filsystem. Det ville definitivt vara min väg in.

Sedan anser även jag att det bästa vill vara en bootloader som laddar systemet eller direkt exekverbara filer.

Jag hittade en grej på YT om att Z80 visst kan ha protected mode, det var via NMI och bank select, det hade varit mitt val att använda sånt.
Bo.Siltberg
Inlägg: 357
Blev medlem: 30 juli 2018, 06:46:13

Re: Bygga en modern kopia på ABC80

Inlägg av Bo.Siltberg »

Band, nej fy....lite statisk elektricitet när man skulle ansluta kassettbandspelaren och...
Jag skrev ett DOS för Z80 i plugget i början på 80-talet. 16 datorer som pratade med en gemensam diskdriver.
Jag har assemblerprogrammet lagrat, på papper...
Skriv svar