Jump to content
IGNORED

DS99/4a - Emulator for the DS/DSi


wavemotion

Recommended Posts

I have multiple emulators and much homebrew on my DS, therefore quite some files and directories. Would it be possible to search for the ROM files in the same directory than the emulator or in ./ROMS ? 

 

When I want to select a cartridge the working directory is always /roms and I need to navigate to /emu/ti99-4a/ .. 

 

Also the "Roms found" screen could be skipped if the roms were found.

 

Other than that ... I'm loving it and I gave up having a TI emulator on my DS years ago. So this a little bit like Christmas for me ... I just beat my own Scuttlebutt hi-score with 334 points while testing Version 0.6a.

 

Steve

 

  • Like 2
Link to comment
Share on other sites

Thanks for the feedback guys.  I’ll add a way to set a new default directory and a faster startup if all Console ROMs are found. 
 

I’m going to work on custom overlays soon. I so want a custom Tunnels of Doom overlay for the bottom screen with the in-game action keys mapped to cool graphics. 

  • Like 6
Link to comment
Share on other sites

13 hours ago, llabnip said:

 

I’m going to work on custom overlays soon. I so want a custom Tunnels of Doom overlay for the bottom screen with the in-game action keys mapped to cool graphics. 

The overlays are cool! 🙂 Please, share the Photoshop template and tools/instructions on how to generate them, so we can help in creating them! 🙂 

  • Like 1
Link to comment
Share on other sites

19 hours ago, SteveB said:

When I want to select a cartridge the working directory is always /roms and I need to navigate to /emu/ti99-4a/ .. 

Also the "Roms found" screen could be skipped if the roms were found.

 

I've just checked in 0.6b with a new Global Options screen that you can set a number of global options that apply to the emulator or defaults for when you pick a new game.  

 

Among those is the ability to skip the intro screen and to set some defaults for your ROMs directory.

 

I also moved showing the FPS counter to that global menu as it didn't make sense for that to be a per-game setting.

 

I had to change the configuration structure so it will wipe out a previous config... sorry. Hard to make an omelette without breaking a few eggs. Par for the course for a beta!

 

I also put in the SAMS 1MB for DSi (and above) users.

 

Edited by llabnip
  • Like 8
Link to comment
Share on other sites

Last night (and in the wee hours of this morning) I made some progress on supporting overlays. 

 

In addition to the standard DS99/4a keyboard, I've added a more traditional TI99/4a layout. You can pick and choose a default layout for new games and can override on any given game. 

 

Overlay support is not yet checked in... but I did check in 0.6c with cleaned up handling for ROMs vs DSKs so that it remembers what directory you were in for each type of file... SAV files always end up in ./SAV under the ROMS directory, etc. It's much cleaner and you can put your ROMs and DSK files in different directories with no issues.  I also fixed SAV support for Mini-Mem, SuperCart and MBX carts.

 

image.png.4db43950fb836f51038710be0bc59e2e.png

  • Like 3
Link to comment
Share on other sites

16 minutes ago, llabnip said:

image.png.4db43950fb836f51038710be0bc59e2e.png

 

I like the TI99 layout. 🙂 I have one suggestion: the FCTN button should act a switch, changing the content of the first line of keys with the DEL, INS, .. BACK and QUIT and also the arrows for the E, S, D, X keys. This will simplify the use of the keyboard. 

 

 

 

  • Like 2
Link to comment
Share on other sites

8 minutes ago, tmop69 said:

 

I like the TI99 layout. 🙂 I have one suggestion: the FCTN button should act a switch, changing the content of the first line of keys with the DEL, INS, .. BACK and QUIT and also the arrows for the E, S, D, X keys. This will simplify the use of the keyboard. 

Each of those keys is 20 pixels wide... I'm going to have to abbreviate :)  Or use some kind of icons... 

 

As an aside... the resolution on a DS/DSi is 256x192 which is exactly the output of a TI video chip. Convenient - no scaling!

  • Like 5
Link to comment
Share on other sites

6 hours ago, llabnip said:

Each of those keys is 20 pixels wide... I'm going to have to abbreviate :)  Or use some kind of icons... 

 

As an aside... the resolution on a DS/DSi is 256x192 which is exactly the output of a TI video chip. Convenient - no scaling!

I read that the 3DS units use 800x240. How does the TI stuff look on one of those?

 

