Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - fb39ca4

Pages: [1] 2 3 4
1
General Calculator Help / TiLP can't find calculator
« on: January 08, 2014, 11:18:54 pm »
Using the 1.18 beta, as well as 1.17 on Windows 8 64 bit, TiLP does not detect a TI-84+ SE plugged in with USB. I get an error message "failed to open USB device" on starting TiLP, and scanning for calculators results in nothing. Can someone help me out? The calculator connected fine with TI Connect (which has been uninstalled), so a bad cable or calculator can't be the problem.

2
ASM / How to stop interrupts being disabled after exiting app?
« on: January 08, 2014, 10:14:43 pm »
I was trying to figure out why the calculator kept on freezing after Bad Apple finished, and it turns out iff1 and iff2 were disabled. I enable interrupts and set the interrupt mode to 1 immediately before doing bjump(_JForceCmdNoChar). iff1 and iff2 are enabled when that happens, but sometime after the bjump, the interrupts get disabled. What is going on here?

3
ASM / Methods For Playback of Waveform Audio
« on: December 22, 2013, 04:49:55 pm »
With the recent improvements in video compression I have made, it appears that I will have 500-550KB of space in Bad Apple which I can use for audio, which works out to 18kbits/s. Because of this, I want to try playing back waveform audio of the original song, rather than synthesized notes. What are the pros and cons of different methods used to play back 8 bit audio on 1 bit outputs used by other sound applications like RealSound and TruSound? I haven't found much information about how they work. I also found this algorithm, which encodes higher bit audio down to 1 bit by predicting the behavior of an RC filter, so how does it compare?

4
ASM / Help using crystal timers to regulate the speed of a loop.
« on: December 18, 2013, 07:20:49 pm »
I'm trying to make the main loop of my program run at 30Hz. Here is how I set up timer 1 at the beginning of my app:
Code: [Select]
  ;set timer 1 to not loop, not interrupt
  ld a, $00
  out ($31), a
  ;set timer 1 to 993Hz
  ld a, $41
  out ($30), a
  ;set timer 1 count down from 33 for effective framerate of ~30Hz
  ld a, 33
  out ($32), a

And at the beginning of my loop (which is copied to appBackupScreen), I have this:
Code: [Select]
  in a, ($32)
  cp 0
  jp nz, appBackupScreen
  ld a, 33
  out ($32), a
  ld a, $00
  out ($31), a
  ;rest of code goes here

I'm pretty sure what I am doing is setting the timer to 993Hz, disabling repeats and interrupts, and at the beginning of the loop polling the timer until it is zero, then continuing with the rest of the code. However, it gets stuck in the polling loop. According to Wabbitemu's debugger, register A has a value of 33 (decimal), indicating the timer is not counting down. If I jump over the polling loop in my code, everything else runs perfectly.

5
TI Z80 / Bad Apple SE
« on: December 17, 2013, 11:20:28 pm »
If you aren't familiar with the song/video, see here.

Seeing that people have made demos for the NES and Gameboy Color, I thought I'd try my hand at making one for a calculator. So far, I've got an RLE encoder written in Python, and a z80 ASM routine to decompress and display the video. It's running in 6Mhz mode right now, with video stored at 30fps but displayed at an unregulated framerate (how do I regulate it?), and I hope to add sound with 15Mhz.

The reason the GIF cuts off halfway through the video is because spasm hangs during the first pass when I try to add more than 39 pages to the application. (I need 76 for the whole video) If anyone knows a workaround, please do tell me.

6
ASM / I need to load page x of an app without calling code.
« on: December 13, 2013, 10:46:44 pm »
For my app, which is going to consist of 1% code and 99% data, I need to be able to swap to an arbitrary page. I plan on copying my code to RAM, so that I am free to switch pages. I know you can switch to a physical flash page by writing to a port, but I need to switch to pages based on the order they appear in the app. Can someone help me out?

Also, for copying code to RAM, how do I get spasm to compute jp addresses as if they were for that RAM? If I don't, the addresses would still point flash, which would not work.

7
ASM / Having trouble compiling and running flash apps
« on: December 11, 2013, 06:09:20 pm »
So I'm trying to write a flash app, which for now displays a picture on the screen. Here is my code:

Code: [Select]
#include "ti83plus.inc"
#include "app.inc"

.org $4000

defpage(0, "TESTAPP")  
  b_call  _ClrLCDFull
  ld hl, Full_Sized_Picture_Example
  ld de, plotsscreen
  ld bc, 768
  ldir
  b_call _grBufCpy
  b_call _getKey
  bjump(_JForceCmdNoChar)

