Major changes on the 8514/A side again (March 30th, 2025)

1. The DX/DY coordinates for BitBLT are now signed again, fixes 8514/A cursor issues.
2. Made the busy/data available processor statuses more like the ATI one for more stability and no stalls, fixes Windows 3.x and IBM OS/2 1.x (possibly later ones too) that use the built-in 8514/A driver.
3. Made the mode switching clearer (through a note) regarding the shadow sets, this should make every program happy, I hope.
4. In the Mach32 series only, a first load of the CRT sets also initializes the GE offsets if the corresponding bit is set, fixes Mach8/32 mode tests in their eeprom and demoai with hdiload from ATI/IBM.
This commit is contained in:
TC1995
2025-03-30 22:06:16 +02:00
parent 30553023d2
commit 5ae5e99e41
4 changed files with 256 additions and 165 deletions

View File

@@ -92,8 +92,8 @@ typedef struct ibm8514_t {
uint16_t advfunc_cntl;
uint16_t cur_y;
uint16_t cur_x;
uint16_t destx;
uint16_t desty;
int16_t destx;
int16_t desty;
int16_t desty_axstp;
int16_t destx_distp;
int16_t err_term;

View File

@@ -77,7 +77,8 @@ typedef struct mach_t {
uint8_t overscan_g_col_24;
uint8_t overscan_r_col_24;
uint16_t fifo_test_data[17];
int resolution_crt;
int port_len;
int crt_resolution;
struct {
uint8_t line_idx;