[abc80] Programmera ABC80 i C? ABS-filer?

H. Peter Anvin hpa at zytor.com
Tors Feb 3 09:03:31 PST 2005


Robert Juhasz wrote:
> Hej!
> 
> Ett av mina projekt sen jag ryckte ut min ABC80 ur förrådet har varit att
> försöka programmera den i C. Tänkte kolla om det är någon mer än jag som
> kommit på iden. OK, jag vet att alla riktiga hackers kör basic+assembler,
> men i alla fall...
> 
> Det finns ju en del c-kompilatorer för Z80 (tex BDS, Hitech etc under cp/m och
> z88dk och sdcc för pc/unix), och även smallc för abc800 om jag minns rätt.
> 
> Min approach hittills har varit att använda z88dk (som faktiskt har en
> ABC80-target, dock endast konsoll-i/o) för att generera en binärfil som jag
> sedan konverterat till en intel-hexfil. Så långt är allt bra (och detta kan man
> säkert göra med alla andra kompilatorer ovan). För att sedan testa på ABC80 kan
> man antingen använda ett basicprogram, ITHLDR.BAC, för att ladda filen. Det
> funkar med ett enkelt exempel (konsoll-io och lite matte). Dock skulle jag vilja
> generera ABS-filer så det går snabbt och smidigt att köra från DOS. Det finns
> program (ITHABS.BAC) som gör detta, men det fungerar inte.
> 
> Nu undrar jag:
> - Finns det några begränsningar var i RAM:et man kan lägga
> ABS-filer? z88dk är lite dum så all kod hamnar från adress 50000. Men för ett
> litet program borde det vara OK tycker jag.
> 
> - Finns det något annat Magiskt Knep(tm) man skall använda för att göra
> ABS-filer? Jag har sett någon notering om en återhoppsadress för att komma till
> baka till DOS ordentligt. Men mitt program startar inte ens!
> 
> Målet med detta är förstås att porta ls, vi, emacs... ;)
> 

Ett av de största problemet med ABC-DOS är att CMDINT.SYS läses in på 
adress 49152 och förväntar sig stanna där, så om du har 32K ligger det 
mitt i minnet.  Standardfilerna som kommer med DOS lägger sig över 
detta, det är förmodligen var 50000 kommer från.  Har du 32K minne kan 
du också lägga dig under, d.v.s. på 32768 eller så.

ABS-filer är ett rätt enkelt format -- jag skrev en konverterare till 
ABS när jag var 14 -- så det borde inte vara så svårt att knåpa ihop en 
in C som går att köra "offline."

	-hpa



More information about the ABC80 mailing list