Jump to content
IGNORED

Atari OS - Finished!


Recommended Posts

Well I'm back after a couple of days and it sounds like Batari basic 99b just won't work for this... :(

Not only would I end up having to rewrite the whole OS, but I would also have to make the cursor (ball) 1 pixel high (it doesn't support ballheight). So, on a lighter note does anyone have ideas on how I could at least REDUCE the flicker to a tolerable level?

I haven't been following this thread all the way through, but I just downloaded the latest version of your code (that you posted on 7/26/2006), and tried to compile it with bB 0.99c, which is what I'm using right now. It wouldn't compile as is. I don't know if I got the same error messages that you were, but I tracked it down to line 3, which apparently is too long, since the error was occurring when bB was compiling the "c = c + 1" statement. So I split line 3 into multiple lines, like this, and it was able to compile correctly after that:

 

3 COLUBK = 0 : COLUP0 = y : COLUP1 = y
 player0x = 75 : player0y = 70 : player1x = 91 : player1y = 70
 NUSIZ0 = $05 : NUSIZ1 = $05 : ballx = 0 : bally = y : c = c + 1

Michael Rideout

Link to comment
Share on other sites

I haven't been following this thread all the way through, but I just downloaded the latest version of your code (that you posted on 7/26/2006), and tried to compile it with bB 0.99c, which is what I'm using right now. It wouldn't compile as is. I don't know if I got the same error messages that you were, but I tracked it down to line 3, which apparently is too long, since the error was occurring when bB was compiling the "c = c + 1" statement. So I split line 3 into multiple lines, like this, and it was able to compile correctly after that:

 

3 COLUBK = 0 : COLUP0 = y : COLUP1 = y
 player0x = 75 : player0y = 70 : player1x = 91 : player1y = 70
 NUSIZ0 = $05 : NUSIZ1 = $05 : ballx = 0 : bally = y : c = c + 1

Michael Rideout

 

Hmm...that I noticed too and fixed but what I ran into was after that, since I was going to make another player sprite with the multisprite kernel, was because it was the multisprite kernel I had to re-define my playfields using the playfield: command, only ending up with more error messages later. I'm not saying batari basic versions 99a and up are bad, I'm saying right now I can't seem to make another player sprite with them. Do you see what i'm saying here? ;)

Link to comment
Share on other sites

Hmm...that I noticed too and fixed but what I ran into was after that, since I was going to make another player sprite with the multisprite kernel, was because it was the multisprite kernel I had to re-define my playfields using the playfield: command, only ending up with more error messages later. I'm not saying batari basic versions 99a and up are bad, I'm saying right now I can't seem to make another player sprite with them. Do you see what i'm saying here? ;)

 

so... in short does anyone have any ideas on how i could either (a) make my code work with the batari basic multisprite kernel or (b) get rid of the flicker. :D

Link to comment
Share on other sites

Hmm...that I noticed too and fixed but what I ran into was after that, since I was going to make another player sprite with the multisprite kernel, was because it was the multisprite kernel I had to re-define my playfields using the playfield: command, only ending up with more error messages later. I'm not saying batari basic versions 99a and up are bad, I'm saying right now I can't seem to make another player sprite with them. Do you see what i'm saying here? ;)

 

so... in short does anyone have any ideas on how i could either (a) make my code work with the batari basic multisprite kernel or (b) get rid of the flicker. :D

 

