Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: Halifax on February 25, 2007, 04:28:00 pm

Title: NexGenGS
Post by: Halifax on February 25, 2007, 04:28:00 pm
This is a game shell more than an OS. Hence the GS. This will be targetted towards the everyday ASM programmer who needs quick and optimized graphics routines and thinks that overall make everything easier.

The library as is right now includes over 30 functions and is compatible with Ion.

I am currently working on the API and have already implemented a FIFO queue stack and a queue handler. Which means the user can do what they want and the program / NexGenGS can do what it wants and then get to what the user wants. The queue records keys pressed,functions requested, and other things. This is a new and fresh idea to make it easier so that no data is lost and the program can move at the pace it wants to move at. This is another key point of NexGenGS. There are currently 10 API functions and many others on the way. A screenshot will be coming soon of the GUI and showing the use of the NexGenQueue?.

Note: No MirageOS support will be included because the libraries are big and useless and no one uses them anyways. Most programs only use Ion libraries. Another note is that this Game Shell will run BASIC, no-stub ASM,Ion ASM, and NexGenGS ASM programs.
Title: NexGenGS
Post by: tifreak on February 25, 2007, 04:32:00 pm
Sounds like a good idea. You will need to make some example programs of what it can do... :)smile.gif
Title: NexGenGS
Post by: Halifax on February 25, 2007, 04:35:00 pm
Yeah definetly tifreak8x. This will probaly be the most powerful library to-date.
Title: NexGenGS
Post by: bfr on February 25, 2007, 04:36:00 pm
Awesome!  I already suggested this to you before, I think, but I think it would be cool if programs were selected and run just like how apps are on a Voyage 200/TI-89 Titaniun.  Also, make sure that it is not only compatible with Ion, but MirageOS too.  

*bfr
Title: NexGenGS
Post by: Halifax on February 25, 2007, 04:38:00 pm
Haha bfr read the first post and yes I have thought of your idea and I was going to implement it. Why make support for MOS. The *possibly* greatest program ever, Phoenix 3.3 runs on Ion.

EDIT: And what side project? Oh yeah if you could think of some great ideas for libraries I would consider

