Tunguska

Navigation

Overview

Tunguska is a ternary virtual machine and system emulator,
for more information, consult the
about section.

News

23 Jun -11

Project moved to sourceforge web hosting, as the acc.umu.se address will expire soon.

07 Jan -11

Project is still on ice. My thesis has been eating a lot of time, and will continue to do so in the immediate future.

04 Apr -09

Due to a shortage of time, development has been
slow as of late. There are a lot of changes
planned, though, to almost all aspects of
Tunguska.

Memory image

More standard functionality. So far,
memory allocation is in the CVS, and
disk management (with a file system)
is on the way

Lots more programs.

Emulator

A major rewrite of the core mathematics
is planned, and might be forked
into some sort of stand-alone library. Very
fast new algorithms
have been developed, and will significantly boost
the speed of Tunguska.

A new GUI based on GTK+ is likely to come.
A proof of concept grafting of the
Tunguska machine has been successful.

3CC

There are still features to implement in 3CC.
Among the more important, code-wise, is unions and
switch statements.

That is a brief overview of what's going on.

29 Nov -08

Tunguska 0.5 is released! It does
as promised include the 3CC compiler,
various new instructions for 12 trit
manipulation, and some bug fixes.

Oh, and it's ported to windows too.

04 Oct -08

An update on the current status of Tunguska:
Tunguska 0.5 should not be all that far off in
time, hopefully less than a month away, and it
will include 3CC, the experimental
C compiler for tunguska. That is, in fact, the
main change and focus of the release.
There are some minor updates
in the machine as well, primarily a few new
instructions for doing full word arithmetics.

On the subject of 3CC, expect bugs.
It's the initial release,
so it's bound to be a lot less stable than
the relatively proven machine and assembler.

18 Aug -08

Tunguska 0.4.1 is released!

This release is a bug fix, repairing broken operations CAD, XAX and XAY.

07 Aug -08

Tunguska 0.4 is released!

There isn't that many new features, it's mostly
a maturity improvement (as indicated by the
version bump). The news is a new
%INC instruction in the assembler to include
other files, runtime floppy loading/unloading,
RTC access through AGDP, and minor speed improvements.

29 Jul -08

Some updates on the status of
tunguska. The next release (which will be
0.4 -- no need to keep the excessive amount
of zeroes, tunguska isn't alpha any more) is
due in a few days. And the C-like language,
which whill be called 3c (pronpunced trick),
is really coming along well too. It's in
a pre-initial release polish and debugging
phase. Shouldn't be that far away from a release
on the CVS.

05 Jul -08

Tunguska 0.0.3.3 is released. It is a small
bug fix release of the 0.0.3 branch of tunguska.
There is no new fancy features in this version,
it is purely maintenance. There was a small 1
byte buffer overflow that caused random crashes
on some newer systems.

If you experienced crashes with messages
about "malloc() memory corruption" followed
by four screens of debug information, these
should be gone with the new 0.0.3.3 release.

New fancy features are still to come, but they
will be in the 0.0.4.x branch, at least a few
weeks away.

06 Jun -08

A small update: Progress has been slow the last
few months, mainly due to lack of time. Time is
now in abundance, so expect the wheels to start
turning again. There will probably be a new
release of Tunguska sometime this summer, and
possibly also a release of the compiler for the
cross-system (host->tunguska) C-like
programming language.

The news--for now--in the CVS are: Assembler
support for include directives, a RTC and some
partially implemented floppy disk enhancements.

28 Mar -08

Tunguska 0.0.3.2 released, it fixes a small
bug in vector mode: If you see a gray line from
origin to somewhere on the screen, you're affected.
(The bug is a nuisance at most.)

27 Mar -08

Tunguska 0.0.3 released!

... with a new, brighter interface,
a new peripheral AGDP (Auxiliary General Data
Processor), which does floating point arithmetics
and block operations at a mind blowing speed
(compared to doing it the manual way), the
assembler is less of a nazi about cases and has
a few new tricks up it's sleeve, finally, there's
several new instructions for improved debugging,
address comparison and atomic swapping.

Oh, yeah, and bug fixes. Lots and lots of bug fixes.

29 Feb -08

Tunguska 0.0.2 is released!

24 Feb -08

A lot of stuff has been going on in CVS lately.
Besides the stuff listed below, there's raster
graphics, mouse support, zlib compression of output, a floppydisk-like permanent storage device,
a motherload of bugfixes, etc. Alpha 2 shouldn't terribly
far off into the future.

07 Feb -08

Some stuff to expect for alpha version 2:

Vector graphics is
introduced. Atleast rudimentary.
I'm leaving a window open for
the possibility of introducing
Beizer curves in the future.

A new and reworked assembler
based on bison and flex. This
will also come with a revamp
of the assembler syntax (it will
be much, much clearer). I'm
sorry if this causes an
inconvenience, but it
has to happen. The old assembler
was never intended to
do half the stuff it's capable
of now (and most of them are
only possible due to a patchwork
of really ugly code),
and it's so bloated it's
starting to crack
up at the seams. The new
and improved assembler will
be a lot more stable and
dynamic..

Speed improvement,
especially so for multi-core
systems, but also single-core
machines should experience a
pronounced speed boost.