MiSTer-devel / SharpMZ_MiSTer

Sharp MZ Series Personal/Business Computer Emulator for FPGA
9 stars 6 forks source link

Issue with Mister #1

Open fthelot opened 5 years ago

fthelot commented 5 years ago

Hi all I have an issue with sharpmz with Mister Loading the core and nothing ... I put the rom in the folder SharpMZ Could you help me ? Franck

sorgelig commented 5 years ago

This is more like abandoned core. Haven't been updated by author a year already.

pdsmart commented 5 years ago

Hi,

No it’s not abandoned. I have advanced it quite somewhat locally and currently working on a soft-processor to minimise usage of Mister Main as you requested sometime back. I will try to have an update in the next month or so, time allowing being my biggest problem.

In terms of the original question, the roms are built-in and the menu allows you to select alternatives stored on the SD card. The problem you will be seeing will be the graphics output which is the original 15.75KHz so it will only work on certain monitors (I didn’t consider this at the time as it worked on my monitors). Newer versions have upscaling to VGA/SVGA and also the emulated tape drive records as well as reads. As mentioned, please bear with me and I will endeavour to make an update soon.

fthelot commented 5 years ago

Hi Thank you Philip

I am trying to use your core with a HDMI output and a video projector

I can’t access to the core menu (crash)

Best regards

Franck Thélot

