+stephena Posted May 21, 2013 Share Posted May 21, 2013 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. Quote Link to comment Share on other sites More sharing options...
Csonicgo Posted May 21, 2013 Share Posted May 21, 2013 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. Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted May 21, 2013 Share Posted May 21, 2013 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? Quote Link to comment Share on other sites More sharing options...
Wickeycolumbus Posted May 21, 2013 Share Posted May 21, 2013 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. Quote Link to comment Share on other sites More sharing options...
DanOliver Posted May 22, 2013 Share Posted May 22, 2013 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. Quote Link to comment Share on other sites More sharing options...
DanOliver Posted May 22, 2013 Share Posted May 22, 2013 (edited) 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 May 22, 2013 by DanOliver Quote Link to comment Share on other sites More sharing options...
DanOliver Posted May 22, 2013 Share Posted May 22, 2013 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. Quote Link to comment Share on other sites More sharing options...
DanOliver Posted May 22, 2013 Share Posted May 22, 2013 Dan, just let me know when the pre-order page comes up :-) You know my buttons. Quote Link to comment Share on other sites More sharing options...
The Usotsuki Posted May 22, 2013 Share Posted May 22, 2013 I'm guessing .byte $2C is intended to skip the next 2 bytes. It's one of Steve Wozniak's old tricks. (it's BIT $xxxx) A lot of homebrew uses the illops. Quote Link to comment Share on other sites More sharing options...
DanOliver Posted May 22, 2013 Share Posted May 22, 2013 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. Quote Link to comment Share on other sites More sharing options...
high voltage Posted May 22, 2013 Share Posted May 22, 2013 (edited) Wow, comparing RT 1, Innerspace and Final Legacy you can tell they're your games, they got your signature, for example the bottom border really stands out now. Edited May 22, 2013 by high voltage Quote Link to comment Share on other sites More sharing options...
DanOliver Posted May 22, 2013 Share Posted May 22, 2013 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. Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted May 22, 2013 Share Posted May 22, 2013 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 1 Quote Link to comment Share on other sites More sharing options...
Kulp Posted May 22, 2013 Share Posted May 22, 2013 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. =) Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted May 22, 2013 Share Posted May 22, 2013 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. Quote Link to comment Share on other sites More sharing options...
mkiker2089 Posted May 22, 2013 Share Posted May 22, 2013 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. Quote Link to comment Share on other sites More sharing options...
DanOliver Posted May 22, 2013 Share Posted May 22, 2013 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. Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted May 22, 2013 Share Posted May 22, 2013 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 Quote Link to comment Share on other sites More sharing options...
DanOliver Posted May 22, 2013 Share Posted May 22, 2013 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. Quote Link to comment Share on other sites More sharing options...
DanOliver Posted May 22, 2013 Share Posted May 22, 2013 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. Quote Link to comment Share on other sites More sharing options...
mkiker2089 Posted May 22, 2013 Share Posted May 22, 2013 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. Quote Link to comment Share on other sites More sharing options...
DanOliver Posted May 22, 2013 Share Posted May 22, 2013 (edited) 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 May 22, 2013 by DanOliver Quote Link to comment Share on other sites More sharing options...
VectorGamer Posted May 22, 2013 Share Posted May 22, 2013 But that gives me time to research and think of a game. Custer's Revenge II Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted May 22, 2013 Share Posted May 22, 2013 (edited) 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 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. Edited May 22, 2013 by stardust4ever Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted May 22, 2013 Share Posted May 22, 2013 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 Blinky 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.