|
|
1.1 root 1: /*
2: Hatari
3:
1.1.1.2 root 4: Tables for cycles when allow top/bottom borders.
5: Also left/right and Sync Scroll
1.1 root 6: */
7:
1.1.1.2 root 8: /*------------------------------------------------------------------------*/
9: /* Top/Bottom Border tables - NOTE due to natural interrupt inaccuracies */
10: /* (ie interrupt due while currently processing instruction) these values */
11: /* have a 'range' - We have a single table entry for each possible + */
12: /* overlap, just in-case! */
1.1 root 13:
1.1.1.2 root 14: /*-----------------------------------------------------------------------*/
15: /* Left/Right borders */
1.1 root 16: SYNCSHIFTER_ACCESS LeftRightBorderAccess_Pompey_46[] = {
1.1.1.2 root 17: { 0xFF8260,0x02,28 },
18: { 0xFF8260,0x00,36 },
19: { 0xFF820A,0x00,400 },
20: { 0xFF820A,0x02,408 },
21: { 0xFF8260,0x02,468 },
22: { 0xFF8260,0x00,480 }
1.1 root 23: };
24:
25: SYNCSHIFTER_ACCESS_TABLE pLeftRightBorderAccessTable[] = {
1.1.1.2 root 26: { 0, 6,LeftRightBorderAccess_Pompey_46,Video_SyncHandler_SetLeftRightBorder,BORDERMASK_LEFT|BORDERMASK_RIGHT },
1.1 root 27:
1.1.1.2 root 28: { 0, 0, 0, 0, 0 } /* term */
1.1 root 29: };
30:
31:
1.1.1.2 root 32: /*-----------------------------------------------------------------------*/
33: /* Sync Scrolling */
34:
35: /* Syncscr7.s */
36: SYNCSHIFTER_ACCESS SyncScrollerAccess_SyncScrl_1[] = { /* 0x118de wholeline(+70) */
37: { 0xFF8260,0x02,492 },
38: { 0xFF8260,0x00,508 },
39: { 0xFF820A,0x00,360 }, /* NOTE This also matches with array below so add (70-44) */
40: { 0xFF820A,0x02,376 },
41: { 0xFF8260,0x01,424 },
42: { 0xFF8260,0x00,440 }
43: };
44: SYNCSHIFTER_ACCESS SyncScrollerAccess_SyncScrl_2[] = { /* 0x119c2 rightonly(+44) */
45: { 0xFF820A,0x00,360 },
46: { 0xFF820A,0x02,376 }
47: };
48: SYNCSHIFTER_ACCESS SyncScrollerAccess_SyncScrl_3[] = { /* 0x11aae length_2(-2) */
49: { 0xFF820A,0x00,352 },
50: { 0xFF820A,0x02,368 }
51: };
52: SYNCSHIFTER_ACCESS SyncScrollerAccess_SyncScrl_4[] = { /* 0x11c8a length24(+24) */
53: { 0xFF8260,0x02,492 },
54: { 0xFF8260,0x00,508 },
55: { 0xFF820A,0x00,356 },
56: { 0xFF820A,0x02,372 },
57: { 0xFF8260,0x01,424 },
58: { 0xFF8260,0x00,440 }
59: };
60: SYNCSHIFTER_ACCESS SyncScrollerAccess_SyncScrl_5[] = { /* 0x11d6e length26(+26) */
61: { 0xFF8260,0x02,492 },
62: { 0xFF8260,0x00,508 },
63: { 0xFF8260,0x01,424 },
64: { 0xFF8260,0x00,440 }
65: };
66: SYNCSHIFTER_ACCESS SyncScrollerAccess_SyncScrl_6[] = { /* 0x11e56 length_106(-106) */
67: { 0xFF8260,0x02,144 },
68: { 0xFF8260,0x00,160 }
69: };
70:
71: /* Hardware.s (ignore L230 as is +26 +44 combined) */
72: SYNCSHIFTER_ACCESS SyncScrollerAccess_Hardware_1[] = { /* 0x121c2 L158(-2) */
73: { 0xFF820A,0x00,360 },
74: { 0xFF820A,0x02,368 }
75: };
76: SYNCSHIFTER_ACCESS SyncScrollerAccess_Hardware_2[] = { /* 0x122ae L184(+24) */
77: { 0xFF8260,0x02,436 },
78: { 0xFF8260,0x00,448 },
79: { 0xFF8260,0x02,508 },
80: { 0xFF8260,0x00,4 },
81: { 0xFF820A,0x00,360 }, /* NOTE This also matches with array have so add (24+2) */
82: { 0xFF820A,0x02,368 }
83: };
84: SYNCSHIFTER_ACCESS SyncScrollerAccess_Hardware_3[] = { /* 0x12394 L186(+26) */
85: { 0xFF8260,0x02,440 },
86: { 0xFF8260,0x00,452 },
87: { 0xFF8260,0x02,508 },
88: { 0xFF8260,0x00,4 }
89: };
90: SYNCSHIFTER_ACCESS SyncScrollerAccess_Hardware_4[] = { /* 0x1247a L204(+44) */
91: { 0xFF820A,0x00,368 },
92: { 0xFF820A,0x02,376 }
1.1 root 93: };
94:
95: SYNCSHIFTER_ACCESS_TABLE pSyncScrollerAccessTable[] = {
1.1.1.2 root 96: { 0, 6,SyncScrollerAccess_SyncScrl_1, Video_SyncHandler_SetSyncScrollOffset,+70-44 },
97: { 0, 2,SyncScrollerAccess_SyncScrl_2, Video_SyncHandler_SetSyncScrollOffset,+44 },
98: { 0, 2,SyncScrollerAccess_SyncScrl_3, Video_SyncHandler_SetSyncScrollOffset,-2 },
99: { 0, 6,SyncScrollerAccess_SyncScrl_4, Video_SyncHandler_SetSyncScrollOffset,+24 },
100: { 0, 4,SyncScrollerAccess_SyncScrl_5, Video_SyncHandler_SetSyncScrollOffset,+26 },
101: { 0, 2,SyncScrollerAccess_SyncScrl_6, Video_SyncHandler_SetSyncScrollOffset,-106 },
102:
103: { 0, 2,SyncScrollerAccess_Hardware_1, Video_SyncHandler_SetSyncScrollOffset,-2 },
104: { 0, 6,SyncScrollerAccess_Hardware_2, Video_SyncHandler_SetSyncScrollOffset,+24+2 },
105: { 0, 4,SyncScrollerAccess_Hardware_3, Video_SyncHandler_SetSyncScrollOffset,+26 },
106: { 0, 2,SyncScrollerAccess_Hardware_4, Video_SyncHandler_SetSyncScrollOffset,+44 },
1.1 root 107:
1.1.1.2 root 108: { 0, 0, 0, 0, 0 } // term
1.1 root 109: };
110:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.