anyone?!? :(

Link to comment
Share on other sites

screenshot request

 

here's a few. It uses flicker so I had to take multiple 'shots for the window.

 

the boot screen:

post-9847-1154375509_thumb.png

 

the desktop:

post-9847-1154375184_thumb.png

 

the window (flickering the close box)

post-9847-1154375253_thumb.png

 

the window (flickering the icon)

post-9847-1154375323_thumb.png

 

b & w mode

post-9847-1154375437_thumb.png

 

....and the built in game of pong!

post-9847-1154375563_thumb.png

Edited by Dragnerok X
Link to comment
Share on other sites

so... in short does anyone have any ideas on how i could either (a) make my code work with the batari basic multisprite kernel or (b) get rid of the flicker. :D

 

anyone?!? :(

Sorry, I've been pretty busy, and haven't had time to look at your code yet as far as trying to use the multi-sprite kernel. But if you aren't going to use the multi-sprite kernel, and aren't ready to try something even more challenging-- like creating a custom kernel-- then you'll either have to live with the flicker, or eliminate one of the player sprites. For example, if you move the "My Atari" icon over to the right, you could let it be "covered up" by the playfield pixels which form the boundaries of the "open folder" window-- in which case you won't need to use one of the players for the "My Atari" icon (since the icon won't be visible anymore anyway), so you can use one player for the "close" tool, and the other player for the "Pong" icon, and you won't need to use any flickering.

 

However, if your goal is to eventually have more than one icon on the "Atari desktop," and more than one icon in any open folder(s), then your best bet would be to create a custom kernel, because a variation of the "score" trick (i.e., with the players spaced further apart than in a score display) would let you show up to six different icons across the screen on each row of the desktop, as well as multiple icons on each row of an open folder. I realize you probably aren't able to do that yet, but if you set that as an eventual goal, then you give yourself a reason for wanting to learn how to do it! :)

 

Michael Rideout

Link to comment
Share on other sites

so... in short does anyone have any ideas on how i could either (a) make my code work with the batari basic multisprite kernel or (b) get rid of the flicker. :D

 

anyone?!? :(

Sorry, I've been pretty busy, and haven't had time to look at your code yet as far as trying to use the multi-sprite kernel. But if you aren't going to use the multi-sprite kernel, and aren't ready to try something even more challenging-- like creating a custom kernel-- then you'll either have to live with the flicker, or eliminate one of the player sprites. For example, if you move the "My Atari" icon over to the right, you could let it be "covered up" by the playfield pixels which form the boundaries of the "open folder" window-- in which case you won't need to use one of the players for the "My Atari" icon (since the icon won't be visible anymore anyway), so you can use one player for the "close" tool, and the other player for the "Pong" icon, and you won't need to use any flickering.

 

However, if your goal is to eventually have more than one icon on the "Atari desktop," and more than one icon in any open folder(s), then your best bet would be to create a custom kernel, because a variation of the "score" trick (i.e., with the players spaced further apart than in a score display) would let you show up to six different icons across the screen on each row of the desktop, as well as multiple icons on each row of an open folder. I realize you probably aren't able to do that yet, but if you set that as an eventual goal, then you give yourself a reason for wanting to learn how to do it! :)

 

Michael Rideout

 

Wow! That gave me an idea! What would you think if i sacraficed my perfect "my atari" icon so that when the window is open it is used to reduce the flicker from 1/2 the time a sprite is shown to 2/3?

 

here's an example

 

1 COLUBK = 0 : f = f + 1
2 if f = 3 then f = f - 3
3 if f = 0 then COLUP0 = 32
4 if f = 1 then COLUP0 = 64 
5 if f = 2 then COLUP0 = 128
6 if f = 0 then COLUP1 = 64
7 if f = 1 then COLUP1 = 128
8 if f = 2 then COLUP1 = 32
9 if f = 0 then player0x = 24 : player0y = 32
10 if f = 1 then player0x = 45 : player0y = 64
11 if f = 2 then player0x = 95 : player0y = 22
12 if f = 0 then player1x = 45 : player1y = 64
13 if f = 1 then player1x = 95 : player1y = 22
14 if f = 2 then player1x = 24 : player1y = 32
15 if f = 0 then player0:
%11111111
%11000011
%10100101
%10011001
%10011001
%10100101
%11000011
%11111111
end
16 if f = 1 then player0:
%00111100
%01011010
%10111101
%10011001
%10011001
%10011001
%01011010
%00111100
end
17 if f = 2 then player0:
%00111000
%01000011
%10000101
%10111001
%10101001
%10011001
%01000010
%00111100
end
18 if f = 0 then player1:
%00111100
%01011010
%10111101
%10011001
%10011001
%10011001
%01011010
%00111100
end
19 if f = 1 then player1:
%00111000
%01000011
%10000101
%10111001
%10101001
%10011001
%01000010
%00111100
end
20 if f = 2 then player1:
%11111111
%11000011
%10100101
%10011001
%10011001
%10100101
%11000011
%11111111
end
21 drawscreen 
22 goto 1

 

..... and a binary.

 

flicker.bas.bin

 

So...what do you think? ;)

Link to comment
Share on other sites

Does anybody have any questions/comments/suggestions on the flicker idea I just put up? :)

I'm not really sure what it's supposed to show?

 

In any case, I'm looking into a possible solution for you. :)

 

It will be a week before you hear about it, though. :(

Link to comment
Share on other sites

Does anybody have any questions/comments/suggestions on the flicker idea I just put up? :)

I'm not really sure what it's supposed to show?

 

In any case, I'm looking into a possible solution for you. :)

 

It will be a week before you hear about it, though. :(

 

well...what it does is reduce the flicker of the sprites by evenly distributing the flicker amongst 3 sprites instead of two.

Link to comment
Share on other sites

well...what it does is reduce the flicker of the sprites by evenly distributing the flicker amongst 3 sprites instead of two.

 

Whether 2/3 multiplexing is better than 50% is debatable. The sprites are visible more of the time, but the flicker rate is 20Hz instead of 30Hz.

 

Better might be to replace the close "X" with a close box.

Link to comment
Share on other sites

Better might be to replace the close "X" with a close box.

 

As in..........

 

Basically what i'm asking is what do you define "close box" as.

It could be whatever you want it to be, I guess. For instance, if you're using both players for fancy desktop icons, and one of the missiles (or the ball?) for the "mouse cursor, " then you could use the other missile to make a square block that would be a "close button" so to speak. Of course, this means that the player/missile color would presumably be a different color than the playfield.

 

Michael Rideout

Link to comment
Share on other sites

It could be whatever you want it to be, I guess. For instance, if you're using both players for fancy desktop icons, and one of the missiles (or the ball?) for the "mouse cursor, " then you could use the other missile to make a square block that would be a "close button" so to speak. Of course, this means that the player/missile color would presumably be a different color than the playfield.

 

Precisely. The Macintosh used a square box as the window-closing gadget long before Windows went in with the "X". And the normal BB kernel allows the use of both missiles as well as the Ball, so you may as well use a missile for the close box.

 

Alternative layout:

 

Position the "My Atari" icon at X position zero and the other icon at X position 32; Note that "My Atari" must be above the top of the window.

 

Now set Player 1 to a somewhat tall sprite with an X position of 128 and color set to match the background. The top part of the sprite should be the "My Atari" icon in inverse video. The bottom part should be the first icon that should appear within the window, also in reverse video. Set NUSIZ1 to $22.

 

Park the Ball on top of the upper-left copy of Player 1. Set the playfield pixels on top of the bottom center copy. Put the left copy of Missile 1 where the close box should be (the second copy will be invisible). Now you have both Player 0 and Missile 0 available to do whatever you want, including possibly adding more icons to the window. Note, btw, that a single sprite can handle a vertical stack of icons with no problem--just make the sprite taller.

 

You should be able to get "My Atari", plus a 2x2 or 2x3 grid of icons without flicker using the standard kernel.

Link to comment
Share on other sites

Precisely. The Macintosh used a square box as the window-closing gadget long before Windows went in with the "X". And the normal BB kernel allows the use of both missiles as well as the Ball, so you may as well use a missile for the close box.

 

Alternative layout:

 

Position the "My Atari" icon at X position zero and the other icon at X position 32; Note that "My Atari" must be above the top of the window.

 

Now set Player 1 to a somewhat tall sprite with an X position of 128 and color set to match the background. The top part of the sprite should be the "My Atari" icon in inverse video. The bottom part should be the first icon that should appear within the window, also in reverse video. Set NUSIZ1 to $22.

 

Park the Ball on top of the upper-left copy of Player 1. Set the playfield pixels on top of the bottom center copy. Put the left copy of Missile 1 where the close box should be (the second copy will be invisible). Now you have both Player 0 and Missile 0 available to do whatever you want, including possibly adding more icons to the window. Note, btw, that a single sprite can handle a vertical stack of icons with no problem--just make the sprite taller.

 

You should be able to get "My Atari", plus a 2x2 or 2x3 grid of icons without flicker using the standard kernel.

 

I'll try that, thanks! :)

Link to comment
Share on other sites

Whew :D , finally! Let me say this to the world.

 

ATARI OS IS FINISHED!!!!!

 

Yes, you heard me, Finished. I had to do a LOT of code clean-up though to achieve it.

Instead of summing up in words what I achieved let me sum it up in a single screenshot.

 

post-9847-1154572010_thumb.png

 

Now let me explain it. You may be wondering what the new background color is about, well, because of a few technical difficulties I had to remove the black and white mode and replace it with something else. So what did I use the b/w switch for this time....4 new background colors! You may also have noticed the windows have changed slightly. To remove the flicker caused in earlier releases I put a missile in the x's place and because it was the player's color I slightly changed the window color. Most everything else is the same GUI you've came to love :) . Here it is, the FINAL version of Atari OS, and I mean final. I don't want to be working on this until I have Atari OS X :D !

 

Atari_OS_version_1.0.bin

 

....and if anybody wants to truly customize there video computing expieriance, I've Included the source code in 2 formats! The original, hand line-numbered batari basic version and the cheesily generated asm file.

 

source.zip

 

Have fun! ;)

 

Side Note: I'd like to give special thanks to jbanes for writing the pong game and helping me along with the project, batari for giving me a few pointers on his basic compiler, supercat and SeaGTGruff

for helping me fix the flicker and to the whole atariage community for the support. Thanks guys!

Link to comment
Share on other sites

  • 4 years later...

Whew :D , finally! Let me say this to the world.

 

ATARI OS IS FINISHED!!!!!

 

Yes, you heard me, Finished. I had to do a LOT of code clean-up though to achieve it.

Instead of summing up in words what I achieved let me sum it up in a single screenshot.

 

post-9847-1154572010_thumb.png

 

Now let me explain it. You may be wondering what the new background color is about, well, because of a few technical difficulties I had to remove the black and white mode and replace it with something else. So what did I use the b/w switch for this time....4 new background colors! You may also have noticed the windows have changed slightly. To remove the flicker caused in earlier releases I put a missile in the x's place and because it was the player's color I slightly changed the window color. Most everything else is the same GUI you've came to love :) . Here it is, the FINAL version of Atari OS, and I mean final. I don't want to be working on this until I have Atari OS X :D !

 

Atari_OS_version_1.0.bin

 

....and if anybody wants to truly customize there video computing expieriance, I've Included the source code in 2 formats! The original, hand line-numbered batari basic version and the cheesily generated asm file.

 

source.zip

 

Have fun! ;)

 

Side Note: I'd like to give special thanks to jbanes for writing the pong game and helping me along with the project, batari for giving me a few pointers on his basic compiler, supercat and SeaGTGruff

for helping me fix the flicker and to the whole atariage community for the support. Thanks guys!

 

I was expecting more than this... it's pretty much like the original .bin you posted on the other topic. :(

Link to comment
Share on other sites

Whew :D , finally! Let me say this to the world.

 

ATARI OS IS FINISHED!!!!!

 

Yes, you heard me, Finished. I had to do a LOT of code clean-up though to achieve it.

Instead of summing up in words what I achieved let me sum it up in a single screenshot.

 

post-9847-1154572010_thumb.png

 

Now let me explain it. You may be wondering what the new background color is about, well, because of a few technical difficulties I had to remove the black and white mode and replace it with something else. So what did I use the b/w switch for this time....4 new background colors! You may also have noticed the windows have changed slightly. To remove the flicker caused in earlier releases I put a missile in the x's place and because it was the player's color I slightly changed the window color. Most everything else is the same GUI you've came to love :) . Here it is, the FINAL version of Atari OS, and I mean final. I don't want to be working on this until I have Atari OS X :D !

 

Atari_OS_version_1.0.bin

 

....and if anybody wants to truly customize there video computing expieriance, I've Included the source code in 2 formats! The original, hand line-numbered batari basic version and the cheesily generated asm file.

 

source.zip

 

Have fun! ;)

 

Side Note: I'd like to give special thanks to jbanes for writing the pong game and helping me along with the project, batari for giving me a few pointers on his basic compiler, supercat and SeaGTGruff

for helping me fix the flicker and to the whole atariage community for the support. Thanks guys!

 

I think this is great. Only recommendation I have, and this is just nit picking, would be to remove the two zeroes ("00") between the scores in the Pong game. Other than that, nice work!

 

Is it possible to add additional icons to the desktop? It would be cool to add a "Word"-type text editor or something, too. Just for heck of it.

 

-B

Link to comment
Share on other sites

  • 1 month later...

Whew :D , finally! Let me say this to the world.

 

ATARI OS IS FINISHED!!!!!

 

Yes, you heard me, Finished. I had to do a LOT of code clean-up though to achieve it.

Instead of summing up in words what I achieved let me sum it up in a single screenshot.

 

post-9847-1154572010_thumb.png

 

Now let me explain it. You may be wondering what the new background color is about, well, because of a few technical difficulties I had to remove the black and white mode and replace it with something else. So what did I use the b/w switch for this time....4 new background colors! You may also have noticed the windows have changed slightly. To remove the flicker caused in earlier releases I put a missile in the x's place and because it was the player's color I slightly changed the window color. Most everything else is the same GUI you've came to love :) . Here it is, the FINAL version of Atari OS, and I mean final. I don't want to be working on this until I have Atari OS X :D !

 

Atari_OS_version_1.0.bin

 

....and if anybody wants to truly customize there video computing expieriance, I've Included the source code in 2 formats! The original, hand line-numbered batari basic version and the cheesily generated asm file.

 

source.zip

 

Have fun! ;)

 

Side Note: I'd like to give special thanks to jbanes for writing the pong game and helping me along with the project, batari for giving me a few pointers on his basic compiler, supercat and SeaGTGruff

for helping me fix the flicker and to the whole atariage community for the support. Thanks guys!

 

This is great, really fancy stuff. Congrats for your work. I'm taking a look at the source... feels like a good OS to play around and create apps for it =)

Link to comment
Share on other sites

  • 2 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...