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

Update samples for r37 #21

Merged
merged 1 commit into from
Jun 7, 2020
Merged

Conversation

CJLove
Copy link
Contributor

@CJLove CJLove commented Jun 6, 2020

Here's an initial set of updates to the samples to run with r37.

A couple of things I've noticed with porting other things to r37 which may explain some of the changes:

  1. Layer 0 in r37 seems to have issues with the map base address being set to things other than $00000. Several of the samples were therefore updated to use a map base address of $00000.
  2. It seems like VERA VRAM is largely uninitialized whereas it may have been set to 0 in prior rom/emulator versions. Consequently the tile_wall.bas changes now include clearing the 64x32 tilemap before poking in the tilemap data.

I didn't have the chance to run any of these samples with r36 so hopefully the results are roughly equivalent with these changes.

@yeastplume
Copy link
Owner

I've tested the changes, and the only things I can find are:

  • Terra seems to be spinning her legs much faster than previously while walking down the screen in the asm sprites demo. (The basic demo is at the right speed)
  • Garbage on areas screen in the tile wall demo (including what looks like the flashing cursor pointing somewhere random) probably related to your comments, but the actual tilemap itself appears correct.

In any case, still 1000% better than what was previously broken, so will merge this. Many thanks for looking into this.

@yeastplume yeastplume merged commit 314dd77 into yeastplume:master Jun 7, 2020
@CJLove CJLove deleted the samples_r37 branch June 7, 2020 19:49
@yeastplume
Copy link
Owner

Fixed the timing issue on the sprite demo, seems r37 may have some timing differences from r37.

Was able to get the tile wall demo writing to its old address again, (it's a bit fiddly to get the address right because the high byte represents bits 16:9), which fixes the issues with (what I think is) the basic interpreter outputting to the same address. The screen clear issue is odd though, as you say, looks like you need to manually clear VRAM first. Extraordinarily slow to do this in basic, so might need to poke assembly to do the clear and call it within the basic sample.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants