-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix tiny pixel-glitches in bitbox visual output #43
Comments
from what I can see, this happens because of interrupts having impacts on the access of buses and/or cpu states. I suggest we try outputting sound and maybe also usb during hsyncs and see what happens |
On my setup this is very visible during SDCard access (for example when loading files in the chiptracker). Maybe the priority of interrupts can be tweaked and/or interrupt nesting should be enabled? Does the SD Card and USB also use DMA or are they done with the CPU? Maybe the DMA unit does not handle well dealing with multiple channels? |
in fact I guess the contention comes from AHB2 access during interrupts
2016-11-14 22:09 GMT+01:00 Adrien Destugues [email protected]:
|
does this have anything to do with it? this is a synopsis from a later post: Instead, and perhaps counter-intuitively, m4vgalib always writes pixels into CCM, and always streams out of SRAM2. At the very beginning of hblank, the driver copies the pixels from CCM to SRAM2. This costs a small amount of CPU, but since the Cortex-M4 can shuffle data around quite quickly, it has less overhead than you might expect6. m4vgalib’s heavily optimized copy_words routine comes tantalizingly close to the theoretical maximum throughput of the AHB matrix — it runs about twice as fast as the DMA hardware. |
v0.10 seems to have regressed for me, though i will try to do more testing. at the very least, i get some black pixel rows in 16, near the center of the screen, in the main game as well as on the menus. in the old v0.9 sdk, i wouldn't get any black lines in the menu screens, and i would only get the black lines in the main game when lots of sprites occupied the same row. |
ok, here's the difference between old and new, 0.9 to 0.10, with the black lines: |
ok, well, things are super strange. the other bitbox examples are fine, bdash looks good with the new v0.10 sdk. trying to figure out what's different about 16 compared to others (it does incorporate everything, so io, music, etc. could all be to blame.) most of the other changes in v0.10 have been usb related: i suppose i should raise this as a new issue on bitbox 16 (incompatibility with sdk 0.10 update???), but i'm very puzzled! [edit] |
bitbox output can sometimes look clean (like when waiting for input on bootloader 2), but when activity starts or more computations are run, the output can have some small pixel glitches.
The text was updated successfully, but these errors were encountered: