You are here

VTi Portable 2.5 Beta 5 Development Test 2

18 posts / 0 new
Last post
OliverK
OliverK's picture
Offline
Last seen: 2 years 9 months ago
Developer
Joined: 2007-03-27 15:21
VTi Portable 2.5 Beta 5 Development Test 2

Application:VTi
Category:Education
Description: The popular TI calculator packaged to go as a portable app. Please realize that if you do not have Administrative rights, the application cannot function, and will alert you. The source is included, so if you could manage to fix that, we'd all be really really rea... thankful

You will need roms. Two LEGAL roms available for download from the Ti Education website. Note: I know these work, if you wish to use the other roms, you will need to dig up older versions then are currently on the website. If I find them, I'll link them. Place the roms under Data\roms\

  • TI-92 Plus
  • TI-89 OS Do not use the Titanium rom- it will not function.
  • I was able to get ahold of the TI-83+ by emailing. Ask for TI-84 Plus OS 1.03
  • I found this online. It or the TI-83+ ROM image

I located the source for the project and included it under Other\Source\vtisrc.zip

Download VTi Portable 2.5.0.5 Development Test 2
Download VTi Portable from Nascent Project Mirror
[1.32 MB download / 1.5 MB installed]
(MD5: 9a72d4d1e6eb89ce0c9f946b125d22dd)

Release Notes:

Development Test 1 (2008-09-30): Initial release

Development Test 2 (2008-10-2): REQUIRED UPDATE!

LOGAN-Portable
LOGAN-Portable's picture
Offline
Last seen: 11 years 2 months ago
Developer
Joined: 2007-09-11 12:24
any reason why the needed

any reason why the needed legal ROM's are not included in the application?

OliverK
OliverK's picture
Offline
Last seen: 2 years 9 months ago
Developer
Joined: 2007-03-27 15:21
To stay away from licensing

To stay away from licensing issues- I'd rather not worry about them, plus then I'd have to get permission from TI. You can actually just download the Operating Systems for the calculator, then put them in data\roms.

Too many lonely hearts in the real world
Too many bridges you can burn
Too many tables you can't turn
Don't wanna live my life in the real world

Strife89
Offline
Last seen: 15 years 6 months ago
Joined: 2007-11-16 14:26
What about other calculators?

