Don't write on pixtrans reads (8514/A compatibles)

1. See above.
2. Reuse the 4k ROM with proper loading mechanism so that extended ATI modes can be used with the ATI 8514 Ultra 4k ROM (add-on).
3. Disable excess logging.
4. Apparently 8514/A bresenham line must always draw the last pixel unlike the vector lines, fixes missing pixels in some programs e.g.: calculator on Windows 3.x using 8514/A drivers.
This commit is contained in:
TC1995
2026-02-08 00:16:44 +01:00
parent 7b32bc2973
commit 284304ad35
4 changed files with 598 additions and 612 deletions

View File

@@ -352,8 +352,9 @@ extern void ati8514_out(uint16_t addr, uint8_t val, void *priv);
extern uint8_t ati8514_in(uint16_t addr, void *priv);
extern void ati8514_recalctimings(svga_t *svga);
extern uint8_t ati8514_mca_read(int port, void *priv);
extern uint8_t ati8514_rom_readb(uint32_t addr, void *priv);
extern uint16_t ati8514_rom_readw(uint32_t addr, void *priv);
extern uint8_t ati8514_bios_rom_readb(uint32_t addr, void *priv);
extern uint16_t ati8514_bios_rom_readw(uint32_t addr, void *priv);
extern uint32_t ati8514_bios_rom_readl(uint32_t addr, void *priv);
extern void ati8514_mca_write(int port, uint8_t val, void *priv);
extern void ati8514_pos_write(uint16_t port, uint8_t val, void *priv);
extern void ati8514_init(svga_t *svga, void *ext8514, void *dev8514);