De : Philip Smart notifications@github.com Répondre à : MiSTer-devel/SharpMZ_MiSTer reply@reply.github.com Date : dimanche 6 octobre 2019 à 17:43 À : MiSTer-devel/SharpMZ_MiSTer SharpMZ_MiSTer@noreply.github.com Cc : fthelot fthelot@certia.fr, Author author@noreply.github.com Objet : Re: [MiSTer-devel/SharpMZ_MiSTer] Issue with Mister (#1)

Hi,

No it’s not abandoned. I have advanced it quite somewhat locally and currently working on a soft-processor to minimise usage of Mister Main as you requested sometime back. I will try to have an update in the next month or so, time allowing being my biggest problem.

In terms of the original question, the roms are built-in and the menu allows you to select alternatives stored on the SD card. The problem you will be seeing will be the graphics output which is the original 15.75KHz so it will only work on certain monitors (I didn’t consider this at the time as it worked on my monitors). Newer versions have upscaling to VGA/SVGA and also the emulated tape drive records as well as reads. As mentioned, please bear with me and I will endeavour to make an update soon.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

sorgelig commented 5 years ago

I had no time to dig into this core and ARM backend as i had a lot of things to do. I've browsed the wikipedia and it seems this computer is not more complicated than ZX Spectrum. So i was always wondering why it needs so large support from ARM side while ZX spectrum has zero (aside from SCL->TRD converter) code in ARM. ZX Spectrum has tape (read) support and full disk support. Tape actually also can be "written" by recording the audio from audio output. But with disk support there is no need for tape write.

pdsmart commented 5 years ago

Hi,

Basically it is emulating 8 different versions of the Sharp (MZ80K, MZ80C, MZ1200, MZ80A, MZ80B, MZ700, MZ800, MZ2000) some with Floppy, Graphics, Quick Disk, Tape, User ROM etc, all different with some similarities hence the complicated menu (I personally like options and configuration some don’t – it would have been nice if Mister Main fork-exec’d a binary from Main specific to each emulator when selected (for those devs who wanted this) therefore minimising the size and impact on the Main binary, the developers would be free to code what they wanted without fear in their own binary without impact on other cores. Complexity, the tape, for example, on the MZ80B it is fully automated, FF, RWD etc so you need to create a queue of programs that the tape drive could locate and load, hence the menu to select files in a queue. The tape is fully realised in hardware but you still need a mechanism to prepare the queue. They are more complicated than the ZX if not by its basic 8Bit Z80 architecture but by their differences and options and I was coding it for what I would expect from the emulation.

Thus by adding a soft processor allows all the above configuration but keeps to the MiSter framework for 8 bit machines.

@Franck: Unfortunately I didn’t enable the HDMI output code Sorgelig designed for the cores, you need a full version of Quartus Prime to compile and use the HDMI library unless you are using the USB Blaster to upload the bit stream and not MiSTer menu, so I put it as one of the last things to do. It will only work with the VGA output at the moment which is on the I/O board.

From: sorgelig notifications@github.com Reply-To: MiSTer-devel/SharpMZ_MiSTer reply@reply.github.com Date: Sunday, 6 October 2019 at 18:34 To: MiSTer-devel/SharpMZ_MiSTer SharpMZ_MiSTer@noreply.github.com Cc: Philip Smart psmart@net2net-ips.com, Comment comment@noreply.github.com Subject: Re: [MiSTer-devel/SharpMZ_MiSTer] Issue with Mister (#1)

I had no time to dig into this core and ARM backend as i had a lot of thing to do. I've browsed the wikipedia and it seems this computer not more complicated than ZX Spectrum. So i was always wondering why it needs so large support from ARM side while ZX spectrum has zero (aside from SCL->TRD converter) code on ARM side. ZX Spectrum has tape (read) support and full disk support. Tape actually also can be "written" by recording the audio from audio output. But with disk support there is no need for tape write.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/MiSTer-devel/SharpMZ_MiSTer/issues/1?email_source=notifications&email_token=AGVVKWHWKELPFANWYA7HWGDQNIOQXA5CNFSM4I54FX32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAOPPAQ#issuecomment-538769282, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGVVKWCSNAHQVYH6HYLUPSTQNIOQXANCNFSM4I54FX3Q.

sorgelig commented 5 years ago

It's not a problem to have special code support for specific core. By having separate binary for cores you solve one relatively small problem and produce other problems like API fragmentation. Incompatible initialization, and other problems. Why you need tape queue? Why cannot choose specific "tap" file when you need it?

pdsmart commented 5 years ago

The above was just an example, but on the tape front, the MZ80B/2000 was a business machine and treated the tape as a random access drive similar to a floppy albeit slower. All images available are MZF or WAV format for Single programs. The MZ80B can require several programs on one tape which it randomly loads by using the APSS function in reverse and forward (also databases, spreadsheets etc used multiple small data files). You could write a program to splice required MZF files together with the correct spacing and use the “tap” menu item in Mister (so long as you had memory to store it) but then that would need maintenance and operate on all platforms (OSX, Linux, Win etc), it also wouldn’t cater for write back of data files. Other machines in the series also made use of chaining quite a bit, so similar requirement. To me, it is just easier to make the emulator as I would want to use it, all in one without dependencies on other external programs, MZF files are easy to obtain, just queue them up in the order you want them to be used inside the emulator and use it, not wasting time finding applications to splice them for you. I thought the HPS was ideal for this but in hindsight it is easier for me to code it into a soft processor and then it uses minimal Main resources and minimal impact on other contributors.

From: sorgelig notifications@github.com Reply-To: MiSTer-devel/SharpMZ_MiSTer reply@reply.github.com Date: Sunday, 6 October 2019 at 20:03 To: MiSTer-devel/SharpMZ_MiSTer SharpMZ_MiSTer@noreply.github.com Cc: Philip Smart psmart@net2net-ips.com, Comment comment@noreply.github.com Subject: Re: [MiSTer-devel/SharpMZ_MiSTer] Issue with Mister (#1)

It's not a problem to have special code support for specific core. By having separate binary for cores you solve one relatively small problem and produce other problems like API fragmentation. Incompatible initialization, and other problems. Why you need tape queue? Why cannot choose specific "tap" file when you need it?

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/MiSTer-devel/SharpMZ_MiSTer/issues/1?email_source=notifications&email_token=AGVVKWCTFRSXBFEUTISFVJDQNIZAXA5CNFSM4I54FX32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAORO7A#issuecomment-538777468, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGVVKWF5GIAXRWGMG6YH2PLQNIZAXANCNFSM4I54FX3Q.

sorgelig commented 5 years ago

Ok. I see. Some cores use ZPU as servicing CPU. It has a gcc toolchain. It doesn't require much resources. Atari 800 use it.