Andrius Štikonas
279941646f
Fix a typo:
...
Recieved -> Received
2019-10-23 20:01:23 +01:00
Dmitry Petukhov
c563ce3ddc
reduce stage0_monitor size by 6 bytes (toggle default zero, use mux)
...
The toggle can have default state of zero, and then non-zero means
second nybble is processed. That allows to skip initialization of
toggle, and save 4 bytes.
But then we cannot create value 1 with 4-byte instruction.
But we can get something out of this situation: we can initialize
R11 to 0x1101, and R15 to 0xF, and then we can get 0x1100 with MUX:
MUX R0 R15 R11 R8 ; 0x1100 = ((0x1101 & ~0xF) | (0 | 0xF))
And we will also have value 0xF in R15.
0xF is used twice as immediate thus we save another 4 bytes
by using non-immediate instructions two times
We save 6 bytes overall.
(We lose 2 bytes because we use immediate load to R15)
2019-10-12 13:01:08 +05:00
Dmitry Petukhov
fe10bd4df4
update hashes for stage0_monitor
2019-10-12 02:42:57 +05:00
Dmitry Petukhov
c9232a21c7
reduce stage0_monitor size by 6 bytes (put often used values in regs)
2019-10-12 01:33:09 +05:00
Dmitry Petukhov
ecf9194374
shave another 4 bytes from stage0 monitor bu using `TRUE R11` for toggle
2019-10-12 01:30:05 +05:00
Dmitry Petukhov
0e3d05fafc
make stage0 monitor 4 bytes smaller by using FALSE to put zero in R1
2019-10-10 01:36:19 +05:00
Jeremiah Orians
8c7341ddf7
Revised cc_x86.s to leverage new M2-Planet support for envp
2018-10-17 16:50:31 -04:00
Jeremiah Orians
bf62112f18
Thank you akkartik
2018-09-19 22:03:14 -04:00
Jeremiah Orians
f2acc132f9
Expand documentation and make cc_x86.s compatable with M2-Planet's --debug
2018-08-31 18:52:18 -04:00
Jeremiah Orians
8a9eec7dce
Correct unupdated checksum
2018-08-26 15:35:31 -04:00
Jeremiah Orians
2988d0e391
Release_0.2.0
2018-08-26 12:12:30 -04:00
Jeremiah Orians
f513b3f6ac
Release 0.1.0
2018-03-20 20:45:33 -04:00
Jeremiah Orians
8396dc15df
Tuned M0 for much better performance (down to 9/32 previous)
2017-12-26 00:01:53 -05:00
Jeremiah Orians
deac93c6f2
Updated hex2 to improve performance and reduce size
2017-12-24 17:17:37 -05:00
Jeremiah Orians
c81c2567ab
Shrink stage1_assembler-1 further
2017-12-23 17:53:31 -05:00
Jeremiah Orians
cb2bc1309f
Trimmed down hex0 and improved its performance
2017-12-23 17:17:24 -05:00
Jeremiah Orians
0805284391
Hex1 assembler optimization to reduce size and number of clock cycles
...
required to process input
2017-12-17 21:29:35 -05:00
Jeremiah Orians
45d9394d43
Eliminated stage1_assembler-0's need for memory
2017-12-16 18:51:51 -05:00
Jeremiah Orians
2b7e24e31c
Forgot to update the checksums
2017-09-16 07:46:44 -04:00
Jeremiah Orians
c06faa77e0
Release 0.0.9
2017-08-18 12:02:02 -04:00
Jeremiah Orians
9be2763c40
Incorporated number? and symbol? into stage2 lisp
2017-08-18 11:41:21 -04:00
Jeremiah Orians
1926a9d6b7
Added list->string primitive to stage2 lisp
2017-08-18 11:15:59 -04:00
Jeremiah Orians
ec47252222
Accidentally forgot to update the checksums
2017-07-30 21:56:11 -04:00
Jeremiah Orians
21e06a6dfa
Bunch of renames and 1 new internal function for future use
2017-07-30 21:14:25 -04:00
Jeremiah Orians
51c7c98a05
Adding string? primitive to stage2 lisp
2017-07-30 21:01:09 -04:00
Jeremiah Orians
157bec9609
Added char? primitive to stage2 lisp
2017-07-30 20:53:23 -04:00
Jeremiah Orians
ef68ad2d3b
Added string->list to stage2 lisp
2017-07-30 20:38:56 -04:00
Jeremiah Orians
7619d6c779
Added char->integer and integer->char
2017-07-30 18:42:36 -04:00
Jeremiah Orians
f3f8ec5a32
Implemented basic raw string support in stage2 lisp, many more
...
enhancements required to make it fully useful
2017-07-30 18:04:29 -04:00
Jeremiah Orians
5b302ba9d0
Actually write to the desired output
2017-07-13 22:01:25 -04:00
Jeremiah Orians
23b12e0ef9
Fixed lisp's behavior when there is insufficient memory
2017-06-24 11:49:28 -04:00
Jeremiah Orians
4963fcfebc
Implemented graceful FAILURE and PRINT
2017-06-24 10:06:50 -04:00
Jeremiah Orians
a51c243088
Implementing LSHIFT and RSHIFT per request
2017-06-24 08:49:08 -04:00
Jeremiah Orians
37b061defc
Ensure changelog, checksums and whitespacing rules are updated and enforced
2017-06-24 08:14:31 -04:00
Jeremiah Orians
800c867085
Altered EXECUTE into indirection
2017-06-17 22:27:15 -04:00
Jeremiah Orians
3b05f83e6a
Fixed the Carriage return issue and CMOVE zeroing issue
2017-06-17 22:05:33 -04:00
Jeremiah Orians
b3eedb60de
Refining FORTH to enable more productive development
2017-06-17 00:02:33 -04:00
Jeremiah Orians
97a145ac1f
Enabled support for HIDDEN Flag
2017-06-16 18:08:33 -04:00
Jeremiah Orians
c43171c7d2
Added requested ABORT function to forth
2017-06-16 17:43:57 -04:00
Jeremiah Orians
8b0384b370
Added an EXECUTE command primitive to stage2 forth
2017-06-16 16:36:03 -04:00
Jeremiah Orians
9e2d807553
Fixed the arithmetic order issue found by reepca
2017-06-15 16:36:05 -04:00
Jeremiah Orians
41d3ebb643
Fixing forth comparisons thanks to reepca
2017-06-15 06:33:45 -04:00
Jeremiah Orians
54f4019767
Incorporated requested function into stage2 forth
2017-06-14 23:07:50 -04:00
Jeremiah Orians
2a12799d82
Fixings remaining stack offset bugs
2017-06-14 21:25:41 -04:00
Jeremiah Orians
02b2d231a6
Bug fix thanks to reepca
2017-06-14 21:13:52 -04:00
Jeremiah Orians
2882db4338
Incorporated DEHEX rom into build process
2017-06-03 20:48:38 -04:00
Jeremiah Orians
a37d738138
Wrapup work following new function implementation
2017-05-30 23:02:04 -04:00
Jeremiah Orians
5575d78b18
Added a basic test for correctness of rom results
2017-05-29 23:08:33 -04:00