Subject: Re: [stella] BAStella Language Reference V0.000000001 From: "Roger Williams" <mer02@xxxxxxxxxxxxx> Date: Fri, 23 Nov 2001 16:03:10 -0800 |
From: <erik@xxxxxxxxxx> > I mean, you don't even have to write a new kernel. Just provide the > option for the default kernel to be called for a programmer-specified > number of scanlines. Which I think you have to do anyway to allow > the programmer to set up a screen that uses one of the status/score > type. The programmer can decide to call the default kernel for say, > ten scanlines, then do his own repositioning, and call it again. What I am thinking of now is a "kernal type" which takes a line or two to do some pre-arranged repositioning. You could do a major subset of vertical repositions in one scanline, and one horizontal reposition per 'nother scanline. Meanwhile any other objects set up to display by the previous kernal chunk would flow through, so it could be a pretty transparent effect. > I'd just generate an .asm file and rely on an assembler to generate the > object code. If you can distribute a DASM with it, it's all transparent to > the user. I thought of this, but it's really a pain if you are scripting back and forth, and I ABSOLUTELY LOATHE AND DESPISE dasm's nonexistent to crappy error reporting. OTOH I'm already thinking of having BAStella output a .bin that displays an error message when an error occurs for this reason... I could just have it output a compilable source (hell, it could be composed of .byte statements. Hmmmmm.) > Nah, any good language allows inline declarations. Although I prefer the > declarations to operate at procedural level (VB style) instead of the > narrowest-enclosing-scope C style. Yep. I really like heading up my files with a big chunk o' global documentation, where I describe the file formats, lay out the databases, explain all the public types, and so on. Of course this is how you get when you learn assembly language first... > >> >* Wonk question: Where's the math stack? > >> > >> *Wonk question 1A: How in the world are you going to multiply and divide? > > > >Library subroutines. I didn't say it would be efficient. > > You're talking something like 100-150 cycles for a general-purpose > multiplication routine, using shifts and adds. Although ISTR someone > posting a good such routine to this list several years ago...? Yes, but that's why you're using a high-level language. I have done a lot of programming in recent years in truly crappily slow automated controller languages. That's one reason the code runs asynchronously; you can slip two or three frames on an infrequent operation, then catch up and the slip is hardly visible. (It's hard to believe how well this works unless you've seen it.) That's much harder to do with synchronized code. There's no getting around the fact that BAStella would be slower and less efficient than raw .asm, but the idea is for it to be fast and capable enough to do interesting things which would encourage people to learn about Stella and whet their appetite for more powerful techniques. How many people progressed from BASIC to assembler in the early '80's in just this way? > >sprite.p0.setXY(10, 100); > >sprite.p1.setXY(100, 100); > > > >Maybe call it StellaScript. :-) > > Grr. Give me the BASIC straightforward syntax over "what kind of brace > do I use here?" syntax any day. And whoever came up with that dumb > semicolon should be beaten. Line breaks are infinitely more natural to > humans to represent "end of thought". Whoever came up with "the program is just a stream of characters" should be tied to an ant hill. --Roger Williams ---------------------------------------------------------------------------------------------- Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [stella] BAStella Language Refe, erik | Thread | Re: [stella] BAStella Language Refe, erik |
Re: [stella] Copy Protection, John Saeger | Date | Re: [stella] Copy Protection, Roger Williams |
Month |