Another EDIT: DoorCS may support MirageOS but that is why it is more than a 1 page APP. If your thinking of including MOS libraries you are going to have to make it a 2 or 3 page APP and BE users don't want that. Also it includes rudementary things like multiplying and stuff. If any person is going to program for NexGenGS they need to be familiar with graphics programming and advanced topics so they should already be able to remake every MOS library so there is no need for them.
Title: NexGenGS
Post by: bfr on February 25, 2007, 04:40:00 pm
Right now, I have a really fast aligned sprite routine (which is probably faster than Ion's routine), and I could probably think of some more.  Maybe a tile-mapping routine (which could be based off of the aligned sprite routine), but that might be overkill.

EDIT:  The side project would be me helping with the routines
Title: NexGenGS
Post by: Halifax on February 25, 2007, 04:42:00 pm
Bfr I already having a smoothscrolling tilemap implemented into NexGenGS and an aligned sprite routine.

EDIT: I also have input routines, and grayscale routines based off of RGP.
Title: NexGenGS
Post by: bfr on February 25, 2007, 05:04:00 pm
Wow.   o.oblink.gif

What's left?  Color?  :Ptongue.gif
Title: NexGenGS
Post by: Halifax on February 25, 2007, 05:07:00 pm
Yo thanks for the idea im going to implement that
Title: NexGenGS
Post by: bfr on February 25, 2007, 05:10:00 pm
3-D might also be overkill.  If the application is small enough, though, then 3-D might not be such a bad idea.  

Input routines? What kind?
Title: NexGenGS
Post by: Halifax on February 25, 2007, 05:13:00 pm
Input routines as in like letting the user type in a series of characters that are stored into a string. Other stuff like that for the graphscreen and the homescreen. And 3D wouldn't be overkill considering it doesn't take up that much space.
Title: NexGenGS
Post by: Jon on February 25, 2007, 05:33:00 pm
Jon looks up raycasting....
Title: NexGenGS
Post by: Halifax on February 25, 2007, 05:34:00 pm
Not that type of 3D dude. True-3D. I have done it in basic before.
Title: NexGenGS
Post by: Jon on February 25, 2007, 05:53:00 pm
* Jon shuts up

On a lighter note, I have a key input routine that actually works (unlike the first one I made)
(note that lowercase_ofs has to be equated somewhere)
c1-->
CODE
ec1
keyinput:
vkinplp:
   push hl
   bcall(_getcsc)
   pop hl
   or a
   jr z,vkinplp
   cp skEnter
   jr z,vdoneinput
   cp skdel
   jr z,del_let
   cp skalpha
   jr z,tog_lower
   ld ix,chartable
   ld e,a
   ld d,0
   add ix,de
   ld a,(ix)
   cp $ff
   jr z,vkinplp
   ld c,a
   ld a,(lowercase_ofs)
   add a,c
   ld (hl),a
   bcall(_putc)
   inc hl
   djnz vkinplp
vdoneinput:
   xor a
   ld (lowercase_ofs),a
   ld (hl),0
   ret
del_let:
   push hl
   ld hl,curcol
   dec (hl)
   ld a,' '
   bcall(_putmap)
   inc b
   pop hl
   dec hl
   jr vkinplp
tog_lower:
   ld a,(lowercase_ofs)
   xor $20
   ld (lowercase_ofs),a
   jr vkinplp
CharTable:
.db 0
.db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,"WRMH",$ff,$ff,"?",$ff
.db "VQLG",$ff,$ff,":ZUPKFC",$ff," YTOJEB",$ff,$ff
.db "XSNIDA",$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
c2
ec2
Title: NexGenGS
Post by: Halifax on February 25, 2007, 05:53:00 pm
kk cool thanks
Title: NexGenGS
Post by: Delnar_Ersike on February 25, 2007, 06:07:00 pm
 :gah:fou.gif Halifax, your shell's catch phrase should be "One shell to rule them all, one shell to find them. One shell to bring them all, and in the darkness, bind them."  :Ptongue.gif

though I think that the two uber things you should add if there is room after 3D is sound and...MOS support.

As for the *possibly* best game ever for TI is made for Ion...
http://www.ticalc.org/archives/files/fileinfo/347/34799.html
http://www.ticalc.org/archives/files/fileinfo/348/34879.html
Title: NexGenGS
Post by: Jon on February 25, 2007, 06:09:00 pm
* Jon throws his calc into the fires of mount doom, and even there, the TIOS routines can't be slimmed down to not be so bloated/slow

Delnar: it's not whether or not they are made for MirageOS, it's whether or not they use the MirageOS libraries, and since TVF also works on Ion as well, my guess is that it only uses Ion libraries.  I can't be sure about Desolate, you would have to ask Tr1p1ea
Title: NexGenGS
Post by: trevmeister66 on February 25, 2007, 06:50:00 pm
wow halifax, this looks awsome. I'll be deleting my Mirage shell once this comes out (only if it supports mirage games ;)wink.gif)
Title: NexGenGS
Post by: Liazon on February 26, 2007, 11:02:00 am
knowing tr1p1ea, probably just ion since Duck's gs package either relied on just ION or was self sufficient.

either way, the readme in the .zip of Desolate I dled awhile back said something about the Venus shell, which was just ION w/ different GUI iirc.
Title: NexGenGS
Post by: Halifax on February 26, 2007, 01:38:00 pm
@trev: What MOS games do you have on your calc. And I don't think you guys are quite understanding how big the MOS libraries are and half of them are not used. Also I don't know sound seriously seems like overkill. Maybe some link functions would be sufficient.

@delnar: Your first objection is not really valid because TVF was made to run under Ion for 83 which I don't know why he would take the time to port it to 83 Plus and use MOS libraries and second tr1p1ea may have used MOS for Desolate but that was his first game and he admits he was a beginner when he made it and if you look at Maxcoderz 5 year aniversary which clearly uses a better grayscale engine and runs under Ion. So I think that proves my point about NexGenGS is not for the beginner programmer.

@Liazon: Yes Desolate runs on Venus on the 83

[offtopic] I finally tracked down one of the reasons that TI-Connect gives the Acces Denied Error and that is because if you try to send a .83p to your calc then it will trigger that error until you downgrade. Phew! that took me about 2 weeks to debug ever possible way to do it :)smile.gif [/offtopic]
Title: NexGenGS
Post by: Fallen Ghost on February 26, 2007, 02:28:00 pm
Look in http://www.unitedti.org/index.php?showtopic=1279&st=40 for fast 10*n, 16*n and a masked sprite routine better than Kerm's one...
Title: NexGenGS
Post by: Halifax on February 26, 2007, 02:31:00 pm
cool Fallen_Ghost.

Note: Anyone who contributes routines to NexGenGS will have their name placed in the readme and be given full credit.

It would be cool if someone came up with a masked routine that saves the background.

Update: I will be adding your putsprite10, putsprite16, and masked sprite routine to the library because they are freakin fast as I dont know what!!!!
Title: NexGenGS
Post by: Halifax on February 26, 2007, 03:27:00 pm
Ok I know double posts are bad but this is an update. I have started coding the GUI which works like this.

Class
{
  WinStem, WinTopic, StartPosX, StartPosY, XOffset, YOffset, HeaderButtons, BackGroundColor
}
Basically WinStem adds it to a specific Child/Parent Class so if you defined WinStem as Desktop then it would be considered part of the desktop and destroyed when the Desktop is. If you defined a Window with WinStem desktop and then another window with the stem of the first window then when that window with WinStem as Desktop is destroyed then the second one is too. Basically like a tree. WinTopic is the header title and all the other stuff is self explanatory.

So what other GUI stuff do you guys want??
Title: NexGenGS
Post by: Fallen Ghost on February 26, 2007, 04:10:00 pm
The next paragraph is only my thoughts, I cannot speak for others.

A not-too heavy GUI, exactly the contrary of what Kerm did for DCS 6 RC 1. Just a smooth thing, like Mirage, with functionnalities, but not superfluous functionnalities like a text-writer or some strange things no-one ever uses. It doesn't need to be beautiful. It needs to be workin great and giving ASM prog's a help with routines!
Title: NexGenGS
Post by: bfr on February 26, 2007, 04:30:00 pm
Yeah.  We don't need a complicated heavy GUI that makes the program large and complex.  Just something simple, yet stylish.  
Title: NexGenGS
Post by: Jon on February 26, 2007, 04:33:00 pm
QUOTE
It would be cool if someone came up with a masked routine that saves the background.


