Jump to content
IGNORED

Which emulator?


apersson850

Recommended Posts

I haven't bothered with emulators before. Thought should I go retro it should be on the real thing. But like now, when I've been out of town for weeks, I can't go real. Is there any opinion about which is best?

We're talking Windows 10 and I want to be able to emulate Pascal/p-code as well.

Link to comment
Share on other sites

14 minutes ago, apersson850 said:

Is there any opinion about which is best?

 

Since we have several emulators here, where all the maintainers doubtlessly spent a lot of work, partly over many years, and those maintainers are active people in this forum, a question about "good" or "worse" or "better" is, I would say, difficult to answer, maybe even unfair.

 

Please be more specific what you consider desirable for an emulation.

  • Like 1
Link to comment
Share on other sites

Yes, I understand that "best" is difficult to define, since it depends so much on what you desire.

But, as stated, the p-code/Pascal should be possible to run. And I prefer if it doesn't take weeks to figure out which files to download from different places and in different combinations to get something working. Does Classic 99 support the p-code card?

 

MAME, is that kind of a general emulation tool, which is configurable to emulate different machines?

Link to comment
Share on other sites

pCode needs disks, yes, which are scattered all over this forum and I am pretty sure WHTech several times over. Classic99 supports it and also includes the disk images in a subfolder. Pretty sure MAME supports it. I didn't see if JS99er did?

 

  • Like 4
Link to comment
Share on other sites

Well, I selected Classic 99 to try. Didn't take too long to figure that out. I'vewritten, compiled and run my first emulated TI 99/4A Pascal program.

I presume the main problem will be to get thiings on physical TI 99/4A disks to the emulator. I see that Classic 99 supports the Windows clipboard, but that is reading it as a dis/var file. Since the p-system doesn't read files that way, some clever thinking is needed here.

I also created larger disks, so I could store all system files on one disk. Would such a large disk image be beneficiary to push back to whtech, maybe?

 

There are only three disks available, which is as expected, since the p-system only allows for that in original form. Will be interesting to see if a patch works just like in the real system.

  • Like 2
Link to comment
Share on other sites

2 hours ago, Tursi said:

pCode needs disks, yes, which are scattered all over this forum and I am pretty sure WHTech several times over. Classic99 supports it and also includes the disk images in a subfolder. Pretty sure MAME supports it. I didn't see if JS99er did?

 

 

Plannning on updating the Development Resources thread, adding all required pCode disks.

Updating the DevRes thread is not as easy as it sounds, due to its size and risks breaking layout and having to correct all tags again until you get a descent layout again. That is what has been holding me back doing more updates in the last year or two.

 

  • Like 2
Link to comment
Share on other sites

4 hours ago, apersson850 said:

Well, I selected Classic 99 to try. Didn't take too long to figure that out. I'vewritten, compiled and run my first emulated TI 99/4A Pascal program.

I presume the main problem will be to get thiings on physical TI 99/4A disks to the emulator. I see that Classic 99 supports the Windows clipboard, but that is reading it as a dis/var file. Since the p-system doesn't read files that way, some clever thinking is needed here.

The p-System emulation in MAME uses disk images. Maybe you just install MAME in parallel and try which one suits you better. (Although some people seem to believe you have to decide for one emulation system, there is really no problem keeping all of them on your system.)

 

There are some tools to transfer disk images to the real TI and back. One of the easiest ways could be the Lotharek/Gotek disk emulator.

 

  • Like 1
Link to comment
Share on other sites

The pSystem emulation in all systems use disk images, because the p-System uses sector access to get at its data. The single file it creates is more to prevent people from accidentally overwriting the Pascal data, it never accesses it as a file. ;)

 

56 minutes ago, mizapf said:

The p-System emulation in MAME uses disk images. Maybe you just install MAME in parallel and try which one suits you better. (Although some people seem to believe you have to decide for one emulation system, there is really no problem keeping all of them on your system.)

 

Link to comment
Share on other sites

I think you cannot go wrong with either MAME or Classic99 when it comes to pcode. Your main issue is really going to be how to transfer back the files to the TI. I use Fred Kaal's DSK2PC to transfer the disk images created in the emulator coupled with a USB to serial cable and an RS232 card upgraded with the HDX system (you can also use an unmodified RS232 card but with more limited options). This set up lets you create a real disk on the TI side which is usable with the pcode system. Make sure that you check the disk image for bad blocks with the Filer, correct those with Examine, then Crunch the disk before transferring. This process has worked for up to DSSD disks with the standard TI disk controller. Here's the link for more info

 

Alternatively, I understand that there was a terminal emulator with file transfer capabilities made for the pcode system on the TI, so you could connect the PC and TI with a null modem cable with a USB to serial adapter on the PC end and transfer the files one by one that way. 

 

Finally, the Transfer command in the Filer could theoretically also transfer a file via the RS232 and a null modem set up but I'm not sure if this will work with binary files or just text source files. The transfer settings can be changed with the MODRS232 facility on the Utility disk (REMIN/REMOUT), then with Transfer you can enter something like this: REMIN,#4:TEST.CODE . I have not tried this.

  • Like 1
Link to comment
Share on other sites

Thanks for all help. I had no problems creating 1 Mbyte drives in the p-system with Classic 99. Three of them provides plenty of space. That also means you can easily compile all the distribution files for Pascal on one disk, leaving the other two for your own stuff. Although I didn't try, you can probably make 16 Mbyte drives in the simulator, but since that doesn't lift the p-system's limit of 77 files on a disk, it's pointless.

 

One of the first things I'll try is to get decent looking characters, instead of the standard TI upper case/more upper case font. I'll see if I can move the SYSTEM.CHARAC file I have on the real TI to the emulator. If nothing else, I can type the content in, using the PATCH utility. Did that once, many years ago, when I first created the file on the TI 99/4A.

 

Then I'll see if I can get the other three drives going too. The p-system we have sets the limit for normal disk drives to six. Version IV.1 allowed more, as well as one level of subdirectories.

Link to comment
Share on other sites

20 hours ago, apersson850 said:

I haven't bothered with emulators before. Thought should I go retro it should be on the real thing. But like now, when I've been out of town for weeks, I can't go real. Is there any opinion about which is best?

We're talking Windows 10 and I want to be able to emulate Pascal/p-code as well.

This can often mean a 2nd emulator choice. Some emulators have features unique to them.

Link to comment
Share on other sites

6 hours ago, apersson850 said:

Thanks for all help. I had no problems creating 1 Mbyte drives in the p-system with Classic 99.

Uhhhh.... how? :)

 

I'm both curious what was involved in setting that up, and concerned that the emulation might not support what you did when you actually start to fill the disk (but it might).

 

Link to comment
Share on other sites

I haven't tried filling it yet. ?

I made a new disk, by using the Disk menu and associate a drive with a new, empty file. I didn't fill that file with anything. Didn't get any menu to set the size of it either. So I thought maybe it just extends it as needed.

Then, from inside the p-system, I claimed the disk has 2000 blocks, each block being 512 bytes. I can store files on it and they work, but they don't consume more than a fraction of the space allegedly being available yet.

 

After doing this disk, I mounted each of the 90 k disk images, for the distribution disks that once came with the p-system, in another drive. Copied them one after another to my single big disk. Restarted the p-system and they seem to work. Haven't tried accessing all of them, and their combined size hasn't exceeded 360 Kbytes yet.

So maybe it doesn't work all the way.

 

The p-system has a maximum of 32767 blocks on a blocked device. One block is 512 bytes.

Edited by apersson850
Link to comment
Share on other sites

See if you can access the /last/ block on the disk...

 

Classic99 does not intentionally extend the size of the files, it's supposed to divine the size of the disk from the file. But the disk image code was originally very flexible (like, TOO flexible), so I suppose there is a tiny chance it might work. But if there are any checks in your code path they're going to assume a maximum size of 400k. You might get lucky - if you do, I should codify it both to ensure I don't break it in the future and to ensure it does what it's supposed to do. ;)

 

Edit: ... well.. the image disk code doesn't do any checks and the sign/unsigned nature of the code that parses the information seems to be correct, so there's a good chance it will work... I never anticipated there would be such a system. ;) I'm definitely going to need to make some tweaks to that code path but knowing how it is now being used is good. (Obviously these mutant floppies won't be transfer-able to another system... ;) )

 

Edited by Tursi
  • Like 1
  • Haha 1
Link to comment
Share on other sites

No, such large disks will not be compatible with anything else. The sector used bitmap on normal disks, does that set the limit at 400 K?

I created a large dummy file and tried to copy it, but that failed. So maybe it doesn't work.

If I don't have a DSK image, but try to create an empty disk, how does that work? If I just give a file name, a file is created, but how big will it become?

 

Adding three more drives to the p-system was easy. Normally, you'd have to write a program to load the values to the system's I/O device table, but through the debugger you can patch the table directly there. Then assign some DSK images to disks 4, 5 and 6, do a Volume command in the Filer and they are all there.

 

Can a serial port be emulated too, or is that impossible?

image.thumb.png.643db056855baf7725b9c07b4438b766.png

Edited by apersson850
  • Like 2
Link to comment
Share on other sites

Yeah, the allocation table bitmap limits it to 400k. As far as I know, only the compact flash device uses disks that size.

 

When it fails, open the debugger (Edit->Debugger), and read the text. Classic99 will tell you WHY it failed, that's helpful for understanding what happened, since I can't reproduce your work. :)

 

If you create an empty disk in the Classic99 disk menu, you get a 180k DSSD image. It should never grow larger - and if you use file access it won't. (It's not a very good diskette emulation if it grows ;) ). It's only the direct sector access code that isn't range checking. It's just a convenience, it's expected that people have better ways to get a disk image, if they are using them.

 

Serial ports are very possible but Classic99 does not support them today. MESS does, though I think only through some sort of simulation and not to the physical port?

 

 

 

Link to comment
Share on other sites

Thank you. I'll have to look into making larger DSK files to start with. The p-system doesn't care about the allocation bitmap. It just fills it, then uses sector access on the disk, refering to its own directory on that disk. It uses four sectors for the ordinary disk system.

Disk header.

Allocation bit map.

File entry for dummy PASCAL file.

Spacer.

Then the p-systems disk directory follows, possibly by a duplicated directory (that's your parachute should you get a corrupted main directory).

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