TilEm is dead, long live TilEm2

Benjamin Moody (floppus maximus) and myself Thibault Duponchelle(contra-sh) are proud to announce the first release of TilEm2.

You probably already know TilEm "old" because it was a good emulator serving the community since 2000 (written by Julien Solignac then improved and maintained by Moody Benjamin)
For those who don't know, TilEm is an emulator that reproduce behavior of z80 based Texas Instrument Calculator (TI73 through TI86 including the TI81 :p). As the others emulators, TilEm2 needs an official rom of course.

TilEm old was available for GNU/Linux natively then ported to Windows and Mac.
TilEm2 is already available for GNU/Linux and Windows (TilEm2 is likely to work on Mac OS X, but we have not tested it)

3 years ago, I joined the team and we started to work on a new version of TilEm.
Even if it seems to be a sequel, all the code was written from scratch, including a new emulation core written by Benjamin.

This new version is released for beta testing.

It features highly detailed hardware emulation.
TilEm 2's hardware emulation is greatly improved - it's now at least on par with, and in some cases better than, any other emulator released to date.
All of the Z80 models are supported (including both hardware revisions of the TI-81 and both revisions of the TI-82); the only part of the hardware that is not currently emulated is the TI-84 Plus USB controller.

Sending/receiving programs, variables, and applications :


  • TilEm2 uses libticalcs and provides visual feedback by printing progress and allowing cancel.
  • You can send single or grouped vars, flashapp, or whatever you want.
  • A nice receive window allow you to save programs from your calc to you computer.
  • There's also the possiblity to send and receive to and from the ti81.


Grayscale emulation :


  • TilEm has had grayscale support for many years (originally an FIR filter supporting only 4 levels; later changed to an IIR filter supporting 64 levels, but with a tendency to flicker.)
    TilEm 2, however, uses a completely new grayscale algorithm based on a modified FIR filter, which should work a lot better.


Saving screenshots :


  • You can record animations (gif) or simply grab a static screenshot (png,
    bmp, gif output and more...).
  • There's a lot of setting as size (at least 3 default size per model plus
    custom size), foreground/background color, animation speed.
    And of course a preview window to see before saving what you have done.


A full featured debugger for assembly programming :


  • With memory view (could be edited), disassembly view, registers (could be
    edited), stack, breakpoints, step by step, and more ...


Macro :


  • It allow to record key press and execute automatically (at startup or when
    you load the macro file).


New pack of skin and new skin format (TiEmu skin file) :


  • You can now do a skin for TilEm2 in 15 min and you can do some funny stuff
    (see the documentation about skins)


This version has a new and improved user interface, as well as many
improvements to the hardware emulation.
See the project website at http://lpg.ticalc.org/prj_tilem/ for more
information.

This release is only a step, development goes on. We will add some new features to TilEm2 soon. In addition to the features you will request and bug we will have to fix.
You will find a long user manual here : http://contra-sh.users.sourceforge.net/user_manual.html
This program was made for YOU users.
Please report bugs and feature request (on the Sourceforge forum : http://sourceforge.net/projects/tilem/forums/forum/84646)
The current maintainers of TilEm are Benjamin Moody and Thibault Duponchelle (but many other people have played a part in making this program possible especially Hugues Luc Bruant "fullmetalcoder" who started a qt gui and helped us a little for other stuff and Scott Zeid which provides the pictures from which are based the icons).

Have fun with TilEm2 !!!

Liens :

Official website
Download TilEm2
PDF documentation
Online Doc
Contact)
I think TilEm does not recognise my TI-84+ ROM. I get a selection menu with the following options:
o TI-83+ SE
o TI-84+ SE
o TI-Nspire (84+ mode)

But there's no plain TI-84+ option here. When I go with the second option, I only get a blank screen.
For your report, here is the terminal output when opening the ROM:

Code:

