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 - LincolnB
31
« on: August 23, 2011, 09:57:02 pm »
Self-explanatory title^ Don't give away any more information than you are comfortable with, tho...
I'll start. I live in Utah County, in Utah, in the United States.
32
« on: August 20, 2011, 07:04:35 pm »
I'm starting a project, in Axe, for the TI-83/84+SE series of calcs. It's going to be a paint editor similar to/based off of mspaint (the regular paint program that comes with windows), bundled with a text editor. The Paint program will most likely have the following graphics functions: Lines Squares/Rectangles Custom Polygons Different size brushes Circles Ovals Flood Fill Up to 4-level grayscale and also other things, such as rectangular and free-form selection with copy/paste, invert, resize, rotate, etc.; some form an eraser / mass erase function; different levels of zoom; in-program sprite editing and inserting, and other features I can think. It will probably end up as a single-page app, that exports one or two 768 byte appvars that can be used as buffers in programs. The Text Editor will have copy/paste, custom input as fast as I can make it (within reason), text selection, deletion, and insertion, a find/replace function (maybe) and as many lines as I can fit in the meager memory I have access to (compression help appreciated). It will also export to an appvar that will possibly also be computer-readable (help here will also be appreciated - might it work with Croquette?) What do you think? This project is still only in concept phase, so I'm definitely taking feature requests into consideration.
33
« on: August 20, 2011, 05:44:37 pm »
NOTE:For this tutorial, I'm using Axe 1.0.2. Check the Commands.htm of your current version of Axe to make sure the commands are supported So. There's this thing that you can use in Axe. It's called a Buffer, and it's basically a chunk of memory, and appvar, or some other form of an Array. By definition, it is 768 bytes in size. By using the appropriate commands in Axe Parser, buffers can be displayed on the screen of your calculator to output graphics in monochrome, 3, or 4 level grayscale. Using the Default BuffersIn Axe, there is a location in saferam or freeram or whatever you want to call it, called L6. Check the commands list - L6 is 768 bytes in size! Perfect for a buffer. L6 (and also L3, for grayscale) are known as the Default Buffers. Whenever you use a command such as Pt-On(X,Y,Pic1) or Pxl-On(44,36) or Drawinv or something like that, you are drawing to the Default Buffer. Line(0,0,10,10) doesn't 'draw a Line' per se, it sets and edits data in L6, the default buffer (for more on how computers draw lines, you might want to read this). Then, when you call DispGraph, it looks at the data in L6, and displays it. Check this out: Repeat getkey(15)
.This command fills L6 with a bunch of zeros, 768 to be exact ClrDraw
.Now let's edit the very first byte in L6
255->{L6}
.We set the first byte to 255, or FF in hexadecimal .255 / 0xFF translates out to the following binary: .11111111 (eight ones) .So when we call DispGraph, it will display eight black pixels in the first byte of the buffer .In other words, the top left corner
DispGraph
End
Try it! If you understand how sprites work, you can see that Pt-On just copies your sprite hex data into a buffer! Experiment with this -- you could even write your own Pt-On subroutine, completely in Axe! (not that it would be extremely useful, just fun to make) GrayscaleSo how does grayscale work in Axe? This is where the Back-Buffer comes in. L3 is referred to as the Back Buffer, or Secondary Buffer. When you call commands such as Pt-On(X,Y,Pic1) r, it does the exact same thing as without the little r, but it draws to the Back-Buffer instead of the Default Buffer. And when you call DispGraph r, it displays all the data in L3 as gray, and all the data in L6 as black. For more on how grayscale works, I recommend reading thisAnd for four-level grayscale, L3 is displayed as light gray, L6 is used for dark gray, where they overlap is displayed as black, and where they are both blank is white. So to display four blocks right next to each other, progressively getting lighter, do this: prgmEXAMPLE
.EXPROG .Example program is an example.
[FFFFFFFFFFFFFFFF]->Pic1 .^this is just a solid block
Repeat getkey(15)
ClrDraw ClrDraw[sup]r[/sup]
Pt-On(0,0,Pic1) Pt-On(8,0,Pic1) Pt-On(0,0,Pic1)[sup]r[/sup] Pt-On(16,0,Pic1)[sup]r[/sup]
DispGraph[sup]rr[/sup]
End
Using Alternate BuffersIf you understand that Line(0,0,10,10) isn't technically drawing a line on the screen it's really just editing and setting data in a Buffer, then using Alternate Buffers should not be hard to understand. All that's different is a slight syntax change. To initialize a buffer (let's call it GDB1, just for fun), we do the following: Zeros(768)->GDB1 This creates an array in memory that is 768 bytes large and fills it with zeros. To clear the buffer, do the following: ClrDraw(GDB1) and other than that, it's really easy. I'll just show you some code examples, instead of explaining in words. Monochrome Buffers: prgmMOVE .MVMT A simple movement demo (with buffers)
0->X 0->Y
Zeros(768)->GDB1
[FFFFFFFFFFFFFFFF]->Pic1
Repeat getkey(15)
.(this input system does not react to walls) getkey(3)+X-(getkey(2))->X getkey(1)+Y-(getkey(4))->Y
ClrDraw(GDB1)
Pt-On(X,Y,Pic1,GDB1)
Dispgraph(GDB1)
End
The same code, with 3 level gray: prgmMOVE .MVMT A simple movement demo (with buffers)
0->X 0->Y
Zeros(768)->GDB1 Zeros(768)->GDB2
[FF000000000000FF]->Pic1 [00FFFFFFFFFFFF00]->Pic2
Repeat getkey(15)
.(this input system does not react to walls) getkey(3)+X-(getkey(2))->X getkey(1)+Y-(getkey(4))->Y
ClrDraw(GDB1) ClrDraw(GDB2)
Pt-On(X,Y,Pic1,GDB1) Pt-On(X,Y,Pic2,GDB2)
Dispgraph(GDB1,GDB2)
End
I'm not 100% sure on the syntax here (I use 0.5.3 ) but you get the idea. Voila! You have successfully set up and used an alternate buffer system! Let me know if I was unclear on anything.
34
« on: August 19, 2011, 06:45:38 pm »
So, I was digging around my old files. And I found the very first playable game I made in Axe Parser! It's called Rockslide, and, um, there's a bunch of falling rocks you have to avoid. And if they hit you, you get smashed! Here it is: The reason I'm posting this, accompanied by it's source code, is for all those Axe beginners who really want to, but don't know how, to get started programming in Axe. It's kind of simple, but it's just about all I knew before coding Spacky Emprise, and then Spacky 2, and now Base 671 (which is actually pretty good (albeit not complete yet). 4th time's the charm, eh?). This is how I got started, and anyone who wants to get going with Axe might be interested in checking out the source code. EDIT: whoops, forgot to attach the files
35
« on: August 15, 2011, 10:26:10 pm »
Hello, I'm kind of thinking about doing this ^, making a complete CAS for the Ti-83/84+(se) family (written in Axe). However I'm currently working on something else, but this is still something fun/interesting to talk about, for the future and whatnot. A list of lots of math functions can be found at http://functions.wolfram.com/ , and from there we can narrow it down to probably about 50-100 (the site has something like 300,000+ functions submitted). Anyways, just something interesting to think about / expect for the future. What do you guys think? Any must-have features or anything like that? Any tricks about doing math stuff in Axe?
36
« on: August 14, 2011, 08:35:12 pm »
Title says it all. Do you own a media player device that is currently eqipped with Rockbox? (check out rockbox.org)
I have a Sandisk Sansa Fuze running Rockbox.
EDIT: Added a poll.
37
« on: August 14, 2011, 06:48:05 pm »
So, I finally got around to uploading Spacky 2, the beta release at least. I currently have three floors implemented, on floor two you get the pogo stick and on floor three you get levitation powerz. Things I still have to add before officially releasing Spacky 2 in non-beta form:Loading/Saving Car Levels (this will be the fourth floor, you drive around in a car, and when you hit stuff it blows up) In-game storyline Some Bugfixes So, not a lot left to do. The project's about 90-95% complete. However I'm getting kind of sick of this and am already quite busy with my current (secret) project, so I don't have any plans to continue, unless sometime later I feel like finishing it up. Source code will be released at a later date, when I get around to commenting it sufficiently for it to be useful. Anyone who wants to is welcome to check it out, test it out, do whatever, maybe even finish it for more / help me finish, if anyone's interested. Final Screenshot: Special Thanks to leafiness0 for the menu pic, and builderboy for his flame animation.
38
« on: July 28, 2011, 01:40:28 pm »
What are the most innovative calculator programs you guys know of? I'm talking about games and programs and stuff that have never been made before, and that significantly effected the calculator programming community?
Post / PM me your ideas. Here's what we have so far...
TI-83/84+(SE) Axe Parser Mimas Ion Calcsys CalcUtil TI-Boy SE Doors CS xLib MirageOS Emu8x zStart Super Mario 1.2 Puzzle Pack Celtic III Omnicalc usb8x msd8x TruVid Slippy Realsound aLCDfix Gossamer Doom
TI-Nspire: nDless nDoom oclua gbc4nspire
68k (Ti-89, 92, etc) gb68k MulTI FZero 68k TIGCC
Casio Prizm Mpoupe's video player Obliter8
Remember, often it is hard to be simultaneously the best at what you do and also the first at what you do. This isn't a list of the best programs ever made, it is a compilation of what the community thinks are the most innovative programs ever made.
39
« on: July 28, 2011, 11:21:28 am »
Title says it all. Seeing as a lot of people on this site are in high school (me too!), I'm curious to see if anyone else is employed as a programmer, as I will be this upcoming school year.
40
« on: July 26, 2011, 12:33:25 pm »
What explosions look really good in Axe Parser? Do you have a favorite explosion in a game that you've played where the explosion looked really cool? Do you prefer particle explosions, sprite explosions, or shock wave explosions?
41
« on: July 24, 2011, 08:41:22 pm »
Spacky Emprisehttp://www.omnimaga.org/index.php?action=downloads;sa=view;down=707Classic platform game for the TI-83 plus family of calculators. As lovable silicon-based life form Spacky, you must go and find your Master. One catch - your companion is your arch-nemesis. Good Luck. Featuring 20 levels of action, 8 different block types, 9 hazard types, fully commented source code, paradigm level design, and a kick butt main character. Written in Axe Parser, originally written for the Omnimaga 2011 Axe Parser game programming contest. Source is included.
42
« on: July 21, 2011, 04:45:06 pm »
So, I'm working on a sequel to Spacky Emprise. The main feature of Spacky 2 is going to be the addition of hologram blocks - a concept similar to dimension shifting. Anyways, have a screenie: Any feature requests? I'm completely open to any ideas. Also, can anyone offer any graphics support? I'm really bad at making menus and stuff like that look nice.
43
« on: July 20, 2011, 07:45:00 pm »
I have two questions, aptly-stated by the title of this thread. My first question is about using the global CALCnet client program I downloaded from Cemetech.net http://www.cemetech.net/programs/index.php?mode=file&path=/win/gcnclient.zip. Reading through the included readme-style PDF document, I understood basically how it works. I’m trying to connect my calculator to the internet using Gossamer and the gCn Client software. To get to this work, the way I understand it, I need to run the gcnclient.exe program with some command line arguments. What exactly are the arguments that I would need to type in the command prompt to get it to work? So far what I have is : >gcnclient.exe -n WebHub -l (don’t know what to put here) -s (no idea) -p 4295 -d direct (not sure if this works yet) (Obviously without the carriage returns) So yeah. That’s what I would like cleared up about that. My second question is, how do I make use of interrupts in Axe? What is some example code where interrupts would be useful? I kind of understand what interrupts are, but not completely. Thanks.
44
« on: July 19, 2011, 03:59:53 pm »
Okay, the title is a little presumptuous. However, in my programming experience Calcsys (search for it on ticalc.org if you don't know what it is) is a wonderful application that really made me realize how the calculator works on a very basic level. I especially like to mess around in the VAT and the Disassembler. Those two, plus the Console, and it's staying on my calculator forever. It's probably the last thing I'd delete (except for probably Axe) if I absolutely needed the space. So yeah. How often do you guys use Calcsys, and what are you opinions on the program?
45
« on: July 19, 2011, 01:22:15 pm »
I own a ti-84 plus. Browsing around on ticalc.org and other such sites occasionally leads me to a download to USB software, for calculator, like msd8x and usb8x and such things. My question is, what all can I do with usb devices on a calculator? I know I need to buy an adapter but I don't know exactly what kind, the specs, etc. What drivers have been written to interact with usb devices? I guess what I'm looking for is some complete documentation on the subject. I've heard of how brandonw wrote a driver to interact between the mouse and Doors CS, where can I download that? There's a lot of questions here, and I pretty much would just like to know what you guys do about USB devices interacting with calculators. I have a similar set of questions, for the subject of doing sound on a calculator. Again, what kind of adapter do I need? What software is available for it? Thanks.
|