Make more improvements

This change includes many bug fixes, for the NT polyfills, strings,
memory, boot, and math libraries which were discovered by adding more
tools for recreational programming, such as PC emulation. Lemon has also
been vendored because it works so well at parsing languages.
This commit is contained in:
Justine Tunney 2020-09-28 01:13:56 -07:00
parent 416fd86676
commit 23d333c090
201 changed files with 14558 additions and 3082 deletions

View file

@ -40,7 +40,7 @@ cescapec:
ret
.LHT: mov $'t,%ah
ret
.LLF: or $'n<<010|'\\<<020|'\n<<030,%eax
.LLF: mov $'n,%ah
ret
.LVT: mov $'v,%ah
ret

View file

@ -100,10 +100,15 @@ MemCpy: .leafprologue
mov %ecx,(%rdi)
mov %ebx,-4(%rdi,%rdx)
jmp 1b
.L3: mov 2(%rsi),%cl
mov %cl,2(%rdi)
.L2: mov 1(%rsi),%cl
mov %cl,1(%rdi)
.L3: push %rbx
mov (%rsi),%cx
mov -2(%rsi,%rdx),%bx
mov %cx,(%rdi)
mov %bx,-2(%rdi,%rdx)
jmp 1b
.L2: mov (%rsi),%cx
mov %cx,(%rdi)
jmp .L0
.L1: mov (%rsi),%cl
mov %cl,(%rdi)
jmp .L0

View file

@ -48,20 +48,20 @@
* @mode long,legacy,real
*/
#define VIDYA_ROWS 25
#define VIDYA_COLUMNS 80
#define VIDYA_SIZE (VIDYA_ROWS * VIDYA_COLUMNS * 2)
#define VIDYA_MODE_MDA 7
#define VIDYA_MODE_CGA 3
#define VIDYA_ADDR_MDA 0xb0000
#define VIDYA_ADDR_CGA 0xb8000
#define VIDYA_ATTR_NORMAL 0x07 /* cozy default for both mda and cga */
#define VIDYA_REWIND ~0x7fff /* derived from mode addr min. lzcnt */
#define VIDYA_SERVICE 0x10
#define VIDYA_SET_MODE 0
#define VIDYA_SET_CURSOR 0x0100
#define VIDYA_SET_CURSOR_NONE 0x2000
#define VIDYA_SET_BLINKING 0x1003
#define VIDYA_ROWS 25
#define VIDYA_COLUMNS 80
#define VIDYA_SIZE (VIDYA_ROWS * VIDYA_COLUMNS * 2)
#define VIDYA_MODE_MDA 7
#define VIDYA_MODE_CGA 3
#define VIDYA_ADDR_MDA 0xb0000
#define VIDYA_ADDR_CGA 0xb8000
#define VIDYA_ATTR_NORMAL 0x07 /* cozy default for both mda and cga */
#define VIDYA_REWIND ~0x7fff /* derived from mode addr min. lzcnt */
#define VIDYA_SERVICE 0x10
#define VIDYA_SET_MODE 0x0003
#define VIDYA_SET_CURSOR 0x0100
#define VIDYA_SET_CURSOR_NONE 0x2000
#define VIDYA_SET_BLINKING 0x1003
#define VIDYA_SET_BLINKING_NONE 0x0000
#if !(__ASSEMBLER__ + __LINKER__ + 0)