Page 35 of 38

Re: Lyon

Posted: Wed Jun 26, 2013 10:00 pm
by Svnthshd
Story of the vast majority of lives.

Re: Lyon

Posted: Thu Jun 27, 2013 10:32 am
by Smilymzx
Svnthshd wrote:Story of the vast majority of lives.
Hi there, Seventh Shade. Long time no see!

Back on topic: Saxxon, Please do not give up your fantastic work on Roton, It's pretty great stuff like this that's rarely seen for me!!!

Re: Lyon

Posted: Sat Jun 29, 2013 9:39 pm
by Saxxon
I won't give up on it :) With a project that's so exciting and has so much going for it, there's no reason to abandon it. I feel I've gotten the framework right where it needs to be in order to do it "right". Every time I get far into the project I shoot myself in the foot due to an infrastructure decision. You've no idea how many times it's been rebuilt from nearly-scratch..

Re: Lyon

Posted: Sun Jun 30, 2013 2:04 am
by Commodore
I'd encourage you to finish your easyflash version of blacksilver, but my allegiance lives here.

Re: Lyon

Posted: Sun Jun 30, 2013 2:20 am
by Saxxon
Commodore wrote:I'd encourage you to finish your easyflash version of blacksilver, but my allegiance lives here.
That's technically already finished. :] Just lacks an intro and docs for a proper "scene" release.

Re: Lyon

Posted: Wed Jul 17, 2013 9:41 am
by Saxxon
Since there's going to be a ZZT book out (and the author has linked Lyon on her website) I think it would be best to get this wrapped up in short order. We're going to make the deadline the release of the book for what would be considered a "final" release.

Although the linked one on the first post is "close enough" for 99% of games. It's only missing a few obscure bugs anyhow.

Re: Lyon

Posted: Wed Jul 17, 2013 7:58 pm
by Smilymzx
And now a new, seperate, and incomplete project (right now, as in WIP) called Roton2/Lyon2 appears in Google Code, With promises to implent things differently than the original project...

Just a piece of info for anyone working or looking at the project...

Re: Lyon

Posted: Fri Jul 19, 2013 3:21 am
by Saxxon
You are observant, SmileyMZX :]

I have separated it; the framework that is currently in the WIP is not adequate. I can use the frontend stuff, but the backend is really lacking. Sometimes taking a step away brings fresh ideas to the table.

I'm really, really ashamed of how Roton originally turned out (internally). I had a bit of a polar shift in mentality this year (and I'll save the real talk). This spills over into code. I wrote Roton angrily and hastily. It lacks serenity.

(That sounds stupid doesn't it? But the method in which the code is written has to be channeled through my other troubled thoughts.)

Re: Lyon

Posted: Fri Jul 19, 2013 6:05 am
by Smilymzx
C'mon, Cheer Up, The code may look like crap, but it is actually readable to me...

BTW... Making more readable code is better anyways!

Re: Lyon

Posted: Fri Jul 19, 2013 7:55 pm
by Saxxon
This is like.. attempt 10 or something. Hell, I don't know. That book coming out gives me more inspiration to work on it.

Re: Lyon

Posted: Tue Jul 23, 2013 2:31 am
by Saxxon
I'm putting in an INT 21h service provider class. Am I working on too low of a level? :x I figured out ZZT's actual timing mechanism and it relies on constantly calling INT 21h,2C to query the system time in 100ths of a second. There's also the way it writes to PC speaker ports. Should I actually simulate the way it creates drums or stick with the recordings I've got?

Just some crazy things on my mind.

Re: Lyon

Posted: Tue Jul 23, 2013 7:05 pm
by Commodore
Timing is good, but aren't the problems about speed mostly on the rendering end? Also I'm unclear about this class. Does it emulate dos interrupts? It is something that would affect portability?

No way it could be further split? That is, a separate library for the sound, so one could choose to use an emulated sound, or the wavs, or to roll their own?

Anyway, I'm all for more accurate, and if possible, tweak-able sound. PC speakers sound different from computer to computer.

Re: Lyon

Posted: Wed Jul 24, 2013 4:34 am
by Saxxon
Emulation is encapsulated entirely within software. This means, no matter what I do, if it's not touching the system in any platform-specific way, it can be ported.

Emulating INT 21,2C (timer) is as simple as querying the current system time and converting it to the return values expected in CH/CL/DH/DL. This is done in a cross-platform way: by using the built-in DateTime.Now property.

Emulating PC speaker is as easy as converting the register into a frequency that some external sound class can use.

None of these INT requests can actually go through to the system because the OS will not permit us to use these directly. And we don't need to if we can emulate the end result ourselves.

Image attached is the planned model. (Edit: Input is also where Filesystem/Audio/Video reside.)

Re: Lyon

Posted: Wed Jul 24, 2013 9:53 pm
by Smilymzx
Sounds like a great plan, I approve of this!

Re: Lyon

Posted: Wed Jul 31, 2013 7:23 pm
by Saxxon
I (finally) picked up a book on x86. Happened to find one at a discount bookstore I frequent. It actually covers all the extensions up through 80486. There's some opcodes I thought I understood that had some operations I wasn't aware of. This book is actually quite comprehensive (and heavy!) I've already learned a lot.

I also learned that there are a lot of functions in the previous Roton code that were actually done the correct way. They can be transplanted almost directly into the new code base. I'll be cherry picking the code that appears correct, and redoing the rest.

In addition, I'm also experimenting with WPF. There will be a separate client specifically for Windows (as Mono doesn't have plans for WPF) and might have additional functionality and performance benefits. I considered the use of Silverlight instead for the prospect of being a web application, but for some reason I can't get the Silverlight SDK to work. Visual Studio claims it needs to be installed. The installer claims it is already installed. Reinstalling doesn't resolve this issue.