ticalc.org
Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Archives :: News :: A Few Good Programs

A Few Good Programs
Posted by Michael on 28 July 2004, 04:58 GMT

[Monochromatic 2]Tonight we're presenting three of the many files that were added to our archives on Saturday. First, Monochromatic 2 is an 83 ION graphics demo that does some pretty fancy things. A very tired news editor who wants to go to sleep writes short descriptions, so if you have an 83 and want to see what it's capable of, check it out. There's also an 83+ version, but it is untested.

For the 86, there's an interesting even if not too practical set of assembly routines for preemptive multithreading. These are of absolutely no use to the casual calculator gamer though. However, Seklorean Warrior Shell, also for the 86, not only has a unique name, but contains a slew of features that rival the Unix program Emacs.

  Reply to this article


The comments below are written by ticalc.org visitors. Their views are not necessarily those of ticalc.org, and ticalc.org takes no responsibility for their content.


Re: A Few Good Programs
Paul Houser Account Info
(Web Page)

Who cares about Satuday programs? Corrupted Memory 0.4 and my XML parsing program are in the queue!

Reply to this comment    28 July 2004, 14:36 GMT

Re: Re: A Few Good Programs
Konrad Meyer  Account Info
(Web Page)

Because some people here actually made some good programs. And Monochromatic is just fantastic.

Reply to this comment    28 July 2004, 15:39 GMT

Re: Re: Re: A Few Good Programs
Paul Houser Account Info
(Web Page)

i know, I was kidding

Reply to this comment    28 July 2004, 16:48 GMT


Re: Re: Re: A Few Good Programs
Paul Houser Account Info
(Web Page)

But seriously, Mono* is awesome. I wish I had an 83+

Reply to this comment    28 July 2004, 18:20 GMT


Queue
ti_is_good_++  Account Info

...and Off 1.only for TI-89 is in the queue, too. These are three excellent programs, which is why they were featured.

Reply to this comment    28 July 2004, 21:15 GMT

Re: A Few Good Programs
DWedit  Account Info
(Web Page)

Hint: Monochromatic belongs in THIS folder:

/pub/83/asm/graphics/ion/

Reply to this comment    28 July 2004, 15:13 GMT

burntfuse  Account Info

I had just downloaded all these programs a few days ago...now I'll really have to try them!

Reply to this comment    28 July 2004, 15:39 GMT

Re: A Few Good Programs
coinmanz  Account Info
(Web Page)

Thank you Michael. I've never actually expected a green sticker, but perhaps it was the Ion style asm library I just added...WOOOO HOOOOO!!!! Party tonight and all the females get in free! Time to celebrate!!!

Reply to this comment    28 July 2004, 16:44 GMT


burntfuse  Account Info

All the females get in free?!?! Can I come?????? (JK :-) ).

The Seklorean Warrior Shell looks really great, and I would definitely use it if it had support for standard YAS icons and YAS filetypes. I hate to be asking for more features on a shell that has so many already, but I really like editing TextView files and ZAC source code files on my calc with ATE. Also, I think some games (like blinded by the dark) use YAS filetypes to allow a saved game to be launched from the save file. Not essential, just a suggestion for if you're looking for more features to add...

Reply to this comment    29 July 2004, 21:12 GMT


Re:
coinmanz  Account Info
(Web Page)

Such ideas came to mind. As for the icons, it's based a bit off YAS as well. Not only does it support normal icons, but also 4 level greyscale ones too. ZAC and textview file I can easily add recognition for, but for editing them... the actual programs are best and i lack the skill to anyways (the whole checksum thing).

Reply to this comment    30 July 2004, 06:33 GMT


burntfuse  Account Info

I didn't mean adding editing capabilities - just some code so that if ATE was on your calc, when you tried to run a TextView file, it would open ATE with the file loaded (like iShell...).

Reply to this comment    31 July 2004, 14:37 GMT

Problem
anykey  Account Info

Every time I try to send it to my calc, it complains about a problem witha variable called 'MONOCHRround('.

Reply to this comment    28 July 2004, 18:49 GMT

Re: Problem
Matt Long  Account Info

Geez, just rename the variable.

Reply to this comment    29 July 2004, 02:46 GMT


burntfuse  Account Info

