* WalrusIRC

You need to have 5 posts and not be part of restricted usergroups in order to use the WalrusIRC embedded shoutbox. However, you can also access our IRC channel called #CodeWalrus via EFnet.

Author Topic: emu8x CSE  (Read 1083 times)

0 Members and 1 Guest are viewing this topic.

Offline Hooloowalrus

  • New User
  • CodeWalrus Supporter
  • *
  • Join Date: Dec 2014
  • Location: Temporarily refracted into a free standing prism.
  • Posts: 17
  • Post Rating Ratio: +1/-0
  • super-intelligent shade of the color blue
    • View Profile
  • Gender: Male
emu8x CSE
« on: February 22, 2015, 11:56:06 pm »
[cross post from cemetech]
I have been porting emu8x, the 81-86 emulator for the 83+SE and 84+(se) to the 84 CSE. Since the only difference between the 84+SE and the 84+CSE is the screen (and flash), I needed to add in an emulated screen. So far it works but is very very slow. I still need to work on fixing some instabilities and other issues.
Screenshot so far:


  • Calculators owned: TI-83, TI-83+ purple, TI-83+SE, TI-83+.fr USB, TI-84+ SE, TI-84 pocket.fr, Commodore PR-100, 4xTI-73, a couple TI-82s, TI-XXXXXXXXXXX, [blank] (nspire prototype), Nspire CAS+, Nspire Clickpad non-CAS, Nspire CX, HP Prime (lost in space), HP 50G, TI-92+

Offline DJ Omnimaga

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Topic Management
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 17500
  • Post Rating Ratio: +83/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • View Profile
    • DJ Omnimaga music store
  • Gender: Male
Re: emu8x CSE
« Reply #1 on: February 23, 2015, 02:21:34 am »
Wow I still remember using this a long while ago. It's a shame that it was never really continued. Will this port include some optimizations to improve speed? IIRC, I heard before that the original code wasn't very optimized since it was written several years ago. Something I am curious about is how fast it would run in 160x240 mode with doubled or interlaced pixels?


Also one other thing I was wondering that I mentionned on IRC is if you could do like TI-Boy CSE and detect in-game sprites and objects? This would allow the user to play some games in actual colors like in TI-Boy CSE.



Anyway I hope this comes to fruition because such emulator would be amazing to get on the color model. :)
  • Calculators owned: TI-73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)
??? ??? ??? ???

Offline Duke "Tape" Eiyeron

  • Urist McEiyolobster
  • Super User
  • Join Date: Nov 2014
  • Location: (V)(-_(//));(V)
  • Posts: 1636
  • Post Rating Ratio: +11/-2
  • Fanciest Walrus of the oceans.
    • @@Eiyeron
    • Eiyeron
    • /u/Eiyeron
    • Eiyeron
    • View Profile
    • Rétro-Actif : Rétro/Prog/Blog
  • Gender: Male
Re: emu8x CSE
« Reply #2 on: February 23, 2015, 05:15:09 pm »
The TI-Boy could detect sprites because the GameBoy internal memory map contained zones about data. I don't really know if that'll be possible on such emulator as for instance we use the same sprite routine for maps and sprites (beloved Pt-On and Pt-And)
  • Calculators owned: A lot.

Offline DJ Omnimaga

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Topic Management
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 17500
  • Post Rating Ratio: +83/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • View Profile
    • DJ Omnimaga music store
  • Gender: Male
Re: emu8x CSE
« Reply #3 on: February 23, 2015, 05:31:41 pm »
Well, MateoConLechuga Z80 emulator on Cemetech actually does it, but for Hooloovoo's emulator, since it runs the entire ROM as opposed to just ASM programs, there are many instances where colors would have to be turned off. Colors could probably be based on what routine is called, so if it recognizes a sprite routine then the sprite has a different color unless it's displayed through a loop (so tilemaps would have a different pixel color set), and in the case of the TI-OS, textshadow could use a different color than the rest.

Not sure how hard it would be to implement, though, and it would most likely require an option to turn that feature off. The most important right now is making sure the emulator runs fast enough. :P
  • Calculators owned: TI-73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)
??? ??? ??? ???

Offline Duke "Tape" Eiyeron

  • Urist McEiyolobster
  • Super User
  • Join Date: Nov 2014
  • Location: (V)(-_(//));(V)
  • Posts: 1636
  • Post Rating Ratio: +11/-2
  • Fanciest Walrus of the oceans.
    • @@Eiyeron
    • Eiyeron
    • /u/Eiyeron
    • Eiyeron
    • View Profile
    • Rétro-Actif : Rétro/Prog/Blog
  • Gender: Male
Re: emu8x CSE
« Reply #4 on: February 23, 2015, 05:35:52 pm »
IMO it'd be too CPU-expensive to be really useful. I would check for something like rectangle areas of graphic changes to detect some sprites movement or scrolling happening. Oh and don't forget the z-address thing! Games using that trick (like Furious Pong, which would kill the detection routine by just seing how much a screen does change between two frames, be it the balls, the paddles or the electric fences) would get make the thing get crazy about it!
  • Calculators owned: A lot.

Offline DJ Omnimaga

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Topic Management
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 17500
  • Post Rating Ratio: +83/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • View Profile
    • DJ Omnimaga music store
  • Gender: Male
Re: emu8x CSE
« Reply #5 on: February 23, 2015, 05:39:05 pm »
Scrolling will definitively be a problem. If only there was a way for Hooloovoo to detect when a routine doesn't update the entire screen so that it won't just refresh the entire emulator screen every frame.
  • Calculators owned: TI-73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)
??? ??? ??? ???

Offline Duke "Tape" Eiyeron

  • Urist McEiyolobster
  • Super User
  • Join Date: Nov 2014
  • Location: (V)(-_(//));(V)
  • Posts: 1636
  • Post Rating Ratio: +11/-2
  • Fanciest Walrus of the oceans.
    • @@Eiyeron
    • Eiyeron
    • /u/Eiyeron
    • Eiyeron
    • View Profile
    • Rétro-Actif : Rétro/Prog/Blog
  • Gender: Male
Re: emu8x CSE
« Reply #6 on: February 23, 2015, 05:40:43 pm »
Heh, delta based double buffering. Keep the previous frame as a reference and try to see where it changes. Good luck with keeping a constant speed with that method, I can't think of another good method for solving that problem. :/
  • Calculators owned: A lot.

Offline DJ Omnimaga

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Topic Management
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 17500
  • Post Rating Ratio: +83/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • View Profile
    • DJ Omnimaga music store
  • Gender: Male
Re: emu8x CSE
« Reply #7 on: February 23, 2015, 05:45:56 pm »
I don't think keeping speed identical to the original calc will be possible if he ever makes the screen larger, because of the speed bottleneck caused by the color screen and slow CPU. In the best case scenario, small screen updates will run at identical speed or faster, but full screen refreshing at 96x128 resolution (in 160x240 mode) will get 25 FPS maximum.
  • Calculators owned: TI-73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)
??? ??? ??? ???

 


You can also use the following HTML or bulletin board code to share it on your page or forum signature!


Also do not forget to check our affiliates below.
Planet Casio TI-Planet Calc.news BroniesQC BosaikNet Velocity Games