Join us on Discord!
You can help CodeWalrus stay online by donating here.

[84+CE] PHASM

Started by Epharius, January 14, 2016, 08:41:53 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dream of Omnimaga

Wait, since when does PHASM have a memory restore feature? Are you sure Cesium and the other RAM programs weren't just already archived? Or is it an undocumented PHASM feature? In Epharius latest posts I couldn't find any info about such feature. ???
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Dudeman313

When you've been using PHASM for awhile, three programs appear: PPHASM, TTEMP, and RRESTORE. After reactivating Phasm because it was archived, I ran RRESTORE and got Celsium back. I didn't know if this was documented or not, just that it was extremely helpful. :P
  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


Dream of Omnimaga

Interesting. /me pokes @Epharius for explanations :P

Maybe it's an unfinished feature that he didn't document yet in case it has bugs? I am curious about where it stores its backups, though.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Epharius

Well, it is a mysterious feature, almost an easter egg!
To be honest, I didn't think you could use it in that case  :P

Let's explain : Originally, I should replace the name of RRESTORE, PPHASM and TTEMP by 0RESTORE, 0PHASM and 0TEMP to prevent the user to use them incorrectly, but I forgot and I didn't change anything x)
RRESTORE is used to restore (Thank you Captain Obvious) PHASM, after running a program, in the saferam (for example if you use Cesium, which uses this place, else PHASM would crash).
TTEMP is the copy of the program being executed.
PPHASM is a basic program which contains :
Asm(prgmTTEMP
Asm(prgmRRESTORE


However, you restored Cesium because every archived programs executed are saved in TTEMP, and after prgmRRESTORE, PHASM restore it :
ld hl,TEMPname
call _Mov9ToOP1
call _chkfindsym
inc de
inc de
pop bc
push de
push bc
call _poprealo1
call _chkfindsym
call nc,_DELVARARC
pop hl
push hl
bit isProtected, (iy+asm_Flag3)
jr nz,protectedProgram
call _createprog
suitProtectedProgram:
inc de
inc de
pop bc
pop hl
ldir


But it means you also archived TTEMP, RRESTORE and PPHASM, am I wrong?

For the next version of PHASM, I replaced the first character of each name by a 0.
I'm french so, sorry if you lose your eyes while reading one of my posts

Dream of Omnimaga

What is the memory limit of what can be saved and restored?
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Dudeman313

Quote from: Epharius on February 24, 2016, 08:30:53 PM
But it means you also archived TTEMP, RRESTORE and PPHASM, am I wrong?
Nope. I left them as-is. Maybe this had something to do with the fact that I used Celsium to hide PHASM after activation. :walrii:
  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


Epharius

There's no "limit", only your free RAM (I cannot do differently because I must save the program in ARC and I can't execute an archived program).

That's pretty weird, they should have been deleted with the RAM CLEARED x) the three programs are independent of PHASM
I'm french so, sorry if you lose your eyes while reading one of my posts

Dudeman313

They were. I reactivated PHASM after the RAM clear(I keep it archived and hidden after activation), and they appeared. I thought RRESTORE meant RAM RESTORE, so I ran it.
Then Celsium appeared in my archive, and I unarchived it and ran it. Celsium opened. When I exited, prgmA appeared in my RAM. Happiness. :P
:walrii:
  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


Epharius

#23
(yes this post is a bit similar to the post on cemetech :p)
Hey people!

Today, I'm glad to show you the first real version of PHASM!

Indeed, I worked hard to add one feature, which looks easy at first sight but which is actually pretty difficult to program. What did I do? I added the ability to execute archived/assembly sub-programs! And I also translated the program into english. Programing this, seems to be very fast... "seems"

Anyway, if we sum up, PHASM can :
- execute assembly/archived (sub-)programs
- jump to any Lbl you want by pressing [2nd] [X,T,O,n] while editing a program
- edit every program, even archived
... for now.

I talked of "a first real version of PHASM". Why? Because I also fixed a loooot of bugs! That's why I called this version "1.0". Therefore, you can install PHASM without be worried about a potential RAM CLEARED ;)

Anyway, you can already download PHASM 1.0 here : http://ti-pla.net/a318384
The source code is also on github : https://github.com/MathisLav/PHASM

I hope you'll use it ;)
I'm french so, sorry if you lose your eyes while reading one of my posts

Dream of Omnimaga

Yay for archived program execution. Can we run them without the Asm() command too, like with Noshell abd Doors CS series?
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Epharius

#25
Yes you can, at first I thought it wouldn't be a good idea to allow the user not to use Asm() (that's a bad habit if the developer want to share his program). But actually it's easier to run assembly programs without making the difference :P
I'm french so, sorry if you lose your eyes while reading one of my posts

Dudeman313

Oh yay! You fixed this! :) I saw it when you had updated it first on TI-Planet, then looked again and saw the alert.
I'll get the fixed version on my CE soon.
  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


Dream of Omnimaga

Quote from: Epharius on March 12, 2016, 09:00:19 PM
Yes you can, at first I thought it wouldn't be a good idea to allow the user not to use Asm() (that's a bad habit if the developer want to share his program). But actually it's easier to run assembly programs without make the difference :P
Well, one trick could be to disallow running programs without Asm() from inside TI-BASIC code, so it only works from the home screen. That way people won't risk releasing games that are dependent on Homerun shells.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Dudeman313

  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


Epharius

Yea, you may be right, I'm going to disallow running sub-programs without Asm()
I'm french so, sorry if you lose your eyes while reading one of my posts

Powered by EzPortal