So I sort of posted this in another thread, but it was pretty far buried and I don't think anyone will see it, so I've decided to post it in its own thread:
I'm trying to do some DMA tests with visual2a03. Though it seems the DMC is not fetching bytes as one would expect.
Here's a simple test program:
http://www.qmtpro.com/~nes/chipimages/v ... 20300010fe
Effectively:
I would expect this to perform the first DMA shortly after the 4015 write (which it does)
Followed by another DMA ~432 cycles afterwards. But even after 800 cycles, there's no sign of a 2nd DMA.
Can anyone explain why this is happening? Is my program wrong, or is this a bug with visual2a03?
Worse, I can't seem to run visual2a03 for more than 300 cycles before it starts slowing WAY down. And after 900 cycles it completely crashes and I need to reload the page. I assume this is because of memory consumption or something. Is this an issue with my browser? Are there any workarounds?
Thanks
I'm trying to do some DMA tests with visual2a03. Though it seems the DMC is not fetching bytes as one would expect.
Here's a simple test program:
http://www.qmtpro.com/~nes/chipimages/v ... 20300010fe
Effectively:
Code:
lda #$4F ; fastest speed + looping
sta $4010
lda #1 ; nonzero length
sta $4012
sta $4013
lda #$10
sta $4015
jsr some_routine_that_burns_cycles
bpl -2
sta $4010
lda #1 ; nonzero length
sta $4012
sta $4013
lda #$10
sta $4015
jsr some_routine_that_burns_cycles
bpl -2
I would expect this to perform the first DMA shortly after the 4015 write (which it does)
Followed by another DMA ~432 cycles afterwards. But even after 800 cycles, there's no sign of a 2nd DMA.
Can anyone explain why this is happening? Is my program wrong, or is this a bug with visual2a03?
Worse, I can't seem to run visual2a03 for more than 300 cycles before it starts slowing WAY down. And after 900 cycles it completely crashes and I need to reload the page. I assume this is because of memory consumption or something. Is this an issue with my browser? Are there any workarounds?
Thanks