Lillapojkenpåön Posted June 6, 2019 Share Posted June 6, 2019 This is just a simple fix for the top two lines having the same color ;*************************************************************** ; ; 88 rows that are 2 scanlines high. ; DF6FRACINC = 255 : DF4FRACINC = 255 DF0FRACINC = 128 : DF1FRACINC = 128 : DF2FRACINC = 128 : DF3FRACINC = 128 asm LDA DF6FRACDATA ; bgcolor priming read (first value will be read twice) LDA DF4FRACDATA ; pfcolor priming read (first value will be read twice) end ;*************************************************************** ; ; Displays the screen. ; drawscreen 4 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted August 3, 2021 Share Posted August 3, 2021 That trick worked perfectly with Stella 5.1.3, but I just downloaded the latest version of Stella and the trick no longer works. I tried different versions going back to Stella 6.0 and and the trick didn't work with any of them. Looks like the trick stopped working with Stella 6.0. Do we have to do something extra now to make the trick work or is there something wrong with Stella? Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted August 4, 2021 Share Posted August 4, 2021 Related post with .bin files: https://atariage.com/forums/topic/323564-stella-and-dpc/?do=findComment&comment=4877954 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted August 5, 2021 Share Posted August 5, 2021 Looks like the trick wasn't supposed to work: https://atariage.com/forums/topic/323611-do-you-have-an-atari-2600-and-harmony-cart/?do=findComment&comment=4878714 Is there an updated trick that might work on a real Atari 2600? Quote Link to comment Share on other sites More sharing options...
orange808 Posted August 5, 2021 Share Posted August 5, 2021 (edited) 3 hours ago, Random Terrain said: Looks like the trick wasn't supposed to work: https://atariage.com/forums/topic/323611-do-you-have-an-atari-2600-and-harmony-cart/?do=findComment&comment=4878714 Is there an updated trick that might work on a real Atari 2600? Please post the specific way to reproduce the bug and a test .bas source file that automatically demonstrates the issue. I'll look at the kernel for you. In the meantime, try this: DPCplus_kernel.asm Edited August 5, 2021 by orange808 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted August 5, 2021 Share Posted August 5, 2021 1 hour ago, orange808 said: Please post the specific way to reproduce the bug and a test .bas source file that automatically demonstrates the issue. I'll look at the kernel for you. In the meantime, try this: DPCplus_kernel.asm 19.58 kB · 0 downloads Thanks. SpiceWare said there's a possibility that the trick is tied to a specific version of the DPC+ driver: https://atariage.com/forums/topic/323564-stella-and-dpc/?do=findComment&comment=4878864 He'll check on that when he can find the time. These two programs were working perfectly with the versions of Stella before 6.0: test_bb_dpc_88_rows.bas test_bb_dpc_176_rows.bas For example, they work fine with Stella 5.1.3. Without the trick, the top 2 rows of an 88 row DPC+ playfield would share the same color. And without the longer trick in the example program above, the top and bottom rows of a 176 row DPC+ playfield would be messed up. 1 Quote Link to comment Share on other sites More sharing options...
orange808 Posted August 6, 2021 Share Posted August 6, 2021 3 hours ago, Random Terrain said: Thanks. SpiceWare said there's a possibility that the trick is tied to a specific version of the DPC+ driver: https://atariage.com/forums/topic/323564-stella-and-dpc/?do=findComment&comment=4878864 He'll check on that when he can find the time. These two programs were working perfectly with the versions of Stella before 6.0: test_bb_dpc_88_rows.bas 8.68 kB · 2 downloads test_bb_dpc_176_rows.bas 11.94 kB · 2 downloads For example, they work fine with Stella 5.1.3. Without the trick, the top 2 rows of an 88 row DPC+ playfield would share the same color. And without the longer trick in the example program above, the top and bottom rows of a 176 row DPC+ playfield would be messed up. Thanks. Sounds like I really can't do anything to help with that. 1 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted August 9, 2021 Share Posted August 9, 2021 SpiceWare found the time: https://atariage.com/forums/topic/323564-stella-and-dpc/?do=findComment&comment=4880896 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted August 9, 2021 Share Posted August 9, 2021 Thanks to SpiceWare, if you put the following file in your bB includes folder, the tricks will work again using the latest version of Stella and the Harmony cart: DPCplus.arm 2 Quote Link to comment Share on other sites More sharing options...
Lillapojkenpåön Posted September 10, 2021 Author Share Posted September 10, 2021 Sorry for being inactive. but good to know I wasn't imagining this working on real hardware once. I noticed as soon as this stopped working and tried to describe it to stephena with little success, I thought it was an emulator bug since it stopped working with the ADS update where Stella looked drastically different, but I moved the priming reads to the kernel, after the start positions in VRAM has been set, and it worked, so I told stephena that it wasn't a bug that it didn't work, if anything probably a bug that it used to work (it wasn't that either) I put it with the other priming reads and everything worked fine, I also reported it to RevEng who added it to the github master. setloopfrac lda dffraclow,x sta DF0FRACLOW,x lda dffrachi,x sta DF0FRACHI,x dex bpl setloopfrac ; lda #255 STx DF5FRACINC ; x=255 right now STx DF7FRACINC lda DF5FRACDATA ; priming read lda DF7FRACDATA ; priming read LDA DF6FRACDATA ; priming read (so first bg color value won't be read twice) LDA DF4FRACDATA ; priming read (so first pf color value won't be read twice) ldx SpriteGfxIndex lda _NUSIZ1,x ; top NUSIZ/REFP sta NUSIZ1 sta REFP1 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted September 10, 2021 Share Posted September 10, 2021 Since you were gone for a while, here are two links you might be interested in: https://atariage.com/forums/topic/323730-bb-dpc-programmers-need-to-download-this-file/ https://atariage.com/forums/topic/323744-bb-playfield-editor-free-online-tool/ 1 Quote Link to comment Share on other sites More sharing options...
Lillapojkenpåön Posted September 11, 2021 Author Share Posted September 11, 2021 (edited) Wow, that playfield editor is gonna save alot of time, PERFECT! ? Have you tried if 176 looks correct with no priming reads at all? looks like it would, or with the same ones as 88, using an unmodified kernel? and what happens to 44 and 22 for example with them? I assumed those two lines of assembly code would work for any normal row number, If it doesn't a better fix for RevEng for the next release would be to find out what changed in the driver that prevents it from working now and change that back, or just change the driver if it doesn't break anything. the playfield editor does the rest. Edited September 11, 2021 by Lillapojkenpåön Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted September 11, 2021 Share Posted September 11, 2021 176 seems to only look normal if this is used: asm lda DF6FRACDATA lda DF4FRACDATA lda DF0FRACDATA lda DF1FRACDATA lda DF2FRACDATA lda DF3FRACDATA end So I have that in the code that is generated by the editor. The editor also has this in the code when using 88 rows: asm lda DF6FRACDATA lda DF4FRACDATA end The Atari Background Builder by kisrael now has DPC+ options. You might want to check that out and see if you like that better since it has more tools. Quote Link to comment Share on other sites More sharing options...
Lillapojkenpåön Posted September 12, 2021 Author Share Posted September 12, 2021 (edited) On 9/11/2021 at 11:11 AM, Random Terrain said: 176 seems to only look normal if this is used: asm lda DF6FRACDATA lda DF4FRACDATA lda DF0FRACDATA lda DF1FRACDATA lda DF2FRACDATA lda DF3FRACDATA end So I have that in the code that is generated by the editor. The editor also has this in the code when using 88 rows: asm lda DF6FRACDATA lda DF4FRACDATA end The Atari Background Builder by kisrael now has DPC+ options. You might want to check that out and see if you like that better since it has more tools. I prefer the rows wording over scanlines, and not having to download anything. Both are missing the same thing I think, being able to choose different rows for pf, fg and bg color. For my scrolling platformer I have square pf pixels (22 rows) DF0FRACINC = 32 : DF1FRACINC = 32 : DF2FRACINC = 32 : DF3FRACINC = 32 but I color them with 88 rows of color, DF4FRACINC = 255 I understand you can just make two different ones and take the different data from each, but would be pretty nice to see the finished product if you want something to chew on ? If you do, consider adding the space saving option "single color" example: bkcolors: $00 end DF6FRACINC = 0 If not, an online sprite editor like Lewis suggested would also save alot of time. Edited September 12, 2021 by Lillapojkenpåön 1 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.