Jump to content
IGNORED

Is Laser Gates really Inner Space?


SpaceDice2010

Recommended Posts

I was of course drawn to Stella. We'd have gladly given Larry Minor's left nut for one. But Melody features like using the ARM and bus -stuffing I assume Stella can't emulate?

 

Stella (mostly) supports the ARM, and contains emulation for the current functionality of Melody/Harmony. There are a few issues to be fixed, but it's already working quite well. The major issue at this point is that it doesn't emulate ARM timing wrt the 6507, so the ARM code runs in zero 6507 time (meaning that if your ARM code runs past the allowable limit, the emulation won't see it and will continue to run, while on a real system it would result in garbage). This is due to be fixed when I update the ARM core, probably sometime before this Fall.

 

As for bus-stuffing, it isn't present yet, since the spec hasn't been finalized. But as Spice mentioned above, once it is finalized, it can be added. In fact, aside from a slight delay in syncing, most (all?) of the features of Melody/Harmony eventually find their way to Stella too.

Link to comment
Share on other sites

Yep, we better stop, but I should say that unlike slavery, which we had nothing to do with, we are squatting on land that doesn't belong to us. We have not killed anyone (if we don't count the indirect deaths of people who die making our clothing and other things), but we are still living on "Native American" land and keeping them pushed out. That's something we all are doing at this moment. If we wanted to do the right thing, we'd leave this country and create man-made islands out in international waters and live there instead.

 

On the other side of things, it looks like the people we call "Native Americans" weren't the first people to make their way to North America. They killed off whoever was here before them, so if that's true, "Native Americans" can suck it. They're just as evil as we are.

 

I wouldn't call it "true" per se, but there were a few warring tribes before the white men showed up. Note that there were several nations here already with a government. So I always took offence at the word "savage", when we were anything but.

Link to comment
Share on other sites

I'm psyched about the "bus stuffing" concept. If it works, than basically whatever-the-hell you want to do with the system, will be achievable as long as it's constrained to a window of 160x192 rectangular pixels. A full motion video demo would freakking sweet even it it's only a 2-second loop, or am I just pipe-dreaming here?

Link to comment
Share on other sites

I'm psyched about the "bus stuffing" concept. If it works, than basically whatever-the-hell you want to do with the system, will be achievable as long as it's constrained to a window of 160x192 rectangular pixels. A full motion video demo would freakking sweet even it it's only a 2-second loop, or am I just pipe-dreaming here?

 

Not quite, you still couldn't individually control each pixel. To do that, you would need a faster processor, which would be able to update the color register every TIA cycle. I'm not sure it is possible to store to the TIA registers that quickly, although no one has ever tried.

Link to comment
Share on other sites

lda #SPRITEHEIGHT
dcp SpriteTemp
bcs DoDraw
lda #0
.byte $2C
DoDraw
lda (GfxPtr),Y
sta GRP0 ;+18 cycles
lda (ColorPtr),y
sta COLUP0

Just to let you know where I am on the curve...WTF...you're using what I would have called invalid opcodes which I just Googled and found are just happenstance opcodes that we never would have used for obvious reason but you all can use because chances of Atari changing the CPU is kind of low.

 

DCP I have figured out, but ".byte $2C"? No assembler mnemonic? It's a BIT I assume with no operand?

 

Any Red Dwarf fans? I feel like Lister and you all are Cat.

Link to comment
Share on other sites

SpiceWare, I'm reading the Harmony DPC+ programming thread you posted. Good info, thanks.

 

So batari changes ARM code to change how DPC+ works, bus-shuffing and who knows what else. Seems like the 6502 code is almost being interpreted by the ARM. The 6502 starts to execute an instruction and the ARM steps in and decides to do something else, changes the instruction/data and the 6502 finishes doing something entirely different. Like microcode?

 

That's why you guys are discussing bus-stuffing driver specs? You're tring to figure out how best the feature should work and btari implements it in the ARM?

 

This Harmony thing is freaky. And supported by Stella too! You guys are doing some amazing work. Not just technical, but in everyone working together. That's really rare.

 

Keep seeing ".byte $2c". Maybe I have to go back and check links you already posted. Looking to start further back in time.

Edited by DanOliver
Link to comment
Share on other sites

Looks like most of the info I'm looking for is in the headers. That'll have to wait until/if I set up a development system. Cool as heck though.

 

I'm just going to approach this as if I took a short break (30 yrs) from programming the VCS while the hardware world marched on...because that's what happened. I hope I can find some time, but I have some products I'm working on now and can't get distracted so I'm going to have to leave VCS development for now. Amazing stuff. Thanks for all the info.

Link to comment
Share on other sites

The border thing is kind of weird. Never really saw my games at the same time as I have the past few days.

 

I'm starting to make a list of things to do and not do in my next game.

 

Melody would allow a game to use the whole screen. I wouldn't have to fill dead space with score panels. Maybe do away with using digits as scoring and use something like sand filling something. Then at the end display a digital score so players could compare results. Something different anyways.

 

