Special Feature: ColorForth Commentary
COLOR.ASM: First items
NOTICE: This is a work in progress. Parts of my commentary are still very rough. However, I have it up on the web because even in this rough form it may be useful to ColorForth enthusiasts. Expect the contents of these files to change frequently.
;colorforth, 2001 jul 22, chuck moore, public domain .model tiny .486p only segment use32 assume ds:only next macro adr ;[Refs: read, write, dev, ati0, switch, b16, b32, emit, emit2, box, ; four1, hdot, dot, destack, insert0, insert1, enstack] dec ecx jnz adr endm dup_ macro ;[Refs: onoff, flop, readyf, white, dev, ati0, switch, warm, pause, show, ; execute, adup, var1, short_, num, here, qlit, debug, nc_, xy_, fov_, ; sps, last_, cyan, magenta, silver, blue, red, green, right, down, ; blank, octant, four1, stack, keyboard, key, full, word_, word1, ; edig1, odig, dot10, unpack, qring, ring, ww, cap, caps, type_, ; type1, gnw1, nw1, refresh, actv, e, destack, format2, enstack] lea esi, [esi-4] mov [esi], eax endm drop macro ;[Refs: onoff, readf1, seekf, cmdf, readyf, color, dev, ati0, fifof, switch, ; bl_, emit2, line, no, unpause, act, ex1, ex2, cshort, qcompile, ; call_, comma, then, jump, load, erase, copy, echo_, right, lms, rms, ; at, pat, nul0, lj, x, word0, xn, number0, number2, endn, alphn, ; star0, hdotn, hdot, dot, d_2, qring, type0, type2, actn, e0, edit, e, ; eout, insert0, insert1, format, ens, drop] lodsd endm ;hp equ 800 ;vp equ 600 ;vesa equ 114h hp equ 1024 ;[Refs: start0, frame, switch, clip, b32, emit, emit2, box, hc, blank, ; keyboard] vp equ 768 ;[Refs: start0, frame, switch, box, vc, fov, blank, keyboard] vesa equ 117h ;[Refs: start0] buffer equ 604*256 ;[Refs: trash, destack] include boot.asm ; boot boot0 hard ; 100000 dictionary ; a0000 top of return stack ; 9f800 top of data stack ; 9d800 free ; 97000 floppy buffer ; 4800 source icons equ 12*256*4 ; 3000 ;[Refs: emit, emit2] ; 7c00 bios boot sector ; 0 forth warm: ;[Refs: forth2] dup_ start1: ;[Refs: start2] call ati0 ; Set up video-card memory. ; mov screen, offset nul ; xor eax, eax call show0 ; Run "god" task for first time. mov forths, (forth1-forth0)/4 ; Remove additions to FORTH mov macros, (macro1-macro0)/4 ; and MACRO wordlists. mov eax, 18 ; Load and run block 18. call load jmp accept
Check the index for other entries.