nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 26 Apr 2024 21:15



Reply to topic  [ 273 posts ]  Go to page Previous  1 ... 8, 9, 10, 11, 12, 13, 14 ... 19  Next
Tunguska the ternary emulator 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22590
Location: Silicon Valley
Reply with quote
http://nedopc.org/ternary/tunguska/tung ... _1-win.zip (1.4M)

2USERS: There is no LOADSUB anymore - use RUN instead. And now it has 3CC compiler inside! :)

2AUTHOR: It looks like I found bug in implementation of new ops: machine.h has last commands enumerated as XAM XAY XAX XYX, but documentation orders them little bit differently: XAM XAX XAY XYX (so XAX and XAY are swapped in source code) - my "alternative assembler" RASM supports these commands as documented, but tunguska and tg_assembler don't - could it be fixed?

P.S. Question to author: May I include your The_Fine_Manual.pdf to our windows Tunguska package?


Last edited by Shaos on 11 Nov 2012 17:53, edited 1 time in total.



17 Aug 2008 16:32
Profile WWW
Maniac

Joined: 17 Sep 2012 13:36
Posts: 277
Location: 81.170.128.52
Reply with quote
Great!

I fixed the XAX/XAY thing in the CVS now.

You're free to include the manual as long as you include it's sources (the .lyx-file) -- or at least a file indicating where they may be found.


18 Aug 2008 06:20
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22590
Location: Silicon Valley
Reply with quote
eudoxie wrote:

I fixed the XAX/XAY thing in the CVS now.


Thanks!

Quote:
You're free to include the manual as long as you include it's sources (the .lyx-file) -- or at least a file indicating where they may be found.


Where can I find it? Is it part of any CVS repository? And what about source of pong.asm? In that package I provided file SOURCES with CVS commands to download sources.


18 Aug 2008 07:35
Profile WWW
Maniac

Joined: 17 Sep 2012 13:36
Posts: 277
Location: 81.170.128.52
Reply with quote
It's only available in the source tarballs at this point, I've been meaning to put it in the CVS but not gotten around to it.

Anyways, I've uploaded a rudimentary memory image written in 3cc to the CVS. It requires the very latest CVS version of both 3cc and tunguska to compile and run properly (there was a problem with the CAD instruction in tunguska causing it to behave... backwards.)

If you would like, I could add you to the tunguska source forge project so you can host your windows ports using it's file release system or even submit code / fixes to the CVS; I've been intending to make this more of a collaborative project for a long time.


18 Aug 2008 10:37
Profile
Maniac

Joined: 17 Sep 2012 13:36
Posts: 277
Location: 81.170.128.52
Reply with quote
I just released tunguska 0.4.1, fixing the broken instructions mentioned.

As for the example code (pong.asm and whatnot), consider them public domain.


18 Aug 2008 13:16
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22590
Location: Silicon Valley
Reply with quote
Thanks for inviting me to your project!

For my projects I usually release:
1) sources
2) binary for Linux/x86
3) binary for MS-DOS
4) binary for Windows
5) binary for Linux/PPC
6) binary for MacOSX/PPC

For your project I think Linux binaries are not needed, because you have "configure" in sources, right? MS-DOS is not an option, because there is no SDL port for it (but actually I can try to do MS-DOS port of Tunguska without SDL at all ;). So I can definitely do port for Windows and MacOS X (PPC only, not "universal", because I have PowerBook G4 with MacOS X 10.4 as second OS). What do you think?


18 Aug 2008 20:31
Profile WWW
Maniac

Joined: 17 Sep 2012 13:36
Posts: 277
Location: 81.170.128.52
Reply with quote
I agree linux binaries are unnecessary, mostly because it's so quick to build, and anyone with enough understanding of computers to actually use tunguska isn't going to have much trouble compiling a tarball.

I agree Windows and MacOS X binaries make more sense.


18 Aug 2008 22:16
Profile
Maniac

Joined: 17 Sep 2012 13:36
Posts: 277
Location: 81.170.128.52
Reply with quote
I've added a debug prompt based on GNU readline to the CVS version of tunguska. It doesn't do very much at the moment, it's mostly proof of concept, but I plan to add stuff like memory inspection and possibly even some form of reverse-assembly functionality.


19 Aug 2008 05:05
Profile
Maniac

Joined: 17 Sep 2012 13:36
Posts: 277
Location: 81.170.128.52
Reply with quote
I just added modulo and division operators for both char and int to 3cc.


20 Aug 2008 12:24
Profile
Maniac

Joined: 17 Sep 2012 13:36
Posts: 277
Location: 81.170.128.52
Reply with quote
Fixed broken ROL and ROR instructions.

As I said earlier in this thread, I'm amazed how well it works with so few apparently working instructions.


21 Aug 2008 07:30
Profile
Maniac

Joined: 17 Sep 2012 13:36
Posts: 277
Location: 81.170.128.52
Reply with quote
I've added four new instructions that makes full word arithmetic a lot faster and easier. Earlier, adding (or even worse) multiplying numbers was half a screen of assembly code. Now it's one instruction.

They use the stack as an auxiliary register so that you can multiply any two given numbers (using any applicable mode of addressing).

Say you want to add 0nDDB443 with the contents of 0n333000, all you have to do is this:
Code:
PSH (0n333000)
ADW 0nDDB443

And the result is stored in the X,Y registers.


27 Aug 2008 15:31
Profile
Maniac

Joined: 17 Sep 2012 13:36
Posts: 277
Location: 81.170.128.52
Reply with quote
I improved the integer to tryte converion algorithm, and added a static look up table. It was already pretty heavily optimized, but since it is one of the most called functions, every bit helps. I estimate about 5% speed increase :-)

--edit--

Whoa. It's proabably closer to 15-20% performance boost! Sweet!


18 Oct 2008 08:11
Profile
Maniac

Joined: 17 Sep 2012 13:36
Posts: 277
Location: 81.170.128.52
Reply with quote
I think Tunguska is about as ready as it's going to get for the 0.5-release. There may be some minor issues with the 3CC-based memory image and maybe some typos in the manual, but I think now is a good time to start working on packages.

I've created a pre-release tarball for testing and whatnot, it lacks the 3cc memory image, but contains tunguska and 3cc.

http://www.acc.umu.se/~achtt315/tungusk ... ase.tar.gz


05 Nov 2008 20:29
Profile
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
Wow! I'm waiting for Win build :) Can't use something other than that now :(


06 Nov 2008 13:55
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22590
Location: Silicon Valley
Reply with quote
eudoxie wrote:
I think Tunguska is about as ready as it's going to get for the 0.5-release. There may be some minor issues with the 3CC-based memory image and maybe some typos in the manual, but I think now is a good time to start working on packages.

I've created a pre-release tarball for testing and whatnot, it lacks the 3cc memory image, but contains tunguska and 3cc.

http://www.acc.umu.se/~achtt315/tungusk ... ase.tar.gz


Again I can't build it in CYGWIN - configure is OK, but make can't find SDL functions to link binary. So, I will compile CVS version of source codes...


06 Nov 2008 19:50
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 273 posts ]  Go to page Previous  1 ... 8, 9, 10, 11, 12, 13, 14 ... 19  Next

Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.