Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
DBrak, are you using SourceCoder to generate the code that you're running on jsTIfied? This sounds like more of a SourceCoder glitch than a jsTIfied glitch to me. Out of curiosity, if you type "Horiz " (that's Horiz with a space after it, without the quote marks), does that change anything?
Typing a space after Horiz doesn't change anything; there's still a syntax error on the r.
I guess the bug is pretty minor; Split recodes into Horiz when I send it to my calculator, but Split isn't on the keypad or calculator.
I wasn't sure if the problem was with the SourceCoder not encoding Horiz properly or with jsTIfied for not reading Horiz properly.
The emulator won't "turn on" for me. I have a pretty TI 83 Plus, but I can't engage any of the buttons. What am I doing wrong?
Have you tried selecting a ROM, spelburts?
I have selected the TI 83 Plus ROM, I think! Could you maybe verify how to get a ROM in the first place?
spelburts wrote:
I have selected the TI 83 Plus ROM, I think! Could you maybe verify how to get a ROM in the first place?
You can dump it from your own calculator using Rom8x and TI-Connect, or TILP II can do it directly. If you have a TI-83+, the ROM should be about 512KB. You just click the ROM tab in jsTIfied, load up your ROM, and the calculator skin should switch to a TI-83+. Click the screen or the [On] key to turn it on.
*bump* jsTIfied now has a Step Over button in its debugger, using an algorithm that I hashed out with BrandonW and Runer112. I also fixed the breakpoint field so that there's no need to Pause/Continue after setting a breakpoint to make it take effect. There has also been a big pop-out screen for quite a while, if such things interest you.
For the TI-84+CSE, writing xx30h to LCD port 3 (read & retain previous high byte, discarding low byte, rewrite high byte and set cursor row increment and column increment) causes jsTIfied to increment the column backwards. That is, my text routine displays text mirrored from what it appears on my real TI-84+CSE.


Code:
  811 00:C639 -  -  -  -  ;------ SetDirectionDown -------------------------------------------------------
  812 00:C639 -  -  -  -  SetDirectionDown:
  813 00:C639 -  -  -  -  ; Sets the cursor to move down after every pixel.  At the end of the column, it
  814 00:C639 -  -  -  -  ; then moves right;
  815 00:C639 -  -  -  -  ; Inputs:
  816 00:C639 -  -  -  -  ;  - None
  817 00:C639 -  -  -  -  ; Output:
  818 00:C639 -  -  -  -  ;  - Mode changed
  819 00:C639 -  -  -  -  ; Destroys:
  820 00:C639 -  -  -  -  ;  - AF
  821 00:C639 -  -  -  -  ;  - H
  822 00:C639 E5 -  -  -     push   hl
  823 00:C63A 3E 03 -  -     ld   a, lrEntryMode
  824 00:C63C D3 10 -  -     out   (pLcdCmd), a
  825 00:C63E D3 10 -  -     out   (pLcdCmd), a
  826 00:C640 DB 11 -  -     in   a, (pLcdData)
  827 00:C642 67 -  -  -     ld   h, a
  828 00:C643 DB 11 -  -     in   a, (pLcdData)
  829 00:C645 -  -  -  -     ; Ignore the result
  830 00:C645 7C -  -  -     ld   a, h
  831 00:C646 D3 11 -  -     out   (pLcdData), a
  832 00:C648 3E 30 -  -     ld   a, lcdRowInc | lcdColInc
  833 00:C64A D3 11 -  -     out   (pLcdData), a
  834 00:C64C E1 -  -  -     pop   hl
  835 00:C64D C9 -  -  -     ret



Additionally, port 21h is not emulated correctly. Specifically, jsTIfied does not change the RAM execution permissions to match when the high nibble of port 21h is changed to something other than 0.


Code:
; This should crash when run from R7:C000
   ld   a, flashType4MB | ramType128K
   out   (pFlashRamType), a
   xor   a
   out   (pFlashExecLowerLimit), a
   out   (pFlashExecUpperLimit), a
   out   (pFlashExecHighBit), a
   out   (pRamExecLowerLimit), a
   out   (pBlockMRemapC), a
   out   (pBlockMRemapB), a
   dec   a   ; ld a, 0FFh
   out   (pRamExecUpperLimit), a



