eshu Posted May 12, 2011 Share Posted May 12, 2011 I'll clean up the code and post it tomorrow hopefully... This is untested on real hardware - hopefully it will work ok... Screenshot with phospher effect enabled in stella: slideshow.bin 4 Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted May 12, 2011 Share Posted May 12, 2011 (edited) I'll clean up the code and post it tomorrow hopefully... This is untested on real hardware - hopefully it will work ok... Screenshot with phospher effect enabled in stella: Very cool how you use the missiles and ball to fill in the gaps! Michael Edited May 12, 2011 by SeaGtGruff Quote Link to comment Share on other sites More sharing options...
RevEng Posted May 12, 2011 Share Posted May 12, 2011 Wow - nice job, eshu! Quote Link to comment Share on other sites More sharing options...
Zach Posted May 12, 2011 Share Posted May 12, 2011 Very cool. The power of DPC+ is becoming more apparent. Unfortunately only the first image appears on my hardware. Hopefully it won't be hard to fix. http://www.youtube.com/watch?v=oApzXKbeDM8 Quote Link to comment Share on other sites More sharing options...
ScumSoft Posted May 12, 2011 Share Posted May 12, 2011 Very nice! Hopefully you can adapt this kernal for games and slap it into batari basic Quote Link to comment Share on other sites More sharing options...
eshu Posted May 12, 2011 Author Share Posted May 12, 2011 Thanks for the kind words everyone... Unfortunately only the first image appears on my hardware. Hopefully it won't be hard to fix. Thanks a lot for testing this - The kernel seems to be working fine which is the tricky bit, but it looks like there must be a problem with the routine copying in the new bitmap - I'm at work at the moment, but will have a look when I get home. Also spotted a bad frame in there - I think I forgot to reposition everything for the first frame.... Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted May 12, 2011 Share Posted May 12, 2011 Impressive! Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted May 12, 2011 Share Posted May 12, 2011 One thing that confused me is that the BIN is only 29K, and I thought it was supposed to be 32K after you add the ARM code to the front of it? Michael 1 Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted May 13, 2011 Share Posted May 13, 2011 Stella treats 29K BINs as DPC+ because it doesn't actually use the 3K of code to implement it. That's left over from when we first implemented DPC+ support in Stella. 1 Quote Link to comment Share on other sites More sharing options...
dwane413 Posted May 13, 2011 Share Posted May 13, 2011 After I added the DPC+.arm part to the beginning of the file, it works fine on my Harmony cart. Great program. I hope some day instructions will be made available on how to add our on pics to this, but either way it is still very cool. Quote Link to comment Share on other sites More sharing options...
eshu Posted May 13, 2011 Author Share Posted May 13, 2011 I found and fixed a couple of small issues, and cleaned up the source a little. I've added DPC+.arm to the start of the file - I hope I got it right. The command line in dos, in case anyone wants it is: copy /b "dpc+.arm"+input.bin output.bin Zach if you could test it again I would be very grateful. Dwane - I only really meant it as a little tech demo, I could probably make a windows based tool available quite easily if you could run that? slideshow.zip slideshow32k.bin 1 Quote Link to comment Share on other sites More sharing options...
dwane413 Posted May 13, 2011 Share Posted May 13, 2011 Dwane - I only really meant it as a little tech demo, I could probably make a windows based tool available quite easily if you could run that? Yes, I use Windows, but don't go to too much trouble just for me. Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted May 13, 2011 Share Posted May 13, 2011 I've added DPC+.arm to the start of the file - I hope I got it right. The command line in dos, in case anyone wants it is: copy /b "dpc+.arm"+input.bin output.bin If you're programming in assembly, you can also stick it on the front end of your program with an INCBIN statement, so that it will be automatically included when you assemble your code. Michael 1 Quote Link to comment Share on other sites More sharing options...
Zach Posted May 13, 2011 Share Posted May 13, 2011 (edited) I found and fixed a couple of small issues, and cleaned up the source a little. The flicker is a bit strong, but it works on my hardware now. Funny that the first build worked for dwane413's Harmony but not mine. Something similar happened when I was testing 21 Blue. There may be a particular issue with my SD card or my Harmony. I'll try a different card and if that doesn't help I'll PM batari. (Yes, I had added dpc+.arm) Edited May 13, 2011 by Zach Quote Link to comment Share on other sites More sharing options...
dwane413 Posted May 13, 2011 Share Posted May 13, 2011 Funny that the first build worked for dwane413's Harmony but not mine. Something similar happened when I was testing 21 Blue. There may be a particular issue with my SD card or my Harmony. I'll try a different card and if that doesn't help I'll PM batari. (Yes, I had added dpc+.arm) I just checked and the first build won't work on my Harmony either when using the dpc+.arm that is timestamped May 2nd, 2010. After the first picture fades out, the screen stays black. The dpc+.arm files with timestamps May 10, 2011 and May 11, 2011 both work. So it was probably just that we were using different versions of dpc+.arm. Quote Link to comment Share on other sites More sharing options...
ScumSoft Posted May 13, 2011 Share Posted May 13, 2011 (edited) Looking at the source just add the following at the end of the file to pad the rom out to 32K if you want: Padding ds ($1400 -*) I like what you've done Use bank 6 as screen ram and set the data fetchers to access a 2760 byte ScreenBuffer from it. Then you'll have a nice(er) bitmap engine far better than what I've come up with [edit]Almost forgot, I've compiled it here on this end with no issues and it runs on the Harmony cart just fine. Just use the latest DPC+.arm file which fixes the oddity that DataFetchers have on the real thing. INCBIN "DPC+.arm" works just fine as well. Edited May 13, 2011 by ScumSoft Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted May 13, 2011 Share Posted May 13, 2011 Looking at the source just add the following at the end of the file to pad the rom out to 32K if you want: Padding ds ($1400 -*) But would it be better to pad it at the beginning instead of at the end? (Since DPC+.arm is at the beginning of the ROM instead of at the end.) Michael Quote Link to comment Share on other sites More sharing options...
ScumSoft Posted May 13, 2011 Share Posted May 13, 2011 Considering there aren't any more ORG addresses to fill in the remaining bytes, I use it at the end to pad out the unused bytes of Bank 6 and fill in the rest of the rom. This of course isn't representing an end all solution to rom padding, but it works and you don't have to keep adjusting your sizes as you use more of bank 6. Quote Link to comment Share on other sites More sharing options...
eshu Posted May 16, 2011 Author Share Posted May 16, 2011 I went back to the drawing board, and provided everything works on real hardware I can manage at least 136x192 if not 144x192 - will post something up soon.... 2 Quote Link to comment Share on other sites More sharing options...
ScumSoft Posted May 16, 2011 Share Posted May 16, 2011 Make it so. Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted May 20, 2012 Share Posted May 20, 2012 If you're programming in assembly, you can also stick it on the front end of your program with an INCBIN statement, so that it will be automatically included when you assemble your code. Michael How did I miss this before? Thanks, much nicer than the 2-step compile/merge I'd been doing. Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted May 21, 2012 Share Posted May 21, 2012 If you're programming in assembly, you can also stick it on the front end of your program with an INCBIN statement, so that it will be automatically included when you assemble your code. Michael How did I miss this before? Thanks, much nicer than the 2-step compile/merge I'd been doing. DASM has a lot of useful features that I've barely learned about yet, but I did learn about INCBIN several years ago when I did my first MNetwork-bankswitched ROMs. At that time I didn't know you could use ORG and RORG to define multiple banks that occupy the same memory area, so I would code and assemble each bank as a separate ROM file, then create another file that used INCBIN to assemble all the separate banks into the final ROM. D'oh! That was before I joined AtariAge. After joining AtariAge it didn't take very long before I found out how to use RORG to do bankswitched ROMs. But I did use INCBIN later on in the "E.T. Book Cart." I had all the text for the cartridge in separate text files, formatted for the desired characters-per-line and lines-per-screen. Then I wrote a short FreeBASIC program to take those text files (one per "chapter") and split them into two files per "page"-- one file for the even frame, and the other file for the odd frame. I also compressed the text a little bit by using some control characters (end of line, end of page, horizontal tab, and vertical tab). Then I saved all those separate text files and used INCBIN to load them at the appropriate spots in the ROM. 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.