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 - systwo

Pages: [1]
1
ASM / Multiplication!
« on: January 22, 2012, 03:27:43 pm »
Hello everyone!

I've been looking into some 16 bit multiplication but I've come across with few problems. I could not understand much of the bitwise based multiplication and I'm guessing I need to do something like them in order to perform math with a 16 bit answer. Is there anyone who may be able to enlighten me?


Thanks!

2
Other Calculators / Calculator Audio Demodulator
« 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!

3
ASM / Multi Picture Storage
« 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:

Code: [Select]
#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!



4
ASM / Set by Address restrictions?
« 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?

Code: [Select]
ld a, (var1)
ld b, (var1)

The error spasm outputs:
Code: [Select]
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

Code: [Select]
;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.

5
ASM / The missing code!
« 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:
Code: [Select]
.org 9D95hAs 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

6
Introduce Yourself! / Hello World!
« 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!

Pages: [1]