Erm, didn't I already do that?
Title: NexGenGS
Post by: tifreak on February 27, 2007, 02:23:00 am
QuoteBegin-Fallen Ghost+27 Feb, 2007, 3:1-->
QUOTE (Fallen Ghost @ 27 Feb, 2007, 3:10)
The next paragraph is only my thoughts, I cannot speak for others.

A not-too heavy GUI, exactly the contrary of what Kerm did for DCS 6 RC 1. Just a smooth thing, like Mirage, with functionnalities, but not superfluous functionnalities like a text-writer or some strange things no-one ever uses. It doesn't need to be beautiful. It needs to be workin great and giving ASM prog's a help with routines!  

 You do realize that those things are available for programmers as well, and elfprince was using them when he was making strategic conquest? I am sure once DCS is totally done, and adventurous asm programmers see what they can be used for, that it will become more popular...


If you make it shell like, make it like ion. Simple, and clean.
Title: NexGenGS
Post by: Halifax on February 27, 2007, 01:24:00 pm
@Jon: No

@everyone else: Ok yes I agree I don't want a heavy GUI but my GUI will use a mouse but then the rest will be simple and clean. Thanks for the input. But one thing is I don't want the GUI to be like Ion or MOS or DoorCS. I want it to be different not just menus. So what I was thinking of doing is meshing the Ion type GUI with a mouse and directories and things. How's that sound.

Another update: I am thinking of adding multitasking and making an onboard contributation of 600 bytes towards it which would allow for two processes and two threads for each of those processer.( or four I forget)It would be able to be turned off by programmers who do not want it. But for programmers that do want it then it would provide a great aspect to programming. Any thoughts on that?

Major Update: I have been contemplating this and have decided I will include MOS libs as long as the app stays one page. One thing first anyone know where to find the source for them. I have looked almost everywhere and tried google.
Title: NexGenGS
Post by: Delnar_Ersike on February 27, 2007, 03:38:00 pm
QUOTE
Another update: I am thinking of adding multitasking and making an onboard contributation of 600 bytes towards it which would allow for two processes and two threads for each of those processer.( or four I forget)It would be able to be turned off by programmers who do not want it. But for programmers that do want it then it would provide a great aspect to programming. Any thoughts on that?


Great! Now programmers that are planning to put sound into their games can easily run the music and the game at once! :king:king2.gif
Title: NexGenGS
Post by: Halifax on February 27, 2007, 03:44:00 pm
Possibly Delnar....possibly. I don't know since it will be task switching so it may make the music skippy. At least that is better than nothing. Also I am thinking of making my own floating point library to make floating point numbers faster and maybe more managable. Screenshots coming on the weekend.
Title: NexGenGS
Post by: trevmeister66 on February 27, 2007, 03:53:00 pm
you should have a recycle bin that let's people/programmers (they are different) delete programs without having manually do it (even if it isn't actually hard)
Title: NexGenGS
Post by: Halifax on February 27, 2007, 03:56:00 pm
It wouldn't be so hard to put in there.