It would also be nice to have 160x240 mode support. Also, you need to add support for writing to port 2 to acknowledge interrupts.
DrDnar wrote:
For the TI-84+CSE, writing xx30h to LCD port 3 (read & retain previous high byte, discarding low byte, rewrite high byte and set cursor row increment and column increment) causes jsTIfied to increment the column backwards. That is, my text routine displays text mirrored from what it appears on my real TI-84+CSE.
I believe this is repaired.

Quote:
Additionally, port 21h is not emulated correctly. Specifically, jsTIfied does not change the RAM execution permissions to match when the high nibble of port 21h is changed to something other than 0.
I believe this is also repaired. Please test at your earliest convenience.

Quote:
It would also be nice to have 160x240 mode support.
For that I need to add a proper GRAM backing to the LCD, which will also let me support the other scaling and flipping modes. I will most likely not have time for this until the summer.

Quote:
Also, you need to add support for writing to port 2 to acknowledge interrupts.
Also implemented; also needs testing.
I actually didn't ever guess this would be a problem, but jsTIfied runs too quickly on my computer a lot of the time. I'm running a TI 83+ ROM, but everything's moving quickly enough to make it too difficult to move the cursor in DCS over by one pixel, instead it seems to just move in 5-byte increments. (I'm about to go change the mouse settings to be easier on me).

How hard would it be to add some sort of rate limiter? I'm guessing it's all just running as fast as possible right now.
Yes, it is. I'm planning to do something about that soon, especially since jacobly is working with me to convert the most CPU-intensive bits of jsTIfied into asm.js. I'll start with a governor that changes the delays between "bursts" of instructions (aka frames) based on the current target CPU speed, and I'll eventually add more fine-grained delaying between instructions if needed.

I also have a change that TIFreak8x requested, the ability to drop files to RAM or Archive, about half-done.
the screen of jstified ghosts more then the actual screen does, is this intentional?
KermMartian wrote:
I also have a change that TIFreak8x requested, the ability to drop files to RAM or Archive, about half-done.


Kerm++
legodude: I find that jsTIfied's screen ghosting is consistent with the real LCD's physics characeristics. Are you talking about the black-and-white or color LCD?

Edit: You can now drag-and-drop to either RAM or Archive. On calculators without an Archive, all files will go to RAM no matter where you drop them. Apps are still properly placed in Archive. Please test if you get a chance.
I played around with it some with the program I've been uploading as well as DCS, and it seemed to be working correctly. The only thing I saw is a graphical error in Firefox 21.0 on Linux where the two red/green boxes were too large and stretched to the right too much.

Also, bumping for a quick hacky fix (for now) for the key press issue from earlier, such as just an upper bound on how many instructions it will execute in one bundle. It's so difficult to hit the DCS [X] button D: Luckily, if I refresh the page, it drops back to something usable, but then it gets too fast again.
I continue to enjoy that this is a problem for you, I must say. Smile I'll try to get some work in on a governor tomorrow, although I'll need your help testing it since my laptop runs jsTIfied at right around 100% speed already. For what calculator model were the red/green boxes stretched too much?
Haha Smile I should be free most of tomorrow to try things out. I've been using the TI 83+ skin.
*bump*

jsTIfied isn't coming up on the SourceCoder page now, it seems. I click New Project, and then click the Emulator button, and it just sits there. In the console, it says something about "d" not being defined when the page loads, and then when clicking the button that "wasrunning" wasn't defined. Same specs as before, Firefox 21.0, Fedora, 64 bit.
When I implemented the drag-and-drop to RAM and Archive, I forgot that SourceCoder 2 doesn't pull in the jsTIfied template the way SourceCoder 3 does. I believe I have fixed this issue; please verify at your convenience.
It all seems to be working now. I was able to transfer DCS from my filesystem, a DCS Basic program from SourceCoder, and then run it all correctly. Well, except for that weird bug that keeps showing up, where DCS Basic programs using the GUIMouse immediately exit if I press Left, which I think you said had something to do with Left and Sto> or Clear being in the same scanline.
  
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 2 of 15
» All times are GMT - 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