Kan det bli en version 2.0 av Cred 6809?
Jag lyckades ju läsa mina gamla floppys med Cred 6809 Debuggern jag skrev i slutet 80-talet. Cred ja, varför heter den det? Tror det kommer av CRossEditorDebugger.
Men det var ju det där att det var trasiga Sectorer på just den skivan som innehåll Måldebuggern
Med det felet kan filen inte monteras men det går ju att tjyvkika med Notepad-PP.
Och där går det hitta assemblerkoden som utgör Måldebuggern. Den består av 4 assemblerfiler och jag lyckas få ut samtliga av dessa och dom är intakta.
Jag hittar både filer som säger sig vara version 1.3 och 1.2. Jag fokuserar på 1.2 för det är versionen som står på det EPROM som sitter i Cred från 1989
Men filerna har ju DOS-teckentabeller och dom ser ju lite tråkiga ut när ÅÄÖ visas som krumelurer. Jag skriver därför en konverter i Delphi som tar en DOS asciifil och gör den till "windows" ÅÄÖ
Jag blir nästan lite imponerad

av mig själv för koden är bra strukturerad och fint skriven med gott om kommentarer så det är ingen större match att läsa den och förstå.
Men koden är ju i fyra olika filer och assemblatorn jag valde har ingen länkare så jag får väl bygga ihop dessa filer till en fil. Ja eller använda include som jag brukar göra med PICarna för just nu ser jag ingen vinst med att ordna med länkare och annat fancy.
Med filerna hopbyggda så börjar jobbet med att få dessa att assemblera. Externreferenserna kommenteras bort. Syntaxen skiljer sig lite. Jag blir åter igen varse att CLI SEI är 6800 instruktioner och som inte ingår i 6809 trots allt, som jag minns som tjat på 80-talet, om kodkompabilitet med 6800 men det finns motsvarande instruktioner så det är bara att skriva macron för dessa. Något som den assemblatorn jag hade på 80-talet nog hade inbyggt för det är inget jag minns att jag funderade på på den tiden.
Utan länkare behöver ju en startadress också anges. Det gör ju lite ont att ORGa koden för den är helt relocerabar.
Utan ACIA kommer inget att fungera
Så Credkort nr2 får sig en 6551a och RS232 krets. När jag monterar DSUBen så ser jag något märkligt. GND verkar vara kopplat till pin 7 och inte till 5 som brukligt. Eftersom Cred kör med Xon-Xoff så behövs inga handskakningskablar så jag patchar bort sånt som ändå inte ser rätt ut.
På Cred kort n1 så satt ju ingen ACIA utan den satt i debuggerns tillhörande expansionslåda och därför på en annan adress än den nu monterade ACIAn
Det kan man enkelt ändra för allt är förberett med variabler som ska trimmas för olika typer av målmaskiner
När alla felmeddelande är tillfixade så att assemblatorn är nöjd bränner jag en EPROM med min nybyggda
PROMEL 6064 - EPROM Emulator
Funkar Inte
Eller jo lite. Den säger "E"
Det skulle ju kunna betyda att den skickar ett error men det ska ju komma som "E00", ett E med ett hextal.
Ok det första error:et som kan komma vid boot är att det är minnesfel. Och det är fel. Jag har satt upp för att user RAM är 32k men satt dit en 8k krets.
Bränner nytt EPROM..
Åh, det funkar ... eller
Nu kommer initieringsträngen. Men den ser lite konstig ut. Är det fel baudrate... nä det skulle se värre ut eller inte funka alls... hmmm
Strängen ska bestå av "I" + Version + RAM startadress + RAM slutadress + Användarvektoradress
Det här var lite klurigt men har sin förklaring. Jag sitter och spanar lite i koden och ser att det på några ställen är strängar definierade som konstanter och får för mig att kolla upp dessa i .LST filen. Och mycket riktigt, det är bara första tecknet i strängen som fått en minnescell. Resten skippas helt av assemblatorn och det står så i instruktionen till assemblatorn att den likställer FCC och FCB, alltså samma jvl tjafs som med PICen XC8asm, att stränga måste anges som kommaseparerade CHAR.
Det förklara ju "E" som felmeddelande för strängen var ju definierad som "E00" men den tog ju bara med "E".
Nu kommer "I" + Version ut OK men adresserna stämmer ju inte ...
Det är också en assemblatorfunktion som jag nyttjat förut men som inte stöds, i samma form. I den äldre assemblatorn kunde man tydligen skriva !HIGH! och !LOW! och man ville ha över eller under byten av ett 16bitstal. Det får ju göras med en >> istället
Nu funkar det !!
Känns så cool att fått fart på CredDBGern med en assemblerfil som man kan ändra i och trimma till nya behov.
Nu provkör jag med Emulatorläget i
PROMEL 6064 - EPROM Emulator och det funkar också fiint.
Edit: mindre textjust.