xz: Repairing certificate area...
xz: Found application at page 69 (index 0)
xz: Found application at page 66 (index 3)
xz: Found application at page 65 (index 4)
xz: Found application at page 64 (index 5)
xz: Found application at page 63 (index 6)
xz: Found application at page 61 (index 8)
xz: Found application at page 3a (index 47)
xz: Found application at page 29 (index 64)
xz: Found application at page 26 (index 67)
xz: Found application at page 25 (index 68)
xz: Found application at page 24 (index 69)
xz: Found application at page 23 (index 70)
xz: Found application at page 21 (index 72)
ticables-INFO: ticables library version 1.3.4
ticables-INFO: setlocale: nl_NL.UTF-8
ticables-INFO: bindtextdomain: /usr/share/locale
ticables-INFO: textdomain: libticables2
ticables-INFO: kernel: 3.0.0-12-generic
tifiles-INFO: tifiles library version 1.1.6
tifiles-INFO: setlocale: nl_NL.UTF-8
tifiles-INFO: bindtextdomain: /usr/share/locale
tifiles-INFO: textdomain: libtifiles2
ticalcs-INFO: ticalcs library version 1.1.8
ticalcs-INFO: setlocale: nl_NL.UTF-8
ticalcs-INFO: bindtextdomain: /usr/share/locale
ticalcs-INFO: textdomain: libticalcs2
xz: Flash unlocked
xz: WARNING: Writing to protected port 14

Hope this can be fixed Smile

EDIT: Stupid me, I didnt know that the calc 'screen' is white when turned off. Pressed f12 and it worked. Sorry x.x
Something is definitely wrong there - it looks like a bug in the ROM dumper (it apparently thought your calc was an 84+ SE, so you have what must be two copies of the ROM concatenated together, making the complete file 2 MB.)