Full_Sized_Picture_Example:  
.db %11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%01111111,%11111111,%11111111,%11111111,%11111111,%11111111
.db %11111111,%11111111,%11111111,%11111111,%11111000,%00000000,%00000000,%00001111,%11111111,%11111111,%11111111,%11111111
.db %11111111,%11111111,%11111111,%11111111,%00000000,%00000000,%00000000,%00000000,%01111111,%11111111,%11111111,%11111111
.db %11111111,%11111111,%11111111,%11110000,%00000000,%00000000,%00000000,%00000000,%00000111,%11111111,%11111111,%11111111
.db %11111111,%11111111,%11111111,%10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%11111111,%11111111,%11111111
.db %11111111,%11111111,%11111110,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00111111,%11111111,%11111111
.db %11111111,%11111111,%11110000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000111,%11111111,%11111111
.db %11111111,%11111111,%11100000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000011,%11111111,%11111111
.db %11111111,%11111111,%10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%11111111,%11111111
.db %11111111,%11111110,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00111111,%11111111
.db %11111111,%11111100,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00011111,%11111111
.db %11111111,%11110000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000111,%11111111
.db %11111111,%11100000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000011,%11111111
.db %11111111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000001,%11111111
.db %11111111,%10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%11111111
.db %11111111,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111
.db %11111110,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00111111
.db %11111100,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00011111
.db %11111000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111
.db %11111000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111
.db %11110000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000111
.db %11110000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000111
.db %11100000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000011
.db %11100000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000011
.db %11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000001
.db %11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000001
.db %10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
.db %10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
.db %10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
.db %10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
.db %10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
.db %10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
.db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
.db %10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
.db %10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
.db %10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
.db %10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
.db %10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
.db %10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
.db %11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000001
.db %11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000001
.db %11100000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000011
.db %11100000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000011
.db %11110000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000111
.db %11110000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000111
.db %11111000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111
.db %11111000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111
.db %11111100,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00011111
.db %11111110,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00111111
.db %11111111,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111
.db %11111111,%10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%11111111
.db %11111111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000001,%11111111
.db %11111111,%11100000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000011,%11111111
.db %11111111,%11110000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000111,%11111111
.db %11111111,%11111100,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00011111,%11111111
.db %11111111,%11111110,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00111111,%11111111
.db %11111111,%11111111,%10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%11111111,%11111111
.db %11111111,%11111111,%11100000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000011,%11111111,%11111111
.db %11111111,%11111111,%11110000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000111,%11111111,%11111111
.db %11111111,%11111111,%11111110,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00111111,%11111111,%11111111
.db %11111111,%11111111,%11111111,%10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%11111111,%11111111,%11111111
.db %11111111,%11111111,%11111111,%11110000,%00000000,%00000000,%00000000,%00000000,%00000111,%11111111,%11111111,%11111111
.db %11111111,%11111111,%11111111,%11111111,%00000000,%00000000,%00000000,%00000000,%01111111,%11111111,%11111111,%11111111
.db %11111111,%11111111,%11111111,%11111111,%11111000,%00000000,%00000000,%00001111,%11111111,%11111111,%11111111,%11111111

validate()

Spasm compiles it and produces an .8xk file without complaint. If I load this into WabbitEmu, it tells me the file format is invalid. I'm guessing it's because I have to sign the app, so I tried running rabbitsign app.8xk, but it is telling me this:
Code: [Select]
main.8xk: warning: application length incorrect
main.8xk: warning: (perhaps you meant to use -r?)
main.app: Invalid argument

Can someone help me out?

Also, I tried using Wabbitcode previously, but it seems broken. I'm getting errors when I start Wabbitcode, when I load a file, and then when compiling, all the instructions are not recognized.

EDIT: Just tried Wabbitcode again, and it magically worked.

8
TI-Nspire / Mode 7 engine
« on: January 08, 2013, 09:18:21 pm »
Just something I've been working on the past couple days. The screenshot makes it look slow, but it is actually running in full resolution on the lower half of the screen at just over 60fps in the emulator. So far I haven't implemented turning, but that will come soon, and shouldn't be too much of a performance hit. The map is just a 64 x 64 array of random colors, I'll add proper texture tiles later. It's only in grayscale because I don't have a CX or a CX boot1 dump *cough* *cough*.

9
Gaming Discussion / Portal is free!
« on: September 19, 2011, 11:38:52 pm »
If you haven't heard, portal is free on steam until the 20th. So I would get it. 'nuff said. (If there is already a thread for this, I apologize, I just checked the gaming discussion section for one)

10
Miscellaneous / Gone for three days
« on: August 31, 2011, 11:22:38 am »
I'm going to florida for a wedding, I'll probably have internet there but I'll be to busy to actually do anything. I'll be back on the 4th, our flight is leaving in a few hours.

11
Casio Calculators / Prizm C Q&A thread
« on: August 31, 2011, 12:40:40 am »
I am totally overwhelmed with the prizm mini SDK documentation. Right now all I need to know is: How do I draw pixels, both directly to the screen and to a back buffer, and how do I read keypresses?

12
Calculator C / How do I write directly to the flash memory on an Nspire?
« on: August 17, 2011, 02:25:53 pm »
I want to put random garbage at flash page 0x0020, (for the purpose of corrupting boot2  >:D) how do I accomplish this? Also, is overwriting the boot2 supported in the emulator? (for the purpose of testing to make sure I overwrite the right thing)

13
Ndless / Ndless suggestions thread
« on: August 13, 2011, 11:41:09 pm »
What are some things you would like to see in the next version of ndless? I'm thinking more along the lines of functions and stuff, not major changes like a permanent installation.

Here's my first one:
Code: (Functions for overclocking and returning CPU to original speed) [Select]
void set_cpu_150_mhz() {
  *(volatile unsigned*) 0x900B0000 = 0x00000002;
  *(volatile unsigned*) 0x900B000C = 4;
}
void set_cpu_90_mhz() {
  *(volatile unsigned*) 0x900B0000 = 0x00141002;
  *(volatile unsigned*) 0x900B000C = 4;
}

14
Math and Science / Sorting Algorithms
« on: August 08, 2011, 02:24:07 am »
What would you say the best sorting algorithm is for a list of around 30-50 values?

15
Calculator C / Nspire printf syscall is not ANSI compliant
« on: August 07, 2011, 01:42:37 am »
I was trying to debug a program I was writing with printf, and realized it was giving me incorrect results when I tried doing printf("%f", 2.0); and it printed 0.000000. This means TI is being lazy and has not provided a full implementation of printf. Some other things I discovered were that the flag %Lf does not work (it just prints Lf), and that sprintf has the same issues. Could any other C developers help look into this and experiment so we can figure out the extent of these limitations?

Pages: [1] 2 3 4