Quote
  • Nintendo DS and DS Lite - 3 inch display @ 256x192 = 106.67 PPI

  • Nintendo DSi - 3.25 inch display @ 256x192 = 98.46 PPI

  • Nintendo DSi XL - 4.2 inch display @ 256x192 = 76.19 PPI

  • Nintendo 3DS - 3.53 inch display @ 800x240 = 236.61 or >2x400x240 132.15 PPI in 3D Mode, since that's what each eye realistically perceives

  • Nintendo 3DS XL - 4.88 inch display @ 800x240 = 171.15 or 95.59 PPI in 3D Mode

 

Link to comment
Share on other sites

13 minutes ago, retrodroid said:

I read that the 3DS units use 800x240. How does the TI stuff look on one of those?

So it's upscaled and as such isn't pixel perfect... and there will be a bit of black borders on the sides to give it more of a 4x3 ratio that the DS/DSi has... but it still looks pretty good. I've got a 2DS  XL and I'm fairly sure that's similar to the 3DS output and it looks quite reasonable.

 

Here is a picture of the TI title screen running in the emulator on a 2DS XL

image.thumb.png.9f963468427be4d0215ef37e70a064cb.png

  • Like 4
Link to comment
Share on other sites

7 hours ago, llabnip said:

As an aside... the resolution on a DS/DSi is 256x192 which is exactly the output of a TI video chip. Convenient - no scaling!

That is true ... but it leaves no space left for the border, so CALL SCREEN(X) became pointless, at least there is no border, only the "transparent" color.

  • Like 1
Link to comment
Share on other sites

Version 0.7 is checked in:  https://github.com/wavemotion-dave/DS994a

 

V0.7: 24-Jan-2023 by wavemotion-dave

  • New TI99 Keyboard Layout - select in Global Options or on a Per-Game basis.
  • Better DSK vs ROM handling - remembers last directory for each.
  • SAMS 1MB enabled for DSi and above.
  • Fixed save/load state for Mini-Men, SuperCart and MBX Carts (only SAMS save/load is non-functional right now).
  • Other cleanups as time permitted.

 

The new keyboard layout still needs some polish... but it's perfectly functional. When you press the FCTN key it will toggle the graphic to show you the Function keys (you can press a key or hit FCTN again to toggle it back off). Press the little down-arrow in the upper-right for the mini-menu (to save high scores, load/save state or just quit the game completely and select a new cart to play).


image.thumb.png.7f63539065485eb56b3b8177f8dfc254.png

  • Like 6
Link to comment
Share on other sites

This morning I checked in 0.7b with the ability to navigate the .DSK file listings and you can pick any file to put into a copy/paste buffer:

image.thumb.png.cc4e5eca3b6666e881c295ef3273db21.png

 

And then you can optionally paste in the filename with and without the DSK1. prefix:
 

image.thumb.png.780c52d0daa29a2d8101962d782fb798.png

 

Saves time trying to remember the name of the adventure/file/quest and saves the typing as it will auto-insert those keystrokes into the buffer for you.

 

It's currently limited to showing the first 32 files on a disk - probably good enough for our purposes. 

 

A small thing to be sure... but useful!

 

 

  • Like 5
Link to comment
Share on other sites

Ok... so I finally got around to adding support for "Inverted" binary ROM files (assumed inverted if filename ends in '3' or '9') and I cleaned up the game directory list handler to only show the C in a C/D/G (or just G if it's GROM-only) to cut down on clutter when picking games...

 

Question: I know the GROM support on the TI99 will handle banking to support really large GROM sizes. And I've read a bit on the UberGROM (though I don't understand it all) which appears to support GROMs larger than 64K total size.  How likely am I to encounter a GROM file bigger than 40K?  I assume in non-compilations or clasic carts that chance is roughly 0.000% ... any need to support more than 40K of additional GROM (beyond the 24K supplied by the Console)?

 

 

  • Like 2
Link to comment
Share on other sites

1 hour ago, Tursi said:

Pretty rare, yeah... pretty much only compilation carts used the UberGROM's multiple pages. I don't think you'll run into much trouble... 
 

