Jump to content

Lillapojkenpåön

Members
  • Content Count

    513
  • Joined

Community Reputation

290 Excellent

2 Followers

About Lillapojkenpåön

  • Rank
    Dragonstomper

Recent Profile Visitors

5,098 profile views
  1. I freed up some more space, uninstalled vscode, removed all associated files to completely reset settings and everything, and re-installed vscode, finally the trusted source window popped up again, and I clicked open, meaning it's secure and trusted, but the emulator still didn't launch, so that wasn't it, but my last desperate ridiculous attempt at right clicking and running vscode as administrator worked, never had to do that before but whatever, I'm happy 😁
  2. I do remember this happening before when I was really low on memory left, but I'm not now. I also remember that this started happening right after VS code introduced some "secure something??" where you had to mark the source as secure or something? It has never popped up after the first time and I never understood it. I also remember asking someone about it who said I had to mark the emulators as secure in windows? I don't know how to do that and I can't find any evidence of that conversation taking place.
  3. 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.
  4. Yes it allways used to work, but I guess it was why I took a break. No makefile, no errors, I've tried many both 2600 and 7800 sources that I know should work. bB stops at Moving debugger file(s) to 'bin' folder... and there is a bin file with correct size and date that runs if I open it in Stella manually I tried inputting the path to the Stella I ran it from manually, but it made no difference. 7800basic also stops at Moving debugger file(s) to 'bin' folder... Only system change I can think of is that I installed IntyBASIC SDK
  5. I have no idea what the problem might be, any suggestions?
  6. 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.
  7. I had a break, how come the 7800 or 2600 emulators doesn't show up when I compile and run?
  8. 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
  9. Thanks! #BACKTAB(y*20)=level1(y*DATACOLUMNS+#x) It was 38 in my example.
  10. My brain has stopped working, I want to scroll horisontally, what would be the best way to read column 20 of the table, and also be able to make the level as big as possible? Something like this, obviously super wrong since I'm not considering the length of the level, and I'm not trying to use an array, just control the offset dim #x #x=19 RESTORE level1 FOR y=0 TO 11 READ #line(y*20+#x) #BACKTAB(y*20)=#line NEXT level1: DATA GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW DATA GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW,GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW DATA GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW,GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW DATA GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW,GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW DATA GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW,GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW DATA GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW,GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW DATA GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW,GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW DATA GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW,GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW DATA GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW,GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW DATA GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW,GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW DATA GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW,GW,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,GW DATA GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW,GW In bB I hade to do alot of manual inc and dec of the high byte of the pointer to do this, and made a program that output my level data column by column instead of row by row
  11. Thank you! I really appreciate it! A little to late, but here's what I was trying to do, background collision check but using fixed point variables for the sprite It took a while to get right but it works perfectly now thanks to all the help I get. If you see anything I could improve please let me know. Thank you! DIM #X0 DIM #Y0 #X0 =16.0 #Y0 =16.0 DIM overlap DIM #line CONST tileHeightMask = &00000111 CONST tileHeight = 8 CONST tileWidthMask = &00000111 CONST tileWidth = 8 CONST pfDiff = 8 CONST spriteHeightMinusOne = 3 CONST spriteWidthMinusOne = 7 'top and bottom row and left and right column of sprite DEF FN top = ((#Y0 AND 255) - pfDiff) / 8 DEF FN bottom = (((#Y0 AND 255) - pfDiff) + spriteHeightMinusOne) / 8 DEF FN left = ((#X0 AND 255) - pfDiff) / 8 DEF FN right = (((#X0 AND 255) - pfDiff) + spriteWidthMinusOne) / 8 InfiniteLoop: IF CONT1.UP = 0 THEN GOTO skipUp #Y0 = #Y0 -. 1.0 overlap = tileHeight - (#Y0 AND tileHeightMask) #line = #backtab(right + top * 20) IF #line = GW THEN #Y0 = #Y0 +. overlap : GOTO skipUp #line = #backtab(left + top * 20) IF #line = GW THEN #Y0 = #Y0 +. overlap skipUp: IF CONT1.DOWN = 0 THEN GOTO skipDown #Y0 = #Y0 +. 1.0 overlap = (#Y0 AND tileHeightMask) - 4 #line = #backtab(right + bottom * 20) IF #line = GW THEN #Y0 = #Y0 -. overlap : GOTO skipDown #line = #backtab(left + bottom * 20) IF #line = GW THEN #Y0 = #Y0 -. overlap skipDown: IF CONT1.LEFT = 0 THEN GOTO skipLeft #X0 = #X0 -. 0.5 overlap = tileWidth - (#X0 AND tileWidthMask) #line = #backtab(left + top * 20) IF #line = GW THEN #X0 = #X0 +. overlap : GOTO skipLeft #line = #backtab(left + bottom * 20) IF #line = GW THEN #X0 = #X0 +. overlap skipLeft: IF CONT1.RIGHT = 0 THEN GOTO skipRight #X0 = #X0 +. 0.5 overlap = #X0 AND tileWidthMask #line = #backtab(right + top * 20) IF #line = GW THEN #X0 = #X0 -. overlap : GOTO skipRight #line = #backtab(right + bottom * 20) IF #line = GW THEN #X0 = #X0 -. overlap skipRight: SPRITE 0, #X0 + HIT + VISIBLE, #Y0, SPR16 + sprite0FRAME*8 + SPR_YELLOW WAIT GOTO InfiniteLoop
  12. Yup, except I still can't figure out how to add or subtract an 8-bit variable to or from the integer part #h = #h + overlap * 256 'nope #h = #h + overlap 'nope #h = #h +. overlap.0 'nope #h = #h + #overlap2 'nope
  13. I just wanted some easy to use 8.8 variables with fractional increments of the high byte, but sounds like it would be alot faster to just use two bytes and a little bit of logic to do the same thing.
  14. Something like this, to have easy access to the two bytes? DIM #h DIM h1 = #h DIM h2 = #h + 1 And how come the sprite have to be placed at x8 y8 to show up in the top left corner of the screen instead of x0 y0?
  15. Is there a way to DIM the two bytes of a 16 bit variable?
×
×
  • Create New...