Commit Graph

102 Commits

Author SHA1 Message Date
starfrost013
0e16ef5498 Implemented a dummy M2MF class implementation until I fully understand it. This is enough to get Windows 9x to display something. 2025-03-29 23:25:15 +00:00
starfrost013
d8fae9abc5 fix clipping of images, black line is gone... 2025-03-29 20:39:02 +00:00
starfrost013
7234b432ac inform the emulator of the video timings 2025-03-29 19:06:46 +00:00
starfrost013
c28a596a34 Make unimplemented methods a warning rather than log them, and add logging for each method executed. 2025-03-29 17:04:41 +00:00
starfrost013
cc68dcecc4 general minor code cleanups. fix logs, send vram writes (0x1000000-0x17fffff), if these ever happen, to DFB, and more 2025-03-29 16:52:21 +00:00
starfrost013
2829669740 Redirect all PRMCIO/PRMVIO writes to SVGA subsystem, not just a few random ones. 2025-03-29 16:23:18 +00:00
starfrost013
64b16a43a1 Fix 32bpp bsod by actually creating framebuffer mappings. Don't remap memory if it's 0 (prevents trashing the low/real-mode memory map), general code simplification (some things were enabled 3 times what 2025-03-26 01:43:46 +00:00
starfrost013
a9250c5d19 Legitimately I don't even know how i mostly fixed it. What's going on? 2025-03-25 02:19:21 +00:00
starfrost013
c3ebf327d9 partially working text acceleration, looks inverted(??) 2025-03-24 13:17:22 +00:00
starfrost013
57edb25a27 GDI acceleration type A + chroma test 2025-03-24 01:13:04 +00:00
starfrost013
be83a7c69d FIFO optimisation, hitches down to ~1-2 seconds from 5 seconds, 70% speed idle at desktop 2025-03-23 23:42:44 +00:00
starfrost013
0b0e6c5256 More refactoring + implement screen2screen blits 2025-03-23 19:12:02 +00:00
starfrost013
160e8a8071 Clean up stupid colour structs and implement patterns (class 0x06). Now, you can select taskbar items and some lines draw. Replace some multiplications with shifts. 2025-03-23 17:06:53 +00:00
starfrost013
493020ca51 NV_IMAGE_FROM_CPU implemented, leading to the mouse cursor being drawn, and the windows start menu 2025-03-23 01:24:42 +00:00
starfrost013
8d4096fffc Fix the colours. Wtf is wrong with NVidia? 2025-03-22 15:37:14 +00:00
starfrost013
ceb4ff7a73 Produce recognisable graphical output and, evne if they don't do anything yet, implement the beta factor/chroma key methods. 2025-03-22 12:02:49 +00:00
starfrost013
fea06b6d9a Don't flip x/y coordinates and w/h of rectangles. 2025-03-22 03:05:09 +00:00
starfrost013
b170c51307 fix the bsod (I hate bitfields). 2025-03-22 02:05:36 +00:00
starfrost013
b5321903de rename intr_1_invalid_method to indicate that it seems to also be used for software ethods 2025-03-22 00:57:31 +00:00
starfrost013
69c4b11f7b Rename name to param to represent that it is the parameter. Add pixel writing code, add rectangle rendering code. Implement ROP, Rectangle and Clip class methods. However, the drivers BSOD. 2025-03-21 00:50:29 +00:00
starfrost013
57d725742e it's definitely argb + some fixes 2025-03-20 21:35:56 +00:00
starfrost013
ac63ad436f Implement generic method execution. Implement unknown register write code 2025-03-20 00:40:29 +00:00
starfrost013
a5b864c59c pull out the notifier object. 2025-03-20 00:01:59 +00:00
starfrost013
08983a9da3 start actual notification code 2025-03-17 01:18:15 +00:00
starfrost013
84f8235161 Implement bpixel, bformat, bpitch. Actually apply these to class 0x1C mthd 0300,0308,030c. Temporary ROP code too. 2025-03-17 01:15:02 +00:00
starfrost013
9a863caa23 Fix rop core. Implement some basic image in memory methods. 2025-03-17 00:37:45 +00:00
starfrost013
1af8bf7d78 Implement PGRAPH invalid method functionality 2025-03-15 13:45:13 +00:00
starfrost013
12276374d5 Fix compile 2025-03-13 13:43:17 +00:00
starfrost013
fae3d10238 Move class globals to pgraph. 2025-03-13 13:38:09 +00:00
starfrost013
0b62b32527 Whoops 2025-03-13 13:04:33 +00:00
starfrost013
18277c1bf9 Move some defines around and add the rendering files. Add some basic things as to what we have to do next (These won't bein the final thing) 2025-03-13 13:01:29 +00:00
starfrost013
3512b462b3 fix grobj, rename name to param, fix compile 2025-03-12 16:53:57 +00:00
starfrost013
4d8a9d2892 Send pgraph writes to the right classes. Implement grobj reading. Fix class execution functions 2025-03-12 16:35:35 +00:00
starfrost013
1e32c119c5 Make the pullre registers work. This makes the grobj submitted exist 2025-03-11 19:00:08 +00:00
starfrost013
145831eb35 Update cache0 put address on object creation, too 2025-03-11 17:21:36 +00:00
starfrost013
467c7124d3 Direct CACHE0/CACHE1 Injection 2025-03-11 02:30:18 +00:00
starfrost013
4fdb522792 Implement put/get registers. Also, bit numbering is hard. 2025-03-11 02:02:33 +00:00
starfrost013
c51127af08 Fix context dirty state, start working on DMA and notifiers, fix target node. 2025-03-05 01:43:18 +00:00
starfrost013
71bdf8d081 even more fixes to hash lookup 2025-02-26 23:55:49 +00:00
starfrost013
8cf57fdc14 hash lookup fixes 2025-02-21 22:57:04 +00:00
starfrost013
0cf469f75b Fix put addresses 2025-02-14 01:38:06 +00:00
starfrost013
f8c2c604d8 Start working on the notifier engine and fix thecontext selection for cache1 object submission. 2025-02-14 00:38:42 +00:00
starfrost013
289768a93f Fix include header capitalisation 2025-02-12 00:36:56 +00:00
starfrost013
13597fc39e fix SetNotifyCtxDma 2025-02-11 23:25:06 +00:00
starfrost013
35cb8a4cf2 Fix subchannel free detection. 2025-02-10 02:32:02 +00:00
starfrost013
c816f7560d more defines 2025-02-09 18:10:17 +00:00
starfrost013
fea8cd649a add various missing registers 2025-02-06 00:49:19 +00:00
starfrost013
d5393a0575 Now that the log is device specific, let's not log it twice. 2025-02-05 21:40:41 +00:00
starfrost013
acd0dc40bb Implement pixel mask registers. 2025-02-05 18:46:38 +00:00
starfrost013
908ae99cd8 fix puller_control 2025-02-02 01:39:17 +00:00