dingusdev
dee7090071
More documentation work
2024-08-07 22:38:35 -07:00
dingusdev
2a8e5538b2
Partially addressing Issue #109
...
It'll be better to use a keycode file in the future. This will hopefully do for now.
2024-08-04 15:02:48 -07:00
Maxim Poliakovski
20b2fb1bef
viacuda: refactor emulation of the VIA registers.
...
Take the DDRA and DDRB registers into account as well because
there is software that tries to change state of the pins configured
as inputs.
This commit fixes Cuda for Rhapsody.
2024-08-04 21:43:06 +02:00
Maxim Poliakovski
f096eef66d
viacuda.h: cosmetic improvements.
2024-08-04 21:43:06 +02:00
Maxim Poliakovski
899000b647
Merge pull request #108 from mihaip/upstream-mmu-skip-mode1
...
ppcmmu: skip over mode 1 entries when doing PAT flushes
2024-08-01 12:09:35 +02:00
Mihai Parparita
76824fb602
ppcmmu: skip over mode 1 entries when doing PAT flushes
...
Mode 1 contains real addressing mode entries, which by definition cannot
be using segment registers. By skipping over them, we can shave off a
couple of seconds from the 10.2 boot time.
2024-07-31 23:08:36 -07:00
dingusdev
02af6da599
Merge pull request #106 from roytam1/pr-sdl-redraw
...
sdl: handle SDL_WINDOWEVENT_EXPOSED event to fix redrawing issue
2024-07-29 18:44:25 -07:00
roytam1
83afae5625
sdl: handle SDL_WINDOWEVENT_EXPOSED event to fix redrawing issue
2024-07-29 23:27:05 +08:00
dingusdev
e5510dd9ae
Merge pull request #105 from Wack0/fix-mouse-upstream
...
adbmouse: only send first two bytes in standard/classic protocol as per spec
2024-07-29 06:25:52 -07:00
Rairii
4d7c520f18
adbmouse: only send first two bytes in standard/classic protocol as per spec
...
Fixes any mouse driver that only supports the classic protocol and expects register 0 reads to return two bytes.
2024-07-29 11:37:54 +01:00
dingusdev
6f62f9dd98
Merge pull request #104 from mihaip/upstream-mmu-perf
...
ppcopcodes: avoid TLB flushes for noop SR changes
2024-07-28 14:06:18 -07:00
Mihai Parparita
31d7b056af
ppcopcodes: avoid TLB flushes for noop SR changes
...
They happen surprisingly often, and flushing the TLB is expensive
because we need to walk over all entries.
Takes booting 10.2 on a Beige G3 from binary start to "Welcome to Macintosh"
from 58s to 38s on my machine.
2024-07-28 13:28:05 -07:00
Mihai Parparita
9b49603c72
memctrl: keep address_map sorted by address
...
We do a linear scan in find_range (which is called on all TLB misses) to
find the entries. The largest and most frequently hit entry is the
system memory (which starts at 0). By ensuring that it's the first entry
in the list, we end up only doing one iteration through the loop.
2024-07-28 13:27:48 -07:00
dingusdev
f192d11758
Merge pull request #102 from mihaip/upstream-dev_id
...
atabasedevice: Set dev_id.
2024-07-27 14:40:16 -07:00
dingusdev
ae08c083ea
Merge pull request #103 from mihaip/upstream-fb_known_to_be_changed
...
Pass through draw_fb optimization metadata to Display class
2024-07-27 14:04:41 -07:00
Mihai Parparita
dab9334c3a
Pass through draw_fb optimization metadata to Display class
...
The JS implementation does content hashing to not blit unchanged
framebuffer contents (see mihaip/dingusppc@171ff2d407 ).
However, that is not necessary for the ATI adapters that already track
this and only set draw_fb if the framebuffer has actually changed.
Pass through a fb_known_to_be_changed for these cases, and also add an
optional update_skipped method (since the JS still wants to know when
the last logical screen update was).
2024-07-27 11:38:59 -07:00
joevt
7fdfd6109f
atabasedevice: Set dev_id.
...
Extracted from @Wack0's Wack0/dingusppc-nt@529991bd78
Co-authored-by: Rairii <2650838+Wack0@users.noreply.github.com>
2024-07-27 09:10:28 -07:00
dingusdev
7d6e87a0d3
Add stub for setting power messages
2024-07-26 07:31:31 -07:00
dingusdev
a20ebade09
Add more things to gitignore
2024-07-26 07:31:06 -07:00
Maxim Poliakovski
8d6f77ea71
mesh: implement EnaParityCheck and DisParityCheck commands.
2024-07-25 22:18:43 +02:00
Maxim Poliakovski
19ecc4f945
mesh: fix writes to BusStatus0 & BusStatus1 registers.
2024-07-24 17:50:02 +02:00
dingusdev
ebc618adea
Merge pull request #100 from mihaip/upstream-uint64_t
...
Switch ImgFile to using uint64_t explicitly
2024-07-22 22:12:09 -07:00
Mihai Parparita
38669fd83b
Switch ImgFile to using uint64_t explicitly
...
size_t and off_t are 32-bit values in Emscripten, which causes issues
with disk images larger than 4GB. Use the explicit type (which is more
consistent with the rest of the codebase anyway).
2024-07-22 21:48:57 -07:00
Maxim Poliakovski
211f8adc0e
Improve MACE stub.
2024-07-23 01:39:15 +02:00
Maxim Poliakovski
bda85a66df
machinetnt: populate RAM banks from properties.
2024-07-22 17:45:48 +02:00
Maxim Poliakovski
babd8d974f
dbdma: fix cmd.resCount update.
2024-07-22 17:45:48 +02:00
Maxim Poliakovski
9fc5bbb951
sc53c94: fix interrupt status for CMD_MSG_ACCEPTED.
2024-07-19 03:38:55 +02:00
Maxim Poliakovski
3fe6e3c09e
grandcentral: more elegant MeshStub with less checks.
2024-07-19 01:31:36 +02:00
Maxim Poliakovski
289a14dc7a
scsidevice: release REQ before MESSAGE_IN phase.
2024-07-15 07:15:49 +02:00
Maxim Poliakovski
ba9fcd100d
mesh: extend stub to a full implementation.
2024-07-15 03:34:43 +02:00
Maxim Poliakovski
889dc32a0a
New base class for SCSI host controllers.
2024-07-15 03:28:45 +02:00
Maxim Poliakovski
f13f4e0023
grandcentral: break long lines.
2024-07-15 02:56:24 +02:00
Maxim Poliakovski
4a425c4ecf
dbdma: introduce new DMA API.
2024-07-15 02:09:15 +02:00
Maxim Poliakovski
293e869acb
dbdma: break long lines.
2024-07-15 02:09:15 +02:00
Maxim Poliakovski
f3d7cd9dd7
cdromdrive: add support for raw CD images.
2024-07-15 01:48:46 +02:00
Maxim Poliakovski
fd5498e16b
blockstoragedevice: add support for raw images.
...
Raw images contain supplementary information like synchronization fields,
correction codes etc. that needs to be ignored/discarded when
reading/writing user data.
This commit establish a basic architecture for exchanging user data
between a virtual device and a raw image.
2024-07-15 01:48:46 +02:00
Maxim Poliakovski
55f91c5d3f
scsicdrom: use READ_TOC implementation from cdromdrive.cpp
2024-07-15 01:28:42 +02:00
Maxim Poliakovski
0831182e39
scsihd: remove duplicated code.
2024-07-14 23:33:43 +02:00
Maxim Poliakovski
26153ca8ea
scsihd: use ScsiError contants wherever applicable.
2024-07-14 23:12:53 +02:00
Maxim Poliakovski
7855770ca7
Use ScsiError constants instead of magic numbers.
2024-07-14 17:22:31 +02:00
Maxim Poliakovski
a81156c3e3
cdromdrive: convert MSF values to BCD.
2024-07-11 21:27:38 +02:00
dingusdev
f31c71e430
Merge pull request #99 from dyharlan/master
...
Do not test for equality when checking if ctrl is pressed.
2024-07-10 20:03:34 -07:00
dyharlan
7ba7bff3d5
Do not test for equality when checking if ctrl is pressed.
...
The initial change I committed worked fine before.
2024-07-11 10:38:57 +08:00
Maxim Poliakovski
11bb10b44b
Taos: cleanup GPIO pins.
2024-07-11 02:44:40 +02:00
Maxim Poliakovski
378965cc3d
Taos: properly handle color mode changes.
2024-07-11 02:44:40 +02:00
dingusdev
40b537767d
Update hostevents_sdl.cpp
...
A further fix by dyharlan to fix the mouse grabbing
2024-07-10 07:51:23 -07:00
dingusdev
e2e78c0682
Merge pull request #98 from dyharlan/master
...
Fix keyboard event bug where mouse grab combination won't work if SDL_GetModState
2024-07-10 07:04:53 -07:00
dyharlan
0267fc82c9
fix indent of change
2024-07-10 19:03:37 +08:00
dyharlan
c4022f466f
Fix modstate bug preventing mousegrab
2024-07-10 18:54:05 +08:00
dingusdev
17cdcc5560
Fixes issue #97
2024-06-30 06:53:44 -07:00