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.
Messages - systwo
16
« on: January 15, 2012, 08:59:31 pm »
I hate to rain on your parade, but having attempting to do something like this in the past, I can give a bit of advice. My school had a blocking system, so I thought, why not create a system to bypass it and would take a considerable amount of power to figure out what was going on. Just before I deployed it, a couple of things happened. One, some illegal downloading was seen and the IT people were put on high (read: "the world is coming to an end!") alert. Two the said person (not me in case you were wondering) was located pretty quick. Three no one except of a couple of administrators know who this person is and not much else was let out. So I decided not to deploy this system because of things that I did not think of.
So, to apply it to this new protocol thing I can give a few tips: 1. If you invent something to keep the government out, you are inviting pirates and similar folk in. 2. From point 1, the FBI, NSA and other alphabet agencies are going to invest more to crack it. If you do manage to keep them out, then they may appear at your doorstep (if they haven't done so already) 3. You could still be shut from the internet with a couple of letters to your ISP (unless you are doing this over a really big WiFi network or equivalent) 4. The content that would appear there would be limited.
Well, hope this gives the community a bit of insight from someone who had the same idea.
Oh, also please don't take this like I oppose this idea. I think it is a great idea to make everything more secure. I'm just pointing out some things to look out for.
17
« on: January 15, 2012, 08:22:12 pm »
Excellent! I had assumed that the registers would be unaffected.
Here is a copy of the working program for all future people who want it:
#include "ti83plus.inc" .org $9d93 .db t2ByteTok, tAsmCmp
B_CALL _ClrLCDFull ld de, plotsscreen ld hl, Picture ld bc, 768 ldir B_CALL _GrBufCpy B_CALL _getKey B_CALL _ClrLCDFull ld de, plotsscreen ld hl, Happy ld bc, 768 ldir B_CALL _GrBufCpy B_CALL _getKey
B_CALL _ClrLCDFull ld de, plotsscreen ld hl, splat ld bc, 768 ldir B_CALL _GrBufCpy B_CALL _getKey ret
.option BM_SHD = 2 .option bm_min_w = 96 Picture: #include "img.bmp"
.option BM_SHD = 2 .option bm_min_w = 96 Happy: #include "img2.bmp"
.option BM_SHD = 2 .option bm_min_w = 96 splat: #include "img3.bmp"
18
« on: January 15, 2012, 08:13:02 pm »
I read about homemade serial cables a while ago and it may be the solution. Serial cables had the same problem so those who made it would use 4 of the pins, 2 for in and 2 for out. To manage the flow of electricity, they would have diodes that control what direction the data flows.
My design would look something like this
PC Audio Out tip -> diode -> tip splitter -> calc tip PC Aduio Out ring -> diode -> ring splitter -> calc ring
PC Audio In tip <- resistor<- diode <- tip splitter <- calc tip PC Audio In ring <-resistor <- diode <- ring splitter <- calc ring
The resistor would be to take the voltage back down to prevent blowing out the mic in. And according to posted article, out would not need it.
Audio may be able to handle the speed, depending on sample rate I think. I'll need to do some more research to see if they match.
Edit: Remember that sound is basically the fluctuation between two amplitudes (up and down) and that it can be held up for a lower sounding note. The signal that the PC would send would be a square wave that has goes up but does not go below the 0 line. So pitch does play a role
19
« on: January 15, 2012, 05:13:49 pm »
I'm just worried that the PC will not allow me to access the audio port as a two way device, as it is meant for one way signals. So there won't be any checking and acknowledgement that the transfer got thru. Also, I wasn't thinking of it as much of a "serial cable". I though of it as a system where one would encode the program into audio and then play it with a media player to feed it through the audio to the calc's I/O.
20
« on: January 15, 2012, 05:00:59 pm »
Hello to the community of Omnimaga!
I have been thinking of alternate methods to transfer data from the computer to the TI83+. You may be asking "Why not use the USB cable or serial cable?" To answer those questions, I have decided to take on a challenge (and I also don't want to shop for one. They are so expensive!). Seeing the I/O cable is very similar to an audio cable, I thought maybe that it could be spliced to a 3.5mm jack. All it would require is a small program on the calc to receive the data and save it.
So, to those who are more enlightened to the ways of audio and in the higher ranks of assembly programming: Are there any pitfalls one may have to look out for?
Thanks!
21
« on: January 15, 2012, 02:10:36 pm »
Hello again everyone!
Going through Hot Dog's asm tutorial I have hit an obstacle. Storing or displaying pictures is freezing the calculator. This happens when I store 2 picture variables (it doesn't happen with 1). When you hit a key I expect the second picture to show, but it just freezes. The first one shows fine though. Here is the code:
#include "ti83plus.inc" .org $9d93 .db t2ByteTok, tAsmCmp
B_CALL _ClrLCDFull ld de, plotsscreen ld hl, Picture ld bc, 768 ldir B_CALL _GrBufCpy B_CALL _getKey B_CALL _ClrLCDFull ld hl, Happy ldir B_CALL _GrBufCpy B_CALL _getKey ret
.option BM_SHD = 2 .option bm_min_w = 96 Picture: #include "img.bmp"
.option BM_SHD = 2 .option bm_min_w = 96 Happy: #include "img2.bmp" The pictures are correctly formatted. Both images are valid and can be displayed if only one picture is displayed or it is the first in the code. Unfortunately I cannot find the attachment button so I can't show you the pictures.
Thanks!
22
« on: January 15, 2012, 02:02:09 pm »
Wow! Thanks for the advice, I have yet to reach the multi-byte storage lesson yet, but I'm sure it will make sense to me when I get there.
23
« on: January 14, 2012, 11:14:12 pm »
Hello again everyone!
I'm going through Hot Dog's tutorial on asm right now and I have encountered a slight problem. Working with variables, ld doesn't want to set a register. In the snippet below, the first line will work but the second one will not. Is there something I skipped over accidentally?
ld a, (var1) ld b, (var1) The error spasm outputs:
Pass one... learn2.asm:7: warning: Suggest remove extra parentheses around argument Pass two... learn2.asm:7: warning: Number is too large to fit in 8 bits, truncating Done
Here is the code
;Multiplication program #include "ti83plus.inc" .org $9d93 .db t2ByteTok, tAsmCmp B_CALL _ClrLCDFull ld a, (Mula) ;Holds the answer ld b, (Mulb) ;How many times to multiply ld c, a ;What to add every time it multiplies, or else it will do powers
BeginLoop: add a, c djnz BeginLoop ;Remember that the b is decresed before it checks ld h, 0 ld l, a
B_CALL _DispHL
ret
Mula: .db 5
Mulb: .db 5
Thanks!
Edit: Found the answer! For those who look at this in the future, you can only use register a to retrieve data. You need to store the memory address in hl for other registers.
24
« on: January 13, 2012, 07:41:59 pm »
Ah, that clears up the mystery! Thank you to everyone!
25
« on: January 13, 2012, 12:30:21 am »
Hi everyone! I have been messing around with BASIC for a bit, but I found it too slow to do some of the fun things on the calculator. That was before I found out about assembly. I have very specific questions for the community here, hopefully you guys can answer it.
Lurking on these forums for a while I discovered that asm was possible to program on the calculator itself - which is something I was looking for, as I do not have a USB link cable. Seeing there are people on this forum who program in hex, I have this question for you:
I noticed that this piece of code is present in every asm program I have seen:
.org 9D95h As I understand it, this tells the calculator to place the program in this location in ram. Is this for the assembler or the calculator (or both?)? The hex programs that I saw have no reference to this as far as I can discover (on this forum and some others as well). Is there some mystery behind this? Because of this, I have yet to actually program on the calculator.
Also I have also looked into the process of programming and I do know it is safer to program on an emulator first before typing it onto the calculator. Is there a method to convert the program into hex? Preferably not the IRC bot thingy that was posted a while ago (I do not have access to the IRC sometimes)
Many thanks for those who answer this question!
Systwo
26
« on: January 13, 2012, 12:13:05 am »
Hey everyone! I'm a programmer who is working with a TI-83+ (with BASIC). I found this site not too long ago and the info here is great! Hopefully I can learn some assembly here for some speedy game programming!
|