2019-09-30 20:34:57 +02:00
|
|
|
# RETRO 2019.10
|
2019-01-31 22:37:28 +01:00
|
|
|
|
2019-09-30 20:34:57 +02:00
|
|
|
This is a worthwhile release, bringing changes and improvements
|
|
|
|
in several areas.
|
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
## 64-Bit
|
2019-09-30 20:34:57 +02:00
|
|
|
|
|
|
|
RETRO has been 32-bit only since the days of RETRO2 apart from
|
|
|
|
some limited experiments with RETRO11. I'm pleased to say that
|
|
|
|
this release of RETRO12 adds support for building a system with
|
|
|
|
64-bit cells.
|
|
|
|
|
|
|
|
This carries the same limitations regarding instruction packing,
|
|
|
|
addressing, etc as the standard 32-bit system, and is not built
|
|
|
|
by default. If you want to build a 64-bit system, do:
|
|
|
|
|
|
|
|
make clean; make CFLAGS="-O2 -DBIT64"
|
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
## Compatibility
|
2019-09-30 20:34:57 +02:00
|
|
|
|
|
|
|
There are a few small breaks in compatibility.
|
|
|
|
|
|
|
|
`unix:time` was removed. There is some discussion ongoing about
|
|
|
|
this, but leaving it in would be problematic on 32-bit systems
|
|
|
|
in a couple of years when the counter overflows. For now, I have
|
|
|
|
added `clock:timestamp`, but the value of the epoch this uses
|
|
|
|
may change in the future.
|
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
The time functions in the `clock:` namespace are now part of
|
|
|
|
their own I/O device. This aids in allowing them to be enabled
|
|
|
|
on a VM that disables the Unix system interface. In this release
|
|
|
|
the time functions remain accessible via the Unix device, but
|
|
|
|
this will be dropped in the next release.
|
|
|
|
|
|
|
|
## User Interface
|
2019-09-30 20:34:57 +02:00
|
|
|
|
|
|
|
The 'ok' prompt has been removed.
|
|
|
|
|
|
|
|
----
|
2019-08-29 15:18:21 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
# Detailed Changelog
|
2019-09-30 20:34:57 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
Examples
|
2017-11-19 02:12:29 +01:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
- use a `.retro` extension instead of `.forth`
|
|
|
|
- add `Gott.retro`
|
|
|
|
- add `wordwrap.retro`
|
|
|
|
- add `reforth.retro`
|
|
|
|
- add an example showing how to generate an
|
|
|
|
array of namespaces
|
|
|
|
- fixed content type header in Casket
|
2019-10-14 21:30:08 +02:00
|
|
|
- add irc-bot.retro
|
2017-11-19 02:12:29 +01:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
retro-unix
|
2019-08-29 15:18:21 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
- deprecate unix:io:n:put
|
|
|
|
- deprecate unix:io:s:put
|
|
|
|
- deprecate unix:write
|
|
|
|
- remove unix:time
|
|
|
|
- add clock:timestamp
|
|
|
|
- move clock: words to their own device handler
|
|
|
|
- move rng to its own device handler
|
|
|
|
- fix unix:getcwd
|
|
|
|
- fixes to f:to-e and e:to-f
|
|
|
|
- better output on stack under/overflow errors
|
|
|
|
- add guards for floating point stack over/underflow
|
|
|
|
- fix an issue w/loading images
|
|
|
|
- moved xorshift and mersenne rng to examples
|
2019-05-01 14:18:25 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
retro-compiler
|
2017-11-19 02:12:29 +01:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
- add new clock, rng devices to runtime
|
2019-08-25 16:32:52 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
retro-javascript
|
2019-06-27 19:20:03 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
- new interface layout
|
2019-05-01 16:02:34 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
Documentation
|
2019-05-02 17:02:48 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
- fix typos
|
|
|
|
- fix stack comments in the glossary
|
|
|
|
- fix some namespace listings in the glossary
|
|
|
|
- correct an example in the book
|
|
|
|
- formatting improvements in html for glossary server
|
2019-10-14 22:59:08 +02:00
|
|
|
- minor expansions to the descriptions in the glossary
|
2019-05-02 17:02:48 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
Kernel
|
2019-05-02 18:25:16 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
- fix assembly listing in rx.muri
|
|
|
|
- remove an unused function
|
|
|
|
- several clarifications to commentary
|
2019-05-02 13:13:11 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
Tooling
|
2019-09-16 22:34:52 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
- use Luke's proposed changes in retro-muri (C)
|
|
|
|
- add retro-tags
|
|
|
|
- add a tool to export rx.muri as html for better
|
|
|
|
reabability
|
2019-05-01 16:02:34 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
Build
|
2019-09-18 18:48:15 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
- fix a dependency issue with the .retro sources
|
|
|
|
- fix the retro/javascript build tool
|
2019-09-23 17:11:56 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
VM
|
2019-09-23 17:11:56 +02:00
|
|
|
|
2019-10-14 19:39:09 +02:00
|
|
|
- added new queries for cell min/max values
|