YOURS might be, doesn't mean
MY project is! Though I was just saying that the complexity of certain things might force a project into that territory speed-wise.
The 192x144 is VERY unreliable across platforms, I've rarely seen displays that will sync to it.
Though... you have the CRTC values, what part are you stuck with?
Code:
; ASSUMES
; we're free to modify all but DS
; Mode 13 was started
; You've unlocked the Sequencer to accept new values
push ds
lds si, ModeX_192x144regs
mov dx, 0x03D4
mov cx, 18
.loop:
lodsw
out dx, al
inc dx
mov al, ah
out dx, al
dec dx
loop .loop
; be sure to re-lock the sequencer here
Locking/unlocking and unchainging should be no different than any other X-mode. If it's not working, it's probable the display you are dealing with can't sync to that low a horizontal resolution. Very few of the sub-320 widths work in a reliable fashion if at all.
Oh, and if you are caring about 8bit or 16 bit bus hardware aka 8088/8086, do NOT write both words as it will sometimes skip the sequencer address, particularly on 8 bit VGA cards. Take the time to write each byte to the ports individually or a good number of VGA cards will flat out ignore you. What works just fine on a diamond speedstar 24x on a 16 bit ISA bus, might not fly on a 8 bit WD Paradise88 or Trident 8800.
Though laughably with addressed registers sometimes it's the other way around, 8 bit works as the bus is forcing it to, whilst 16 bit writing both at once instead of in order fails.