Author Topic: TI-Boy CE Progress Thread  (Read 65803 times)

0 Members and 1 Guest are viewing this topic.

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: TI-Boy CE Progress Thread
« Reply #60 on: March 20, 2022, 02:59:32 pm »
I just made a new release which makes use of newly discovered LCD documentation to eliminate diagonal screen tearing in fullscreen mode! I'd definitely appreciate feedback on this release because it's a bit experimental. More info here.

This release also lays some important groundwork for future GBC rendering. Up until now I used 4 bits per pixel for fullscreen rendering so I could render two pixels at once in a single byte, but the GBC can display well more than 16 colors at once, so I'll need 8 bits per pixel for it. This means the framebuffers would have to be twice as large (and require twice as many writes to render to it), which would be bad for memory usage and performance.

With this change though, my framebuffers only need to be 160x240 pixels, so I can expand to 8 bits per pixel with no memory cost. Even for original Game Boy, this is an improvement just to get rid of special-casing for 4-bit or 8-bit rendering. With a 256-color palette, I was also able to greatly increase performance when rendering multiple sprite palette configurations in a single frame (which doesn't happen often, but it was a terrible edge case before).

With this release, hopefully I can go back to my emulator core rewrite for GBC support, which I stalled while working on these rendering updates.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline the_cone

  • LV0 Newcomer (Next: 5)
  • Posts: 2
  • Rating: +0/-0
    • View Profile
Re: TI-Boy CE Progress Thread
« Reply #61 on: July 02, 2022, 03:54:03 pm »
This app is by far the coolest thing about gaming on a TI calc that I've found.  I'm curious to know how your progress on adding GBC support is coming and how realistic it is that you will be adding GBC support in the near future.  One of the reasons I ask is because I modded Super Mario Land 2: 6 Golden Coins to include full color.  Everything works fine when converting the rom to .b84 and it even boots up but I'm met with the message that Game Boy Color is not currently supported.  Nonetheless I'm having a blast playing Link's Awakening and other classic GB games but full color would be really cool  8)

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: TI-Boy CE Progress Thread
« Reply #62 on: July 02, 2022, 04:20:53 pm »
This app is by far the coolest thing about gaming on a TI calc that I've found.  I'm curious to know how your progress on adding GBC support is coming and how realistic it is that you will be adding GBC support in the near future.  One of the reasons I ask is because I modded Super Mario Land 2: 6 Golden Coins to include full color.  Everything works fine when converting the rom to .b84 and it even boots up but I'm met with the message that Game Boy Color is not currently supported.  Nonetheless I'm having a blast playing Link's Awakening and other classic GB games but full color would be really cool  8)

I recently (mostly) finished my emulator core rewrite, and I'm actually working on GBC support right now. So far I have a basic working GBC renderer, though I still need to properly implement it so the emulator can use either the original GB renderer or the GBC renderer (right now they're two different builds). Save states are totally broken, so I need to fix that as well.

I've successfully been able to boot some GBC games that don't use other new features like the double CPU speed or the DMA hardware, but I've still got a good bit of work to do on that front. There's also the color correction feature to implement, which I need to consider carefully because unlike GB colorization it has to work with dynamic palettes.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline the_cone

  • LV0 Newcomer (Next: 5)
  • Posts: 2
  • Rating: +0/-0
    • View Profile
Re: TI-Boy CE Progress Thread
« Reply #63 on: July 03, 2022, 10:35:42 pm »
That's great news - looking forward to seeing the next evolution of TI-Boy!

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: TI-Boy CE Progress Thread
« Reply #64 on: October 12, 2022, 12:39:18 am »
I've been working hard on Game Boy Color support this year, and since I just made a GBC skin for unscaled mode (fullscreen mode doesn't work in CEmu) I figured I might as well record some gameplay!

Here's a bit of footage of me messing around in Metal Gear Solid: Ghost Babel:


I've still got a lot of testing to do (I've encountered several random game crashes when testing on a real calculator that I haven't tracked down) but overall it's coming along well!

The biggest existing issues I do not plan to address before the next release are:
  • Lack of support for mid-frame palette changes (which are used by some games to display more than the usual limit of 56 colors at a time)
  • Poor performance in some games (GBC can be very demanding, and I can focus more on optimizations after I have a working release)
  • Storage space limitations (this is the CE's fault more than mine, but many 4MB ROMs simply cannot be used)
I'm still not sure about the release timeline, but I'm going to keep working on it until I'm satisfied with its stability.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6268
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: TI-Boy CE Progress Thread
« Reply #65 on: October 14, 2022, 10:39:13 am »
That's awesome! Amazing job @calc84maniac !
/e

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: TI-Boy CE Progress Thread
« Reply #66 on: November 19, 2022, 09:07:27 pm »
I've posted a new preview video, showing some gameplay of Super Mario Bros. Deluxe and Magi Nation:



As for my development progress, I've been continuing to test games and fix more bugs. There's still one major bug that's blocking release, however, which is causing multiple games to crash randomly. So far I've seen no full calculator crashes at least, but game crashes cause loss of progress since the last save, which is something I definitely want to fix. It's been difficult to replicate, unfortunately, so I'm not sure how long it'll take. Wish me luck!
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: TI-Boy CE Progress Thread
« Reply #67 on: December 04, 2022, 06:34:56 pm »
Game Boy Color support is finally released! Check it out here (including a new video): https://calc84maniac.github.io/tiboyce/releases/2022/12/04/alpha-v0-3-0-released.html

I think the bug I was tracking down was probably related to flash wait states on the calculator I was testing on, so I've increased them to the same as the C toolchain. Crossing my fingers that it's all fixed.

My next step is probably updating the GBC renderer to handle mid-frame palette changes, to fix colors in some games that get fancy and try to display more than 8 palettes in a frame.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: TI-Boy CE Progress Thread
« Reply #68 on: December 22, 2022, 07:55:03 pm »
I made a new blog post about JIT design, for people interested in that kind of thing. Enjoy!
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman