Jump to content
Tursi

Classic99 Updates

Recommended Posts

Tursi, if the 4MB SAMS will already be a problem, what will the later, 16MB version be? :) I've got the schematic to make that work already done. Now I just have to translate it to a working board. . .

 

The issue is time, not difficulty. ;) The AMS extensions are simple enough that it can probably be a configuration switch, but to get the /debugger/ properly integrated with it I wanted to rip all that code out and centralize the memory system.

  • Like 2

Share this post


Link to post
Share on other sites

Bugfix release - 393.

 

-rewrote speech synth CPU halt system, but this didn't fix anything that I could see
-bugfix in image disk sector allocation that would leave empty holes on the disk
-bugfix in image disk writing cluster list that only wrote one sector per cluster ;)
-change image disk sector allocation - FDRs at the beginning, data at the end. Makes for nicer layout
-disabled VDP warning, it's still not quite right

 

The image disk bugs wouldn't cause data loss that I can see, just fragmentation and possibly the inability to fill the disk. I did a lot more testing on this version. However, I still won't support development of software on the images, I'll just tell you to use FIADs. ;)

 

http://harmlesslion.com/software/classic99

  • Like 3

Share this post


Link to post
Share on other sites

Ah, just as a note, this breaks Bubble Plane's copy protection, since the disk system overwrites the magic sector at the end of the disk when it rewrites the high score. I'll think about whether I want to fix that and how, I'll probably just have to go look up how TI's controller does it. In the meantime, play the cracked version. ;)

Share this post


Link to post
Share on other sites

Classic99 v394

 

I needed some updates so I could experiment with the F18A firmware update - this version is now capable of fully running the upgrader. Even found an ancient bug in the CRU functions - LDCR and STCR with register auto-increment would step by the wrong amount.

 

http://harmlesslion.com/software/classic99

 

To make tracking and sharing the source easier, I've also moved the source out of the archive and over to Github at https://github.com/tursilion/classic99

 

-fix bug with multi-bit CRU instructions - byte flag was set wrong way around and broke register auto-increment

-add support for F18A SPI flash interface (upgrade program runs now)

-also means that CKON, CKOFF, LDCR and STCR on the F18A work now

-add support for more of the F18A status registers and reading them from the host

-move source to Github - https://github.com/tursilion/classic99

  • Like 7

Share this post


Link to post
Share on other sites

Love the work that is continuing with this emulator.

 

Do you think you'll be able to add some form of drag'n'drop support for disk and cart images? Maybe it's been asked, but I honestly didn't feel like going through 50 pages. And search didnt turn up any discussion.

 

And what about ejecting a cartridge? There an easy way of doing that other than editing the ini file?

Share this post


Link to post
Share on other sites

I've wanted Drag and Drop myself... but right now it doesn't look like I'll be doing any updates for a little while. I'll keep it in mind in case I get time though.

 

There's no way to eject all cartridges as shipped. You're the first one to ask! :) You could create a dummy user cartridge in the INI that has an empty data file and use that, I suppose. Are you trying to test a specific circumstance?

  • Like 1

Share this post


Link to post
Share on other sites

About 4 years ago I made a version of RXB that also had a REA that would take up 5 GROM in another Page of GROM.

(It included Editor/Assembler files and I even added the Ryte Data GPL Assembler.)

So you could have RXB in >9800 and put the REA in any other of 15 banks not used and RXB would find it, and REA would find RXB.

 

After all that work no one seems to be interested in that???

 

I mean who else has ever done something like this where a Cart would look for and find another cart and you could switch to it or back?

 

Anyway his proposal is similar to something I was looking at, vs currently having to sector edit a version into a Binary file in more then one page of GROM/GRAM.

Edited by RXB

Share this post


Link to post
Share on other sites

Love the work that is continuing with this emulator.

 

And what about ejecting a cartridge? There an easy way of doing that other than editing the ini file?

 

What about the "User" option of the cartridge menu? That seems close.

 

...lee

  • Like 1

Share this post


Link to post
Share on other sites

How do you eject a cartridge there?

 

You can add an entry to a fake cart by editing the "classic99.ini" file:

[usercart0]
name=Eject Cart
rom0=3|0000|8000|FakeCart.bin

Whenever you want to eject a cart, just select "Eject Cart" from the "Cartridge" -> "User" menu.

Edited by chue
  • Like 1

Share this post


Link to post
Share on other sites

How do you eject a cartridge there?

 

I am not sure I understand the need to do this in Classic99. Usually, one removes a cartridge from real iron to insert another one. In Classic99, this is done in a single operation by simply selecting another cartridge.

 

...lee

  • Like 1

Share this post


Link to post
Share on other sites

This would be an awful lot of effort to show a TI screen with no cartridge inserted. This is an extreme case of emulation desire - I'll go as far as betting there's also a desire, for some sort of cassette support on CS1 for stuff like saving your position in Scott Adam's games. :)

 

Aaaaaaaand that wasn't a hint at all. :P

  • Like 1

Share this post


Link to post
Share on other sites

My wish for next christmas is to fix that ´type=3´ in the INI-file ;) It always falls back

And I always forget to check wether ´type=3´ still exists before I start the emulator...and later, when I save, it is not saved. Data is gone.

 

Maybe I can write-protect the INI-file under Windows, so that it cannot fall back to the Read-Only-Floppies/DSKs ?

Or I have to try it with a small batch, to replace it every time with a fixed backup file or so. Will see.

 

 

...

 

hmm, I could write something like the Mess-Starter-Batch, what starts the Classic99.

If I once mount 3 fixed DKSs, all type 3, I would be able to have a menu in the batch,

selecting what DSKs I want to mount at start, the then just copy them to the 4 locations

of the pre-mounted DSK-Images, just renaming them to this mounted names.

And then start Classic99. This should work. Maybe also works for the cartridges.

 

For me, at the mess-starter-batch this was cool and easy to use, to scan&search my whole folders

for RPKs and DSKs, and just to select the wanted ones, and then starting Mess with all this options.

Were just some keys to press, but does not work anymore today.

But I am sure I can use all these routines I wrote for a Classic99-starter :) TooolTime :)

Share this post


Link to post
Share on other sites

 

I am not sure I understand the need to do this in Classic99. Usually, one removes a cartridge from real iron to insert another one. In Classic99, this is done in a single operation by simply selecting another cartridge.

 

...lee

 

There are times I don't want a cartridge in there, real hardware or virtual machine.

Share this post


Link to post
Share on other sites

Rich, I use it--but it isn't really appropriate to this thread, as this is for Classic99 issues/updates/feature requests, not UberGROM features.

Apparently you only read part of what I said and ignore other parts.

QUOTE: "Anyway his proposal is similar to something I was looking at, vs currently having to sector edit a version into a Binary file in more then one page of GROM/GRAM."

 

Currently I have to still do this to take GRAM/GROM and turn it into a binary for Classic99, this has not changed as far as I know.

Share this post


Link to post
Share on other sites

No, no specific test scenario. Just looking at one of the many ways to improve the user interface and overall experience of the emulator.

A few people commented, but... I don't see how that improves the experience. The console can't do very much with no cartridge inserted, and inserting a cartridge does not remove any functionality (ie: you can always select TI BASIC).

 

Remember that Classic99 was developed for development purposes. As I don't lose any ability to develop in TI BASIC by not being able to remove an existing cartridge, I'm not sure the benefit? It's not hard, though, I'll add it to the list. Sometimes I do go looking for easy targets. ;)

Share this post


Link to post
Share on other sites

About 4 years ago I made a version of RXB that also had a REA that would take up 5 GROM in another Page of GROM.

(It included Editor/Assembler files and I even added the Ryte Data GPL Assembler.)

So you could have RXB in >9800 and put the REA in any other of 15 banks not used and RXB would find it, and REA would find RXB.

 

After all that work no one seems to be interested in that???

 

I mean who else has ever done something like this where a Cart would look for and find another cart and you could switch to it or back?

 

Anyway his proposal is similar to something I was looking at, vs currently having to sector edit a version into a Binary file in more then one page of GROM/GRAM.

I'm not sure how it's similar, but if you are asking for how to load multiple banks of GROM, you have do to that through an entry in Classic99.ini -- after the 'G' you can add an index to specify which bank you want. For instance, from my own Classic99.ini:

 

[mikes0]
name=MegaMan 2 Music
rom0=C|6000|2000|MODS\mmshared\TIPlayerC
rom1=G|6000|A000|MODS\mm2\timusic
rom2=G1|6000|A000|MODS\mm2\timusid
rom3=G2|6000|A000|MODS\mm2\timusie
rom4=G3|6000|5A90|MODS\mm2\timusif
rom5=GF|6000|1800|MODS\mm2\TIMM2PIC_P
rom6=GF|8000|1800|MODS\mm2\TIMM2PIC_C
; The multi-base GROM code in the TI console menu hangs if it can't find a bootable GROM
; This is a TI bug, not a Classic99 bug. DummyG just launches the ROM cart (absolute jump,
; it does not read the ROM header so it's not generic. Try it in the v2.2 ROM though!)
rom7=G9|6000|0040|MODS\mmshared\DummyG.bin
That loads data into GROM base 0 (G, >9800), 1 (G1, >9804), 2 (G2, >9808), 3, (G3, >980C), and two GROMs into base 15 (GF, >983C, at address >6000 and >8000). There's also a dummy entry after the comment at base 9 (G9, >9824) which just launches the ROM cartridge from GPL. Those files are all included with the distribution from back when I first added support for bases. :)
  • Like 1

Share this post


Link to post
Share on other sites

This would be an awful lot of effort to show a TI screen with no cartridge inserted. This is an extreme case of emulation desire - I'll go as far as betting there's also a desire, for some sort of cassette support on CS1 for stuff like saving your position in Scott Adam's games. :)

 

Aaaaaaaand that wasn't a hint at all. :P

CS1 is on my list already. It'd be neat to see it work but it doesn't really have much demand from a development standpoint.

  • Like 1

Share this post


Link to post
Share on other sites

My wish for next christmas is to fix that ´type=3´ in the INI-file ;) It always falls back

And I always forget to check wether ´type=3´ still exists before I start the emulator...and later, when I save, it is not saved. Data is gone.

So first, it only "falls back" if you open the disk dialog. Second, why are you still using that? I added write support to disk images a long time ago.

 

Unless you are a developer testing compatibility against the TI disk controller, you'll get more complete and fully functional behavior by NOT selecting it and using the built-in disk image support.

 

That was /always/ a hack for developers, and I take no responsibility for it being abused.

  • Like 1

Share this post


Link to post
Share on other sites

hmm, I am tinkering with that type=3 for 1 or 2 years now because

I wasn´t able to save into mounted .DSKs and this was the advice somewhere around here.

And there was mentioned that writing to DSKs is not supported, only with editing the Classic99.ini

Have to check now

Share this post


Link to post
Share on other sites

hmm strange, I can write to DSKs now :)

 

But I cannot find where I read this (was more that once) that I have to use "type=3"

if I want write access to DSK-files, because a search on AA for "type=3" only leads

to hits like "type". Thats a bit much hits to find that....

 

What is the difference between Type=1 and Type=2 ?

Share this post


Link to post
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.

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...