Author Topic: Features Wishlist  (Read 699072 times)

0 Members and 1 Guest are viewing this topic.

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: Features Wishlist
« Reply #630 on: May 26, 2010, 05:16:13 pm »
That sounds neat!  Could you just append 256 bytes to the end of the program and use those as the vector table?  I like how it sounds so far. ;D
Not that easy because the vector table has to be aligned in memory like every byte between $9900 and $99FF. And I think it is 257 bytes for some strange reason.
Ah, okay. :)  How does this work, because wouldn't part of the program normally be there?
Thanks! :D

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: Features Wishlist
« Reply #631 on: May 26, 2010, 05:51:04 pm »
yeah, it could be, but it would have to 256-byte aligned, like Galandros said. You're looking at a 257-513 byte increase in program size. The table would be where he said or between $9A00 and $9B00, $9B00 and $9C00, or so on.
It's 257 bytes because the i register, or the interrupt vector, serves as the high byte of an address where the lower byte is essentially random. (It has some structure, documented in AsmIn28, but I can't remember it). Because the read address could be anywhere between $xx00 and $xxFF, you need another byte to complete the two bytes it reads in case it reads from $xxFF.
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

Offline Raylin

  • Godslayer
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1392
  • Rating: +83/-25
  • I am a certifiable squirrel ninja.
    • View Profile
    • Ray M. Perry
Re: Features Wishlist
« Reply #632 on: May 26, 2010, 06:39:20 pm »
Interrupts + SinReg() = BGM music?
Bug me about my book.

Sarah: TI-83 Plus Silver Edition [OS 1.19]
Cassie: TI-86 [OS 1.XX]
Elizabeth: TI-81 [OS 1.XX]
Jehuty: TI-83 Plus Silver Edition [OS 1.19]
Tesla: CASIO Prizm







Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #633 on: May 26, 2010, 08:19:32 pm »
is there a way to control the speed at which an interrupt is executed compared to the rest of the program? Otherwise I think sound might slow the game down way too much

Offline Raylin

  • Godslayer
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1392
  • Rating: +83/-25
  • I am a certifiable squirrel ninja.
    • View Profile
    • Ray M. Perry
Re: Features Wishlist
« Reply #634 on: May 26, 2010, 09:25:07 pm »
I would think not...
I don't know for sure.

In Axe, the interrupt's speed may or may not be affected by the Full command.

[ontopic]Geometry drawing (read: xLIB DRAWSHAPE)[/ontopic]
« Last Edit: May 26, 2010, 09:25:49 pm by Raylin »
Bug me about my book.

Sarah: TI-83 Plus Silver Edition [OS 1.19]
Cassie: TI-86 [OS 1.XX]
Elizabeth: TI-81 [OS 1.XX]
Jehuty: TI-83 Plus Silver Edition [OS 1.19]
Tesla: CASIO Prizm







Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #635 on: May 26, 2010, 09:28:50 pm »
Mhmm Raylin you suggested this command about 4 times already. I think it is becoming clear it is not in his priorities since all you need to do is use Line() (altough I think this is larger). By now it is in his planned features I am certain

Offline Raylin

  • Godslayer
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1392
  • Rating: +83/-25
  • I am a certifiable squirrel ninja.
    • View Profile
    • Ray M. Perry
Re: Features Wishlist
« Reply #636 on: May 26, 2010, 09:52:38 pm »
I am only pestering because of the lack of inverted rectangles (which I use extensively).
I need inverted rectangles.

They are like drugs to me.
I NEED THEM.

Perhaps a Line()r for inverse? Or is that reserved for the back-buffer?
« Last Edit: May 26, 2010, 10:11:49 pm by Raylin »
Bug me about my book.

Sarah: TI-83 Plus Silver Edition [OS 1.19]
Cassie: TI-86 [OS 1.XX]
Elizabeth: TI-81 [OS 1.XX]
Jehuty: TI-83 Plus Silver Edition [OS 1.19]
Tesla: CASIO Prizm







Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #637 on: May 26, 2010, 10:26:02 pm »
I think this will be for the back-buffer.

For inverted rectangles, do you mean white outline with filled black?

Offline Raylin

  • Godslayer
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1392
  • Rating: +83/-25
  • I am a certifiable squirrel ninja.
    • View Profile
    • Ray M. Perry
Re: Features Wishlist
« Reply #638 on: May 26, 2010, 10:31:19 pm »
I mean, real(12,8).

That means draw a rectangle and invert all the pixels inside.
Bug me about my book.

Sarah: TI-83 Plus Silver Edition [OS 1.19]
Cassie: TI-86 [OS 1.XX]
Elizabeth: TI-81 [OS 1.XX]
Jehuty: TI-83 Plus Silver Edition [OS 1.19]
Tesla: CASIO Prizm







Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #639 on: May 26, 2010, 10:44:13 pm »
I think that could be possible to do through a routine like I posted in the other thread, but I would need to think about a way to make sure it's fast enough

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Features Wishlist
« Reply #640 on: May 26, 2010, 10:45:27 pm »
well for using filled rectangles, you could always have a subroutine that does a lot of pixelChanging in 2 For loops.  I think that might be a bit slower than an alternative however...  Let me see if i can come up with a quicker version.

Offline Raylin

  • Godslayer
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1392
  • Rating: +83/-25
  • I am a certifiable squirrel ninja.
    • View Profile
    • Ray M. Perry
Re: Features Wishlist
« Reply #641 on: May 26, 2010, 10:47:02 pm »
Woot. Many thanks, Builderboy.
Bug me about my book.

Sarah: TI-83 Plus Silver Edition [OS 1.19]
Cassie: TI-86 [OS 1.XX]
Elizabeth: TI-81 [OS 1.XX]
Jehuty: TI-83 Plus Silver Edition [OS 1.19]
Tesla: CASIO Prizm







Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #642 on: May 26, 2010, 11:11:07 pm »
Yeah pixel changing is what I thought about. However, thiswould be slow. If your rectangles were multiples of 8, you could just use a bunch of 8x8 sprites

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Features Wishlist
« Reply #643 on: May 26, 2010, 11:12:01 pm »
Alright here is a super fast filled inverting recangle thingy.  It does use a fair number or variables though, if thats a problem you can always use memory locations instead.  So here is the code (its rather long)

Code: [Select]
Lbl RC
A^8->O
255->M
While O
M/2->M
O-1->O
End
C^8->O
255->N
While O
N/2->N
O-1->O
End
A/2/2/2->A
C/2/2/2->C
For(F,B,D-1
F*12+L6->J
{J+A} xor M->{J+A}
{J+C} xor N->{J+C}
For(G,A+1,C
{J+G} xor 255->{J+G}
End
End
Return

Its very fast, but if you want something smaller, you can use this:

Code: [Select]
Lbl RC
For(F,A,C-1
For(G,B,D-1
Pxl-Change(F,G
End
End
Return

For both, the input is A,B for top left corner and C,D for bottom right corner.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #644 on: May 26, 2010, 11:15:45 pm »
Oh right forgot about L6 x.x

I guess that could work, as long as Raylin isn't running low on memory, because that looks like it will compile pretty large