Thanks for the suggestion about boost_interleave but I couldn't get it to work.

So far the only things I've managed to get working for 030b_Combined_Enhanced_Graphics.dsk and Amperdump.dsk are either

// config.set_maximum_quantum(attotime::from_usec(15));

or

u8 a2bus_pic_device::read_cnxx(u8 offset)
{
synchronize();


Those two disks are pretty good test subjects for whether it'll work or not because they will immediately hit the timing issue when trying to print (basically hit the issue within about 10 characters or so.)

However, I still can't get this simple basic program to work as it hits the timing issue.

[Linked Image from i.imgur.com]
Code
             1 REM TWO PAGE HI-RES DUMP BY BOB DIAZ OF EPSON
            10 GOSUB 1000
            20 FOR X=39 TO 0 STEP -1
            30 PRINT SPC(10); CHR$(27);"K";CHR$(127);CHR$(1);
            40 FOR I = 1 TO 383
            50 IF PEEK(49601) > 127 THEN 50  : REM C1C1
            60 POKE 49296, PEEK(A(I) + X)  : REM C090
            70 NEXT I
            80 PRINT
            90 NEXT X
            99 PRINT ""
            100 PRINT CHR$(27);"A";CHR$(12); : PR#0 : END
            1000 REM SET UP ARRAY
            1010 DIM A(384) : I = 0
            1011 PR#1 : PRINT : PRINT CHR$(27);"A";CHR$(7);
            1020 FOR P = 8192 TO 16384 STEP 8192
            1030 FOR Y1 = 0 TO 80 STEP 40
            1040 FOR Y2 = 0 TO 896 STEP 128
            1050 FOR Y3 = 0 TO 7169 STEP 1024
            1060 I = I + 1 : A(I)= Y1 + Y2 + Y3 + P
            1061 REM PRINT I " "Y1" "Y2" "Y3" "P" "A(I)
            1070 NEXT Y3,Y2,Y1,P
            1080 RETURN