VOGONS


Reply 20 of 40, by Farnsworth

User metadata
Rank Newbie
Rank
Newbie

Can you apply a patch to DOSBox CVS and compile it for your Mac?

I'll try it but I've got 2 questions :

The official DOSBox source?

This may be a dumb question : Can I apply the patch on the source on a PC and build that source on Mac ?

Thanks for the patch

Reply 22 of 40, by Farnsworth

User metadata
Rank Newbie
Rank
Newbie

OK thanks 😀
Gonna test in on Mac now.

Reply 23 of 40, by jal

User metadata
Rank Oldbie
Rank
Oldbie
wd wrote:

Get a debugger, debug it, be happy.

Please wd, read the post will ya 😀. I already found the bug, it's indeed an endian issue. I just don't have the time to actually fix it (luckily HAL did).

JAL

Reply 24 of 40, by Farnsworth

User metadata
Rank Newbie
Rank
Newbie

Please wd, read the post will ya . I already found the bug, it's indeed an endian issue. I just don't have the time to actually fix it (luckily HAL did)./

OK I was already planning to do that. I had something else to do first but now I'm working on it, I've applied the patch and now I'm compiling the SDL thing.

Reply 25 of 40, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Please wd, read the post will ya

I already did that, hence the reply.

luckily HAL did

Nice, thanks.

Reply 26 of 40, by Farnsworth

User metadata
Rank Newbie
Rank
Newbie

Sorry for the late reply, got some trouble compiling the SDL.

It works, thanks h-a-l-9000 & jal for the patch 🤣

Reply 27 of 40, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Uhm don't we just need something like
host_readw(...)
instead of
bitsA = *(Bit16u *)&vga.mem.linear[mouseaddr];
or is there more to it?

Reply 28 of 40, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I hope my change is more efficient too

1+1=10

Reply 29 of 40, by Farnsworth

User metadata
Rank Newbie
Rank
Newbie
Uhm don't we just need something like host_readw(...) instead of bitsA = *(Bit16u *)&vga.mem.linear[mouseaddr]; or is there […]
Show full quote

Uhm don't we just need something like
host_readw(...)
instead of
bitsA = *(Bit16u *)&vga.mem.linear[mouseaddr];
or is there more to it?

I hope my change is more efficient too

If someone makes a .diff I could test it.

Reply 30 of 40, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I hope my change is more efficient too

It changes some additional stuff that i can't verify, either might be correct.
So i'd prefer to stick to the smaller changes.

Reply 31 of 40, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

At most it would break Win3.11, Win95 and whatvga 😉
(these work for me though)

> If someone makes a .diff I could test it.
The difference is only small, probably.

1+1=10

Reply 32 of 40, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Bitu mouseaddr = ((Bit32u)vga.s3.hgc.startaddr) * 1024 + moff * 16;

What if moff is negative? moff+=64 doesn't necessarily make it positive,
and mouseaddr is unsigned so might be very large.

Reply 33 of 40, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I've worked some more on the patch, some of the cursor variables need to be limited in value. I'll probably provide a 8-bit and a 16-bit access version then somebody can test which one is faster. But not today as I'm forced to visit some relatives 😉

1+1=10

Reply 34 of 40, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Now it doesn't have so much in common with the original any more xD
The cursor values are now more extensively checked for overflows.

I think I'll skip the 16-bit one...

1+1=10

Reply 35 of 40, by Farnsworth

User metadata
Rank Newbie
Rank
Newbie

Patch works!

The cursor values are now more extensively checked for overflows.

Does that mean that it's faster/better than the first patch ?

Reply 36 of 40, by ADDiCT

User metadata
Rank Oldbie
Rank
Oldbie

Oh dear. <sarcasm on>Of course, DOSBox will be at least 10x faster, on any system, with that patch applied! This patch alone makes it possible to run DOSBox on anything with a CPU, from a 70's pocket calculator to your grandpa's pacemaker, and play "Blood" in SVGA at full FPS on each device. It's the same thing as with Microsoft security patches, which accelerate the system twofold with each and every single patch. Oh, the wonders of information technology!<sarcasm off>.

Reply 37 of 40, by Farnsworth

User metadata
Rank Newbie
Rank
Newbie

Oh dear. <sarcasm on>Of course, DOSBox will be at least 10x faster, on any system, with that patch applied! This patch alone makes it possible to run DOSBox on anything with a CPU, from a 70's pocket calculator to your grandpa's pacemaker, and play "Blood" in SVGA at full FPS on each device. It's the same thing as with Microsoft security patches, which accelerate the system twofold with each and every single patch. Oh, the wonders of
information technology!<sarcasm off>.

I know that I won't make DOSBox any faster with a patch to fix the mouse but I thought maybe the mouse would work better or something like that? Why did he made another patch if it didn't change anything? I'm only asking it to know the difference.

Reply 38 of 40, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It will be a small bit harder to make dosbox crash in the future 😉

1+1=10

Reply 39 of 40, by Farnsworth

User metadata
Rank Newbie
Rank
Newbie

OK, thanks
<Last question> Will patches like these be added in the daily CVS ?