I tried to test the 83+ version in VTI, but it kept on giving me a transmission error. Maybe ~22 KB is too big :-). I'll have to try it on my actual calc.

Reply to this comment    29 July 2004, 21:13 GMT

Re: A Few Good Programs
Marc Plouhinec  Account Info
(Web Page)

And this demo run perfectly on TI-82 with my "TI-83 emulator"! Good Job ;)!

Reply to this comment    28 July 2004, 19:16 GMT

Multi-threading
Chivo  Account Info

Woo hoo! My multi-threading routines got featured! I never thought they would be.

For some reason some of the files still say version 0.9b, but it's really version 1.0. I thought I had fixed them. Just ignore them please. :)

Alright, so who has used or possibly would like to use my multi-threading in a program? Don't be shy! It could even be a C program; with an earlier version I wrote a working threaded Small C program with some C wrapper functions, so I know it can be done easily. I might include the wrapper functions if people want them.

I plan on revamping my threads sometime soon (changing the scheduler and thread management and adding timers etc.), but I'm more likely to do it sooner if people are using it.

Does anyone have any suggestions for making my threads better?

Questions? Comments? Money? :)

Reply to this comment    28 July 2004, 20:43 GMT


burntfuse  Account Info

They sound useful for a multithreading shell like TSE...maybe I'll try something like that...

Reply to this comment    29 July 2004, 21:14 GMT

Re: A Few Good Programs
Chivo  Account Info

Oh yeah, BTW, congratulations to the other featured authors.

That Monochromatic 2 graphics demo looks pretty awesome! It's really good for a TI-83. I noticed the dithering patterns are different from a normal Bayer dither patterns. It's not bad or anything; it just gives the graphics a different "texture", which makes the demo more interesting. The patterns are even different from the first Monochromatic demo (which I think uses spiral dither patterns), and it has a different look because of that.

Reply to this comment    28 July 2004, 21:18 GMT


Re: Re: A Few Good Programs
benryves  Account Info
(Web Page)

I'm just using pixel-doubling for the more "intensive" effects in mine - so the dither patterns are restricted to 100% (black), 50% (grey) and 0% (white). I can't think of a sensible way to "up" the palette, especially as the manner in which I pixel double vertically is a mucky hack anyhow; I'll have to see how much it slows if I add a 25% and a 75%.

Reply to this comment    29 July 2004, 14:33 GMT


Re: Re: Re: A Few Good Programs
Chivo  Account Info

In your what? Do you have a demo like Monochromatic? I looked around your site and your profile a bit, and I see you're into images and animations, but I don't think I saw anything which uses only 0%, 50%, and 100% dithering.

I wrote a Bayer dithering routine which returns whether a pixel is on or off depending on its intensity (0-255, 0 being black) and position on the screen. Would this work for you?

It works similarly to a FindPixel routine, being highly optimized like one, but like a FindPixel routine, it could be used in-line in a program so it's much faster. For one thing, you could maintain a pixel mask (which is used by the dither routine) and a row counter (just Y modulo 4) instead of computing them for each pixel. This can save a lot of time.

Alternatively, you could reduce the resolution of the screen by 1/4 in each direction (4 is the width and height of the dither pattern). I think the spirally/blobby graphics in the Monochromatic demo used 4x4 "pixels". 24*16 pixels can be computed much quicker than 96*64 pixels.

Reply to this comment    30 July 2004, 00:08 GMT

Re: Re: Re: Re: A Few Good Programs
Andreas Gustafsson  Account Info
(Web Page)

I'm the coder of Monochromatic 1 and 2.

You are correct that the dither-effects in the demos are done using 4x4 "tiles" of dither-patterns.

Nice that you spotted my new dither-algo! I'm not using any known algo, I just make it up as I go along. :)

Reply to this comment    30 July 2004, 12:04 GMT

Re: Re: Re: Re: Re: A Few Good Programs
benryves  Account Info
(Web Page)

My dither algo runs along the lines of 'if it's between x and y, use tile 1, if it's between y and z, use tile 2' and so on :(

Reply to this comment    30 July 2004, 14:10 GMT


Re: Re: Re: Re: Re: A Few Good Programs
Chivo  Account Info

I did a little experimenting with a grayscale image I made which is similar to one of the effects in your program. I made two versions: one is full resolution, and the other is lower resolution (with 4x4-pixel blocks). I converted both to black and white using Bayer dithering, and both images were almost identical! The low-res image looked slightly "fuzzier", but it wasn't very noticeable.

I guess fixed-pattern dithering obscures high-frequency (small) details anyway, so that's why a low-res image looks almost the same as the high-res image when it's dithered.

Not to steal your spotlight, I might try to write a graphics demo of either interfering waves which produces a Moire effect, or plasma. Each will use 4x4 blocks to reduce computation time by 1/16th.

Reply to this comment    30 July 2004, 16:17 GMT


Re: Re: Re: Re: Re: Re: A Few Good Programs
benryves  Account Info
(Web Page)

I've done a monochrome (non dithered) moire which overlays (XORs) three concentric-circle patterns on top of eachother. OK, the pattern is a 192x192 bitmap that is shifted, (generated at runtime), but it runs very fast at full resolution...

Reply to this comment    30 July 2004, 16:54 GMT


Re: Re: Re: Re: Re: Re: Re: A Few Good Programs
Chivo  Account Info

Mine will calculate the brightness of points using the cosine of the distance from the center of a circle, so it might be a *little* slower than using XOR. :)

Reply to this comment    1 August 2004, 01:49 GMT


Re: Re: Re: Re: A Few Good Programs
benryves  Account Info
(Web Page)

I'm currently writing a graphics demo with some old school effects in it... I have used 4x4 dithers before, if you notice in FT2 (flame effect).
Re: Your routine - I currently start at 0,0 then shift the bitmask right every pixel (for pixel doubling I start with a mask of %1100000, and shift twice every pixel) and wait for that to overflow, once it does I reset it and increment the pointer to PlotsScreen... it works nice and fast! If you could email me your routine, or point me to it, I'd be interested... *goes and looks at your profile*

Reply to this comment    30 July 2004, 12:08 GMT

Re: Re: Re: Re: Re: A Few Good Programs
Chivo  Account Info
(Web Page)

Hey, if you use a circular rotate on your mask instead of shift then you don't have to reset it when it overflows. Rotates set the carry flag on overflow, so you can still test for it as with the shift.

My Bayer routine is in the file called bayer.zip (you never would've guessed :). You can browse my profile or click on my link above.

Reply to this comment    30 July 2004, 16:20 GMT


Re: Re: Re: Re: Re: Re: A Few Good Programs
benryves  Account Info
(Web Page)

Oh, Bayer, is that what you used in your sunlight program? A patterened dither? I'll have a look into it! Thanks :)

Reply to this comment    30 July 2004, 16:57 GMT


Re: Re: Re: Re: Re: Re: Re: A Few Good Programs
Chivo  Account Info

Yes, Bayer is a patterned dither. It's quite easy to implement and also fast.

My sunlight program spends most of its time calculating the illumination, so I can't really tell how fast my Bayer routine is from that program, though. I estimate it could fill the screen (128x64) pixel-by-pixel in about 1/6 of a second.

Reply to this comment    1 August 2004, 01:54 GMT


Re: Re: Re: Re: Re: A Few Good Programs
Lewk Of Serthic Account Info
(Web Page)

I kinda like your fire effect more than Mono's.

Reply to this comment    1 August 2004, 16:01 GMT


Re: Re: Re: Re: Re: Re: A Few Good Programs
benryves  Account Info
(Web Page)

Cool :)
I need to find a decent reference on Bresenham - all my circles are coming out wonkily :(

Reply to this comment    3 August 2004, 15:16 GMT


Re: Re: Re: Re: Re: Re: Re: A Few Good Programs
Chivo  Account Info

I found some circle-drawing routines here. Try these (all are under www.ticalc.org/pub/):

circle.zip (86/asm/source/routines)
circle.asm (85/asm/source/routines)
fastcirc_8x.zip (83plus/asm/source/routines)

I don't know how fast they all are. The first two are for the 85 or 86, but you could probably convert them for the TI-83(+) pretty easily. The first one draws filled circles.

Reply to this comment    3 August 2004, 18:13 GMT

1  2  3  

You can change the number of comments per page in Account Preferences.

  Copyright © 1996-2012, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer