Camel Forth versie 1.2 voor MAIS kastje ======================================= Source-file: chrom_12.scr Wijzigingen: - FM/MOD is verbeterd (ansi test) - WHILE en REPEAT zijn verbeterd (ansi test) - De prompt na elke regel is aangepast voor sneller uploaden met de windows server32: interpreteren: OK + CR + LF compileren: CR + LF - Systeem variabelen zijn nu onderin het geheugen geplaatst op de adressen hex 0080-02FF, zo werkt het met elke ram-configuratie - Na cold wordt er een memory test gedaan om te meten hoeveel geheugen er is en dit wordt geprint - Toegevoegd definities voor: NOT 0<> en ? - Prefixen voor getallen toegvoegd: #xxx decimaal getal xxx $xxx hexadecimaal getal xxx %xxx binair getal xxx &c ascii waarde van karakter c ^c control waarde van karakter c - adressen aangepast voor 16k eprom (C000-FFFF) 10 september 2003 Frans van der Markt Camel Forth versie 1.1 voor MAIS kastje ======================================== Configuratie: ------------- RAM hex 0000-1FFF EPROM hex E000-FFFF De Eprom is van het type 27128 (16 kB) de onderste 8 kB hiervan worden nog niet gebruikt Source: ------- File CHROM2.SCR Deze wordt uitgevoerd met F83 en levert dan de file: 6809.HEX Verbeteringen: -------------- - .S controleert op empty stack en underflow - DUMP toont nu ook de ASCII inhoud indien mogelijk - de constantes TRUE (-1) en FALSE (0) zitten er nu in (ANSI) - het RAM geheugen is nu vrij van hex. 0100 -1D80 - de interrupt vectors zijn nu aan te passen omdat de adressen van de vectors in de USER variabelen zijn gezet. Door zo'n USER variabele aan te passen kan men de interrupt overal heen laten springen. Bij opstart wijzen al deze vectoren naar een instructie RTI, (return from Interrupt) in de eprom. Interrupt vectoren: ------------------ Adres USER var Interrupt hex dec. 1E14 10 SWI3 software interrupt 3 1E16 11 SWI2 software interrupt 2 1E18 12 FIRQ fast interrupt request 1E1A 13 IRQ normal interrupt request 1E1C 14 SWI software interrupt 1 1E1E 15 NMI non-maskable interrupt Memory map: ----------- 0000-1D7F RAM dictionary (for new definitions) 1D80-1DFF Terminal Input Buffer 1E00-1E7F User Area (USER variables) 1E80-1EFF Parameter Stack (grows downward) 1F00-1F27 HOLD area (grows downward) 1F28-1F7F PAD area (general purpose buffer) 1F80-1FFF Return Stack (grows downward) C000-DFFF bottom part of eprom not used E000-FFFF Forth kernel in eprom 1 augustus 2003 Frans van der Markt