NOTE: If I do make multitasking part of the shell then the shell will take 1 process and 1 thread to run. :/confused.gif
Title: NexGenGS
Post by: Jon on February 27, 2007, 04:00:00 pm
Hmm, maybe make it available only in 15 mhz processors, to avoid any significant slow-down.
Title: NexGenGS
Post by: Halifax on February 27, 2007, 04:03:00 pm
Multitasking wouldn't really slow anything down. It may a little but in the long run it will make it appear as things are running faster. And just because the kernel uses 1 process doesnt mean the other one can't be used while the kernel is running. During program both process ports will be open each getting their own stack,allocated memory, and thread capabilties
Title: NexGenGS
Post by: bfr on February 27, 2007, 05:20:00 pm
Multitasking?  Well, it might not be too slow for very simple text-based games, but (wouldn't it theoretically make programs twice as slow for two threads/tasks, three times as slow for three threads/tasks, etc., which is pretty slow for a Z80 calculator?).....

A mouse?  That's probably going to complicate program selection and will probably result in the GUI being heavy.

EDIT:  Also, if it uses a mouse, then programs won't be selected like how Flash Applications are selected on the TI-89 Titanium/Voyage 200, which you said you would do, right?  You don't have to do it that way, but I'm just informing you....
Title: NexGenGS
Post by: Halifax on March 01, 2007, 12:58:00 pm
I know all about the TI-89 and menu stuff but I am not going to straight copy it because it needs its own flare on it. And a mouse is very simple to implement and will most definetly not make the GUI heavy. And as I have said before programmers do not have to use multitasking. But why would it not help say if you were waiting for the player to press a key and you want the cpu constantly moving. Well then multitasking would improve upon that would it not?
Title: NexGenGS
Post by: Jon on March 01, 2007, 02:21:00 pm
* Jon moves his index finger in the direction of interrupts, with a high interrupt frequency, so the split between interrupt execution, and regular code execution is about 50/50.
Title: NexGenGS
Post by: Halifax on March 02, 2007, 07:48:00 am
There would be no other way to do multitasking but interrupts that would be sufficient unless you wanted the user to choose when to end and start threads, but thats just like hard coding it.
Title: NexGenGS
Post by: Fallen Ghost on March 02, 2007, 08:20:00 am
Multi-thread can be fun, but it won't make work anything faster... (in fact, slower than just doing 1 at a time because of the time needed to save registers and swap places and setting things up.)

Using interrupts can be of great use, but if using interrupts for greyscale, then you're pretty much lost. Maybe like a counter or a call routine that preserves all registers? inserted in the program loop at certain intervals, like inside a GetKey call.
Title: NexGenGS
Post by: Halifax on March 02, 2007, 02:02:00 pm
:(sad.gif Well I will just forget multitasking then
Title: NexGenGS
Post by: Fallen Ghost on March 02, 2007, 02:08:00 pm
A fast version of GetCSC, without the Bcalls.

c1-->
CODE
ec1
GetCSC:
 
Title: NexGenGS
Post by: Jon on March 02, 2007, 04:15:00 pm
I know this gonna piss you off, but I'll say it anyway, I have a better version of the key input routine.  It isn't buggy, and it takes way less space, and doesn't destroy ix.

c1-->
CODE
ec1
;RAM needed:
;1 byte for lowercase_ofs
;1 byte for temp_b
keyinput:
 
Title: NexGenGS
Post by: Halifax on March 22, 2007, 12:57:00 pm
Ok update update:

I knocked off 26 lines of the 8xn masked sprite routine. Yeah!!!! And god knows how many bytes(ill check later)

Also I am currently working on another 16xn masked sprite routine that will knock off some pounds too. That coming later on tonight.

Another update: I just finished my 16xn sprite routine with xor logic so that it is faster than ionlargesprite

8xn masked sprite routine # of lines = 50 lines
16xn sprite routine # of lines = 51 lines

I have obviously optimized them to the fullest as ionputsprite takes up 42 lines.
Title: NexGenGS
Post by: Fallen Ghost on March 22, 2007, 02:12:00 pm
Great! You made them from scratch or one someone's code?

The number of lines is not necessarely a good sign, because it may mean a greater number of loops...

If they go faster than existing ones, I definitely will need to use them...
Title: NexGenGS
Post by: Liazon on March 22, 2007, 02:17:00 pm
if this is going to be an app, size won't be that much of a concern will it?  I'd think with an app, speed over size might be more attractive.

so ya, I'd agree with Fallen Ghost.

btw, will there be clipped routines?  just wondering since insanely fast masked+clipped 8x(8) routines have been made, though obviously not app friendly since they were mainly for non flash calcs.  ^^
Title: NexGenGS
Post by: Halifax on March 22, 2007, 03:13:00 pm
hmm yes clipped will be supported. And yes they were made from scratch and the number of loops it goes through is the rows of the sprite and the offset of the sprite. I consider this as fast minus a little as ionputsprite.

EDIT: What is up with this. I disabled the interrupts and put all the inputs in correctly (the routine was using iy) and it crashed the calc. I changed iy to ix+8 temporarily and it worked fine???? I had interrupts disabled what is up?? Fallen_Ghost?
Title: NexGenGS
Post by: Halifax on March 22, 2007, 04:44:00 pm
Double post for an update:


user posted image

Ok this is my masked sprite routine. I really didn't feel like making anything extravagant. But keep in mind this is calling bcall(_clrscrnfull) before ever move! So that gives you an idea of how fast the routine is.
Title: NexGenGS
Post by: Fallen Ghost on March 23, 2007, 12:25:00 am
Halifax, the reason why the calc crashes with iy is because the TI-Os uses it for all it's flags, so you better not modify it unless you make the code remember to what address it was pointing.

Here is my version of 16*n masked putsprite (based on my 16*n putsprite and 8*n masked), using the same inputs as my 8*n masked putsprite. But also using AF' regs

c1-->
CODE
ec1
PutMask_di:
 
Title: NexGenGS
Post by: Halifax on March 23, 2007, 06:18:00 am
that's wierd because I have used iy before without repointing it back and it never crashed the calc.
Title: NexGenGS
Post by: bfr on March 23, 2007, 11:12:00 am
Well, it creates a possiblity of crashing.  Maybe if you use iy without restoring it and then change a mode settings (or something like that), then your calculator will probably either crash or just not function correctly.
Title: NexGenGS
Post by: Insanity on March 23, 2007, 04:44:00 pm
Leo wants to know what the estimated ETA is until NextGen is complete.
*Insanity
Title: NexGenGS
Post by: Halifax on March 23, 2007, 06:25:00 pm
When you say leo do you mean leofox??
And when you say EFA I am guessing something with the release data??

So I will tell you this the first release should be within 6 months or less. Somewhere around there for me to get everything I want in there for now. And then I can begin additions. The main thing is library development that takes long. I am trying to make evreything as optimized as possible and that means writing multiple routines and finding the tstates and then testing and debugging and so on... and then it makes it to the final library!

Also I am writing an html documentation along with it.
Title: NexGenGS
Post by: Insanity on March 23, 2007, 07:17:00 pm
QUOTE
When you say leo do you mean leofox??

No, I meant Leo (and two others) at my school.
QuoteBegin
-->
QUOTE
And when you say EFA I am guessing something with the release data??

ETA and yes, the release date.

QuoteBegin
-->
QUOTE
So I will tell you this the first release should be within 6 months or less. Somewhere around there for me to get everything I want in there for now.

Ok, I'll tell him.
Title: NexGenGS
Post by: Jon on March 26, 2007, 06:59:00 pm
I've found that the best option is to simply back it up in the stack.  It is the same number of bytes each way, since ld iy,xxxx is 4 bytes, and push iy/pop iy are 2 bytes each.  Also, then it allows the user to store iy for something else (if they were in an IM 2 ISR, they might not want iy to be set back to the flags).
Title: NexGenGS
Post by: Insanity on April 01, 2007, 06:29:00 am
There's a program called GetDataBack.  The bad part is that it's not free -- eauch! -- so if you want it and want to unlock the recovery feature, you're gonna have to get it the evil way via BitTorrent (Demonoid probably still has it)...

It's the only recovery tool that has worked very well for me.  I'm sure there's a free one that is just as good somewhere but I haven't found it yet...
Title: NexGenGS
Post by: Delnar_Ersike on April 01, 2007, 07:19:00 am
Suggestion to Insanity: Look at the date. :lol:bounce2.gif

Nice one Halifax, but it was a bit far-fetched.
Title: NexGenGS
Post by: trevmeister66 on April 01, 2007, 07:34:00 am
lol dang i fell for it until i read Delnar's post. Scared me for a sec  :paf:tripaf.gif
Title: NexGenGS
Post by: Delnar_Ersike on April 01, 2007, 01:46:00 pm
Look at the bottom right, it says "Windows Vista Evaluation Copy". Methinks you took a picture from the internet and used GIMP to change it.

Or if this isn't true, post another picture tomorrow when it isn't April 1st.
Title: NexGenGS
Post by: Insanity on April 01, 2007, 02:10:00 pm
Dude, I don't think he's kidding...
Title: NexGenGS
Post by: Halifax on April 01, 2007, 02:27:00 pm
Ok I am sorry to say you guys made me work very very hard on this. It took me about an hour to edit that photo with Windows Paint. Gah but I have to give it to you guys for figuring it out lol. April Fools!!
Title: NexGenGS
Post by: Insanity on April 01, 2007, 03:06:00 pm
Damn.  That was freakin' good.
MarrigeOS has competition.
Title: NexGenGS
Post by: Jon on April 01, 2007, 03:16:00 pm
Hey now, don't diss MOS just cuz' your calc is stuffed to the rafters
Title: NexGenGS
Post by: bfr on April 01, 2007, 03:19:00 pm
Great joke!   :lol:bounce2.gif
Title: NexGenGS
Post by: Halifax on April 02, 2007, 06:30:00 am
Haha thanks guys, but I am definetly not doing anymore jokes like that anymore. Its too much freakin work.
Title: NexGenGS
Post by: Halifax on April 09, 2007, 11:03:00 am
Ok new idea I am just throwing it out there. But everybody knows after release that people don't just go and update their programs at the drop of a dime. So what if you could expand NexGenGS libraries with your own code that other people could use to?!?! Basically im thinking of it like this. NexGenGS has an expansion handler. It will allocate the libraries accordingly and keep a table of where they are. Then people wanting to develop libraries would make their code and then make a jump table and an include file that holds offsets to the routines. Then the program using these libaries would have a table that has the offset. The program would then query NexGenGS for an offset to the given libraries and the program would add that to all the offsets so then they could call the routines. So what do you think I haven't written/ironed out these plans but I plan on it. Oh and the libraries would be in appvars.
Title: NexGenGS
Post by: bfr on April 09, 2007, 11:07:00 am
At the moment, it doesn't really seem like a bad idea :)smile.gif, although there may be complications I haven't thought of yet....
Title: NexGenGS
Post by: Halifax on April 09, 2007, 01:19:00 pm
Yeah same here bfr I am trying to get this all down on paper how I am going to do it. But I know there are going to be complications with it.
Title: NexGenGS
Post by: Liazon on April 10, 2007, 10:49:00 am
An interesting idea, but be sure to include some kind of development documentation for dlls compatible with NextGenGS.  SDK, template, docs, something to inform people about any format issues that could exist in the implementation of this system :)smile.gif
Title: NexGenGS
Post by: Halifax on April 10, 2007, 11:25:00 am
Liazon: NexGenGS*

Yes it will be all documented out in nice pretty html and very descriptive. Liazon why don't you help me develop this? It would make it go a hell of a lot quicker.
Title: NexGenGS
Post by: Liazon on April 11, 2007, 10:17:00 am
I'll probably be really busy until about January '08 ;)wink.gif so I probably can't off much more than advice.  I'm sure you'll be fine though :)smile.gif
Title: NexGenGS
Post by: Halifax on April 11, 2007, 12:09:00 pm
Yeah I'll be fine with it I just wanted it to go quicker. I actually want to finish this soon so I can get it on my calculator. Actually no part of NexGenGS has touched my calculator yet :)smile.gif
Title: NexGenGS
Post by: Fallen Ghost on April 15, 2007, 11:15:00 am
Can you guys tell me what's the use of a one-program only library? (like adding your new library for your own program)

Because you will have to: 1.transfer the library with the program, as you don't know if user has it
2. Having the library or inside the program takes the same place
3. Allows less modification of code.

If you had 3500 programs that were going to use the same and exact routine you have, then put it already in the shell, it'll be less trouble. If you have specific routine, put it in your program, you will customize it even more, it'll go faster and take less space.

Please tell me why.
Title: NexGenGS
Post by: Halifax on April 15, 2007, 11:31:00 am
Who said it was a one program only library. It would be like a DLL. Say NexGenGS dies somewhere down the road and people are still using but a new shell comes out with some great libraries so someone builds it into ONE dll that can be sent to the calc and then every programmer for NexGenGS would have access to the routines of the other shell without having to program for the other one. That was kind of the point. I didn't really understand what the hell you were talking about?


And its not for one program every programmer would be able to use it if they had knowledge of how to use the DLL. That's the point so every programmer doesn't have to include 10 libraries into their program instead of having ONE dll with all 10 libraries that each of those programmers could use so then they have more space in their program. As I said no one updates their stuff at the drop of a dime.
Title: NexGenGS
Post by: KermMartian on April 25, 2007, 02:10:00 am
The concept of external libraries was first implemented in SOS for the TI-83 line of calculators.  I included support for them in Doors CS (I call them ALEs, Appended Library Extensions), but I no one has used them so far and I'm pretty sure the idea is mostly useless. You can take a look at how it handles ALEs here:
http://dcs.cemetech.net/index.php?title=ASM_Header_%28Doors_CS_6%29
Title: NexGenGS
Post by: Halifax on April 28, 2007, 07:38:00 pm
Here is a NexGenGS mockup of what it will look like and function like. As you can see I have taken what bfr has asked and implemented it in this mockup.

user posted image

The Mockup Explained:

The program icon and name that is inverted is the program attributes that are displayed in the top bar. It's Archive status,lock status, and size. You move the cursor around over the programs and folders with the arrow buttons. The X and the bottom of the screen means you can't scroll down anymore. The arrow at the top of screen means that you can scroll up more. Oh and that dropdown button with the NexGenGS logo is a secret. Ssshhhhh... More info on that later...
Title: NexGenGS
Post by: Liazon on April 29, 2007, 02:05:00 am
like the 89t's app screen?
Title: NexGenGS
Post by: Delnar_Ersike on April 29, 2007, 04:45:00 am
*Delnar_Ersike
Title: NexGenGS
Post by: Halifax on April 29, 2007, 07:08:00 am
Yeah Delnar these are not final icons or anything like that. But if you have any 16x16 folder icons laying around feel free to post them. I am not the best at pixel art.

@Liazon: Yes this is like the 89t App menu. First off bfr suggested it so kudos to him and second off I just love the configuration and how simple and easy it is to use. And of course functions like scrolling 1 page or 2 pages at a time will be included and the program/folder names will be sorted.

Just a thought I have been having is that I may include a mouse cursor that is OPTIONAL. So you could either use the standard way or use the mouse. It will all be customizable even to the 18x18 sprite that xor's over the icons. So this should turn out very good.
Title: NexGenGS
Post by: Delnar_Ersike on April 29, 2007, 07:50:00 am
I would add my image of a 16x16 sprite if attachments wouldn't be disabled :grr:mad.gif . Anyways, here it is.
0 means off pixel, X means on pixel

0000000000000000
0000000000000000
0000000000000000
00XXXX000XXXX000
0X0000XXX0000X00
X000000000XXXXX0
X000000XXX00000X
X000XXX00000000X
X00X00000000000X
X0X00000000000X0
X0X00000000000X0
X0X00000000000X0
XX0000000000XX00
XX00000000XX0000
0X0000XXXX000000
00XXXX0000000000
Title: NexGenGS
Post by: Halifax on April 29, 2007, 09:15:00 am
user posted image

There you go. I like your sprite much much better.
Title: NexGenGS
Post by: Speler on April 29, 2007, 09:39:00 am
By the way, it would be awsome if you added grayscale a lib.
Title: NexGenGS
Post by: calc84maniac on April 29, 2007, 10:01:00 am
Stole it from DCS eh? XDsmiley.gif
Title: NexGenGS
Post by: bfr on April 29, 2007, 10:10:00 am
Looks cool.  Maybe you could squeeze in somewhere how far one has scrolled down?  Maybe it could say "Page number" or just number on the top/bottom of the screen, or maybe even on one of the sides.  

Also, right now I don't like the folder icons very much.  They're ok, but maybe you could, when you get a chance, to improve them?  Maybe, if Kerm lets you, you could use his folder icon from DoorsCS?
Title: NexGenGS
Post by: Fallen Ghost on April 29, 2007, 11:22:00 am
To me, it looks pretty much like DCS...
Title: NexGenGS
Post by: Liazon on April 29, 2007, 11:49:00 am
no mouse, but ya some similarities.

add some kind of key combo like Alpha+arrows or 2nd+arrows to move by "pages" for faster browsing.  that's one of the things i like about 68k's memory menu.
Title: NexGenGS
Post by: Halifax on April 29, 2007, 12:08:00 pm
There really are no similarites between this and DCS and the folder icon that Delnar posted is not the DCS folder icon. Also as I have stated before none of this is final.

@Super_Speler: Of course grayscale libs are going to be in there. I am making the shell code as small as possible but still functional, so that all the libraries you need can fit on one page.

@Liazon: Yes there will be key combos

@everyone else: Post any ideas you want this basically is a Shell made by the people of the community.
Title: NexGenGS
Post by: Speler on April 29, 2007, 12:23:00 pm
I want a function similar to the hide subroutine in DCS, except for it to preferably not use rand (or something else that stores to ans).  You may however, instead, use rand to keep it on the same system as DCS.  Add, if possible a Basic editor with small text (so I can keep my editor and program to run the Basic code in the same place).  Make the shell GUI grayscale, that would OWN.
Title: NexGenGS
Post by: Insanity on June 05, 2007, 03:48:00 am
TIOS = The Console
MirageOS = MWM
DoorsCS = Blackbox
NexGenGS = Fluxbox
CrunchyOS = XTerm
Ion = XWM
Title: NexGenGS
Post by: Halifax on June 05, 2007, 09:34:00 am
@FMR: ?? lol

[ removed ]

One rule: Don't ever come to this forum to persuade someone to use a shell of your own. It's simple respect.
Title: NexGenGS
Post by: JonimusPrime on June 05, 2007, 10:56:00 am
QuoteBegin-Super Speler+29 Apr, 2007, 18:23-->
QUOTE (Super Speler @ 29 Apr, 2007, 18:23)
I want a function similar to the hide subroutine in DCS, except for it to preferably not use rand (or something else that stores to ans).  You may however, instead, use rand to keep it on the same system as DCS.  Add, if possible a Basic editor with small text (so I can keep my editor and program to run the Basic code in the same place).  Make the shell GUI grayscale, that would OWN.  

 DCS now uses rand or ans for a hicding token so i would sugest you at least use and for compatibility and cuz it is a good idea.
Title: NexGenGS
Post by: Speler on June 05, 2007, 11:06:00 am
I posted that over a month ago, I know :Ptongue.gif.
Title: NexGenGS
Post by: Jon on June 05, 2007, 01:24:00 pm
Damn, can't we play nice? a shell is a shell.
Title: NexGenGS
Post by: KermMartian on June 05, 2007, 01:29:00 pm
I thought so.  I prefaced my post by "I don't want to start a flame war" and "Feel free to ignore me completely..." My post went on to point out a few similarities between Doors CS and the mockup of NexGenGS, but also congratulated Halifax on his progress so far as well as acknowledging the different aims of NexGenGS and Doors CS.  I likened Doors CS to a "hulking 4-in-1 Swiss Army knife" and NexGenGS to "a sleek, streamlined [switchblade? can't remember]".  Anyway, I suggested that it might be advantageous to both of us if NexGenGS was an addon or module for Doors CS instead of a standalone shell, as that would allow it space for more core functionality and would also prevent reinventing the wheel of program execution, libraries, etc etc etc.  Halifax apparently took my friendly post as an ad hominem attack, and I received an extremely offensive PM in my PM box.  If anyone (including moderators) has a cache or backup copy of my post, please send it to me; I need it for my records.  Thanks in advance.
Title: NexGenGS
Post by: Delnar_Ersike on June 05, 2007, 01:33:00 pm
I've got a great idea:
DCS goes in one direction, NexGen goes in the other. Sheesh, I've never seen people so competitive about a shell before! Even MirageOS and CrunchyOS keep to themselves!
Title: NexGenGS
Post by: Jon on June 05, 2007, 01:36:00 pm
Well, i can see the logic on both your opinion, kerm, as well as in halifax's opinion.  Our intent with NexGenGS is to gear it towards the gamer.  We have planned numerous libraries designed especially for games, such as tilemappers, grayscale routines, and sprite routines.  It has been intended to be a standalone application.  So your statement, however harmless your intentions may have been, was taken to be an inflammatory attack on NexGenGS as "inferior."  As far as deleting posts, it was halifax's decision to do so.  This thread is his, and is intended to display the positive progress NexGenGS is making.  I would like to also point out that it was his decision, not that of omnimaga's.
Title: NexGenGS
Post by: Jon on June 05, 2007, 01:48:00 pm
He's a moderator based on the fact that this is his thread.  All the staff have the power to delete/edit the posts in this thread, however we don't because it is his, and it is his own choice what is seen and what is not seen on this thread.
Title: NexGenGS
Post by: Halifax on June 05, 2007, 01:58:00 pm
I didn't save your post. And I originally posted that stuff I sent you in a pm and this forum and chose to edit that too. Anyways the reason you got me so infuriated is because of the whole thing with you coming into this forum and having the audacity to try and recruit NexGenGS for DoorsCS. I would not come to your forum and ask you to build your work ,that you have worked on for 3 years, into NexGenGS because that would be simply rude. Then the fact that you are going to try and persuade people that DoorsCS has the features that NexGenGS is neither helpful nor respectful. You obviously didn't read my PM. I believe you came in with the direct attention to diminish the reputation of NexGenGS or take it over to leave you with no competition.

And yes I believe I can make decisions on your posts in THIS forum because it is owned by me. I agree with Delnar in that the shells are obviously going in seperate ways so unless you have something constructive to do in here then leave because I will not value anymore of your posts with a response.

That's the last nail in the coffin so you are going to be talking to yourself if you say anything else.
Title: NexGenGS
Post by: Jon on June 05, 2007, 02:02:00 pm
I would like to say that we here at omnimaga  dislike such attacks on the forum itself.  It's just php code man, it doesn't have opinions.  It just conveys people's opinions.  Don't diss omnimaga just because you don't agree with one of its staff.
Title: NexGenGS
Post by: KermMartian on June 05, 2007, 02:23:00 pm
My gosh, have you all been brainwashed?! I know Omni doesn't get a ton of respect in the community, but I've always tried to withhold judgment because I used to respect Kevin O as a programmer and friend.  However, this episode is seriously undermining my respect.  My post *let me emphasize this* was carefully phrased to be extremely respectful and DID NOT insult anyone or anything here.  As you noticed, my post was DELETED, which removes all evidence that I was being friendly and non-confrontational.  Of course you guys trust Halifax more; why would he lie?

[ don't quote my pm's without my permission. I gave you notification about the deletion. ]
Title: NexGenGS
Post by: Netham45 on June 05, 2007, 02:24:00 pm
QuoteBegin-Halifax+5 Jun, 2007, 17:58-->
QUOTE (Halifax @ 5 Jun, 2007, 17:58)
I didn't save your post. And I originally posted that stuff I sent you in a pm and this forum and chose to edit that too. Anyways the reason you got me so infuriated is because of the whole thing with you coming into this forum and having the audacity to try and recruit NexGenGS for DoorsCS. I would not come to your forum and ask you to build your work ,that you have worked on for 3 years, into NexGenGS because that would be simply rude. Then the fact that you are going to try and persuade people that DoorsCS has the features that NexGenGS is neither helpful nor respectful. You obviously didn't read my PM. I believe you came in with the direct attention to diminish the reputation of NexGenGS or take it over to leave you with no competition.

And yes I believe I can make decisions on your posts in THIS forum because it is owned by me. I agree with Delnar in that the shells are obviously going in seperate ways so unless you have something constructive to do in here then leave because I will not value anymore of your posts with a response.

That's the last nail in the coffin so you are going to be talking to yourself if you say anything else.

ok
1) not your forum.
Edit: On talking to Halifax, he meant the NexGenGS forum, not Omnimaga.
2) you ARE right, but stop acting like Omnimaga is yours. It is as much mine as yours.
3)Kerm REALLY needs to shut his mouth.

QuoteBegin-Kermmartian+
-->
QUOTE (Kermmartian)
but clearly Omnimaga's staff do not follow the same standards.


Do NOT let his one opinion speak for all of us. Do NOT let one persons messing up tarnish our name. Just ignore him.

Now lets try to be civilized huamns, and DROP the flame before I lock this topic.
Title: NexGenGS
Post by: Jon on June 05, 2007, 02:26:00 pm
For the last time, that is HIS opinion.  We've never placed an opinion upon either of the two of you. This is an argument between the two of you, not you and omnimaga.
Title: NexGenGS
Post by: Netham45 on June 05, 2007, 02:30:00 pm
Kerm, that was inappropriate, and I am sorry to say that you couldn't be mature enough to not have this topic locked, and your post deleted.
Title: NexGenGS
Post by: Insanity on June 05, 2007, 02:32:00 pm
Two shell developers fight it out to win the ultimate seat of victory as Ticalc.org's Most Downloaded Program.

user posted imageuser posted imageuser posted imageuser posted image

Only one will win...

...and the other...
Title: NexGenGS
Post by: Halifax on June 05, 2007, 02:36:00 pm
Ok I want to clear up that when I said my forum that I meant NexGenGS forum not omnimaga. I never speak for omnimaga and I never speak for Kevin.

I should not hurt Kevin's reputation for any reason at all.

Netham was right in locking this topic I agree with him fully about things getting out of hand. Due to some unforsaken events this topic will be locked and sorry to say never reopened.
Title: NexGenGS
Post by: DJ Omnimaga on June 06, 2007, 08:46:00 am
Omnimaga!=Kevin
Omnimaga!=Netham
Omnimaga!=Jon
Omnimaga!=Halifax
etc

We are just staff doing our work on a forum and working on programs and music.

You advertised your *own* shell in *someone else*'s shell topic, downgraded the other shell (sometimes *rudely*) to promote yours, in a thread that is not *yours*, and expect people to reply with happyness, including the one who created this topic? Then you bash people back telling them they were brainwashed? This is simply not true. Staff are just doing their work.

Because you broken two rules several times in this topic, by spamming (advertising in this case) in this topic and attacks toward the staff and omnimaga as a whole, I decided to set a temporary ban on you. You can still view the entire forum, but you cannot post anymore. Since the situation doesn't seems to be very stable with you now, the ban will last until the day I get internet access at home again, on july 3rd.

In case you get any ideas, this isn't a ban set for freedom of speech, I do not care about what you think of the shell in this thread, as long as you stay polite by expressing your opinion and as long as you advertise your own shell in the proper section of this forum.

Thanks


This topic is remaining locked, but i started another one so we can start clean again.