I think the only extant UberGROM images that include more than 40K of GROM are the Extended BASIC Suite cartridges, the REA/RXB cartridge, the Triple XB cartridge, and the Logo II/Return to Pirates Island cartridge. Note that there are a few old school cartridges that do this as well: the Triton Super Extended BASIC cartridge had a modification that added several additional GROMs, the original Asgard XB3 cartridge did the same, as did the OPA POP Cart.

 

Out of all of these, probably the only one that heavily uses the additional GROM space is the REA/RXB cartridge, and even then, it is possible to run the two contained programs separately.

  • Like 1
Link to comment
Share on other sites

8 hours ago, Ksarul said:

I think the only extant UberGROM images that include more than 40K of GROM are the Extended BASIC Suite cartridges, the REA/RXB cartridge, the Triple XB cartridge, and the Logo II/Return to Pirates Island cartridge. Note that there are a few old school cartridges that do this as well: the Triton Super Extended BASIC cartridge had a modification that added several additional GROMs, the original Asgard XB3 cartridge did the same, as did the OPA POP Cart.

 

Out of all of these, probably the only one that heavily uses the additional GROM space is the REA/RXB cartridge, and even then, it is possible to run the two contained programs separately.

... and few of these cards are really good candidates to be used on a DS.

 

Or are there people who want to actually code on the DS ... ?

 

  • Like 1
Link to comment
Share on other sites

2 hours ago, SteveB said:

... and few of these cards are really good candidates to be used on a DS.

 

Or are there people who want to actually code on the DS ... ?

I think we can safely say that nobody will code anything on the DS. Even typing a file name is a bit painful.

 

The primary reason DS99/4a came about is so that I could play Tunnels of Doom lying on the couch and allow me to relive the summer of '82 playing the game at my buddies house. I feel like I know the cadence of the cassette loading as much as I recalled the title screen music. Anything beyond playing ToD on the handheld is a bonus.

 

4 hours ago, Tursi said:

Finally dug out my DSi, figured out how to charge it, hacked up and it's up and running nicely. Thanks!

This makes my day! Enjoy - you had a hand in getting it running!

  • Like 5
Link to comment
Share on other sites

It's amazing how much progress you have made in a few weeks. It's a very good platform for showing the TI and its games to people 'from the outside'. The little screen makes the resolution look reasonable even to young eyes, and compared to other emulators it's very clear how to operate the games with the joystick. I still wish to be able to bypass the module select screen without having to press 2 on the emulated keyboard. I also hope you haven't given up on the speech synth, because it's adding a lot of atmosphere to some games, including my own. Finally, there is the little thing about the megademo, where the part that depends on the sprite collision flag being update while the screen is drawn, doesn't work. Thanks for all your hard work on this.

  • Like 5
Link to comment
Share on other sites

1 hour ago, Asmusr said:

It's amazing how much progress you have made in a few weeks...

 

Thanks for the kind words, Rasmus!  They are much appreciated.  Progress is helped by passion but also by having other great emulators and knowledgeable people who are willing to answer questions that have probably been asked 100 times before (though I do try to search the forums first... I've read the first 70 pages going back 5 years over the past 30 days).

 

Can you describe for me a reasonable method for bypassing the main screen?  I can easily have a global setting that puts a couple of keystrokes in the keyboard buffer to auto-select Choice 2 in the menu but that seems a little strange. Is there a more official way to bypass the loading/title screens?

 

And I haven't given up on Speech. I loved being berated by the voice-overs in Alpiner as crap fell on my head!  But the CPU core re-write took a lot of energy out of me... and I had previously put in 10 hours trying to get the TI99-Sim Speech code ported and all that had to be thrown away. As this is a hobby project, I 'm trying to not burn out and so I'm putting Speech on hold for a while until I build back some strength and get some easier features implemented :) 

 

1 hour ago, InfiniteTape said:

Has anyone had any success with ROA? I can get to the green loading screen, but it hangs there.

I'm not sure what ROA is... can you provide a link?  I can try to debug on my side...

  • Like 1
Link to comment
Share on other sites

7 minutes ago, llabnip said:

Can you describe for me a reasonable method for bypassing the main screen?  I can easily have a global setting that puts a couple of keystrokes in the keyboard buffer to auto-select Choice 2 in the menu but that seems a little strange. Is there a more official way to bypass the loading/title screens?

I'm not suggesting anything complicated, just that one of X or Y keys (on the DS) is mapped to 2 by default.

Edited by Asmusr
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...