TI-84 Plus Emulation: Difference between revisions

From Hackspire
Jump to navigation Jump to search
(Created)
 
(→‎USB: Connection with a computer)
Line 1: Line 1:
==Hardware emulation==
==Hardware emulation==
===USB===
===USB===
The USB ports are not emulated, events on the USB bus are not propagated to the memory-mapped port according to CalcSys and usb8x's USBTools and portmon. The TI-84 Plus (and Titanium) USB controller has a quite complicated port interface, and the TI-Nspire probably uses a different controller. Texas Instruments has probably preferred to integrate a DBUS to the snap-in TI-84 Plus Keypad and emulate it rather than to waste time on USB emulation.  
The USB ports are not emulated, events on the USB bus are not propagated to the memory-mapped port according to CalcSys and usb8x's USBTools and portmon. The TI-84 Plus (and Titanium) USB controller has a quite complicated port interface, and the TI-Nspire probably uses a different controller. Texas Instruments has probably preferred to integrate a DBUS to the snap-in TI-84 Plus Keypad and emulate it rather than to waste time on USB emulation.
 
When connected to a computer linking software such as TI-Connect or [http://lpg.ticalc.org/prj_tilp/ TiLP], a TI-89 Titanium is strangely advertised by the [[USB#USB_Descriptors|USB descriptors]]. Commands can be sent by the computer to this fake Titanium through the OUT endpoint, but the TI-Nspire never responses. Forcing ''TI-84 Plus'' as device type in TiLP doesn't change anything. Since the USB descriptors of the TI-84 Plus ROM image in the TI-Nspire OS have not been changed, the USB attachment is entirely handled by the TI-Nspire, and not by the emulated TI-84 Plus which never sees the USB events as described above.


==Working and non-working programs==
==Working and non-working programs==

Revision as of 09:20, 5 August 2007

Hardware emulation

USB

The USB ports are not emulated, events on the USB bus are not propagated to the memory-mapped port according to CalcSys and usb8x's USBTools and portmon. The TI-84 Plus (and Titanium) USB controller has a quite complicated port interface, and the TI-Nspire probably uses a different controller. Texas Instruments has probably preferred to integrate a DBUS to the snap-in TI-84 Plus Keypad and emulate it rather than to waste time on USB emulation.

When connected to a computer linking software such as TI-Connect or TiLP, a TI-89 Titanium is strangely advertised by the USB descriptors. Commands can be sent by the computer to this fake Titanium through the OUT endpoint, but the TI-Nspire never responses. Forcing TI-84 Plus as device type in TiLP doesn't change anything. Since the USB descriptors of the TI-84 Plus ROM image in the TI-Nspire OS have not been changed, the USB attachment is entirely handled by the TI-Nspire, and not by the emulated TI-84 Plus which never sees the USB events as described above.

Working and non-working programs

Please mention any TI-84 Plus programs which do not work with the TI-Nspire integrated emulator, with enough details for the authors or other hackers to fix them. Mention only noteworthy programs when they work, which wouldn't obviously be compatible for example because of special use of the TI-84 Plus hardware.

Not working

  • usb8x : See USB.
  • MirageOS: Makes the TI-Nspire reboot when run with at least one assembly program in memory. E-mail sent to Dan Englender, waiting for his reponse (ExtendeD 01:11, 5 August 2007 (CEST)).

We don't know

Programs we would like you to try and comment:

  • RealSound

We need your help

  • Try as many assembly programs and flash applications for TI-84 Plus as possible on the TI-Nspire to find which ones do not work. We will try to make them compatible with the TI-Nspire, and may be TI-Nspire hackers may use the underlying emulation flaw. You may also try the non-tested and noteworthy programs mentionned above.
  • Calculate the difference between the CPU and the DBUS speed of the emulated TI-84 Plus and a real one
  • Test intenstly and in details the accuracy of the emulation (CPU, memory mapping, ports, ...)