Skip to content
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

EDMA job list cannot reside in Attic RAM #874

Open
dansanderson opened this issue Mar 1, 2025 · 1 comment
Open

EDMA job list cannot reside in Attic RAM #874

dansanderson opened this issue Mar 1, 2025 · 1 comment
Labels
new New report, not classified yet

Comments

@dansanderson
Copy link
Collaborator

Test Environment (required)
You can use MEGAINFO from within FREEZER to obtain this information
(long press RESTORE to enter FREEZER, then press HELP to start MEGAINFO)

  • Platform: MEGA65R6
  • Core Commit: 3c10488
  • ROM Release: 920412

Describe the bug
An EDMA job list stored in Attic RAM can be triggered, but it does not succeed. The existence of the megabyte DMA address register D704 implies that this should work.

See the test program source attached, in Acme syntax. The labels job_addr, src_addr, and dest_addr can be adjusted to try different combinations. The program installs an EDMA job to job_addr to copy four bytes from src_addr to dest_addr, sets the source data to AABBCCDD, sets the destination to FFFFFFFF, then executes the EDMA job with its four-byte address. The test is successful if after running the destination memory contains AABBCCDD.

job_addr src_addr dest_addr Result
$00001600 $00001700 $00001800 Success
$00001600 $08701700 $00001800 Success
$00001600 $08701700 $08701800 Success
$08701600 $00001700 $00001800 Failure
$08701600 $08701700 $00001800 Failure
$08701600 $08701700 $08701800 Failure

testatticdma.asm.txt

@dansanderson dansanderson added the new New report, not classified yet label Mar 1, 2025
@dansanderson
Copy link
Collaborator Author

Note that my test program takes the register order into account: bank, megabyte, hi, lo. I'm aware that setting bank also sets megabyte to zero. As far as I can tell, there is a separate issue running a DMA job list located at (for example) 8700000.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new New report, not classified yet
Projects
None yet
Development

No branches or pull requests

1 participant