Can one use the TI-83 or 84 ROMs with this? Also, how would I install apps or programs (if it's even possible)?

OliverK
OliverK's picture
Offline
Last seen: 2 years 9 months ago
Developer
Joined: 2007-03-27 15:21
You would need to get the

You would need to get the roms for those. If you can find a TI-84 operating system versions 1.03 or somewhere, put that under Data\roms. Any OS's/ROMS should be placed in that directory.

Installing apps requires older linking cables. Right click anywhere on the calculator and you'll get a display of the options.

I'm working on the getting the launcher to allow multiple luanches, so that you can also do the virtual link.

Too many lonely hearts in the real world
Too many bridges you can burn
Too many tables you can't turn
Don't wanna live my life in the real world

keizer_or
Offline
Last seen: 2 months 1 week ago
Joined: 2007-02-15 16:37
ROMs

If I download a ROM from the TI web page, then what do I do? Those ROMs are for uploading to a calculator. Any help?

OliverK
OliverK's picture
Offline
Last seen: 2 years 9 months ago
Developer
Joined: 2007-03-27 15:21
I'm going to assume that its

I'm going to assume that its installed to the PortableApps Directory and has been run at least once.

You will have the following folder directory style

PortableApps
---VTiPortable
------App
---------DefualtData
---------VTi
------Data
---------settings
---------roms
------------TI-89.89u
------------(Whatever other os's you managed to find)
------Other

Download the OS/roms. Put them in the roms folder. Yes, they are for uploading to the calculator, however, VTi will use them for the calculator.

I hope this answers your question.

Too many lonely hearts in the real world
Too many bridges you can burn
Too many tables you can't turn
Don't wanna live my life in the real world

keizer_or
Offline
Last seen: 2 months 1 week ago
Joined: 2007-02-15 16:37
ROMs

Thank you.

OliverK
OliverK's picture
Offline
Last seen: 2 years 9 months ago
Developer
Joined: 2007-03-27 15:21
No Problem. General

No Problem.

General Announcement: Be looking for a update in a couple of hours

Too many lonely hearts in the real world
Too many bridges you can burn
Too many tables you can't turn
Don't wanna live my life in the real world

Devo
Offline
Last seen: 4 months 3 weeks ago
Joined: 2007-09-04 14:55
Skins Directory

I had actually written a launcher for it awhile back which allowed for a roms directory, a settings directory, and a skins directory. It would be nice if you could also have a folder under the data directory for the skins too, it makes the program much more usable. If you want I can post my launcher here, it's pretty rough so I'm sure you can find a better way to do it. Let me know.

OliverK
OliverK's picture
Offline
Last seen: 2 years 9 months ago
Developer
Joined: 2007-03-27 15:21
Sure, go ahead and post the

Sure, go ahead and post the source code.

Right now, there's no file movement, something I'd prefer to keep.

Too many lonely hearts in the real world
Too many bridges you can burn
Too many tables you can't turn
Don't wanna live my life in the real world

Devo
Offline
Last seen: 4 months 3 weeks ago
Joined: 2007-09-04 14:55
It's Pretty Rough

It's pretty rough, and the code could probably be cleaned up a bit, but here it is:

;Copyright (C) 2004-2008 John T. Haller
;Copyright (C) 2008 Devo

;Website: http://PortableApps.com/Development/test

;This software is OSI Certified Open Source Software.
;OSI Certified is a certification mark of the Open Source Initiative.

;This program is free software; you can redistribute it and/or
;modify it under the terms of the GNU General Public License
;as published by the Free Software Foundation; either version 2
;of the License, or (at your option) any later version.

;This program is distributed in the hope that it will be useful,
;but WITHOUT ANY WARRANTY; without even the implied warranty of
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;GNU General Public License for more details.

;You should have received a copy of the GNU General Public License
;along with this program; if not, write to the Free Software
;Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

!define PORTABLEAPPNAME "VirtualTI Portable"
!define NAME "VirtualTIPortable"
!define APPNAME "VirtualTI"
!define VER "2.5.0.5"
!define WEBSITE "http://www.ticalc.org/archives/files/fileinfo/84/8442.html"
!define DEFAULTEXE "Vti.exe"
!define DEFAULTAPPDIR "virtualti"
!define DEFAULTSETTINGSPATH "settings"

;=== Program Details
Name "${PORTABLEAPPNAME}"
OutFile "..\..\${NAME}.exe"
Caption "${PORTABLEAPPNAME} | PortableApps.com"
VIProductVersion "${VER}"
VIAddVersionKey ProductName "${PORTABLEAPPNAME}"
VIAddVersionKey Comments "Allows ${APPNAME} to be run from a removable drive.  For additional details, visit ${WEBSITE}"
VIAddVersionKey CompanyName "PortableApps.com"
VIAddVersionKey LegalCopyright "John T. Haller"
VIAddVersionKey FileDescription "${PORTABLEAPPNAME}"
VIAddVersionKey FileVersion "${VER}"
VIAddVersionKey ProductVersion "${VER}"
VIAddVersionKey InternalName "${PORTABLEAPPNAME}"
VIAddVersionKey LegalTrademarks "PortableApps.com is a Trademark of Rare Ideas, LLC."
VIAddVersionKey OriginalFilename "${NAME}.exe"
;VIAddVersionKey PrivateBuild ""
;VIAddVersionKey SpecialBuild ""

;=== Runtime Switches
CRCCheck On
WindowIcon Off
SilentInstall Silent
AutoCloseWindow True
RequestExecutionLevel user

; Best Compression
SetCompress Auto
SetCompressor /SOLID lzma
SetCompressorDictSize 32
SetDatablockOptimize On

;=== Include
!include "Registry.nsh"
!include "GetParameters.nsh"
!include "MUI.nsh"

;=== Program Icon
Icon "..\..\App\AppInfo\appicon.ico"

;=== Icon & Stye ===
!define MUI_ICON "..\..\App\AppInfo\appicon.ico"

;=== Languages
!insertmacro MUI_LANGUAGE "English"

LangString LauncherFileNotFound ${LANG_ENGLISH} "${PORTABLEAPPNAME} cannot be started. You may wish to re-install to fix this issue. (ERROR: $MISSINGFILEORPATH could not be found)"
LangString LauncherAlreadyRunning ${LANG_ENGLISH} "Another instance of ${APPNAME} is already running. Please close other instances of ${APPNAME} before launching ${PORTABLEAPPNAME}."
LangString LauncherAskCopyLocal ${LANG_ENGLISH} "${PORTABLEAPPNAME} appears to be running from a location that is read-only. Would you like to temporarily copy it to the local hard drive and run it from there?$\n$\nPrivacy Note: If you say Yes, your personal data within ${PORTABLEAPPNAME} will be temporarily copied to a local drive. Although this copy of your data will be deleted when you close ${PORTABLEAPPNAME}, it may be possible for someone else to access your data later."
LangString LauncherNoReadOnly ${LANG_ENGLISH} "${PORTABLEAPPNAME} can not run directly from a read-only location and will now close."

Var PROGRAMDIRECTORY
Var SETTINGSDIRECTORY
Var ADDITIONALPARAMETERS
Var EXECSTRING
Var PROGRAMEXECUTABLE
Var INIPATH
Var DISABLESPLASHSCREEN
Var ISDEFAULTDIRECTORY
Var SECONDARYLAUNCH
Var FAILEDTORESTOREKEY
Var MISSINGFILEORPATH


Section "Main"
	;=== Check if already running
	System::Call 'kernel32::CreateMutexA(i 0, i 0, t "${NAME}2") i .r1 ?e'
	Pop $0
	StrCmp $0 0 CheckForINI
		StrCpy $SECONDARYLAUNCH "true"

	CheckForINI:
	;=== Find the INI file, if there is one
		IfFileExists "$EXEDIR\${NAME}.ini" "" NoINI
			StrCpy "$INIPATH" "$EXEDIR"
			Goto ReadINI

	ReadINI:
		;=== Read the parameters from the INI file
		ReadINIStr $0 "$INIPATH\${NAME}.ini" "${NAME}" "${APPNAME}Directory"
		StrCpy "$PROGRAMDIRECTORY" "$EXEDIR\$0"
		ReadINIStr $0 "$INIPATH\${NAME}.ini" "${NAME}" "SettingsDirectory"
		StrCpy "$SETTINGSDIRECTORY" "$EXEDIR\$0"

		;=== Check that the above required parameters are present
		IfErrors NoINI

		ReadINIStr $0 "$INIPATH\${NAME}.ini" "${NAME}" "AdditionalParameters"
		StrCpy "$ADDITIONALPARAMETERS" $0
		ReadINIStr $0 "$INIPATH\${NAME}.ini" "${NAME}" "${APPNAME}Executable"
		StrCpy "$PROGRAMEXECUTABLE" $0
		ReadINIStr $0 "$INIPATH\${NAME}.ini" "${NAME}" "DisableSplashScreen"
		StrCpy "$DISABLESPLASHSCREEN" $0

	;CleanUpAnyErrors:
		;=== Any missing unrequired INI entries will be an empty string, ignore associated errors
		ClearErrors

		;=== Correct PROGRAMEXECUTABLE if blank
		StrCmp $PROGRAMEXECUTABLE "" "" CheckForProgramINI
			StrCpy "$PROGRAMEXECUTABLE" "${DEFAULTEXE}"
			Goto CheckForProgramINI
			
	CheckForProgramINI:
		IfFileExists "$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE" FoundProgramEXE NoProgramEXE

	NoINI:
		;=== No INI file, so we'll use the defaults
		StrCpy "$ADDITIONALPARAMETERS" ""
		StrCpy "$PROGRAMEXECUTABLE" "${DEFAULTEXE}"
		StrCpy "$DISABLESPLASHSCREEN" "false"

		IfFileExists "$EXEDIR\App\${DEFAULTAPPDIR}\${DEFAULTEXE}" "" NoProgramEXE
			StrCpy "$PROGRAMDIRECTORY" "$EXEDIR\App\${DEFAULTAPPDIR}"
			StrCpy "$SETTINGSDIRECTORY" "$EXEDIR\Data\${DEFAULTSETTINGSPATH}"
			StrCpy "$ISDEFAULTDIRECTORY" "true"
			GoTo FoundProgramEXE

	NoProgramEXE:
		;=== Program executable not where expected
		StrCpy $MISSINGFILEORPATH $PROGRAMEXECUTABLE
		MessageBox MB_OK|MB_ICONEXCLAMATION `$(LauncherFileNotFound)`
		Abort
		
	FoundProgramEXE:
		;=== Check if already running
		StrCmp $SECONDARYLAUNCH "true" CheckForSettings
		FindProcDLL::FindProc "$PROGRAMEXECUTABLE"                 
		StrCmp $R0 "1" WarnAnotherInstance CheckForSettings

	WarnAnotherInstance:
		MessageBox MB_OK|MB_ICONINFORMATION `$(LauncherAlreadyRunning)`
		Abort
	
	CheckForSettings:
		IfFileExists "$SETTINGSDIRECTORY\*.*" SettingsFound
		;=== No settings found
		StrCmp $ISDEFAULTDIRECTORY "true" CopyDefaultSettings
		CreateDirectory $SETTINGSDIRECTORY
		Goto SettingsFound
	
	CopyDefaultSettings:
		CreateDirectory "$EXEDIR\Data"
		CreateDirectory "$EXEDIR\Data\settings"
		CreateDirectory "$EXEDIR\Data\roms"
		CreateDirectory "$EXEDIR\Data\skins"
		CopyFiles /SILENT $EXEDIR\App\DefaultData\settings\*.* $EXEDIR\Data\settings
		CopyFiles /SILENT $EXEDIR\App\DefaultData\skins\*.* $EXEDIR\Data\skins
		Goto SettingsFound

	SettingsFound:
		StrCmp $DISABLESPLASHSCREEN "true" GetPassedParameters
			;=== Show the splash screen before processing the files
			InitPluginsDir
			File /oname=$PLUGINSDIR\splash.jpg "${NAME}.jpg"	
			newadvsplash::show /NOUNLOAD 1500 200 0 -1 /L $PLUGINSDIR\splash.jpg

	GetPassedParameters:
		;=== Get any passed parameters
		Call GetParameters
		Pop $0
		StrCmp "'$0'" "''" "" LaunchProgramParameters

		;=== No parameters
		StrCpy $EXECSTRING `"$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE"`
		Goto AdditionalParameters

	LaunchProgramParameters:
		StrCpy $EXECSTRING `"$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE" $0`

	AdditionalParameters:
		StrCmp $ADDITIONALPARAMETERS "" RegistryBackup

		;=== Additional Parameters
		StrCpy $EXECSTRING `$EXECSTRING $ADDITIONALPARAMETERS`

	RegistryBackup:
		StrCmp $SECONDARYLAUNCH "true" LaunchAndExit
		;=== Backup the registry
		${registry::KeyExists} "HKEY_LOCAL_MACHINE\SOFTWARE\ACZ-BackupByVirtualTIPortable" $R0
		StrCmp $R0 "0" RestoreTheKey
		${registry::KeyExists} "HKEY_LOCAL_MACHINE\SOFTWARE\ACZ" $R0
		StrCmp $R0 "-1" RestoreTheKey
		${registry::MoveKey} "HKEY_LOCAL_MACHINE\SOFTWARE\ACZ" "HKEY_LOCAL_MACHINE\SOFTWARE\ACZ-BackupByVirtualTIPortable" $R0
		Sleep 100
		
	RestoreTheKey:
		IfFileExists "$SETTINGSDIRECTORY\virtualti.reg" "" LaunchNow
	
		IfFileExists "$WINDIR\system32\reg.exe" "" RestoreTheKey9x
			nsExec::ExecToStack `"$WINDIR\system32\reg.exe" import "$SETTINGSDIRECTORY\virtualti.reg"`
			Pop $R0
			StrCmp $R0 '0' LaunchNow ;successfully restored key

	RestoreTheKey9x:
		${registry::RestoreKey} "$SETTINGSDIRECTORY\virtualti.reg" $R0
		StrCmp $R0 '0' LaunchNow ;successfully restored key
		StrCpy $FAILEDTORESTOREKEY "true"
	
	LaunchNow:
		CopyFiles /SILENT $EXEDIR\Data\roms\*.* $EXEDIR\App\${DEFAULTAPPDIR}
		CopyFiles /SILENT $EXEDIR\Data\skins\*.* $EXEDIR\App\${DEFAULTAPPDIR}
		SetOutPath $PROGRAMDIRECTORY
		Sleep 100
		ExecWait $EXECSTRING
		
	CheckRunning:
		Sleep 1000
		FindProcDLL::FindProc "${DEFAULTEXE}"                  
		StrCmp $R0 "1" CheckRunning
		
		StrCmp $FAILEDTORESTOREKEY "true" SetOriginalKeyBack
		${registry::SaveKey} "HKEY_LOCAL_MACHINE\SOFTWARE\ACZ" "$SETTINGSDIRECTORY\virtualti.reg" "" $0
		Sleep 100
	
	SetOriginalKeyBack:
		${registry::DeleteKey} "HKEY_LOCAL_MACHINE\SOFTWARE\ACZ" $R0
		Sleep 100
		${registry::KeyExists} "HKEY_LOCAL_MACHINE\SOFTWARE\ACZ-BackupByVirtualTIPortable" $R0
		StrCmp $R0 "-1" TheEnd
		${registry::MoveKey} "HKEY_LOCAL_MACHINE\SOFTWARE\ACZ-BackupByVirtualTIPortable" "HKEY_LOCAL_MACHINE\SOFTWARE\ACZ" $R0
		Sleep 100
		Goto TheEnd
	
	LaunchAndExit:
		SetOutPath $PROGRAMDIRECTORY
		Sleep 100
		Exec $EXECSTRING
	
	TheEnd:
		CopyFiles /SILENT $EXEDIR\App\${DEFAULTAPPDIR}\*.rom $EXEDIR\Data\roms
		CopyFiles /SILENT $EXEDIR\App\${DEFAULTAPPDIR}\*.sav $EXEDIR\Data\roms
		CopyFiles /SILENT $EXEDIR\App\${DEFAULTAPPDIR}\*.9xu $EXEDIR\Data\roms
		CopyFiles /SILENT $EXEDIR\App\${DEFAULTAPPDIR}\*.89u $EXEDIR\Data\roms
		CopyFiles /SILENT $EXEDIR\App\${DEFAULTAPPDIR}\*.skn $EXEDIR\Data\skins
		Delete "$PROGRAMDIRECTORY\*.rom"
		Delete "$PROGRAMDIRECTORY\*.sav"
		Delete "$PROGRAMDIRECTORY\*.9xu"
		Delete "$PROGRAMDIRECTORY\*.89u"
		Delete "$PROGRAMDIRECTORY\*.skn"
		${registry::Unload}
		newadvsplash::stop /WAIT
SectionEnd

I had the skins in the DefaultData folder since they're included with the zip file from the ticalc.org website. I have found other places that have modified skins, but those were the default. TheEnd section needs to be cleaned up, as I've just thrown all the movement of files back to the Data directory there.

OliverK
OliverK's picture
Offline
Last seen: 2 years 9 months ago
Developer
Joined: 2007-03-27 15:21
NEW VERSION This is a

NEW VERSION
This is a required update- the template I was using missed some code, and I didn't think about it, so Sad for me.

Also, this removes the limit that you can only run of of the programs. I thought, and there was no good way to get around it. You have the option of a virtual link, so the new version allows you to run multiple VTi instances.

Too many lonely hearts in the real world
Too many bridges you can burn
Too many tables you can't turn
Don't wanna live my life in the real world

FRO1L4NDR35
Offline
Last seen: 14 years 10 months ago
Joined: 2009-06-02 11:26
Thank you

VTI is a great TI emulator, but for the TI 68k [TI-89, TI-92 Plus, Voyage 200 and TI-89 Titanium] the best is TiEmu. VTI does not emulate newer models, I mean TI-89 Titanium and Voyage 200 and TiEmu does. Making it portable will be very good for TI users and programmers (a big community).
This is the request post: https://portableapps.com/node/19458
What do you think?

FRO1L4NDR35

OliverK
OliverK's picture
Offline
Last seen: 2 years 9 months ago
Developer
Joined: 2007-03-27 15:21
Thanks for making a decent

Thanks for making a decent reply, stating how yours is a better option.

I have a lot of things that I have promised to work on, but perhaps someone else would be willing to work on it.

Too many lonely hearts in the real world
Too many bridges you can burn
Too many tables you can't turn
Don't wanna live my life in the real world

Oni-Neoxes
Oni-Neoxes's picture
Offline
Last seen: 10 years 8 months ago
Joined: 2008-08-02 12:02
go VTi!

VTi is actually really great O:!
but I do have a few problems.
I can't run mah TI84+SE
D:

johnlgalt
Offline
Last seen: 4 years 8 months ago
Joined: 2008-03-07 02:14
Wonder if it will run the Inspire stuff...

As I bought one of those cheaper than I could get the 84+ required at my Uni....

I also (accidentally) signed up as an educator and am receiving all sorts of update announcements for both OS and computer software - if these will help contribute in any way to the project, please do not hesitate to let me know....

__

JG

adude159753
Offline
Last seen: 13 years 1 month ago
Joined: 2009-04-18 22:51
Update?

Will this be updated for all the newer calculators? Like the Ti-nspire, ti-nspire CAS, ti-84 plus silver, and the ti-89 titanium.

-adude159753, adude1597535, thorn, essentiel
--whomever you choose to remember me by in the previous and current games I have and am playing.
-Word to the wise: Only with hard work can you do; only with persistance can you achieve.

Log in or register to post comments