The target audience would be really experienced with other games but also joystick, paddle use. So maybe really hard bits, but don't make them go back to the beginning. Maybe you could get around hard bits or go thru.

Link to comment
Share on other sites

The target audience would be really experienced with other games but also joystick, paddle use. So maybe really hard bits, but don't make them go back to the beginning. Maybe you could get around hard bits or go thru.

 

That sounds good. I hate restarting whole levels or going all the way back to the beginning of a game because I made a tiny mistake or didn't memorize a complicated set of dance steps:

 

randomterrain.com/game-design.html#alternatives_to_dying_and_restarting

 

 

I also like Laser Gates because it's different every time you play. It's not etched in stone:

 

randomterrain.com/game-design.html#controlled_randomness_and_freedom

  • Like 1
Link to comment
Share on other sites

I've read this whole thread and it is absolutely fascinating!

 

However I know absolutely nothing about programming, so it's starting to go a little on the 'foreign language' side to me.

 

All I want to say is... Dan, good luck on your future 2600 (or 5200/7800) projects, I would LOVE to buy a physical cartridge of any new game you make (being that it is within my ability to play [2600/5200/7800/even jaguar lol])

and just remember, you don't have to throw all your ideas into ONE game! Feel free to make several! Hell, even a series or trilogy would be amazing!

 

Go for it! I'll be here waiting to support and enjoy when it's finished. =)

Link to comment
Share on other sites

I just Googled ".byte $2C" and dang if it didn't pop up. Yeah you're absolutely right. Thanks. Never heard of such things.

 

It does make sense to use these ops now. And in Wozniak's case the CPU and code would have stayed together so why not.

 

You'll see some homebrew programmers using illegal opcodes that have been found to be stable. For example you could use a normal BIT as $24 to skip one byte or $2C to skip two bytes. On the other hand, you can also use some illegal NOP's such $04 to skip one byte or $0C to skip two bytes, and preserve all your flags at the same time. There is also an immediate mode ($80) for the single byte NOP skip, so it only takes two cycles instead of three! The Batari Basic kernel uses illegal NOP's as well as the SLEEP marco found in vcs.h

 

 

Other useful illegal NOP's (that are stable) include LAX, SBX, SAX, DCP, and ISB.

Link to comment
Share on other sites

Dan just said he's making a Red Dwarf game, awesome!! :)

 

Dan, also of note is that people are making Homebrews that use the Sega Genesis controller so they can have two button support. The Genesis has three buttons but I don't know if all three have been used. Don't ask me specifics because while I'm not as cool as Cat I'm about as smart when it comes to programing. I just wanted to give you a heads up so when you do make a game you can make use of the Genesis controller as well.

Link to comment
Share on other sites

All I want to say is... Dan, good luck on your future 2600 (or 5200/7800) projects, I would LOVE to buy a physical cartridge of any new game you make (being that it is within my ability to play [2600/5200/7800/even jaguar lol])

and just remember, you don't have to throw all your ideas into ONE game! Feel free to make several! Hell, even a series or trilogy would be amazing!

 

Go for it! I'll be here waiting to support and enjoy when it's finished. =)

If I can it will certainly be a long time from now. I have at least 6 months on my current project and I've been saying 6 months for a very long time. But that gives me time to research and think of a game.

 

But thanks for the support.

Link to comment
Share on other sites

DCP I have figured out, but ".byte $2C"? No assembler mnemonic? It's a BIT I assume with no operand?

I tend not to use the illegal opcodes in code I write, somebody else wrote the DoDraw routine. There's a conversation here which discussess the pros and cons of a number of sprite drawing algorithms(SkipDraw, SwitchDraw, DoDraw and FlipDraw). Sadly, key info is missing as it's found behind links to the now defunct [stella] mailing list. Al (who runs AtariAge) has all that archived and is planning to put it back online at some point. Until then, some of that info can be found at Minidig, which has collected "the best of stella". ".byte $2C", as explained by others, is a way to skip over 2 bytes - I've known about it since the early 80s. My math teacher introduced me to a Commodore PET in 1980 and I got my start with 6502 coding when I got my first computer, a VIC 20, the following year. I wrote a series of BBS & Terminal software for the Commodore 8-bit computers. Later versions of that software supported real-time music, playing of online games with your joystick, on-the-fly font changes, etc. Here's a blog entry about 64-Net.

 

Any Red Dwarf fans? I feel like Lister and you all are Cat.

Oh yeah, major fan. Have you seen the new season from last year, Red Dwarf X? It's really good.

 

So batari changes ARM code to change how DPC+ works, bus-shuffing and who knows what else. Seems like the 6502 code is almost being interpreted by the ARM. The 6502 starts to execute an instruction and the ARM steps in and decides to do something else, changes the instruction/data and the 6502 finishes doing something entirely different. Like microcode?

 

That's why you guys are discussing bus-stuffing driver specs? You're tring to figure out how best the feature should work and btari implements it in the ARM?

That's exactly it. We did the same thing to hash out how to expand David Crane's DPC into DPC+.

 

This Harmony thing is freaky. And supported by Stella too! You guys are doing some amazing work. Not just technical, but in everyone working together. That's really rare.

I suspect a big part of that is because 2600 coding isn't done for financial gain anymore. I've only made enough from Medieval Mayhem, my remake of Warlords (and one of the more popular homebrews), to make a few car payments.

http://www.youtube.com/watch?v=hR_B857oJo4

 

 

I try to add an easter egg to my games to acknowledge those who've helped:

http://www.youtube.com/watch?v=S5huVcpYPzs

 

http://www.youtube.com/watch?v=FjNSrskWngM

Link to comment
Share on other sites

You'll see some homebrew programmers using illegal opcodes that have been found to be stable. For example you could use a normal BIT as $24 to skip one byte or $2C to skip two bytes. On the other hand, you can also use some illegal NOP's such $04 to skip one byte or $0C to skip two bytes, and preserve all your flags at the same time. There is also an immediate mode ($80) for the single byte NOP skip, so it only takes two cycles instead of three! The Batari Basic kernel uses illegal NOP's as well as the SLEEP marco found in vcs.h

 

 

Other useful illegal NOP's (that are stable) include LAX, SBX, SAX, DCP, and ISB.

I did run into a few web sites that documented these to a degree. And I'll be reading as much code here as I can.

 

I've got tons more to learn. Funny, that was one of the pluses of programming the VCS, there was hardly anything to learn. We had a small pamphlet about the the VCS and like a hundred 6502 instructions. Took a few hours to start writing code.

Link to comment
Share on other sites

Dan just said he's making a Red Dwarf game, awesome!! :)

Yeah, I need the BBC on my case.

 

Dan, also of note is that people are making Homebrews that use the Sega Genesis controller so they can have two button support. The Genesis has three buttons but I don't know if all three have been used. Don't ask me specifics because while I'm not as cool as Cat I'm about as smart when it comes to programing. I just wanted to give you a heads up so when you do make a game you can make use of the Genesis controller as well.

I don't think I'd consider the Genesis controller just on principle. Have to draw the line some place and I don't think I can afford to limit my market. ;)

Link to comment
Share on other sites

Understood about the Genesis controller. I was thinking of that also. It could confuse the market and also what happens if someone plays it without it. The second button would either have to be replicated with a joystick move or not be crucial to the game. Accesories to game consoles have never done well for that very reason all the way up to todays Kinect and PSMove.

Link to comment
Share on other sites

Oh yeah, major fan. Have you seen the new season from last year, Red Dwarf X? It's really good.

I had to go to Wikipedia to remember Lister's name and saw they're still producing the series. It's been many years since I've seen it. I'm sure going to look for it though. At Go during a lay off I cut out a cardboard H and stuck it to my forehead.

 

I suspect a big part of that is because 2600 coding isn't done for financial gain anymore. I've only made enough from Medieval Mayhem, my remake of Warlords (and one of the more popular homebrews), to make a few car payments.

You're right of course about taking money out of the equation changes things.

Edited by DanOliver
Link to comment
Share on other sites

Understood about the Genesis controller. I was thinking of that also. It could confuse the market and also what happens if someone plays it without it. The second button would either have to be replicated with a joystick move or not be crucial to the game. Accesories to game consoles have never done well for that very reason all the way up to todays Kinect and PSMove.

Thing is, accessory and 3rd party controllers are usually much less common than the regular controllers, hence the general lack of support with developers who didn't have a hand in creating it. 3-button Genesis controllers are extremely common and dirt cheap. It's a miracle they work, but they do, and the added "C" button support in homebrews is an awesome bonus!

 

I try to add an easter egg to my games to acknowledge those who've helped:

 

 

http://www.youtube.com/watch?v=S5huVcpYPzs

How do I access this Medieval Mayhem credits screen?

 

Custer's Revenge II :P

Maybe we can give it a space shooter theme and have a naked Custer shooting down enemy ships (which are shaped like nude ladies) using white "bullets" that fire from his wang. :yawn: Edited by stardust4ever
Link to comment
Share on other sites

How do I access this Medieval Mayhem credits screen?

 

Check the replies in Medieval Mayhem Easter Eggs for instructions on triggering its 2 easter eggs. Digital Press' Easter Egg section also has the instructions.

 

 

There's 3 easter eggs in Space Rocks:

  • Credits
  • No Mans Land
    post-3056-0-65682100-1369255503_thumb.png
  • Blinky
    post-3056-0-59901500-1369255510_thumb.png

I'll post how to trigger them after Space Rocks is released, though you should be able to figure out at least the Credits easter egg without any problem.

Link to comment
Share on other sites

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...