(It's not surprising, but still kind of funny, that TilEm thinks page 3A is an application.)

Did you say that you had used TiLP to dump your ROM? Was that using a direct USB cable (BrandonW's ROM dumper) or one of the classic link cables (mine)?

It's also amusing that an 84+ ROM actually works as an 84+ SE. However, it will probably have serious problems if you try to do things like installing Flash apps. To fix this (assuming my guess is correct and it really is just two copies of the same ROM), cut the file in half. Or open the sav file in your favorite text editor, and change 'MODEL=ti84pse' to 'MODEL=ti84p'.

Anyway, if there's a bug in the ROM dumper(s), we should fix it.
I used TiLP to dump the ROM, and I was using a dUSB cable (This USB<>MiniUSB thing).
This is all so exciting! I've used TilEm for a while, but I ditched it for Wabbit's relative stabilty. I will definitely try TilEm 2.

BTW, I have two feature requests: First, I'd like to have multiple calcs with calc-to-calc linking. Also, if Unix has a joystick library, I'd like to see it integrated into TilEm so that the multiple calcs (and, in some cases, single calcs) can be controlled simultaneously with joysticks.

aeTIos wrote:
I used TiLP to dump the ROM, and I was using a dUSB cable (This USB<>MiniUSB thing).

Will a rom8x generated ROM work in TilEm?
Compynerd255 wrote:
BTW, I have two feature requests: First, I'd like to have multiple calcs with calc-to-calc linking. Also, if Unix has a joystick library, I'd like to see it integrated into TilEm so that the multiple calcs (and, in some cases, single calcs) can be controlled simultaneously with joysticks.

Calc-to-calc linking is definitely on the todo list.

I haven't done anything with a joystick in years. Smile I don't know if there is a standard way to handle joysticks in X11, or even if X.org supports joysticks at all. Anyway, how exactly would you want that to work? I guess the joystick axes would be mapped to the arrow keys, and the buttons to a handful of other keys? And then, I guess you would want some way for one TilEm instance to "grab" the joystick so it continues working even when another window has input focus?

(On another note, one of the other things on my todo list is to allow connecting USB devices - either real or emulated - to the virtual 84+. I'm guessing this isn't what you meant, but a USB joystick could be used that way, e.g. via usb8x.)

Compynerd255 wrote:

Will a rom8x generated ROM work in TilEm?

Yes. You will need to load an OS, of course.
Quote:

On another note, one of the other things on my todo list is to allow connecting USB devices - either real or emulated - to the virtual 84+. I'm guessing this isn't what you meant, but a USB joystick could be used that way, e.g. via usb8x.

Does that also mean linking a 84+ to TiLem? Cool Very Happy
I will have to test this out eventually!

Does this only take roms, or does it take 8xu's? (Signed and unsigned)

For linking, would you be doing IO only, or USB linking as well? If so, is/will the emulator intercepting any data sent or received?

Does it take animated screenies? Razz
AHelper wrote:
Does it take animated screenies? Razz

contra-sh wrote:
You can record animations (gif) or simply grab a static screenshot (png, bmp, gif output and more...).
aeTIos wrote:
Does that also mean linking a 84+ to TiLem? Cool Very Happy

Yes, but with a major caveat. The 84+ supports the USB Host Negotiation Protocol, and based on my past experiments, it appears that USB calc-to-calc linking relies on the use of HNP: when sending variables, the OS expects to be the USB host. Since most PCs don't support HNP (it's a matter of hardware support, not just software) it will be possible to send variables from the emulator to the real calc, but not vice versa.

AHelper wrote:
Does this only take roms, or does it take 8xu's? (Signed and unsigned)

You do need a ROM file to begin with (you need the boot code, which is not included in an 8xu file.) You can send 8xu files to TilEm - this uses the standard link protocol, so it will work only for signed OSes. If you want to install an unofficial OS, you might try BrandonW's Free83p.

Quote:
For linking, would you be doing IO only, or USB linking as well? If so, is/will the emulator intercepting any data sent or received?

I think "classic" link cables (including the SilverLink) will be first; USB will be done eventually but it's substantially more work. I hadn't thought about logging the data sent/received, but that's a good idea.

Quote:
Does it take animated screenies? Razz
Yep! Open the screenshot window and click "record" to start an animation, then "stop" to finish.
It's nice to see TilEm get some more improvements. It's the emulator I use the most, mainly because it's the one that needs the fewest hoops for linux support. (besides jstified)

Is there any chance we'll start to see it in standard package repos? That would be really nice.
yes could this be added to debian/sabayon/arch repositories?
Its in the AUR on arch, the maintainer just needs to update the PKGBUILD and upload a new src.pkg.tar.gz
Cool, I did not know that. It's also apparently in the FreeBSD ports system. I think TilEm should be fairly easy to package, but it needs to be done by people who are familiar with the various packaging systems. And it also depends on having libti* packages available.
Good news is debian has the libti packages, all separate from tilp. Bad news is that they're all as old as tilp 1.12. I'm not sure what version tilem2 needs.

By the way, by far the easiest way to handle joysticks in Unix systems is with SDL, but there are several ways to do so outside of it. SDL also has the advantage of being extremely portable, so the joystick support could easily extend into windows and mac.
The libti*/gfm/tilp packages for Debian derivatives are hopelessly outdated. While TilEm would work with them, I strongly advise against using these outdated packages, because dozens of bugfixes, among which significant TI-Z80-related ones, have been integrated since more than three years ago.

In my experience, http://lpg.ticalc.org/prj_tilp/download/install_tilp.sh has proved very useful to users. You should make the same kind of script for tilem Smile

And I second the suggestion of using SDL in TilEm. TIEmu optionally uses it for sound emulation.
willrandship wrote:
Good news is debian has the libti packages, all separate from tilp. Bad news is that they're all as old as tilp 1.12. I'm not sure what version tilem2 needs.

By the way, by far the easiest way to handle joysticks in Unix systems is with SDL, but there are several ways to do so outside of it. SDL also has the advantage of being extremely portable, so the joystick support could easily extend into windows and mac.
You can always just interface with the joysticks directly (/dev/js* or /dev/input/js*) A simple example can be found here. (I think SDL would be a bit too much for supporting just joysticks...)
Why has debian been left out in the sun for tilp package updates, anyhow? It really is the easiest way to install software.
Quote:
Why has debian been left out in the sun for tilp package updates, anyhow?

Good question...
I have notified the Debian package maintainer for the TILP II 1.14 and 1.15 releases, to no avail. I have also commented on the recent https://bugs.launchpad.net/ubuntu/+source/tilp2/+bug/1010222 named "Outdated version of TiLP2"; in that bug, users interested in having the libti* packages updated (even if it's better to just use install_tilp.sh to benefit of the latest greatest) could weigh in Smile

Quote:
It really is the easiest way to install software.

Indeed.
At one point I was investigating libraries that we might use for sound output, and SDL seemed to be the most promising. So that may be an option. I don't know anything about its joystick support.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 2
» All times are UTC - 5 Hours
 
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 vote in polls in this forum

 

Advertisement