VOGONS


MartyPC

Topic actions

Reply 280 of 352, by jal

User metadata
Rank Oldbie
Rank
Oldbie

Heh, really cool.

Reply 281 of 352, by DrH

User metadata
Rank Newbie
Rank
Newbie

Interesting project.
May I ask why did you decide to do it in Rust?

Thanks.

Reply 282 of 352, by GloriousCow

User metadata
Rank Member
Rank
Member
DrH wrote on 2024-10-02, 01:48:

Interesting project.
May I ask why did you decide to do it in Rust?

Thanks.

No particular reason, I had been curious about the things I had been reading about Rust, and wanted to learn a new language. My original plans for the emulator were very modest, so I didn't think it would be too much of an issue learning emulation and Rust at the same time.

Turns out I really like Rust as a language, so that's good.

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 283 of 352, by DrH

User metadata
Rank Newbie
Rank
Newbie

Thanks for the answer, @GloriousCow.
I'm considering the same thing. I never did an emulator before and at first I was thinking about doing it in C, but I'm reading a lot of good things regarding Rust.
Maybe, I'll give it a shot.
Thank again!

Reply 284 of 352, by GloriousCow

User metadata
Rank Member
Rank
Member

I didn't set out to make a disk image converter, but it sort of worked out that it was convenient to let you do so.

I define a set of image capability flags, determine what flags the loaded image requires, and use that to enumerate a list of compatible, write-supported output formats, which are then presented via the ui as "Save As" targets.

The attachment image_conversion_01.png is no longer available

Here the option to save back to the source image is grayed-out because I haven't implemented writing to MFM format - but you can save the image as 86F or PRI if you like.

There's now a file browser too, so you can load from and save to directories outside of MartyPC's media directory.

I am going to limit the number of writable formats to be sure that the ones I do support can have their bugs ironed out. For bitstream images, that means 86F and PRI, for sector images that's going to be PSI, and if no deviation from a standard format is detected, IMG (for either bitstream or sector)

MartyPC will convert raw sector images of standard format to bitstream images internally, so that means if you build a disk image from a directory or zip file, you can save it as 86F or PRI, too.

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 285 of 352, by SoftCat

User metadata
Rank Member
Rank
Member

I specifically installed Windows 10 to run MartyPC. But I still can't run it, it shows this error. Can you tell me what to do?

Reply 286 of 352, by GloriousCow

User metadata
Rank Member
Rank
Member
SoftCat wrote on 2024-10-05, 23:24:

I specifically installed Windows 10 to run MartyPC. But I still can't run it, it shows this error. Can you tell me what to do?

It looks like it was unable to detect your video card. What do you have?

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 287 of 352, by SoftCat

User metadata
Rank Member
Rank
Member
GloriousCow wrote on 2024-10-06, 22:17:
SoftCat wrote on 2024-10-05, 23:24:

I specifically installed Windows 10 to run MartyPC. But I still can't run it, it shows this error. Can you tell me what to do?

It looks like it was unable to detect your video card. What do you have?

I have two video cards on my laptop:
1) Intel Sandy Bridge GT2 (HD 3000) Integrated Graphics Controller;
2) NVIDIA GF119M (GeForce 610M).

Reply 288 of 352, by SoftCat

User metadata
Rank Member
Rank
Member

I was able to run MartyPC 0.2.1, but I couldn't make EGA. Could you explain in detail what needs to be done for EGA?

Reply 289 of 352, by jal

User metadata
Rank Oldbie
Rank
Oldbie
SoftCat wrote on 2024-10-07, 21:36:

I have two video cards on my laptop:
1) Intel Sandy Bridge GT2 (HD 3000) Integrated Graphics Controller;
2) NVIDIA GF119M (GeForce 610M).

Maybe MartyPC gets confused about there being two video cards?

JAL

Reply 290 of 352, by GloriousCow

User metadata
Rank Member
Rank
Member
SoftCat wrote on 2024-10-08, 00:04:

I was able to run MartyPC 0.2.1, but I couldn't make EGA. Could you explain in detail what needs to be done for EGA?

If 0.2.1 works but 0.2.2 doesn't, you need to follow the instructions in the release notes for 0.2.2 regarding older video cards.

The fastest way to use EGA is to add --machine-config-overlays=ibm_ega to your command line

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 292 of 352, by jal

User metadata
Rank Oldbie
Rank
Oldbie

Right, didn't think of that 😁.

JAL

Reply 293 of 352, by SoftCat

User metadata
Rank Member
Rank
Member
GloriousCow wrote on 2024-10-08, 16:14:
SoftCat wrote on 2024-10-08, 00:04:

I was able to run MartyPC 0.2.1, but I couldn't make EGA. Could you explain in detail what needs to be done for EGA?

If 0.2.1 works but 0.2.2 doesn't, you need to follow the instructions in the release notes for 0.2.2 regarding older video cards.

The fastest way to use EGA is to add --machine-config-overlays=ibm_ega to your command line

Thank you very much for your answer!

Reply 294 of 352, by GloriousCow

User metadata
Rank Member
Rank
Member

how about native flux image support?

sure why not

The attachment martypc_flux_02.png is no longer available

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 295 of 352, by SoftCat

User metadata
Rank Member
Rank
Member

I want to set the EGA mode to 768x200. The full raster will be 1032x262, pixel clock 16.257 MHz. But I get something wrong. Is it my mistake or the emulator?

Reply 296 of 352, by GloriousCow

User metadata
Rank Member
Rank
Member
SoftCat wrote on 2024-10-11, 22:44:

I want to set the EGA mode to 768x200. The full raster will be 1032x262, pixel clock 16.257 MHz. But I get something wrong. Is it my mistake or the emulator?

would that have worked on an IBM 5154 monitor?

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 297 of 352, by SoftCat

User metadata
Rank Member
Rank
Member
GloriousCow wrote on 2024-10-11, 23:17:
SoftCat wrote on 2024-10-11, 22:44:

I want to set the EGA mode to 768x200. The full raster will be 1032x262, pixel clock 16.257 MHz. But I get something wrong. Is it my mistake or the emulator?

would that have worked on an IBM 5154 monitor?

I don't have any old monitors. It definitely works on an LCD monitor via scandubler. I think it would even work on an IBM 5153 monitor. It has 200 lines and a horizontal frequency like CGA.

Reply 298 of 352, by GloriousCow

User metadata
Rank Member
Rank
Member
SoftCat wrote on 2024-10-11, 22:44:

I don't have any old monitors. It definitely works on an LCD monitor via scandubler.

what model of EGA card are you using? I am not emulating a multisync monitor.

SoftCat wrote on 2024-10-11, 23:24:

I think it would even work on an IBM 5153 monitor. It has 200 lines and a horizontal frequency like CGA.

It would not.

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 299 of 352, by SoftCat

User metadata
Rank Member
Rank
Member
GloriousCow wrote on 2024-10-11, 23:39:
what model of EGA card are you using? I am not emulating a multisync monitor. […]
Show full quote
SoftCat wrote on 2024-10-11, 22:44:

I don't have any old monitors. It definitely works on an LCD monitor via scandubler.

what model of EGA card are you using? I am not emulating a multisync monitor.

SoftCat wrote on 2024-10-11, 23:24:

I think it would even work on an IBM 5153 monitor. It has 200 lines and a horizontal frequency like CGA.

It would not.

EGA card Gemini VC-001. Multisync monitor is not needed here at all. Look:
14318000/114 ~= 16257000/129,
14318000/912 ~= 16257000/1032.
And otherwise everything is like CGA.