static const char *maxhoriz[] = { "lores", "hires", "superhires", 0 };
static const char *maxvert[] = { "nointerlace", "interlace", 0 };
static const char *abspointers[] = { "none", "mousehack", "tablet", 0 };
+static const char *magiccursors[] = { "both", "native", "host", 0 };
static const char *autoscale[] = { "none", "scale", "resize", 0 };
static const char *obsolete[] = {
cfgfile_write (f, "parallel_autoflush=%d\n", p->parallel_autoflush_time);
cfgfile_dwrite (f, "uae_hide=%d\n", p->uae_hide);
cfgfile_dwrite (f, "magic_mouse=%s\n", p->input_magic_mouse ? "true" : "false");
+ cfgfile_dwrite (f, "magic_mousecursor=%s\n", magiccursors[p->input_magic_mouse_cursor]);
cfgfile_dwrite (f, "absolute_mouse=%s\n", abspointers[p->input_tablet]);
cfgfile_write (f, "gfx_display=%d\n", p->gfx_display);
|| cfgfile_strval (option, value, "gfx_max_horizontal", &p->gfx_max_horizontal, maxhoriz, 0)
|| cfgfile_strval (option, value, "gfx_max_vertical", &p->gfx_max_vertical, maxvert, 0)
|| cfgfile_strval (option, value, "gfx_filter_autoscale", &p->gfx_filter_autoscale, autoscale, 0)
+ || cfgfile_strval (option, value, "magic_mousecursor", &p->input_magic_mouse_cursor, magiccursors, 0)
|| cfgfile_strval (option, value, "absolute_mouse", &p->input_tablet, abspointers, 0))
return 1;
p->input_tablet = TABLET_OFF;
p->input_magic_mouse = 0;
+ p->input_magic_mouse_cursor = 0;
inputdevice_default_prefs (p);
uaecptr sprite_0;
int sprite_0_width, sprite_0_height, sprite_0_doubled;
uae_u32 sprite_0_colors[4];
+static uae_u8 magic_sprite_mask = 0xff;
static int sprite_vblank_endline = VBLANK_SPRITE_PAL;
mask = 1 << half;
}
width = (sprite_width << sprite_buffer_res) >> sprres;
- attachment = (spr[num & ~1].armed && ((sprctl[num | 1] & 0x80) || (!(currprefs.chipset_mask & CSMASK_AGA) && (sprctl[num & ~1] & 0x80))));
+ attachment = sprctl[num | 1] & 0x80;
/* Try to coalesce entries if they aren't too far apart */
if (!next_sprite_forced && e[-1].max + sprite_width >= sprxp) {
if (spr[i].xpos < 0)
continue;
- if (!((debug_sprite_mask) & (1 << i)))
+ if (!((debug_sprite_mask & magic_sprite_mask) & (1 << i)))
continue;
if (! spr[i].armed)
void INTREQ (uae_u16 v)
{
- if (!use_eventmode())
- INTREQ_f(v);
+ if (!use_eventmode ())
+ INTREQ_f (v);
else
- INTREQ_d(v, 6);
+ INTREQ_d (v, 6);
}
static void ADKCON (int hpos, uae_u16 v)
sprite_0_colors[3] = xcolors[current_colors.color_regs_ecs[19]];
}
sprite_0_width = sprite_width;
+ if (currprefs.input_tablet && currprefs.input_magic_mouse) {
+ if (currprefs.input_magic_mouse_cursor == MAGICMOUSE_HOST_ONLY && mousehack_alive ())
+ magic_sprite_mask &= ~1;
+ else
+ magic_sprite_mask |= 1;
+ }
}
STATIC_INLINE uae_u16 sprite_fetch (struct sprite *s, int dma, int hpos, int cycle, int mode)
SW (sprdatb[i][0]); /* 1x6 SPRxDATB */
}
}
- for ( i = 0; i < 32; i++)
- SW (current_colors.color_regs_ecs[i]); /* 180-1BE COLORxx */
+ for ( i = 0; i < 32; i++) {
+ if (currprefs.chipset_mask & CSMASK_AGA) {
+ uae_u32 v = current_colors.color_regs_aga[i];
+ uae_u16 v2;
+ v &= 0x00f0f0f0;
+ v2 = (v >> 4) & 15;
+ v2 |= ((v >> 12) & 15) << 4;
+ v2 |= ((v >> 20) & 15) << 8;
+ SW (v2);
+ } else {
+ SW (current_colors.color_regs_ecs[i]); /* 180-1BE COLORxx */
+ }
+ }
SW (htotal); /* 1C0 HTOTAL */
SW (hsstop); /* 1C2 HSTOP*/
SW (hbstrt); /* 1C4 HBSTRT */
drv->dskchange_time = 0;
restore_u32 ();
strcpy (old, currprefs.df[num]);
- strncpy(changed_prefs.df[num],src,255);
+ strncpy (changed_prefs.df[num], src, 255);
newis = changed_prefs.df[num][0] ? 1 : 0;
- src+=strlen(src)+1;
+ src += strlen(src) + 1;
if (!(disabled & (1 << num))) {
if (!newis) {
drv->dskchange = 1;
}
}
}
- reset_drive_gui(num);
+ reset_drive_gui (num);
return src;
}
xcolnr xcolors[4096];
struct spritepixelsbuf {
- int attach:1;
+ uae_u8 attach;
uae_u8 stdata;
uae_u16 data;
};
}
}
-static int linetoscr_double_offset;
#define SPRITE_DEBUG 0
STATIC_INLINE uae_u8 render_sprites (int pos, int dualpf, uae_u8 apixel, int aga)
static void pfield_expand_dp_bplcon (void)
{
int brdblank_2;
+ static int b2;
bplres = dp_for_drawing->bplres;
bplplanecnt = dp_for_drawing->nr_planes;
plf1pri = dp_for_drawing->bplcon2 & 7;
plf2pri = (dp_for_drawing->bplcon2 >> 3) & 7;
plf_sprite_mask = 0xFFFF0000 << (4 * plf2pri);
- plf_sprite_mask |= (0xFFFF << (4 * plf1pri)) & 0xFFFF;
+ plf_sprite_mask |= (0x0000FFFF << (4 * plf1pri)) & 0xFFFF;
bpldualpf = (dp_for_drawing->bplcon0 & 0x400) == 0x400;
bpldualpfpri = (dp_for_drawing->bplcon2 & 0x40) == 0x40;
case LINE_DECIDED_DOUBLE:
if (follow_ypos != -1) {
do_double = 1;
- linetoscr_double_offset = gfxvidinfo.rowbytes * (follow_ypos - gfx_ypos);
linestate[lineno + 1] = LINE_DONE_AS_PREVIOUS;
}
; 2007.09.01 ACTION_EXAMINE_ALL (TW)
; 2007.09.05 fully filesystem device mounting on the fly (TW)
; 2008.01.09 ACTION_EXAMINE_ALL does not anymore return eac_Entries = 0 with continue (fixes some broken programs)
+; 2008.12.11 mousehack -> tablet driver
+; 2008.12.25 mousehack cursor sync
+; 2009.01.20 clipboard sharing
AllocMem = -198
FreeMem = -210
NRF_NOTIFY_INITIAL = 16
NRF_MAGIC = $80000000
- dc.l 16
+ dc.l 16 ; 4
our_seglist:
- dc.l 0 ;/* NextSeg */
+ dc.l 0 ; 8 /* NextSeg */
start:
- bra filesys_mainloop
- dc.l make_dev-start
- dc.l filesys_init-start
- dc.l exter_server-start
- dc.l bootcode-start
- dc.l setup_exter-start
-
- dc.l p96vsyncfix1-start
- dc.l mousehack_x-start
+ bra.w filesys_mainloop ;12
+ dc.l make_dev-start ;16
+ dc.l filesys_init-start ;20
+ dc.l exter_server-start ;24
+ dc.l bootcode-start ;28
+ dc.l setup_exter-start ;32
+ dc.l mh_e-start ;36
+ ;40
bootcode:
lea.l doslibname(pc),a1
general_ret:
rts
- ; this is getting ridiculous but I don't see any other solutions..
-fsmounttask
-.fsm1 move.l 4.w,a6
- moveq #0,d0
- bset #17,d0 ; SIGBREAK_CTRL_D
- jsr -$013e(a6) ;Wait
+createproc
+ movem.l d2-d4/a2/a6,-(sp)
+ move.l 4.w,a6
+ move.l d0,d2
+ move.l d1,d4
+ move.l a1,d3
+ move.l a0,a2
lea doslibname(pc),a1
moveq #0,d0
jsr -$0228(a6) ; OpenLibrary
tst.l d0
- beq.s .fsm1
+ beq.s .noproc
move.l d0,a6
- lea fsprocname(pc),a0
- move.l a0,d1
- moveq #15,d2
- lea mountproc(pc),a0
- move.l a0,d3
+ move.l a2,d1
lsr.l #2,d3
- move.l #8000,d4
jsr -$08a(a6) ; CreateProc
move.l a6,a1
move.l 4.w,a6
jsr -$019e(a6); CloseLibrary
+.noproc
+ movem.l (sp)+,d2-d4/a2/a6
+ rts
+
+ ; this is getting ridiculous but I don't see any other solutions..
+fsmounttask
+.fsm1 move.l 4.w,a6
+ moveq #0,d0
+ bset #13,d0 ; SIGBREAK_CTRL_D
+ jsr -$013e(a6) ;Wait
+ lea fsprocname(pc),a0
+ lea mountproc(pc),a1
+ moveq #15,d0
+ move.l #8000,d1
+ bsr.w createproc
bra.s .fsm1
; dummy process here because can't mount devices with ADNF_STARTPROC from task..
move.w #$0214,8(a1)
moveq.l #3,d0
jsr -168(a6) ; AddIntServer
+ move.w mh_e(pc),d0
+ beq.s .nomh
+ bsr.w mousehack_init
+.nomh
+ cmp.w #36,20(a6)
+ bcs.s .noclip
+ bsr.w clipboard_init
+.noclip
movem.l (sp)+,d0-d1/a0-a1
rts
move.l d0,d3
cmp.w #-2,d3
beq.w general_ret
- cmp.w #1,d3
- bne.s mountalways
+ ;cmp.w #1,d3
+ ;bne.s mountalways
; KS < V36: init regular hardfiles only if filesystem is loaded
- btst #2,d7
- bne.s mountalways ; >= 36
- btst #1,d7
- bne.w mountalways
+ ;btst #2,d7
+ ;bne.s mountalways ; >= 36
+ ;btst #1,d7
+ ;bne.w mountalways
mountalways
; allocate memory for loaded filesystem
jsr -294(a6) ; FindTask
move.l d0,176(a3)
- bsr.w allocinputdevice
+ lea inp_dev(pc),a0
+ moveq #0,d0
+ moveq #0,d1
+ bsr.w allocdevice
move.l d0,164(a3)
- bsr.w alloctimerdevice
+ lea tim_dev(pc),a0
+ moveq #0,d0
+ moveq #0,d1
+ bsr.w allocdevice
move.l d0,168(a3)
moveq.l #0,d5 ; No commands queued.
bsr.w diskinsertremove
.nonotif
- bsr.w mousehack_init
bra.w FSML_Reply
; We abuse some of the fields of the message we get. Offset 0 is
; processing by now, so it's safe to reply to it.
FSML_loop:
- bsr.w mousehack_init
move.l a5,a0
jsr -372(a6) ; GetMsg
moveq #0,d0
move.b 15(a5),d1 ;mp_SigBit
bset d1,d0
- bset #17,d0 ; SIGBREAK_CTRL_D
+ bset #13,d0 ; SIGBREAK_CTRL_D
jsr -$013e(a6) ;Wait
.msg
; disk changed?
add.l d0,a0
rts
- ;p96 stuff
-
-p96flag dc.w 0
-p96vsyncfix1
- cmp.l #34,8(sp) ; picasso_WaitVerticalSync?
- bne.s p961
- movem.l d0-d1/a0-a2/a6,-(sp)
- move.l 4.w,a6
- sub.l a1,a1
- jsr -$126(a6) ; FindTask
- move.l d0,a2
- move.l a2,a1
- moveq #-20,d0
- jsr -$12c(a6) ; SetTaskPri
- lea p96flag(pc),a0
- move.w (a0),d1
-p962 cmp.w (a0),d1
- beq.s p962
- move.l a2,a1
- jsr -$12c(a6) ; SetTaskPri
- moveq #1,d1
- movem.l (sp)+,d0-d1/a0-a2/a6
- addq.l #4,sp ; return directly to caller
-p961 rts
-
-
; mouse hack
newlist:
createport:
movem.l d2/a2/a6,-(sp)
- move.l 4,a6
+ move.l 4.w,a6
moveq #-1,d0
jsr -$014a(a6) ;AllocSignal
sub.l a0,a0
createio:
movem.l d2/a2/a6,-(sp)
- move.l 4,a6
+ move.l 4.w,a6
tst.l d0
beq.s .f
move.l d0,a2
+ move.l d1,d2
+ bne.s .ci
moveq #48,d2
+.ci
move.l d2,d0
move.l #65536+1,d1
jsr AllocMem(a6)
movem.l (sp)+,d2/a2/a6
rts
-allocinputdevice
- movem.l a2/a6,-(sp)
+allocdevice
+ movem.l d2-d3/a2/a6,-(sp)
+ move.l a0,a2
+ move.l d0,d2
+ move.l d1,d3
move.l 4.w,a6
bsr.w createport
+ move.l d3,d1
bsr.w createio
beq.s .f
+ move.l a2,a0
move.l d0,a1
move.l d0,a2
- lea inp_dev(pc),a0
- moveq #0,d0
+ move.l d2,d0
moveq #0,d1
jsr -$01bc(a6) ;OpenDevice
move.l d0,d1
bne.s .f
move.l a2,d0
.f tst.l d0
- movem.l (sp)+,a2/a6
- rts
-
-alloctimerdevice
- movem.l a2/a6,-(sp)
- move.l 4.w,a6
- bsr.w createport
- bsr.w createio
- beq.s .f
- move.l d0,a2
- move.l d0,a1
- lea tim_dev(pc),a0
- moveq #0,d0
- moveq #0,d1
- jsr -$01bc(a6) ;OpenDevice
- move.l d0,d1
- moveq #0,d0
- tst.l d1
- bne.s .f
- move.l a2,d0
-.f tst.l d0
- movem.l (sp)+,a2/a6
+ movem.l (sp)+,d2-d3/a2/a6
rts
createtask:
movem.l d2/d3/d4/a2/a3/a6,-(sp)
- move.l 4,a6
+ move.l 4.w,a6
move.l d0,d4
move.l a0,d2
move.l a1,d3
.f movem.l (sp)+,d2/d3/d4/a2/a3/a6
rts
-mousehack_e: dc.w 0
-mousehack_x: dc.w 0
-mousehack_y: dc.w 0
+; mousehack/tablet
+
+mousehack_init:
+ lea mhname(pc),a0
+ lea mousehack_task(pc),a1
+ moveq #19,d0
+ bsr createtask
+ rts
+
+mhdoiotimer:
+ move.l MH_TM(a5),a1
+ move.w #10,28(a1) ;TR_GETSYSTIME
+ move.b #1,30(a1) ;IOF_QUICK
+ jsr -$01c8(a6) ;DoIO
+ move.l MH_TM(a5),a1
+ move.l 32(a1),14(a2)
+ move.l 36(a1),18(a2)
+ move.l MH_IO(a5),a1
+ move.b #1,30(a1) ;IOF_QUICK
+ jsr -$01c8(a6) ;DoIO
+ rts
+mhdoio:
+ clr.l 14(a2)
+ clr.l 18(a2)
+ move.l MH_IO(a5),a1
+ move.b #1,30(a1) ;IOF_QUICK
+ jsr -$01c8(a6) ;DoIO
+ rts
+
+; these shouldn't be here but it is easier this way..
+
+mh_e: dc.w 0
+mh_cnt: dc.w -1
+mh_maxx: dc.w 0
+mh_maxy: dc.w 0
+mh_maxz: dc.w 0
+mh_x: dc.w 0
+mh_y: dc.w 0
+mh_z: dc.w 0
+mh_resx: dc.w 0
+mh_resy: dc.w 0
+mh_maxax: dc.w 0
+mh_maxay: dc.w 0
+mh_maxaz: dc.w 0
+mh_ax: dc.w 0
+mh_ay: dc.w 0
+mh_az: dc.w 0
+mh_pressure: dc.w 0
+mh_buttonbits: dc.l 0
+mh_inproximity: dc.w 0
+mh_absx: dc.w 0
+mh_absy: dc.w 0
MH_INT = 0
+
MH_FOO = (MH_INT+22)
-MH_IEV = (MH_FOO+16)
-MH_IO = (MH_IEV+22)
+MH_FOO_CNT = 0
+MH_FOO_BUTTONS = 4
+MH_FOO_TASK = 8
+MH_FOO_MASK = 12
+MH_FOO_EXECBASE = 16
+MH_FOO_INTBASE = 20
+MH_FOO_GFXBASE = 24
+MH_FOO_DELAY = 28
+MH_FOO_DIMS_X = 32
+MH_FOO_DIMS_Y = 36
+MH_FOO_VPXY = 40
+MH_FOO_MOFFSET = 44
+MH_FOO_ALIVE = 48
+MH_FOO_LIMITCNT = 52
+MH_FOO_DIMS = 56
+MH_FOO_DISP = (MH_FOO_DIMS+88)
+MH_FOO_PREFS = (MH_FOO_DISP+48)
+MH_FOO_SIZE = (MH_FOO_PREFS+102)
+
+PREFS_SIZE = 102
+
+MH_IEV = (MH_FOO+MH_FOO_SIZE) ;InputEvent
+MH_IEH = (MH_IEV+22) ;InputHandler (Interrupt)
+MH_IEPT = (MH_IEH+22) ;IEPointerTable/IENewTablet
+MH_IENTTAGS = (MH_IEPT+32) ;space for ient_TagList
+MH_IO = (MH_IENTTAGS+16*4*2)
MH_TM = (MH_IO+4)
MH_END = (MH_TM+4)
-mousehack_init:
- move.l a0,-(sp)
- tst.b 157(a3)
- bne.s .no
- lea mousehack_e(pc),a0
- cmp.b #1,(a0)
- bne.s .no
- lea mhname(pc),a0
- lea mousehack_task(pc),a1
- moveq #5,d0
- bsr createtask
- st 157(a3)
- ;tell native side that mousehack is active
+MH_MOUSEHACK = 0
+MH_TABLET = 1
+MH_ACTIVE = 7
+
+TAG_USER equ $80000000
+TABLETA_Dummy EQU TAG_USER+$3A000
+TABLETA_TabletZ EQU TABLETA_Dummy+$01
+TABLETA_RangeZ EQU TABLETA_Dummy+$02
+TABLETA_AngleX EQU TABLETA_Dummy+$03
+TABLETA_AngleY EQU TABLETA_Dummy+$04
+TABLETA_AngleZ EQU TABLETA_Dummy+$05
+TABLETA_Pressure EQU TABLETA_Dummy+$06
+TABLETA_ButtonBits EQU TABLETA_Dummy+$07
+TABLETA_InProximity EQU TABLETA_Dummy+$08
+TABLETA_ResolutionX EQU TABLETA_Dummy+$09
+TABLETA_ResolutionY EQU TABLETA_Dummy+$0A
+
+
+DTAG_DISP EQU $80000000
+DTAG_DIMS EQU $80001000
+DTAG_MNTR EQU $80002000
+DTAG_NAME EQU $80003000
+
+getgfxlimits:
+ movem.l d0-d4/a0-a6,-(sp)
+ move.l a0,a5
+ sub.l a2,a2
+ sub.l a3,a3
+ sub.l a4,a4
+ moveq #0,d4
+
+ move.l MH_FOO_GFXBASE(a5),a6
+ move.l MH_FOO_INTBASE(a5),a0
+ move.l 60(a0),d0 ;FirstScreen
+ beq.s .end
+
+ move.l d0,a0
+ lea 44(a0),a0 ;ViewPort
+ move.l a0,a4
+ jsr -$318(a6) ;GetVPModeID
+ moveq #-1,d1
+ moveq #-1,d2
+ cmp.l d0,d1
+ beq.s .end
+ move.l d0,d3
+
+ ; mouse offset
+ move.l MH_FOO_INTBASE(a5),a6
+ lea MH_FOO_PREFS(a5),a0
+ moveq #PREFS_SIZE,d0
+ jsr -$84(a6) ;GetPrefs
+ lea MH_FOO_PREFS(a5),a0
+ move.w 100(a0),d4
+ move.l MH_FOO_GFXBASE(a5),a6
+
+ ; Text Overscan area needed
+ sub.l a0,a0
+ lea MH_FOO_DIMS(a5),a1
+ moveq #0,d0
+ move.w #88,d0
+ move.l #DTAG_DIMS,d1
+ move.l d3,d2
+ jsr -$2f4(a6) ;GetDisplayInfoData
+ moveq #-1,d1
+ moveq #-1,d2
+ tst.l d0
+ bmi.s .end
+ lea MH_FOO_DIMS(a5),a2
+ move.l 50(a2),d1
+ move.l 54(a2),d2
+.end
+
+ move.l 28(a4),d0
+ cmp.w MH_FOO_MOFFSET(a5),d4
+ bne.s .dosend
+ cmp.l MH_FOO_VPXY(a5),d0
+ bne.s .dosend
+ cmp.l MH_FOO_DIMS_X(a5),d1
+ bne.s .dosend
+ cmp.l MH_FOO_DIMS_Y(a5),d2
+ beq.s .nosend
+.dosend
+ move.l d0,MH_FOO_VPXY(a5)
+ move.l d1,MH_FOO_DIMS_X(a5)
+ move.l d2,MH_FOO_DIMS_Y(a5)
+ move.w d4,MH_FOO_MOFFSET(a5)
+
+ ; This only for doublescan properties bit..
+ sub.l a0,a0
+ lea MH_FOO_DISP(a5),a1
+ moveq #0,d0
+ move.w #88,d0
+ move.l #DTAG_DISP,d1
+ move.l d3,d2
+ jsr -$2f4(a6) ;GetDisplayInfoData
+ tst.l d0
+ bmi.s .nomntr
+ lea MH_FOO_DISP(a5),a3
+.nomntr
+
+ ;send updated data to native side
+ move.w MH_FOO_MOFFSET(a5),d2
move.w #$FF38,d0
+ moveq #1,d1
bsr.w getrtbase
jsr (a0)
-.no move.l (sp)+,a0
+
+.nosend
+ movem.l (sp)+,d0-d4/a0-a6
rts
mousehack_task:
- move.l 4,a6
+ move.l 4.w,a6
+
+ move.w 20(a6),d7
moveq #-1,d0
jsr -$014a(a6) ;AllocSignal
- moveq #0,d2
- bset d0,d2
+ moveq #0,d6
+ bset d0,d6
sub.l a1,a1
jsr -$0126(a6) ;FindTask
move.l a4,a1
jsr -$012c(a6) ;SetTaskPri
- moveq #0,d0
- lea intlibname(pc),a1
- jsr -$0228(a6)
- move.l d0,d7
-
moveq #0,d0
move.w #MH_END,d0
move.l #65536+1,d1
jsr AllocMem(a6)
move.l d0,a5
- bsr.w allocinputdevice
- move.l d0,MH_IO(a5)
- beq.w .f
- bsr.w alloctimerdevice
- move.l d0,MH_TM(a5)
- beq.w .f
-
lea MH_FOO(a5),a3
- move.l a4,12(a3);task
- move.l d2,8(a3) ;sigmask
+ move.l a6,MH_FOO_EXECBASE(a3)
+ move.l a4,MH_FOO_TASK(a3)
+ move.l d6,MH_FOO_MASK(a3)
moveq #-1,d0
- move.l d0,(a3) ;mx
- move.l d0,4(a3) ;my
+ move.w d0,MH_FOO_CNT(a3)
lea MH_INT(a5),a1
move.b #2,8(a1) ;NT_INTERRUPT
move.l a0,10(a1)
lea mousehackint(pc),a0
move.l a0,18(a1)
- move.l a3,14(a1)
+ move.l a5,14(a1)
moveq #5,d0 ;INTB_VERTB
jsr -$00a8(a6)
- bra.s mhloop
-.f rts
mhloop
- move.l d2,d0
+ move.l d6,d0
jsr -$013e(a6) ;Wait
-
+
+ moveq #0,d0
+ subq.l #1,MH_FOO_DELAY(a3)
+ bpl.s .delay1
+ moveq #10,d0
+ move.l d0,MH_FOO_DELAY(a3)
+.delay1
+
+ tst.l MH_FOO_INTBASE(a3)
+ bne.s .intyes
+ tst.l MH_FOO_DELAY(a3)
+ bne.s mhloop
+ lea intlibname(pc),a1
+ moveq #0,d0
+ jsr -$0228(a6) ;OpenLibrary
+ move.l d0,MH_FOO_INTBASE(a3)
+ beq.s mhloop
+.intyes
+ tst.l MH_FOO_GFXBASE(a3)
+ bne.s .gfxyes
+ tst.l MH_FOO_DELAY(a3)
+ bne.s mhloop
+ lea gfxlibname(pc),a1
+ moveq #0,d0
+ jsr -$0228(a6) ;OpenLibrary
+ move.l d0,MH_FOO_GFXBASE(a3)
+ beq.w mhloop
+.gfxyes
+
+ tst.l MH_IO(a5)
+ bne.s .yesio
+ tst.l MH_FOO_DELAY(a3)
+ bne.s mhloop
+ jsr -$0084(a6) ;Forbid
+ lea 350(a6),a0 ;DeviceList
+ lea inp_dev(pc),a1
+ jsr -$114(a6) ;FindName
+ move.l d0,d2
+ jsr -$008a(a6) ;Permit
+ tst.l d2
+ beq.s mhloop
+ lea inp_dev(pc),a0
+ moveq #0,d0
+ moveq #0,d1
+ bsr.w allocdevice
+ move.l d0,MH_IO(a5)
+ beq.w mhend
+ bra.w mhloop
+.yesio
+ tst.l MH_TM(a5)
+ bne.s .yestim
+ tst.l MH_FOO_DELAY(a3)
+ bne.w mhloop
+ jsr -$0084(a6) ;Forbid
+ lea 350(a6),a0 ;DeviceList
+ lea tim_dev(pc),a1
+ jsr -$114(a6) ;FindName
+ move.l d0,d2
+ jsr -$008a(a6) ;Permit
+ tst.l d2
+ beq.w mhloop
+ lea tim_dev(pc),a0
+ moveq #0,d0
+ moveq #0,d1
+ bsr.w allocdevice
+ move.l d0,MH_TM(a5)
+ beq.w mhend
+
+ ;tell native side that mousehack is now active
+ move.w #$FF38,d0
+ moveq #0,d1
+ bsr.w getrtbase
+ jsr (a0)
+ bra.w mhloop
+.yestim
+
+ cmp.w #36,d7
+ bcs.s .nodims
+ subq.l #1,MH_FOO_LIMITCNT(a3)
+ bpl.s .nodims
+ move.l a3,a0
+ bsr.w getgfxlimits
+ moveq #50,d0
+ move.l d0,MH_FOO_LIMITCNT(a3)
+.nodims
+
move.l MH_IO(a5),a1
lea MH_IEV(a5),a2
move.w #11,28(a1) ;IND_WRITEEVENT
move.l #22,36(a1) ;sizeof(struct InputEvent)
move.l a2,40(a1)
- move.b #1,30(a1) ;IOF_QUICK
- move.b #4,4(a2) ;IECLASS_POINTERPOS
- clr.b 5(a2) ;ie_SubClass
+ move.b mh_e(pc),d0
+ cmp.w #39,d7
+ bcs.w .notablet
+ btst #MH_TABLET,d0
+ beq.w .notablet
+
+ ;IENewTablet
+
+ lea MH_IEPT(a5),a0
+ move.l a0,10(a2) ;ie_Addr
+
+ move.b #$13,4(a2) ;ie_Class=IECLASS_NEWPOINTERPOS
+ move.b #3,5(a2) ;ie_SubClass = IESUBCLASS_NEWTABLET
+ clr.l (a0) ;ient_CallBack
+ clr.l 4(a0)
+ clr.w 6(a2) ;ie_Code
+ clr.l 8(a0)
+ clr.w 12(a0)
+
+ ;IEQUALIFIER_MIDBUTTON=0x1000/IEQUALIFIER_RBUTTON=0x2000/IEQUALIFIER_LEFTBUTTON=0x4000
+ move.l mh_buttonbits(pc),d1
+ and.w #7,d1
+ moveq #7,d0
+ sub.w d1,d0
+ lsl.w #8,d0
+ lsl.w #4,d0
+ move.w d0,8(a2) ;ie_Qualifier
+
+ move.w mh_x(pc),12+2(a0) ;ient_TabletX
+ clr.w 16(a0)
+ move.w mh_y(pc),16+2(a0) ;ient_TabletY
+ clr.w 20(a0)
+ move.w mh_maxx(pc),20+2(a0) ;ient_RangeX
+ clr.w 24(a0)
+ move.w mh_maxy(pc),24+2(a0) ;ient_RangeY
+ lea MH_IENTTAGS(a5),a1
+ move.l a1,28(a0) ;ient_TagList
+ move.l #TABLETA_Pressure,(a1)+
+ move.w mh_pressure(pc),d0
+ ext.l d0
+ asl.l #8,d0
+ move.l d0,(a1)+
+ move.l #TABLETA_ButtonBits,(a1)+
+ move.l mh_buttonbits(pc),(a1)+
+
+ moveq #0,d0
+
+ move.w mh_resx(pc),d0
+ bmi.s .noresx
+ move.l #TABLETA_ResolutionX,(a1)+
+ move.l d0,(a1)+
+.noresx
+ move.w mh_resy(pc),d0
+ bmi.s .noresy
+ move.l #TABLETA_ResolutionY,(a1)+
+ move.l d0,(a1)+
+.noresy
+
+ move.w mh_maxz(pc),d0
+ bmi.s .noz
+ move.l #TABLETA_RangeZ,(a1)+
+ move.l d0,(a1)+
+ move.w mh_z(pc),d0
+ move.l #TABLETA_TabletZ,(a1)+
+ move.l d0,(a1)+
+.noz
+
+ move.w mh_maxax(pc),d0
+ bmi.s .noax
+ move.l #TABLETA_AngleX,(a1)+
+ move.w mh_ax(pc),d0
+ ext.l d0
+ asl.l #8,d0
+ move.l d0,(a1)+
+.noax
+ move.w mh_maxay(pc),d0
+ bmi.s .noay
+ move.l #TABLETA_AngleY,(a1)+
+ move.w mh_ay(pc),d0
+ ext.l d0
+ asl.l #8,d0
+ move.l d0,(a1)+
+.noay
+ move.w mh_maxaz(pc),d0
+ bmi.s .noaz
+ move.l #TABLETA_AngleZ,(a1)+
+ move.w mh_az(pc),d0
+ ext.l d0
+ asl.l #8,d0
+ move.l d0,(a1)+
+.noaz
+
+ moveq #0,d0
+ move.w mh_inproximity(pc),d0
+ bmi.s .noproxi
+ move.l #TABLETA_InProximity,(a1)+
+ move.l d0,(a1)+
+.noproxi
+ clr.l (a1) ;TAG_DONE
+
+ bsr.w mhdoio
+
+ ;create mouse button events if button state changed
+ move.w #$68,d3 ;IECODE_LBUTTON->IECODE_RBUTTON->IECODE_MBUTTON
+ moveq #1,d2
+ move.l mh_buttonbits(pc),d4
+.nextbut
+ move.l d4,d0
+ and.l d2,d0
+ move.l MH_FOO_BUTTONS(a3),d1
+ and.l d2,d1
+ cmp.l d0,d1
+ beq.s .nobut
+
+ clr.l (a2)
+ move.w #$0200,4(a2) ;ie_Class=IECLASS_RAWMOUSE,ie_SubClass=0
+ clr.l 10(a2) ;ie_Addr/X+Y
+ move.w d3,d1
+ tst.b d0
+ bne.s .butdown
+ bset #7,d1 ;IECODE_UP_PREFIX
+.butdown
+ move.w d1,6(a2) ;ie_Code
+ clr.w 8(a2) ;ie_Qualifier
+
+ bsr.w mhdoio
+
+.nobut
+ addq.w #1,d3
+ add.w d2,d2
+ cmp.w #8,d2
+ bne.s .nextbut
+ move.l d4,MH_FOO_BUTTONS(a3)
+
+.notablet
+
+ move.b mh_e(pc),d0
+ btst #MH_MOUSEHACK,d0
+ beq.w mhloop
+
+ clr.l (a2)
+ move.w #$0400,4(a2) ;IECLASS_POINTERPOS
clr.w 6(a2) ;ie_Code
clr.w 8(a2) ;ie_Qualifier
- move.l d7,a0 ;intbase
+ move.l MH_FOO_INTBASE(a3),a0
- move.l MH_FOO+0(a5),d0
+ move.w mh_absx(pc),d0
move.w 34+14(a0),d1
add.w d1,d1
sub.w d1,d0
+ bpl.s .xn
+ moveq #0,d0
+.xn
move.w d0,10(a2)
- move.l MH_FOO+4(a5),d0
+ move.w mh_absy(pc),d0
move.w 34+12(a0),d1
add.w d1,d1
sub.w d1,d0
- ext.l d0
+ bpl.s .yn
+ moveq #0,d0
+.yn
move.w d0,12(a2)
- move.l MH_TM(a5),a1
- move.w #10,28(a1) ;TR_GETSYSTIME
- move.b #1,30(a1) ;IOF_QUICK
- jsr -$01c8(a6) ;DoIO
- move.l MH_TM(a5),a1
- move.l 32(a1),14(a2)
- move.l 36(a1),18(a2)
+ bsr.w mhdoiotimer
- move.l MH_IO(a5),a1
- jsr -$01c8(a6) ;DoIO
-
bra.w mhloop
+mhend
+ rts
+
mousehackint:
- move.w mousehack_x(pc),d0
- ext.l d0
- move.w mousehack_y(pc),d1
- ext.l d1
- cmp.l (a1),d0
- bne .l1
- cmp.l 4(a1),d1
- beq .l2
-.l1 move.l d1,4(a1)
- move.l d0,(a1)
- move.l 8(a1),d0
- move.l 12(a1),a1
- move.l 4.w,a6
+ tst.l MH_IO(a1)
+ beq.s .l1
+ tst.l MH_TM(a1)
+ beq.s .l1
+ move.w mh_cnt(pc),d0
+ cmp.w MH_FOO+MH_FOO_CNT(a1),d0
+ beq.s .l2
+ move.w d0,MH_FOO+MH_FOO_CNT(a1)
+.l1
+ move.l MH_FOO+MH_FOO_EXECBASE(a1),a6
+ move.l MH_FOO+MH_FOO_MASK(a1),d0
+ move.l MH_FOO+MH_FOO_TASK(a1),a1
jsr -$0144(a6) ; Signal
-.l2 lea $dff000,a0
+.l2
+ subq.w #1,MH_FOO+MH_FOO_ALIVE(a1)
+ bpl.s .l3
+ move.w #50,MH_FOO+MH_FOO_ALIVE(a1)
+ move.w #$FF38,d0
+ moveq #2,d1
+ bsr.w getrtbase
+ jsr (a0)
+.l3
+ lea $dff000,a0
moveq #0,d0
rts
+; clipboard sharing
+
+CLIP_WRITE_SIZE = 0
+CLIP_WRITE_ALLOC = (CLIP_WRITE_SIZE+4)
+CLIP_TASK = (CLIP_WRITE_ALLOC+4)
+CLIP_UNIT = (CLIP_TASK+4)
+CLIP_ID = (CLIP_UNIT+4)
+CLIP_EXEC = (CLIP_ID+4)
+CLIP_DOS = (CLIP_EXEC+4)
+CLIP_HOOK = (CLIP_DOS+4)
+CLIP_BUF = (CLIP_HOOK+20)
+CLIP_BUF_SIZE = 8
+CLIP_POINTER_NOTIFY = (CLIP_BUF+CLIP_BUF_SIZE)
+CLIP_POINTER_PREFS = (CLIP_POINTER_NOTIFY+48)
+CLIP_END = (CLIP_POINTER_PREFS+32)
+
+clipboard_init:
+ lea clname(pc),a0
+ lea clipboard_task(pc),a1
+ moveq #-10,d0
+ bsr createtask
+ rts
+
+clipboard_task:
+ sub.l a5,a5
+ move.l 4.w,a6
+
+ move.l #CLIP_END,d0
+ move.l #$10001,d1
+ jsr AllocMem(a6)
+ tst.l d0
+ beq.s clipdie
+ move.l d0,a5
+
+ move.l a6,CLIP_EXEC(a5)
+
+ sub.l a1,a1
+ jsr -294(a6) ; FindTask
+ move.l d0,CLIP_TASK(a5)
+
+ move.w #$FF38,d0
+ moveq #14,d1
+ bsr.w getrtbase
+ move.l a5,d0
+ jsr (a0)
+
+.wait
+ moveq #0,d0
+ bset #13,d0
+ jsr -$013e(a6) ;Wait
+ jsr -$0084(a6) ;Forbid
+ lea 378(a6),a0 ;LibList
+ lea doslibname(pc),a1
+ jsr -$114(a6) ;FindName
+ move.l d0,d2
+ jsr -$008a(a6) ;Permit
+ tst.l d2
+ beq.s .wait
+
+ clr.l CLIP_TASK(a5)
+ ; we need to be a process, LoadLibrary() needs to call dos
+ lea clname(pc),a0
+ lea clipboard_proc(pc),a1
+ moveq #-10,d0
+ move.l #10000,d1
+ bsr.w createproc
+
+ ; task has done its job, process continues..
+ moveq #0,d0
+ rts
+
+clipdie:
+ move.w #$FF38,d0
+ moveq #10,d1
+ bsr.w getrtbase
+ jsr (a0)
+ move.l a5,d0
+ beq.s .cd1
+ move.l CLIP_EXEC(a5),a6
+ move.l CLIP_DOS(a5),d0
+ beq.s .cd2
+ move.l d0,a1
+ jsr -414(a6) ; CloseLibrary
+.cd2
+ move.l a5,a1
+ move.l #CLIP_END,d0
+ jsr FreeMem(a6)
+.cd1
+ moveq #0,d0
+ rts
+
+prefsread:
+ movem.l d2-d4/a2-a6,-(sp)
+ move.l CLIP_DOS(a5),a6
+ lea pointer_prefs(pc),a0
+ move.l a0,d1
+ move.l #1005,d2
+ jsr -$001e(a6) ;Open
+ move.l d0,d4
+ beq.s .pr1
+ lea CLIP_POINTER_PREFS(a5),a2
+.pr4
+ clr.l (a2)
+.pr3
+ move.w 2(a2),(a2)
+ move.l a2,d2
+ addq.l #2,d2
+ moveq #2,d3
+ move.l d4,d1
+ jsr -$002a(a6) ;Read
+ cmp.l d0,d3
+ bne.s .pr1
+ cmp.l #'PNTR',(a2)
+ bne.s .pr3
+ move.l a2,d2
+ moveq #4,d3
+ move.l d4,d1
+ jsr -$002a(a6) ;Read
+ move.l a2,d2
+ moveq #32,d3
+ move.l d4,d1
+ jsr -$002a(a6) ;Read
+ cmp.l d0,d3
+ bne.s .pr1
+ tst.w 16(a2) ;pp_Which
+ bne.s .pr4
+ move.w #$FF38,d0
+ moveq #16,d1
+ bsr.w getrtbase
+ jsr (a0)
+.pr1
+ move.l d4,d1
+ beq.s .pr2
+ jsr -$0024(a6) ;Close
+.pr2
+ movem.l (sp)+,d2-d4/a2-a6
+ rts
+
+prefshook:
+ move.l CLIP_DOS(a5),a6
+ lea ram_name(pc),a0
+ move.l a0,d1
+ moveq #-2,d2
+ jsr -$0054(a6) ;Lock
+ move.l d0,d1
+ beq.s .ph1
+ jsr -$005a(a6) ;Unlock
+ move.l CLIP_EXEC(a5),a6
+ lea CLIP_POINTER_NOTIFY(a5),a2
+ moveq #-1,d0
+ jsr -$014a(a6) ;AllocSignal
+ move.b d0,20(a2) ;nr_SignalNum
+ lea pointer_prefs(pc),a0
+ move.l a0,(a2) ;nr_Name
+ move.l #NRF_SEND_SIGNAL|NRF_NOTIFY_INITIAL,12(a2) ;nr_Flags
+ move.l CLIP_TASK(a5),16(a2) ;nr_Task
+ move.l CLIP_DOS(a5),a6
+ move.l a2,d1
+ jsr -$378(a6) ;StartNotify
+.ph1
+ move.l CLIP_EXEC(a5),a6
+ rts
+
+ cnop 0,4
+ dc.l 16
+clipboard_proc:
+ dc.l 0
+
+ move.w #$FF38,d0
+ moveq #13,d1
+ bsr.w getrtbase
+ jsr (a0)
+ tst.l d0
+ beq.w clipdie
+ move.l d0,a5
+ move.l CLIP_EXEC(a5),a6
+
+ sub.l a1,a1
+ jsr -294(a6) ; FindTask
+ move.l d0,CLIP_TASK(a5)
+
+ lea doslibname(pc),a1
+ moveq #0,d0
+ jsr -$0228(a6) ; OpenLibrary
+ move.l d0,CLIP_DOS(a5)
+ tst.l d0
+ beq.w clipdie
+ move.l d0,a6
+
+.devsloop
+ moveq #50,d1
+ jsr -$00c6(a6) ;Delay
+ lea devs_name(pc),a0
+ move.l a0,d1
+ moveq #-2,d2
+ jsr -$0054(a6) ;Lock
+ tst.l d0
+ beq.s .devsloop
+ move.l d0,d1
+ jsr -$005a(a6) ;Unlock
+ moveq #50,d1
+ jsr -$00c6(a6) ;Delay
+ lea clip_name(pc),a0
+ move.l a0,d1
+ moveq #-2,d2
+ jsr -$0054(a6) ;Lock
+ tst.l d0
+ beq.w clipdie
+ move.l d0,d1
+ jsr -$005a(a6) ;Unlock
+
+ move.l CLIP_EXEC(a5),a6
+
+ bsr.w createport
+ moveq #0,d1
+ move.w #52,d1
+ bsr.w createio
+ move.l d0,a4
+ tst.l d0
+ beq.w clipdie
+
+cfloop2
+ moveq #0,d0
+ bset #13,d0
+ jsr -$013e(a6) ;Wait
+
+ moveq #0,d1
+ move.l CLIP_UNIT(a5),d0
+ lea clip_dev(pc),a0
+ move.l a4,a1
+ jsr -$01bc(a6) ;OpenDevice
+ tst.l d0
+ bne.s cfloop2
+
+ move.w #$FF38,d0
+ moveq #15,d1
+ bsr.w getrtbase
+ jsr (a0)
+
+ bsr.w prefshook
+
+ lea CLIP_HOOK(a5),a0
+ move.l a0,40(a4)
+ moveq #1,d0
+ move.l d0,36(a4)
+ move.w #12,28(a4) ;CBD_CHANGEHOOK
+ move.l a5,CLIP_HOOK+16(a5)
+ lea cliphook(pc),a0
+ move.l a0,CLIP_HOOK+8(a5)
+ move.l a4,a1
+ jsr -$01c8(a6) ;DoIO
+
+cfloop
+ moveq #0,d0
+ moveq #0,d2
+ move.b CLIP_POINTER_NOTIFY+20(a5),d2
+ bset d2,d0
+ bset #13,d0
+ jsr -$013e(a6) ;Wait
+ btst d2,d0
+ beq.s .clipsignal
+ bsr.w prefsread
+ bra.s cfloop
+
+.clipsignal
+ move.l CLIP_WRITE_SIZE(a5),d0
+ beq.w clipread
+ ;allocate amiga-side space
+ moveq #1,d1
+ jsr AllocMem(a6)
+ move.l d0,CLIP_WRITE_ALLOC(a5)
+ ;and notify host-side
+ move.w #$FF38,d0
+ moveq #12,d1
+ bsr.w getrtbase
+ jsr (a0)
+ ; and now we should have the data in CLIP_WRITE_ALLOC
+ tst.l CLIP_WRITE_ALLOC(a5)
+ beq.s .nowrite
+
+ move.w #3,28(a4) ;CMD_WRITE
+ clr.b 31(a4)
+ clr.l 32(a4)
+ move.l CLIP_WRITE_SIZE(a5),36(a4)
+ move.l CLIP_WRITE_ALLOC(a5),40(a4)
+ clr.l 44(a4)
+ clr.l 48(a4)
+ move.l a4,a1
+ jsr -$01c8(a6) ;DoIO
+ move.l 48(a4),CLIP_ID(a5)
+ move.w #4,28(a4) ;CMD_UPDATE
+ move.l a4,a1
+ jsr -$01c8(a6) ;DoIO
+
+.nowrite
+ move.l CLIP_WRITE_SIZE(a5),d0
+ clr.l CLIP_WRITE_SIZE(a5)
+ move.l CLIP_WRITE_ALLOC(a5),d1
+ beq.w cfloop
+ move.l d1,a1
+ jsr FreeMem(a6)
+ bra.w cfloop
+
+clipread:
+ ; read first 8 bytes
+ move.w #2,28(a4) ;CMD_READ
+ lea CLIP_BUF(a5),a0
+ clr.l (a0)
+ clr.l 4(a0)
+ clr.b 31(a4)
+ clr.l 44(a4)
+ clr.l 48(a4)
+ move.l a0,40(a4)
+ moveq #8,d0
+ move.l d0,36(a4)
+ move.l a4,a1
+ jsr -$01c8(a6) ;DoIO
+ cmp.l #'FORM',CLIP_BUF(a5)
+ bne.s .cf1
+ move.l CLIP_BUF+4(a5),d0
+ beq.s .cf1
+ bmi.s .cf1
+ move.l 48(a4),CLIP_ID(a5)
+ addq.l #8,d0
+ move.l d0,d2
+ moveq #1,d1
+ jsr AllocMem(a6)
+ tst.l d0
+ beq.s .cf1
+ move.l d0,a2
+ ; read the rest
+ move.l a2,a0
+ move.l CLIP_BUF(a5),(a0)+
+ move.l CLIP_BUF+4(a5),(a0)+
+ move.l a0,40(a4)
+ move.l d2,d0
+ subq.l #8,d0
+ move.l d0,36(a4)
+ move.l a4,a1
+ jsr -$01c8(a6) ;DoIO
+ move.w #$FF38,d0
+ moveq #11,d1
+ bsr.w getrtbase
+ move.l 32(a4),d0
+ jsr (a0)
+ move.l a2,a1
+ move.l d2,d0
+ jsr FreeMem(a6)
+.cf1
+ ; tell clipboard.device that we are done (read until io_Actual==0)
+ tst.l 32(a4)
+ beq.w cfloop
+ lea CLIP_BUF(a5),a0
+ move.l a0,40(a4)
+ moveq #1,d0
+ move.l d0,36(a4)
+ clr.l 32(a4)
+ move.l a4,a1
+ jsr -$01c8(a6) ;DoIO
+ bra.s .cf1
+
+cliphook:
+ lea -CLIP_HOOK(a0),a0
+ move.l 8(a1),d0
+ cmp.l CLIP_ID(a0),d0 ;ClipHookMsg->chm_ClipID
+ beq.s .same
+ move.l d0,CLIP_ID(a0)
+ move.l a6,-(sp)
+ move.l CLIP_EXEC(a0),a6
+ move.l CLIP_TASK(a0),a1
+ moveq #0,d0
+ bset #13,d0 ;SIG_D
+ jsr -$0144(a6) ;Signal
+ move.l (sp)+,a6
+.same
+ moveq #0,d0
+ rts
+
+
inp_dev: dc.b 'input.device',0
tim_dev: dc.b 'timer.device',0
-mhname: dc.b 'UAE mouse hack',0
+devs_name: dc.b 'DEVS:',0
+clip_name: dc.b 'DEVS:clipboard.device',0
+ram_name: dc.b 'RAM:',0
+clip_dev: dc.b 'clipboard.device',0
+ ;argghh but StartNofity()ing non-existing ENV: causes "Insert disk ENV: in any drive" dialog..
+pointer_prefs: dc.b 'RAM:Env/Sys/Pointer.prefs',0
+clname: dc.b 'UAE clipboard sharing',0
+mhname: dc.b 'UAE mouse driver',0
exter_name: dc.b 'UAE filesystem',0
fstaskname: dc.b 'UAE fs automounter',0
fsprocname: dc.b 'UAE fs automount process',0
doslibname: dc.b 'dos.library',0
intlibname: dc.b 'intuition.library',0
+gfxlibname: dc.b 'graphics.library',0
explibname: dc.b 'expansion.library',0
fsresname: dc.b 'FileSystem.resource',0
END
#endif
p = name + strlen (name) - 1;
- if (p[0] == ':') p--;
- while (p > name && p[0] != ':' && p[0] != '/') p--;
- if (p[0] == ':' || p[0] == '/') p++;
+ if (p[0] == ':')
+ p--;
+ while (p > name && p[0] != ':' && p[0] != '/')
+ p--;
+ if (p[0] == ':' || p[0] == '/')
+ p++;
partname = my_strdup (p);
n = new_notify (unit, partname);
n->notifyrequest = nr;
PUT_PCK_RES1 (packet, DOS_TRUE);
}
-int get_native_path(uae_u32 lock, char *out)
+int get_native_path (uae_u32 lock, char *out)
{
int i = 0;
for (i = 0; i < MAX_FILESYSTEM_UNITS; i++) {
fsdb_set_file_attrs (aino);
put_long (fh + 36, k->uniq);
- if (create == 2)
+ if (create == 2) {
aino->elock = 1;
- else
+ // clear comment if file already existed
+ if (aino->comment) {
+ xfree (aino->comment);
+ aino->comment = 0;
+ }
+ fsdb_set_file_attrs (aino);
+ } else {
aino->shlock++;
+ }
de_recycle_aino (unit, aino);
PUT_PCK_RES1 (packet, DOS_TRUE);
}
uaecptr diminfo = m68k_areg (&context->regs, 2);
uaecptr dispinfo = m68k_areg (&context->regs, 3);
uaecptr vp = m68k_areg (&context->regs, 4);
- input_mousehack_status (mode, diminfo, dispinfo, vp);
+ input_mousehack_status (mode, diminfo, dispinfo, vp, m68k_dreg (&context->regs, 2));
} else if (mode == 10) {
amiga_clipboard_die ();
} else if (mode == 11) {
amiga_clipboard_task_start (m68k_dreg (&context->regs, 0));
} else if (mode == 15) {
amiga_clipboard_init ();
+ } else if (mode == 16) {
+ uaecptr a2 = m68k_areg (&context->regs, 2);
+ input_mousehack_mouseoffset (a2);
}
return 1;
}
return src;
}
-static uae_u8 *restore_notify(UnitInfo *ui, Unit *u, uae_u8 *src)
+static uae_u8 *restore_notify (UnitInfo *ui, Unit *u, uae_u8 *src)
{
- Notify *n = (Notify*)xcalloc (sizeof (Notify), 1);
+ Notify *n = xcalloc (sizeof (Notify), 1);
uae_u32 hash;
char *s;
- n->notifyrequest = restore_u32();
- s = restore_string();
- n->fullname = (char*)xmalloc (strlen(ui->volname) + 2 + strlen(s) + 1);
+ n->notifyrequest = restore_u32 ();
+ s = restore_string ();
+ n->fullname = xmalloc (strlen (ui->volname) + 2 + strlen (s) + 1);
sprintf (n->fullname, "%s:%s", ui->volname, s);
xfree(s);
- s = strrchr(n->fullname, '/');
+ s = strrchr (n->fullname, '/');
if (s)
s++;
else
s = n->fullname;
- n->partname = my_strdup(s);
+ n->partname = my_strdup (s);
hash = notifyhash (n->fullname);
n->next = u->notifyhash[hash];
u->notifyhash[hash] = n;
db(0x60); db(0x00); db(0x09); db(0x8e); db(0x00); db(0x00); db(0x07); db(0x6c);
db(0x00); db(0x00); db(0x00); db(0x30); db(0x00); db(0x00); db(0x01); db(0x8c);
db(0x00); db(0x00); db(0x00); db(0x1c); db(0x00); db(0x00); db(0x02); db(0x48);
- db(0x00); db(0x00); db(0x0d); db(0x5c); db(0x43); db(0xfa); db(0x15); db(0x6f);
+ db(0x00); db(0x00); db(0x0d); db(0x5c); db(0x43); db(0xfa); db(0x16); db(0x64);
db(0x4e); db(0xae); db(0xff); db(0xa0); db(0x20); db(0x40); db(0x20); db(0x28);
db(0x00); db(0x16); db(0x20); db(0x40); db(0x4e); db(0x90); db(0x4e); db(0x75);
db(0x48); db(0xe7); db(0xff); db(0xfe); db(0x2c); db(0x78); db(0x00); db(0x04);
db(0x30); db(0x3c); db(0xff); db(0xfc); db(0x61); db(0x00); db(0x0b); db(0x8a);
- db(0x2a); db(0x50); db(0x43); db(0xfa); db(0x15); db(0x78); db(0x70); db(0x24);
+ db(0x2a); db(0x50); db(0x43); db(0xfa); db(0x16); db(0x6d); db(0x70); db(0x24);
db(0x7a); db(0x01); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x4a); db(0x80);
- db(0x66); db(0x0c); db(0x43); db(0xfa); db(0x15); db(0x68); db(0x70); db(0x00);
+ db(0x66); db(0x0c); db(0x43); db(0xfa); db(0x16); db(0x5d); db(0x70); db(0x00);
db(0x7a); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x28); db(0x40);
db(0x4a); db(0xad); db(0x01); db(0x0c); db(0x67); db(0x5a); db(0x20); db(0x3c);
db(0x00); db(0x00); db(0x02); db(0x2c); db(0x22); db(0x3c); db(0x00); db(0x01);
db(0x0a); db(0xf8); db(0x4e); db(0x90); db(0x72); db(0x03); db(0x74); db(0xf6);
db(0x20); db(0x7c); db(0x00); db(0x20); db(0x00); db(0x00); db(0x90); db(0x88);
db(0x65); db(0x0a); db(0x67); db(0x08); db(0x78); db(0x00); db(0x22); db(0x44);
- db(0x4e); db(0xae); db(0xfd); db(0x96); db(0x41); db(0xfa); db(0x14); db(0x73);
+ db(0x4e); db(0xae); db(0xfd); db(0x96); db(0x41); db(0xfa); db(0x15); db(0x68);
db(0x43); db(0xfa); db(0x00); db(0x54); db(0x70); db(0x0a); db(0x61); db(0x00);
db(0x0b); db(0xac); db(0x22); db(0x40); db(0x72); db(0x01); db(0x30); db(0x3c);
db(0xff); db(0x48); db(0x61); db(0x00); db(0x0a); db(0xc4); db(0x4e); db(0x90);
db(0x4c); db(0xdf); db(0x7f); db(0xff); db(0x4e); db(0x75); db(0x48); db(0xe7);
db(0x38); db(0x22); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x24); db(0x00);
db(0x28); db(0x01); db(0x26); db(0x09); db(0x24); db(0x48); db(0x43); db(0xfa);
- db(0x14); db(0x6d); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8);
+ db(0x15); db(0x62); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8);
db(0x4a); db(0x80); db(0x67); db(0x14); db(0x2c); db(0x40); db(0x22); db(0x0a);
db(0xe4); db(0x8b); db(0x4e); db(0xae); db(0xff); db(0x76); db(0x22); db(0x4e);
db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4e); db(0xae); db(0xfe); db(0x62);
db(0x4c); db(0xdf); db(0x44); db(0x1c); db(0x4e); db(0x75); db(0x2c); db(0x78);
db(0x00); db(0x04); db(0x70); db(0x00); db(0x08); db(0xc0); db(0x00); db(0x0d);
- db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x41); db(0xfa); db(0x14); db(0x1e);
+ db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x41); db(0xfa); db(0x15); db(0x13);
db(0x43); db(0xfa); db(0x00); db(0x16); db(0x70); db(0x0f); db(0x22); db(0x3c);
db(0x00); db(0x00); db(0x1f); db(0x40); db(0x61); db(0x00); db(0xff); db(0xa8);
db(0x60); db(0xdc); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x10);
db(0x70); db(0x01); db(0x4c); db(0xdf); db(0x04); db(0x00); db(0x4e); db(0x75);
db(0x48); db(0xe7); db(0xc0); db(0xc0); db(0x70); db(0x1a); db(0x22); db(0x3c);
db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
- db(0x22); db(0x40); db(0x41); db(0xfa); db(0x12); db(0xf6); db(0x23); db(0x48);
+ db(0x22); db(0x40); db(0x41); db(0xfa); db(0x13); db(0xeb); db(0x23); db(0x48);
db(0x00); db(0x0a); db(0x41); db(0xfa); db(0xff); db(0x28); db(0x23); db(0x48);
db(0x00); db(0x0e); db(0x41); db(0xfa); db(0xff); db(0x20); db(0x23); db(0x48);
db(0x00); db(0x12); db(0x33); db(0x7c); db(0x02); db(0x14); db(0x00); db(0x08);
db(0x70); db(0x03); db(0x4e); db(0xae); db(0xff); db(0x58); db(0x30); db(0x3a);
db(0x0a); db(0xdc); db(0x67); db(0x04); db(0x61); db(0x00); db(0x0a); db(0x7a);
db(0x0c); db(0x6e); db(0x00); db(0x24); db(0x00); db(0x14); db(0x65); db(0x04);
- db(0x61); db(0x00); db(0x0f); db(0x62); db(0x4c); db(0xdf); db(0x03); db(0x03);
+ db(0x61); db(0x00); db(0x0f); db(0x5a); db(0x4c); db(0xdf); db(0x03); db(0x03);
db(0x4e); db(0x75); db(0x48); db(0xe7); db(0xc0); db(0xf2); db(0x2c); db(0x78);
db(0x00); db(0x04); db(0x24); db(0x48); db(0x26); db(0x49); db(0x20); db(0x3c);
db(0x00); db(0x00); db(0x00); db(0xbe); db(0x22); db(0x3c); db(0x00); db(0x01);
db(0x00); db(0x00); db(0x00); db(0x0e); db(0x52); db(0x40); db(0x0c); db(0x40);
db(0x00); db(0x8c); db(0x66); db(0xf2); db(0x20); db(0x0a); db(0xe4); db(0x88);
db(0x21); db(0x40); db(0x00); db(0x36); db(0x22); db(0x48); db(0x41); db(0xfa);
- db(0x12); db(0x7a); db(0x23); db(0x48); db(0x00); db(0x0a); db(0x20); db(0x6b);
+ db(0x13); db(0x6f); db(0x23); db(0x48); db(0x00); db(0x0a); db(0x20); db(0x6b);
db(0x01); db(0x98); db(0x41); db(0xe8); db(0x00); db(0x12); db(0x4e); db(0xae);
db(0xff); db(0x10); db(0x4c); db(0xdf); db(0x4f); db(0x03); db(0x4e); db(0x75);
db(0x48); db(0xe7); db(0x7f); db(0x7e); db(0x2c); db(0x78); db(0x00); db(0x04);
db(0x60); db(0xf4); db(0x48); db(0xe7); db(0x40); db(0xe2); db(0x2c); db(0x78);
db(0x00); db(0x04); db(0x41); db(0xee); db(0x01); db(0x50); db(0x20); db(0x50);
db(0x4a); db(0x90); db(0x67); db(0x1a); db(0x22); db(0x68); db(0x00); db(0x0a);
- db(0x45); db(0xfa); db(0x11); db(0xcc); db(0x10); db(0x19); db(0x12); db(0x1a);
+ db(0x45); db(0xfa); db(0x12); db(0xc1); db(0x10); db(0x19); db(0x12); db(0x1a);
db(0xb0); db(0x01); db(0x66); db(0x06); db(0x4a); db(0x00); db(0x67); db(0x42);
db(0x60); db(0xf2); db(0x20); db(0x50); db(0x60); db(0xe2); db(0x70); db(0x20);
db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae);
db(0xff); db(0x3a); db(0x24); db(0x40); db(0x15); db(0x7c); db(0x00); db(0x08);
- db(0x00); db(0x08); db(0x41); db(0xfa); db(0x11); db(0xa2); db(0x25); db(0x48);
- db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x11); db(0x1e); db(0x25); db(0x48);
+ db(0x00); db(0x08); db(0x41); db(0xfa); db(0x12); db(0x97); db(0x25); db(0x48);
+ db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x12); db(0x13); db(0x25); db(0x48);
db(0x00); db(0x0e); db(0x41); db(0xea); db(0x00); db(0x12); db(0x20); db(0x88);
db(0x58); db(0x90); db(0x21); db(0x48); db(0x00); db(0x08); db(0x41); db(0xee);
db(0x01); db(0x50); db(0x22); db(0x4a); db(0x4e); db(0xae); db(0xff); db(0x0a);
db(0x67); db(0x3a); db(0x20); db(0x52); db(0x24); db(0x40); db(0x22); db(0x4a);
db(0x12); db(0xd8); db(0x66); db(0xfc); db(0x13); db(0x7c); db(0x00); db(0x3a);
db(0xff); db(0xff); db(0x42); db(0x11); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x43); db(0xfa); db(0x0c); db(0x9b); db(0x70); db(0x00); db(0x4e); db(0xae);
+ db(0x43); db(0xfa); db(0x0d); db(0x90); db(0x70); db(0x00); db(0x4e); db(0xae);
db(0xfd); db(0xd8); db(0x2c); db(0x40); db(0x22); db(0x0a); db(0x4e); db(0xae);
db(0xff); db(0x52); db(0x22); db(0x4e); db(0x2c); db(0x78); db(0x00); db(0x04);
db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x22); db(0x4a); db(0x20); db(0x02);
db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x70); db(0x00); db(0x4e); db(0x75);
db(0x48); db(0xe7); db(0x3f); db(0x3e); db(0x2c); db(0x01); db(0x7e); db(0x06);
- db(0x2c); db(0x78); db(0x00); db(0x04); db(0x43); db(0xfa); db(0x0c); db(0x96);
+ db(0x2c); db(0x78); db(0x00); db(0x04); db(0x43); db(0xfa); db(0x0d); db(0x8b);
db(0x70); db(0x24); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x4a); db(0x80);
db(0x66); db(0x0e); db(0x08); db(0x87); db(0x00); db(0x02); db(0x43); db(0xfa);
- db(0x0c); db(0x84); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8);
+ db(0x0d); db(0x79); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8);
db(0x28); db(0x40); db(0x20); db(0x3c); db(0x00); db(0x00); db(0x02); db(0x2c);
db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae);
db(0xff); db(0x3a); db(0x20); db(0x40); db(0x4a); db(0x80); db(0x67); db(0x2c);
db(0xfe); db(0x62); db(0x4c); db(0xdf); db(0x7c); db(0xfc); db(0x4e); db(0x75);
db(0x2c); db(0x78); db(0x00); db(0x04); db(0x93); db(0xc9); db(0x4e); db(0xae);
db(0xfe); db(0xda); db(0x20); db(0x40); db(0x4b); db(0xe8); db(0x00); db(0x5c);
- db(0x43); db(0xfa); db(0x0b); db(0xeb); db(0x70); db(0x00); db(0x4e); db(0xae);
+ db(0x43); db(0xfa); db(0x0c); db(0xe0); db(0x70); db(0x00); db(0x4e); db(0xae);
db(0xfd); db(0xd8); db(0x24); db(0x40); db(0x20); db(0x3c); db(0x00); db(0x00);
db(0x00); db(0xb9); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x26); db(0x40); db(0x7c); db(0x00);
db(0x26); db(0x86); db(0x27); db(0x46); db(0x00); db(0x04); db(0x27); db(0x46);
db(0x00); db(0x08); db(0x27); db(0x4a); db(0x00); db(0xa0); db(0x50); db(0xeb);
db(0x00); db(0x9e); db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda);
- db(0x27); db(0x40); db(0x00); db(0xb0); db(0x41); db(0xfa); db(0x0b); db(0x06);
+ db(0x27); db(0x40); db(0x00); db(0xb0); db(0x41); db(0xfa); db(0x0b); db(0xdc);
db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00); db(0x02); db(0x84);
- db(0x27); db(0x40); db(0x00); db(0xa4); db(0x41); db(0xfa); db(0x0b); db(0x03);
+ db(0x27); db(0x40); db(0x00); db(0xa4); db(0x41); db(0xfa); db(0x0b); db(0xd9);
db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00); db(0x02); db(0x74);
db(0x27); db(0x40); db(0x00); db(0xa8); db(0x7a); db(0x00); db(0x20); db(0x4d);
db(0x4e); db(0xae); db(0xfe); db(0x80); db(0x20); db(0x4d); db(0x4e); db(0xae);
db(0x25); db(0x4b); db(0x00); db(0x36); db(0x22); db(0x4a); db(0x24); db(0x43);
db(0x97); db(0xcb); db(0x24); db(0x09); db(0x4e); db(0xae); db(0xfe); db(0xe6);
db(0x20); db(0x02); db(0x4c); db(0xdf); db(0x4c); db(0x1c); db(0x4e); db(0x75);
- db(0x41); db(0xfa); db(0x08); db(0x3f); db(0x43); db(0xfa); db(0x01); db(0x30);
+ db(0x41); db(0xfa); db(0x09); db(0x34); db(0x43); db(0xfa); db(0x01); db(0x5c);
db(0x70); db(0x13); db(0x61); db(0x00); db(0xff); db(0x98); db(0x4e); db(0x75);
- db(0x22); db(0x6d); db(0x01); db(0x9e); db(0x33); db(0x7c); db(0x00); db(0x0a);
+ db(0x22); db(0x6d); db(0x02); db(0x0c); db(0x33); db(0x7c); db(0x00); db(0x0a);
db(0x00); db(0x1c); db(0x13); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x1e);
- db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x22); db(0x6d); db(0x01); db(0x9e);
+ db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x22); db(0x6d); db(0x02); db(0x0c);
db(0x25); db(0x69); db(0x00); db(0x20); db(0x00); db(0x0e); db(0x25); db(0x69);
- db(0x00); db(0x24); db(0x00); db(0x12); db(0x22); db(0x6d); db(0x01); db(0x9a);
+ db(0x00); db(0x24); db(0x00); db(0x12); db(0x22); db(0x6d); db(0x02); db(0x08);
db(0x13); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x1e); db(0x4e); db(0xae);
db(0xfe); db(0x38); db(0x4e); db(0x75); db(0x42); db(0xaa); db(0x00); db(0x0e);
- db(0x42); db(0xaa); db(0x00); db(0x12); db(0x22); db(0x6d); db(0x01); db(0x9a);
+ db(0x42); db(0xaa); db(0x00); db(0x12); db(0x22); db(0x6d); db(0x02); db(0x08);
db(0x13); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x1e); db(0x4e); db(0xae);
db(0xfe); db(0x38); db(0x4e); db(0x75); db(0x00); db(0x00); db(0xff); db(0xff);
db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00);
db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00);
db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00);
db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00);
- db(0x48); db(0xe7); db(0xf0); db(0xfe); db(0x2a); db(0x48); db(0x95); db(0xca);
- db(0x97); db(0xcb); db(0x99); db(0xcc); db(0x2c); db(0x6d); db(0x00); db(0x18);
- db(0x20); db(0x6d); db(0x00); db(0x14); db(0x20); db(0x28); db(0x00); db(0x3c);
- db(0x67); db(0x40); db(0x20); db(0x40); db(0x41); db(0xe8); db(0x00); db(0x2c);
- db(0x28); db(0x48); db(0x4e); db(0xae); db(0xfc); db(0xe8); db(0x72); db(0xff);
- db(0xb2); db(0x80); db(0x67); db(0x2e); db(0x26); db(0x00); db(0x91); db(0xc8);
- db(0x43); db(0xed); db(0x00); db(0x30); db(0x70); db(0x00); db(0x30); db(0x3c);
- db(0x00); db(0x58); db(0x22); db(0x3c); db(0x80); db(0x00); db(0x10); db(0x00);
- db(0x24); db(0x03); db(0x4e); db(0xae); db(0xfd); db(0x0c); db(0x72); db(0xff);
- db(0x74); db(0xff); db(0x4a); db(0x80); db(0x6b); db(0x0c); db(0x45); db(0xed);
- db(0x00); db(0x30); db(0x22); db(0x2a); db(0x00); db(0x32); db(0x24); db(0x2a);
- db(0x00); db(0x36); db(0x20); db(0x2c); db(0x00); db(0x1c); db(0xb0); db(0xad);
- db(0x00); db(0x28); db(0x66); db(0x0c); db(0xb2); db(0xad); db(0x00); db(0x20);
- db(0x66); db(0x06); db(0xb4); db(0xad); db(0x00); db(0x24); db(0x67); db(0x38);
- db(0x2b); db(0x40); db(0x00); db(0x28); db(0x2b); db(0x41); db(0x00); db(0x20);
- db(0x2b); db(0x42); db(0x00); db(0x24); db(0x91); db(0xc8); db(0x43); db(0xed);
- db(0x00); db(0x88); db(0x70); db(0x00); db(0x30); db(0x3c); db(0x00); db(0x58);
+ db(0x48); db(0xe7); db(0xf8); db(0xfe); db(0x2a); db(0x48); db(0x95); db(0xca);
+ db(0x97); db(0xcb); db(0x99); db(0xcc); db(0x78); db(0x00); db(0x2c); db(0x6d);
+ db(0x00); db(0x18); db(0x20); db(0x6d); db(0x00); db(0x14); db(0x20); db(0x28);
+ db(0x00); db(0x3c); db(0x67); db(0x5c); db(0x20); db(0x40); db(0x41); db(0xe8);
+ db(0x00); db(0x2c); db(0x28); db(0x48); db(0x4e); db(0xae); db(0xfc); db(0xe8);
+ db(0x72); db(0xff); db(0x74); db(0xff); db(0xb2); db(0x80); db(0x67); db(0x48);
+ db(0x26); db(0x00); db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x41); db(0xed);
+ db(0x00); db(0xc0); db(0x70); db(0x66); db(0x4e); db(0xae); db(0xff); db(0x7c);
+ db(0x41); db(0xed); db(0x00); db(0xc0); db(0x38); db(0x28); db(0x00); db(0x64);
+ db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x91); db(0xc8); db(0x43); db(0xed);
+ db(0x00); db(0x38); db(0x70); db(0x00); db(0x30); db(0x3c); db(0x00); db(0x58);
+ db(0x22); db(0x3c); db(0x80); db(0x00); db(0x10); db(0x00); db(0x24); db(0x03);
+ db(0x4e); db(0xae); db(0xfd); db(0x0c); db(0x72); db(0xff); db(0x74); db(0xff);
+ db(0x4a); db(0x80); db(0x6b); db(0x0c); db(0x45); db(0xed); db(0x00); db(0x38);
+ db(0x22); db(0x2a); db(0x00); db(0x32); db(0x24); db(0x2a); db(0x00); db(0x36);
+ db(0x20); db(0x2c); db(0x00); db(0x1c); db(0xb8); db(0x6d); db(0x00); db(0x2c);
+ db(0x66); db(0x12); db(0xb0); db(0xad); db(0x00); db(0x28); db(0x66); db(0x0c);
+ db(0xb2); db(0xad); db(0x00); db(0x20); db(0x66); db(0x06); db(0xb4); db(0xad);
+ db(0x00); db(0x24); db(0x67); db(0x40); db(0x2b); db(0x40); db(0x00); db(0x28);
+ db(0x2b); db(0x41); db(0x00); db(0x20); db(0x2b); db(0x42); db(0x00); db(0x24);
+ db(0x3b); db(0x44); db(0x00); db(0x2c); db(0x91); db(0xc8); db(0x43); db(0xed);
+ db(0x00); db(0x90); db(0x70); db(0x00); db(0x30); db(0x3c); db(0x00); db(0x58);
db(0x22); db(0x3c); db(0x80); db(0x00); db(0x00); db(0x00); db(0x24); db(0x03);
db(0x4e); db(0xae); db(0xfd); db(0x0c); db(0x4a); db(0x80); db(0x6b); db(0x04);
- db(0x47); db(0xed); db(0x00); db(0x88); db(0x30); db(0x3c); db(0xff); db(0x38);
- db(0x72); db(0x01); db(0x61); db(0x00); db(0xfd); db(0x9c); db(0x4e); db(0x90);
- db(0x4c); db(0xdf); db(0x7f); db(0x0f); db(0x4e); db(0x75); db(0x2c); db(0x78);
- db(0x00); db(0x04); db(0x3e); db(0x2e); db(0x00); db(0x14); db(0x70); db(0xff);
- db(0x4e); db(0xae); db(0xfe); db(0xb6); db(0x7c); db(0x00); db(0x01); db(0xc6);
- db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x28); db(0x40);
- db(0x70); db(0x14); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0xd4);
- db(0x70); db(0x00); db(0x30); db(0x3c); db(0x01); db(0xa2); db(0x22); db(0x3c);
- db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
- db(0x2a); db(0x40); db(0x47); db(0xed); db(0x00); db(0x16); db(0x27); db(0x4e);
- db(0x00); db(0x10); db(0x27); db(0x4c); db(0x00); db(0x08); db(0x27); db(0x46);
- db(0x00); db(0x0c); db(0x70); db(0xff); db(0x37); db(0x40); db(0x00); db(0x00);
- db(0x43); db(0xed); db(0x00); db(0x00); db(0x13); db(0x7c); db(0x00); db(0x02);
- db(0x00); db(0x08); db(0x13); db(0x7c); db(0x00); db(0x05); db(0x00); db(0x09);
- db(0x41); db(0xfa); db(0x06); db(0xaf); db(0x23); db(0x48); db(0x00); db(0x0a);
- db(0x41); db(0xfa); db(0x03); db(0x0e); db(0x23); db(0x48); db(0x00); db(0x12);
- db(0x23); db(0x4d); db(0x00); db(0x0e); db(0x70); db(0x05); db(0x4e); db(0xae);
- db(0xff); db(0x58); db(0x20); db(0x06); db(0x4e); db(0xae); db(0xfe); db(0xc2);
- db(0x70); db(0x00); db(0x53); db(0xab); db(0x00); db(0x1c); db(0x6a); db(0x06);
- db(0x70); db(0x0a); db(0x27); db(0x40); db(0x00); db(0x1c); db(0x4a); db(0xab);
- db(0x00); db(0x14); db(0x66); db(0x18); db(0x4a); db(0xab); db(0x00); db(0x1c);
- db(0x66); db(0xe0); db(0x43); db(0xfa); db(0x06); db(0xcd); db(0x70); db(0x00);
- db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x27); db(0x40); db(0x00); db(0x14);
- db(0x67); db(0x00); db(0xff); db(0xd0); db(0x4a); db(0xab); db(0x00); db(0x18);
- db(0x66); db(0x18); db(0x4a); db(0xab); db(0x00); db(0x1c); db(0x66); db(0xc2);
- db(0x43); db(0xfa); db(0x06); db(0xc1); db(0x70); db(0x00); db(0x4e); db(0xae);
- db(0xfd); db(0xd8); db(0x27); db(0x40); db(0x00); db(0x18); db(0x67); db(0x00);
- db(0xff); db(0xb2); db(0x4a); db(0xad); db(0x01); db(0x9a); db(0x66); db(0x38);
- db(0x4a); db(0xab); db(0x00); db(0x1c); db(0x66); db(0xa4); db(0x4e); db(0xae);
- db(0xff); db(0x7c); db(0x41); db(0xee); db(0x01); db(0x5e); db(0x43); db(0xfa);
- db(0x05); db(0xd4); db(0x4e); db(0xae); db(0xfe); db(0xec); db(0x24); db(0x00);
- db(0x4e); db(0xae); db(0xff); db(0x76); db(0x4a); db(0x82); db(0x67); db(0x8a);
- db(0x41); db(0xfa); db(0x05); db(0xc2); db(0x70); db(0x00); db(0x72); db(0x00);
- db(0x61); db(0x00); db(0xfd); db(0x40); db(0x2b); db(0x40); db(0x01); db(0x9a);
- db(0x67); db(0x00); db(0x02); db(0x74); db(0x60); db(0x00); db(0xff); db(0x74);
- db(0x4a); db(0xad); db(0x01); db(0x9e); db(0x66); db(0x48); db(0x4a); db(0xab);
- db(0x00); db(0x1c); db(0x66); db(0x00); db(0xff); db(0x66); db(0x4e); db(0xae);
- db(0xff); db(0x7c); db(0x41); db(0xee); db(0x01); db(0x5e); db(0x43); db(0xfa);
- db(0x05); db(0xa1); db(0x4e); db(0xae); db(0xfe); db(0xec); db(0x24); db(0x00);
- db(0x4e); db(0xae); db(0xff); db(0x76); db(0x4a); db(0x82); db(0x67); db(0x00);
- db(0xff); db(0x4a); db(0x41); db(0xfa); db(0x05); db(0x8d); db(0x70); db(0x00);
- db(0x72); db(0x00); db(0x61); db(0x00); db(0xfc); db(0xfe); db(0x2b); db(0x40);
- db(0x01); db(0x9e); db(0x67); db(0x00); db(0x02); db(0x32); db(0x30); db(0x3c);
- db(0xff); db(0x38); db(0x72); db(0x00); db(0x61); db(0x00); db(0xfc); db(0x4a);
- db(0x4e); db(0x90); db(0x60); db(0x00); db(0xff); db(0x26); db(0x0c); db(0x47);
- db(0x00); db(0x24); db(0x65); db(0x06); db(0x20); db(0x4b); db(0x61); db(0x00);
- db(0xfd); db(0xf8); db(0x22); db(0x6d); db(0x01); db(0x9a); db(0x45); db(0xed);
- db(0x00); db(0xce); db(0x33); db(0x7c); db(0x00); db(0x0b); db(0x00); db(0x1c);
- db(0x23); db(0x7c); db(0x00); db(0x00); db(0x00); db(0x16); db(0x00); db(0x24);
- db(0x23); db(0x4a); db(0x00); db(0x28); db(0x10); db(0x3a); db(0xfd); db(0xae);
- db(0x6a); db(0x08); db(0x0c); db(0x47); db(0x00); db(0x24); db(0x65); db(0x00);
- db(0x01); db(0xaa); db(0x15); db(0x7c); db(0x00); db(0x13); db(0x00); db(0x04);
- db(0x42); db(0x6a); db(0x00); db(0x06); db(0x22); db(0x3a); db(0xfd); db(0xb8);
+ db(0x47); db(0xed); db(0x00); db(0x90); db(0x34); db(0x2d); db(0x00); db(0x2c);
+ db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x01); db(0x61); db(0x00);
+ db(0xfd); db(0x70); db(0x4e); db(0x90); db(0x4c); db(0xdf); db(0x7f); db(0x1f);
+ db(0x4e); db(0x75); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x3e); db(0x2e);
+ db(0x00); db(0x14); db(0x70); db(0xff); db(0x4e); db(0xae); db(0xfe); db(0xb6);
+ db(0x7c); db(0x00); db(0x01); db(0xc6); db(0x93); db(0xc9); db(0x4e); db(0xae);
+ db(0xfe); db(0xda); db(0x28); db(0x40); db(0x70); db(0x14); db(0x22); db(0x4c);
+ db(0x4e); db(0xae); db(0xfe); db(0xd4); db(0x70); db(0x00); db(0x30); db(0x3c);
+ db(0x02); db(0x10); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
+ db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x2a); db(0x40); db(0x47); db(0xed);
+ db(0x00); db(0x16); db(0x27); db(0x4e); db(0x00); db(0x10); db(0x27); db(0x4c);
+ db(0x00); db(0x08); db(0x27); db(0x46); db(0x00); db(0x0c); db(0x70); db(0xff);
+ db(0x37); db(0x40); db(0x00); db(0x00); db(0x43); db(0xed); db(0x00); db(0x00);
+ db(0x13); db(0x7c); db(0x00); db(0x02); db(0x00); db(0x08); db(0x13); db(0x7c);
+ db(0x00); db(0x05); db(0x00); db(0x09); db(0x41); db(0xfa); db(0x07); db(0x78);
+ db(0x23); db(0x48); db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x02); db(0xda);
+ db(0x23); db(0x48); db(0x00); db(0x12); db(0x23); db(0x4d); db(0x00); db(0x0e);
+ db(0x70); db(0x05); db(0x4e); db(0xae); db(0xff); db(0x58); db(0x20); db(0x06);
+ db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x70); db(0x00); db(0x53); db(0xab);
+ db(0x00); db(0x1c); db(0x6a); db(0x06); db(0x70); db(0x0a); db(0x27); db(0x40);
+ db(0x00); db(0x1c); db(0x4a); db(0xab); db(0x00); db(0x14); db(0x66); db(0x16);
+ db(0x4a); db(0xab); db(0x00); db(0x1c); db(0x66); db(0xe0); db(0x43); db(0xfa);
+ db(0x07); db(0x96); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8);
+ db(0x27); db(0x40); db(0x00); db(0x14); db(0x67); db(0xd0); db(0x4a); db(0xab);
+ db(0x00); db(0x18); db(0x66); db(0x18); db(0x4a); db(0xab); db(0x00); db(0x1c);
+ db(0x66); db(0xc4); db(0x43); db(0xfa); db(0x07); db(0x8c); db(0x70); db(0x00);
+ db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x27); db(0x40); db(0x00); db(0x18);
+ db(0x67); db(0x00); db(0xff); db(0xb4); db(0x4a); db(0xad); db(0x02); db(0x08);
+ db(0x66); db(0x38); db(0x4a); db(0xab); db(0x00); db(0x1c); db(0x66); db(0xa6);
+ db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x41); db(0xee); db(0x01); db(0x5e);
+ db(0x43); db(0xfa); db(0x06); db(0x80); db(0x4e); db(0xae); db(0xfe); db(0xec);
+ db(0x24); db(0x00); db(0x4e); db(0xae); db(0xff); db(0x76); db(0x4a); db(0x82);
+ db(0x67); db(0x8c); db(0x41); db(0xfa); db(0x06); db(0x6e); db(0x70); db(0x00);
+ db(0x72); db(0x00); db(0x61); db(0x00); db(0xfd); db(0x16); db(0x2b); db(0x40);
+ db(0x02); db(0x08); db(0x67); db(0x00); db(0x02); db(0x42); db(0x60); db(0x00);
+ db(0xff); db(0x76); db(0x4a); db(0xad); db(0x02); db(0x0c); db(0x66); db(0x48);
+ db(0x4a); db(0xab); db(0x00); db(0x1c); db(0x66); db(0x00); db(0xff); db(0x68);
+ db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x41); db(0xee); db(0x01); db(0x5e);
+ db(0x43); db(0xfa); db(0x06); db(0x4d); db(0x4e); db(0xae); db(0xfe); db(0xec);
+ db(0x24); db(0x00); db(0x4e); db(0xae); db(0xff); db(0x76); db(0x4a); db(0x82);
+ db(0x67); db(0x00); db(0xff); db(0x4c); db(0x41); db(0xfa); db(0x06); db(0x39);
+ db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00); db(0xfc); db(0xd4);
+ db(0x2b); db(0x40); db(0x02); db(0x0c); db(0x67); db(0x00); db(0x02); db(0x00);
+ db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x00); db(0x61); db(0x00);
+ db(0xfc); db(0x20); db(0x4e); db(0x90); db(0x60); db(0x00); db(0xff); db(0x28);
+ db(0x0c); db(0x47); db(0x00); db(0x24); db(0x65); db(0x12); db(0x53); db(0xab);
+ db(0x00); db(0x34); db(0x6a); db(0x0c); db(0x20); db(0x4b); db(0x61); db(0x00);
+ db(0xfd); db(0xc8); db(0x70); db(0x32); db(0x27); db(0x40); db(0x00); db(0x34);
+ db(0x22); db(0x6d); db(0x02); db(0x08); db(0x45); db(0xed); db(0x01); db(0x3c);
+ db(0x33); db(0x7c); db(0x00); db(0x0b); db(0x00); db(0x1c); db(0x23); db(0x7c);
+ db(0x00); db(0x00); db(0x00); db(0x16); db(0x00); db(0x24); db(0x23); db(0x4a);
+ db(0x00); db(0x28); db(0x10); db(0x3a); db(0xfd); db(0x78); db(0x0c); db(0x47);
+ db(0x00); db(0x27); db(0x65); db(0x00); db(0x01); db(0x62); db(0x08); db(0x00);
+ db(0x00); db(0x01); db(0x67); db(0x00); db(0x01); db(0x5a); db(0x41); db(0xed);
+ db(0x01); db(0x68); db(0x25); db(0x48); db(0x00); db(0x0a); db(0x15); db(0x7c);
+ db(0x00); db(0x13); db(0x00); db(0x04); db(0x15); db(0x7c); db(0x00); db(0x03);
+ db(0x00); db(0x05); db(0x42); db(0x90); db(0x42); db(0xa8); db(0x00); db(0x04);
+ db(0x42); db(0x6a); db(0x00); db(0x06); db(0x42); db(0xa8); db(0x00); db(0x08);
+ db(0x42); db(0x68); db(0x00); db(0x0c); db(0x22); db(0x3a); db(0xfd); db(0x60);
db(0x02); db(0x41); db(0x00); db(0x07); db(0x70); db(0x07); db(0x90); db(0x41);
db(0xe1); db(0x48); db(0xe9); db(0x48); db(0x35); db(0x40); db(0x00); db(0x08);
- db(0x41); db(0xed); db(0x00); db(0xfa); db(0x25); db(0x48); db(0x00); db(0x0a);
- db(0x10); db(0x3a); db(0xfd); db(0x7a); db(0x6b); db(0x00); db(0x00); db(0xf2);
- db(0x0c); db(0x47); db(0x00); db(0x27); db(0x65); db(0x00); db(0x00); db(0xee);
- db(0x15); db(0x7c); db(0x00); db(0x03); db(0x00); db(0x05); db(0x42); db(0x90);
- db(0x42); db(0xa8); db(0x00); db(0x04); db(0x42); db(0xa8); db(0x00); db(0x08);
- db(0x42); db(0x68); db(0x00); db(0x0c); db(0x31); db(0x7a); db(0xfd); db(0x60);
- db(0x00); db(0x0e); db(0x42); db(0x68); db(0x00); db(0x10); db(0x31); db(0x7a);
- db(0xfd); db(0x58); db(0x00); db(0x12); db(0x42); db(0x68); db(0x00); db(0x14);
- db(0x31); db(0x7a); db(0xfd); db(0x46); db(0x00); db(0x16); db(0x42); db(0x68);
- db(0x00); db(0x18); db(0x31); db(0x7a); db(0xfd); db(0x3e); db(0x00); db(0x1a);
- db(0x43); db(0xed); db(0x01); db(0x1a); db(0x21); db(0x49); db(0x00); db(0x1c);
- db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x06); db(0x30); db(0x3a);
- db(0xfd); db(0x44); db(0x48); db(0xc0); db(0xe1); db(0x80); db(0x22); db(0xc0);
- db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x07); db(0x22); db(0xfa);
- db(0xfd); db(0x36); db(0x70); db(0x00); db(0x30); db(0x3a); db(0xfd); db(0x1e);
- db(0x6b); db(0x08); db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x09);
- db(0x22); db(0xc0); db(0x30); db(0x3a); db(0xfd); db(0x12); db(0x6b); db(0x08);
- db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x0a); db(0x22); db(0xc0);
- db(0x30); db(0x3a); db(0xfc); db(0xfa); db(0x6b); db(0x14); db(0x22); db(0xfc);
- db(0x80); db(0x03); db(0xa0); db(0x02); db(0x22); db(0xc0); db(0x30); db(0x3a);
- db(0xfc); db(0xf2); db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x01);
- db(0x22); db(0xc0); db(0x30); db(0x3a); db(0xfc); db(0xec); db(0x6b); db(0x10);
- db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x03); db(0x30); db(0x3a);
- db(0xfc); db(0xe6); db(0x48); db(0xc0); db(0xe1); db(0x80); db(0x22); db(0xc0);
- db(0x30); db(0x3a); db(0xfc); db(0xd8); db(0x6b); db(0x10); db(0x22); db(0xfc);
- db(0x80); db(0x03); db(0xa0); db(0x04); db(0x30); db(0x3a); db(0xfc); db(0xd2);
- db(0x48); db(0xc0); db(0xe1); db(0x80); db(0x22); db(0xc0); db(0x30); db(0x3a);
- db(0xfc); db(0xc4); db(0x6b); db(0x10); db(0x22); db(0xfc); db(0x80); db(0x03);
- db(0xa0); db(0x05); db(0x30); db(0x3a); db(0xfc); db(0xbe); db(0x48); db(0xc0);
- db(0xe1); db(0x80); db(0x22); db(0xc0); db(0x70); db(0x00); db(0x30); db(0x3a);
- db(0xfc); db(0xba); db(0x6b); db(0x08); db(0x22); db(0xfc); db(0x80); db(0x03);
- db(0xa0); db(0x08); db(0x22); db(0xc0); db(0x42); db(0x91); db(0x60); db(0x32);
- db(0x42); db(0x6a); db(0x00); db(0x08); db(0x0c); db(0x47); db(0x00); db(0x24);
- db(0x65); db(0x00); db(0xfd); db(0xc8); db(0x15); db(0x7c); db(0x00); db(0x02);
- db(0x00); db(0x05); db(0x30); db(0xba); db(0xfc); db(0x74); db(0x31); db(0x7a);
- db(0xfc); db(0x72); db(0x00); db(0x02); db(0x31); db(0x7a); db(0xfc); db(0x70);
- db(0x00); db(0x04); db(0x31); db(0x7a); db(0xfc); db(0x6c); db(0x00); db(0x06);
- db(0x30); db(0x3a); db(0xfc); db(0x7a); db(0xe0); db(0x40); db(0x31); db(0x40);
- db(0x00); db(0x08); db(0x61); db(0x00); db(0xfc); db(0x38); db(0x10); db(0x3a);
- db(0xfc); db(0x4c); db(0x6b); db(0x00); db(0xfd); db(0x96); db(0x36); db(0x3c);
- db(0x00); db(0x68); db(0x74); db(0x01); db(0x28); db(0x3a); db(0xfc); db(0x60);
+ db(0x31); db(0x7a); db(0xfd); db(0x34); db(0x00); db(0x0e); db(0x42); db(0x68);
+ db(0x00); db(0x10); db(0x31); db(0x7a); db(0xfd); db(0x2c); db(0x00); db(0x12);
+ db(0x42); db(0x68); db(0x00); db(0x14); db(0x31); db(0x7a); db(0xfd); db(0x1a);
+ db(0x00); db(0x16); db(0x42); db(0x68); db(0x00); db(0x18); db(0x31); db(0x7a);
+ db(0xfd); db(0x12); db(0x00); db(0x1a); db(0x43); db(0xed); db(0x01); db(0x88);
+ db(0x21); db(0x49); db(0x00); db(0x1c); db(0x22); db(0xfc); db(0x80); db(0x03);
+ db(0xa0); db(0x06); db(0x30); db(0x3a); db(0xfd); db(0x18); db(0x48); db(0xc0);
+ db(0xe1); db(0x80); db(0x22); db(0xc0); db(0x22); db(0xfc); db(0x80); db(0x03);
+ db(0xa0); db(0x07); db(0x22); db(0xfa); db(0xfd); db(0x0a); db(0x70); db(0x00);
+ db(0x30); db(0x3a); db(0xfc); db(0xf2); db(0x6b); db(0x08); db(0x22); db(0xfc);
+ db(0x80); db(0x03); db(0xa0); db(0x09); db(0x22); db(0xc0); db(0x30); db(0x3a);
+ db(0xfc); db(0xe6); db(0x6b); db(0x08); db(0x22); db(0xfc); db(0x80); db(0x03);
+ db(0xa0); db(0x0a); db(0x22); db(0xc0); db(0x30); db(0x3a); db(0xfc); db(0xce);
+ db(0x6b); db(0x14); db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x02);
+ db(0x22); db(0xc0); db(0x30); db(0x3a); db(0xfc); db(0xc6); db(0x22); db(0xfc);
+ db(0x80); db(0x03); db(0xa0); db(0x01); db(0x22); db(0xc0); db(0x30); db(0x3a);
+ db(0xfc); db(0xc0); db(0x6b); db(0x10); db(0x22); db(0xfc); db(0x80); db(0x03);
+ db(0xa0); db(0x03); db(0x30); db(0x3a); db(0xfc); db(0xba); db(0x48); db(0xc0);
+ db(0xe1); db(0x80); db(0x22); db(0xc0); db(0x30); db(0x3a); db(0xfc); db(0xac);
+ db(0x6b); db(0x10); db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x04);
+ db(0x30); db(0x3a); db(0xfc); db(0xa6); db(0x48); db(0xc0); db(0xe1); db(0x80);
+ db(0x22); db(0xc0); db(0x30); db(0x3a); db(0xfc); db(0x98); db(0x6b); db(0x10);
+ db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x05); db(0x30); db(0x3a);
+ db(0xfc); db(0x92); db(0x48); db(0xc0); db(0xe1); db(0x80); db(0x22); db(0xc0);
+ db(0x70); db(0x00); db(0x30); db(0x3a); db(0xfc); db(0x8e); db(0x6b); db(0x08);
+ db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x08); db(0x22); db(0xc0);
+ db(0x42); db(0x91); db(0x61); db(0x00); db(0xfc); db(0x40); db(0x36); db(0x3c);
+ db(0x00); db(0x68); db(0x74); db(0x01); db(0x28); db(0x3a); db(0xfc); db(0x70);
db(0x20); db(0x04); db(0xc0); db(0x82); db(0x22); db(0x2b); db(0x00); db(0x04);
db(0xc2); db(0x82); db(0xb2); db(0x80); db(0x67); db(0x22); db(0x42); db(0x92);
db(0x35); db(0x7c); db(0x02); db(0x00); db(0x00); db(0x04); db(0x42); db(0xaa);
db(0x00); db(0x0a); db(0x32); db(0x03); db(0x4a); db(0x00); db(0x66); db(0x04);
db(0x08); db(0xc1); db(0x00); db(0x07); db(0x35); db(0x41); db(0x00); db(0x06);
- db(0x42); db(0x6a); db(0x00); db(0x08); db(0x61); db(0x00); db(0xfb); db(0xf6);
+ db(0x42); db(0x6a); db(0x00); db(0x08); db(0x61); db(0x00); db(0xfc); db(0x06);
db(0x52); db(0x43); db(0xd4); db(0x42); db(0x0c); db(0x42); db(0x00); db(0x08);
- db(0x66); db(0xc6); db(0x27); db(0x44); db(0x00); db(0x04); db(0x60); db(0x00);
- db(0xfd); db(0x4a); db(0x42); db(0x92); db(0x35); db(0x7c); db(0x04); db(0x00);
+ db(0x66); db(0xc6); db(0x27); db(0x44); db(0x00); db(0x04); db(0x10); db(0x3a);
+ db(0xfc); db(0x0c); db(0x08); db(0x00); db(0x00); db(0x00); db(0x67); db(0x00);
+ db(0xfd); db(0x7e); db(0x42); db(0x92); db(0x35); db(0x7c); db(0x04); db(0x00);
db(0x00); db(0x04); db(0x42); db(0x6a); db(0x00); db(0x06); db(0x42); db(0x6a);
db(0x00); db(0x08); db(0x20); db(0x6b); db(0x00); db(0x14); db(0x30); db(0x3a);
- db(0xfc); db(0x0c); db(0x32); db(0x28); db(0x00); db(0x30); db(0xd2); db(0x41);
+ db(0xfc); db(0x14); db(0x32); db(0x28); db(0x00); db(0x30); db(0xd2); db(0x41);
db(0x90); db(0x41); db(0x6a); db(0x02); db(0x70); db(0x00); db(0x35); db(0x40);
- db(0x00); db(0x0a); db(0x30); db(0x3a); db(0xfb); db(0xfa); db(0x32); db(0x28);
+ db(0x00); db(0x0a); db(0x30); db(0x3a); db(0xfc); db(0x02); db(0x32); db(0x28);
db(0x00); db(0x2e); db(0xd2); db(0x41); db(0x90); db(0x41); db(0x6a); db(0x02);
db(0x70); db(0x00); db(0x35); db(0x40); db(0x00); db(0x0c); db(0x61); db(0x00);
- db(0xfb); db(0x70); db(0x60); db(0x00); db(0xfd); db(0x06); db(0x4e); db(0x75);
- db(0x4a); db(0xa9); db(0x01); db(0x9a); db(0x67); db(0x14); db(0x4a); db(0xa9);
- db(0x01); db(0x9e); db(0x67); db(0x0e); db(0x30); db(0x3a); db(0xfb); db(0xa8);
+ db(0xfb); db(0x78); db(0x60); db(0x00); db(0xfd); db(0x3a); db(0x4e); db(0x75);
+ db(0x4a); db(0xa9); db(0x02); db(0x08); db(0x67); db(0x14); db(0x4a); db(0xa9);
+ db(0x02); db(0x0c); db(0x67); db(0x0e); db(0x30); db(0x3a); db(0xfb); db(0xb0);
db(0xb0); db(0x69); db(0x00); db(0x16); db(0x67); db(0x14); db(0x33); db(0x40);
db(0x00); db(0x16); db(0x2c); db(0x69); db(0x00); db(0x26); db(0x20); db(0x29);
db(0x00); db(0x22); db(0x22); db(0x69); db(0x00); db(0x1e); db(0x4e); db(0xae);
- db(0xfe); db(0xbc); db(0x53); db(0x69); db(0x00); db(0x42); db(0x6a); db(0x12);
- db(0x33); db(0x7c); db(0x00); db(0x32); db(0x00); db(0x42); db(0x30); db(0x3c);
- db(0xff); db(0x38); db(0x72); db(0x02); db(0x61); db(0x00); db(0xf9); db(0xe2);
+ db(0xfe); db(0xbc); db(0x53); db(0x69); db(0x00); db(0x46); db(0x6a); db(0x12);
+ db(0x33); db(0x7c); db(0x00); db(0x32); db(0x00); db(0x46); db(0x30); db(0x3c);
+ db(0xff); db(0x38); db(0x72); db(0x02); db(0x61); db(0x00); db(0xf9); db(0xea);
db(0x4e); db(0x90); db(0x41); db(0xf9); db(0x00); db(0xdf); db(0xf0); db(0x00);
- db(0x70); db(0x00); db(0x4e); db(0x75); db(0x41); db(0xfa); db(0x03); db(0x35);
+ db(0x70); db(0x00); db(0x4e); db(0x75); db(0x41); db(0xfa); db(0x04); db(0x32);
db(0x43); db(0xfa); db(0x00); db(0x0a); db(0x70); db(0xf6); db(0x61); db(0x00);
- db(0xfa); db(0xa4); db(0x4e); db(0x75); db(0x9b); db(0xcd); db(0x2c); db(0x78);
- db(0x00); db(0x04); db(0x20); db(0x3c); db(0x00); db(0x00); db(0x00); db(0x38);
+ db(0xfa); db(0xac); db(0x4e); db(0x75); db(0x9b); db(0xcd); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x20); db(0x3c); db(0x00); db(0x00); db(0x00); db(0x88);
db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae);
db(0xff); db(0x3a); db(0x4a); db(0x80); db(0x67); db(0x5e); db(0x2a); db(0x40);
db(0x2b); db(0x4e); db(0x00); db(0x14); db(0x93); db(0xc9); db(0x4e); db(0xae);
db(0xfe); db(0xda); db(0x2b); db(0x40); db(0x00); db(0x08); db(0x30); db(0x3c);
- db(0xff); db(0x38); db(0x72); db(0x0e); db(0x61); db(0x00); db(0xf9); db(0x92);
+ db(0xff); db(0x38); db(0x72); db(0x0e); db(0x61); db(0x00); db(0xf9); db(0x9a);
db(0x20); db(0x0d); db(0x4e); db(0x90); db(0x70); db(0x00); db(0x08); db(0xc0);
db(0x00); db(0x0d); db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x4e); db(0xae);
db(0xff); db(0x7c); db(0x41); db(0xee); db(0x01); db(0x7a); db(0x43); db(0xfa);
- db(0x03); db(0x3d); db(0x4e); db(0xae); db(0xfe); db(0xec); db(0x24); db(0x00);
+ db(0x04); db(0x3a); db(0x4e); db(0xae); db(0xfe); db(0xec); db(0x24); db(0x00);
db(0x4e); db(0xae); db(0xff); db(0x76); db(0x4a); db(0x82); db(0x67); db(0xdc);
- db(0x42); db(0xad); db(0x00); db(0x08); db(0x41); db(0xfa); db(0x02); db(0xc5);
- db(0x43); db(0xfa); db(0x00); db(0x42); db(0x70); db(0xf6); db(0x22); db(0x3c);
- db(0x00); db(0x00); db(0x0b); db(0xb8); db(0x61); db(0x00); db(0xee); db(0x98);
+ db(0x42); db(0xad); db(0x00); db(0x08); db(0x41); db(0xfa); db(0x03); db(0xc2);
+ db(0x43); db(0xfa); db(0x01); db(0x0a); db(0x70); db(0xf6); db(0x22); db(0x3c);
+ db(0x00); db(0x00); db(0x27); db(0x10); db(0x61); db(0x00); db(0xee); db(0xa0);
db(0x70); db(0x00); db(0x4e); db(0x75); db(0x30); db(0x3c); db(0xff); db(0x38);
- db(0x72); db(0x0a); db(0x61); db(0x00); db(0xf9); db(0x44); db(0x4e); db(0x90);
- db(0x20); db(0x0d); db(0x67); db(0x18); db(0x2c); db(0x6d); db(0x00); db(0x14);
+ db(0x72); db(0x0a); db(0x61); db(0x00); db(0xf9); db(0x4c); db(0x4e); db(0x90);
+ db(0x20); db(0x0d); db(0x67); db(0x1c); db(0x2c); db(0x6d); db(0x00); db(0x14);
db(0x20); db(0x2d); db(0x00); db(0x18); db(0x67); db(0x06); db(0x22); db(0x40);
- db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x22); db(0x4d); db(0x70); db(0x38);
- db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x70); db(0x00); db(0x4e); db(0x75);
+ db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x22); db(0x4d); db(0x20); db(0x3c);
+ db(0x00); db(0x00); db(0x00); db(0x88); db(0x4e); db(0xae); db(0xff); db(0x2e);
+ db(0x70); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x38); db(0x3e);
+ db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x41); db(0xfa); db(0x03); db(0x58);
+ db(0x22); db(0x08); db(0x24); db(0x3c); db(0x00); db(0x00); db(0x03); db(0xed);
+ db(0x4e); db(0xae); db(0xff); db(0xe2); db(0x28); db(0x00); db(0x67); db(0x4c);
+ db(0x45); db(0xed); db(0x00); db(0x68); db(0x42); db(0x92); db(0x34); db(0xaa);
+ db(0x00); db(0x02); db(0x24); db(0x0a); db(0x54); db(0x82); db(0x76); db(0x02);
+ db(0x22); db(0x04); db(0x4e); db(0xae); db(0xff); db(0xd6); db(0xb6); db(0x80);
+ db(0x66); db(0x32); db(0x0c); db(0x92); db(0x50); db(0x4e); db(0x54); db(0x52);
+ db(0x66); db(0xe4); db(0x24); db(0x0a); db(0x76); db(0x04); db(0x22); db(0x04);
+ db(0x4e); db(0xae); db(0xff); db(0xd6); db(0x24); db(0x0a); db(0x76); db(0x20);
+ db(0x22); db(0x04); db(0x4e); db(0xae); db(0xff); db(0xd6); db(0xb6); db(0x80);
+ db(0x66); db(0x12); db(0x4a); db(0x6a); db(0x00); db(0x10); db(0x66); db(0xc4);
+ db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x10); db(0x61); db(0x00);
+ db(0xf8); db(0xc0); db(0x4e); db(0x90); db(0x22); db(0x04); db(0x67); db(0x04);
+ db(0x4e); db(0xae); db(0xff); db(0xdc); db(0x4c); db(0xdf); db(0x7c); db(0x1c);
+ db(0x4e); db(0x75); db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x41); db(0xfa);
+ db(0x02); db(0xd0); db(0x22); db(0x08); db(0x74); db(0xfe); db(0x4e); db(0xae);
+ db(0xff); db(0xac); db(0x22); db(0x00); db(0x67); db(0x34); db(0x4e); db(0xae);
+ db(0xff); db(0xa6); db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x45); db(0xed);
+ db(0x00); db(0x38); db(0x70); db(0xff); db(0x4e); db(0xae); db(0xfe); db(0xb6);
+ db(0x15); db(0x40); db(0x00); db(0x14); db(0x41); db(0xfa); db(0x02); db(0xc0);
+ db(0x24); db(0x88); db(0x25); db(0x7c); db(0x00); db(0x00); db(0x00); db(0x12);
+ db(0x00); db(0x0c); db(0x25); db(0x6d); db(0x00); db(0x08); db(0x00); db(0x10);
+ db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x22); db(0x0a); db(0x4e); db(0xae);
+ db(0xfc); db(0x88); db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x4e); db(0x75);
db(0x00); db(0x00); db(0x00); db(0x10); db(0x00); db(0x00); db(0x00); db(0x00);
db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0d); db(0x61); db(0x00);
- db(0xf9); db(0x10); db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x00);
- db(0xff); db(0xbc); db(0x2a); db(0x40); db(0x2c); db(0x6d); db(0x00); db(0x14);
+ db(0xf8); db(0x50); db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x00);
+ db(0xfe); db(0xf4); db(0x2a); db(0x40); db(0x2c); db(0x6d); db(0x00); db(0x14);
db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x2b); db(0x40);
- db(0x00); db(0x08); db(0x43); db(0xfa); db(0x02); db(0xb9); db(0x70); db(0x00);
+ db(0x00); db(0x08); db(0x43); db(0xfa); db(0x02); db(0xee); db(0x70); db(0x00);
db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x2b); db(0x40); db(0x00); db(0x18);
- db(0x4a); db(0x80); db(0x67); db(0x00); db(0xff); db(0x98); db(0x2c); db(0x40);
+ db(0x4a); db(0x80); db(0x67); db(0x00); db(0xfe); db(0xd0); db(0x2c); db(0x40);
db(0x72); db(0x32); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x41); db(0xfa);
- db(0x02); db(0x0e); db(0x22); db(0x08); db(0x74); db(0xfe); db(0x4e); db(0xae);
+ db(0x02); db(0x24); db(0x22); db(0x08); db(0x74); db(0xfe); db(0x4e); db(0xae);
db(0xff); db(0xac); db(0x4a); db(0x80); db(0x67); db(0xea); db(0x22); db(0x00);
db(0x4e); db(0xae); db(0xff); db(0xa6); db(0x72); db(0x32); db(0x4e); db(0xae);
- db(0xff); db(0x3a); db(0x41); db(0xfa); db(0x01); db(0xf8); db(0x22); db(0x08);
+ db(0xff); db(0x3a); db(0x41); db(0xfa); db(0x02); db(0x0e); db(0x22); db(0x08);
db(0x74); db(0xfe); db(0x4e); db(0xae); db(0xff); db(0xac); db(0x4a); db(0x80);
- db(0x67); db(0x00); db(0xff); db(0x62); db(0x22); db(0x00); db(0x4e); db(0xae);
+ db(0x67); db(0x00); db(0xfe); db(0x9a); db(0x22); db(0x00); db(0x4e); db(0xae);
db(0xff); db(0xa6); db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x61); db(0x00);
- db(0xf8); db(0xbc); db(0x72); db(0x00); db(0x32); db(0x3c); db(0x00); db(0x34);
- db(0x61); db(0x00); db(0xf9); db(0x00); db(0x28); db(0x40); db(0x4a); db(0x80);
- db(0x67); db(0x00); db(0xff); db(0x42); db(0x70); db(0x00); db(0x08); db(0xc0);
+ db(0xf7); db(0xfc); db(0x72); db(0x00); db(0x32); db(0x3c); db(0x00); db(0x34);
+ db(0x61); db(0x00); db(0xf8); db(0x40); db(0x28); db(0x40); db(0x4a); db(0x80);
+ db(0x67); db(0x00); db(0xfe); db(0x7a); db(0x70); db(0x00); db(0x08); db(0xc0);
db(0x00); db(0x0d); db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x72); db(0x00);
- db(0x20); db(0x2d); db(0x00); db(0x0c); db(0x41); db(0xfa); db(0x01); db(0xcc);
+ db(0x20); db(0x2d); db(0x00); db(0x0c); db(0x41); db(0xfa); db(0x01); db(0xe7);
db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x44); db(0x4a); db(0x80);
db(0x66); db(0xe2); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0f);
- db(0x61); db(0x00); db(0xf8); db(0x66); db(0x4e); db(0x90); db(0x41); db(0xed);
- db(0x00); db(0x1c); db(0x29); db(0x48); db(0x00); db(0x28); db(0x70); db(0x01);
- db(0x29); db(0x40); db(0x00); db(0x24); db(0x39); db(0x7c); db(0x00); db(0x0c);
- db(0x00); db(0x1c); db(0x2b); db(0x4d); db(0x00); db(0x2c); db(0x41); db(0xfa);
- db(0x01); db(0x38); db(0x2b); db(0x48); db(0x00); db(0x24); db(0x22); db(0x4c);
- db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x70); db(0x00); db(0x08); db(0xc0);
- db(0x00); db(0x0d); db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x20); db(0x2d);
- db(0x00); db(0x00); db(0x67); db(0x00); db(0x00); db(0x72); db(0x72); db(0x01);
- db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x2b); db(0x40); db(0x00); db(0x04);
- db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0c); db(0x61); db(0x00);
- db(0xf8); db(0x18); db(0x4e); db(0x90); db(0x4a); db(0xad); db(0x00); db(0x04);
- db(0x67); db(0x3a); db(0x39); db(0x7c); db(0x00); db(0x03); db(0x00); db(0x1c);
- db(0x42); db(0x2c); db(0x00); db(0x1f); db(0x42); db(0xac); db(0x00); db(0x20);
- db(0x29); db(0x6d); db(0x00); db(0x00); db(0x00); db(0x24); db(0x29); db(0x6d);
- db(0x00); db(0x04); db(0x00); db(0x28); db(0x42); db(0xac); db(0x00); db(0x2c);
- db(0x42); db(0xac); db(0x00); db(0x30); db(0x22); db(0x4c); db(0x4e); db(0xae);
- db(0xfe); db(0x38); db(0x2b); db(0x6c); db(0x00); db(0x30); db(0x00); db(0x10);
- db(0x39); db(0x7c); db(0x00); db(0x04); db(0x00); db(0x1c); db(0x22); db(0x4c);
- db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x20); db(0x2d); db(0x00); db(0x00);
- db(0x42); db(0xad); db(0x00); db(0x00); db(0x22); db(0x2d); db(0x00); db(0x04);
- db(0x67); db(0x00); db(0xff); db(0x8a); db(0x22); db(0x41); db(0x4e); db(0xae);
- db(0xff); db(0x2e); db(0x60); db(0x00); db(0xff); db(0x80); db(0x39); db(0x7c);
- db(0x00); db(0x02); db(0x00); db(0x1c); db(0x41); db(0xed); db(0x00); db(0x30);
- db(0x42); db(0x90); db(0x42); db(0xa8); db(0x00); db(0x04); db(0x42); db(0x2c);
- db(0x00); db(0x1f); db(0x42); db(0xac); db(0x00); db(0x2c); db(0x42); db(0xac);
- db(0x00); db(0x30); db(0x29); db(0x48); db(0x00); db(0x28); db(0x70); db(0x08);
- db(0x29); db(0x40); db(0x00); db(0x24); db(0x22); db(0x4c); db(0x4e); db(0xae);
- db(0xfe); db(0x38); db(0x0c); db(0xad); db(0x46); db(0x4f); db(0x52); db(0x4d);
- db(0x00); db(0x30); db(0x66); db(0x52); db(0x20); db(0x2d); db(0x00); db(0x34);
- db(0x67); db(0x4c); db(0x6b); db(0x4a); db(0x2b); db(0x6c); db(0x00); db(0x30);
- db(0x00); db(0x10); db(0x50); db(0x80); db(0x24); db(0x00); db(0x72); db(0x01);
- db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x4a); db(0x80); db(0x67); db(0x36);
- db(0x24); db(0x40); db(0x20); db(0x4a); db(0x20); db(0xed); db(0x00); db(0x30);
- db(0x20); db(0xed); db(0x00); db(0x34); db(0x29); db(0x48); db(0x00); db(0x28);
- db(0x20); db(0x02); db(0x51); db(0x80); db(0x29); db(0x40); db(0x00); db(0x24);
- db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x30); db(0x3c);
- db(0xff); db(0x38); db(0x72); db(0x0b); db(0x61); db(0x00); db(0xf7); db(0x42);
- db(0x20); db(0x2c); db(0x00); db(0x20); db(0x4e); db(0x90); db(0x22); db(0x4a);
- db(0x20); db(0x02); db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x4a); db(0xac);
- db(0x00); db(0x20); db(0x67); db(0x00); db(0xfe); db(0xf0); db(0x41); db(0xed);
- db(0x00); db(0x30); db(0x29); db(0x48); db(0x00); db(0x28); db(0x70); db(0x01);
- db(0x29); db(0x40); db(0x00); db(0x24); db(0x42); db(0xac); db(0x00); db(0x20);
- db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x60); db(0xde);
- db(0x41); db(0xe8); db(0xff); db(0xe4); db(0x20); db(0x29); db(0x00); db(0x08);
- db(0xb0); db(0xa8); db(0x00); db(0x10); db(0x67); db(0x1a); db(0x21); db(0x40);
- db(0x00); db(0x10); db(0x2f); db(0x0e); db(0x2c); db(0x68); db(0x00); db(0x14);
- db(0x22); db(0x68); db(0x00); db(0x08); db(0x70); db(0x00); db(0x08); db(0xc0);
- db(0x00); db(0x0d); db(0x4e); db(0xae); db(0xfe); db(0xbc); db(0x2c); db(0x5f);
- db(0x70); db(0x00); db(0x4e); db(0x75); db(0x69); db(0x6e); db(0x70); db(0x75);
- db(0x74); db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69); db(0x63); db(0x65);
- db(0x00); db(0x74); db(0x69); db(0x6d); db(0x65); db(0x72); db(0x2e); db(0x64);
- db(0x65); db(0x76); db(0x69); db(0x63); db(0x65); db(0x00); db(0x44); db(0x45);
- db(0x56); db(0x53); db(0x3a); db(0x00); db(0x44); db(0x45); db(0x56); db(0x53);
- db(0x3a); db(0x63); db(0x6c); db(0x69); db(0x70); db(0x62); db(0x6f); db(0x61);
- db(0x72); db(0x64); db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69); db(0x63);
- db(0x65); db(0x00); db(0x63); db(0x6c); db(0x69); db(0x70); db(0x62); db(0x6f);
- db(0x61); db(0x72); db(0x64); db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69);
- db(0x63); db(0x65); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x63);
+ db(0x61); db(0x00); db(0xf7); db(0xa6); db(0x4e); db(0x90); db(0x61); db(0x00);
+ db(0xfe); db(0xf2); db(0x41); db(0xed); db(0x00); db(0x1c); db(0x29); db(0x48);
+ db(0x00); db(0x28); db(0x70); db(0x01); db(0x29); db(0x40); db(0x00); db(0x24);
+ db(0x39); db(0x7c); db(0x00); db(0x0c); db(0x00); db(0x1c); db(0x2b); db(0x4d);
+ db(0x00); db(0x2c); db(0x41); db(0xfa); db(0x01); db(0x4a); db(0x2b); db(0x48);
+ db(0x00); db(0x24); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38);
+ db(0x70); db(0x00); db(0x74); db(0x00); db(0x14); db(0x2d); db(0x00); db(0x4c);
+ db(0x05); db(0xc0); db(0x08); db(0xc0); db(0x00); db(0x0d); db(0x4e); db(0xae);
+ db(0xfe); db(0xc2); db(0x05); db(0x00); db(0x67); db(0x06); db(0x61); db(0x00);
+ db(0xfe); db(0x3c); db(0x60); db(0xe4); db(0x20); db(0x2d); db(0x00); db(0x00);
+ db(0x67); db(0x00); db(0x00); db(0x72); db(0x72); db(0x01); db(0x4e); db(0xae);
+ db(0xff); db(0x3a); db(0x2b); db(0x40); db(0x00); db(0x04); db(0x30); db(0x3c);
+ db(0xff); db(0x38); db(0x72); db(0x0c); db(0x61); db(0x00); db(0xf7); db(0x42);
+ db(0x4e); db(0x90); db(0x4a); db(0xad); db(0x00); db(0x04); db(0x67); db(0x3a);
+ db(0x39); db(0x7c); db(0x00); db(0x03); db(0x00); db(0x1c); db(0x42); db(0x2c);
+ db(0x00); db(0x1f); db(0x42); db(0xac); db(0x00); db(0x20); db(0x29); db(0x6d);
+ db(0x00); db(0x00); db(0x00); db(0x24); db(0x29); db(0x6d); db(0x00); db(0x04);
+ db(0x00); db(0x28); db(0x42); db(0xac); db(0x00); db(0x2c); db(0x42); db(0xac);
+ db(0x00); db(0x30); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38);
+ db(0x2b); db(0x6c); db(0x00); db(0x30); db(0x00); db(0x10); db(0x39); db(0x7c);
+ db(0x00); db(0x04); db(0x00); db(0x1c); db(0x22); db(0x4c); db(0x4e); db(0xae);
+ db(0xfe); db(0x38); db(0x20); db(0x2d); db(0x00); db(0x00); db(0x42); db(0xad);
+ db(0x00); db(0x00); db(0x22); db(0x2d); db(0x00); db(0x04); db(0x67); db(0x00);
+ db(0xff); db(0x78); db(0x22); db(0x41); db(0x4e); db(0xae); db(0xff); db(0x2e);
+ db(0x60); db(0x00); db(0xff); db(0x6e); db(0x39); db(0x7c); db(0x00); db(0x02);
+ db(0x00); db(0x1c); db(0x41); db(0xed); db(0x00); db(0x30); db(0x42); db(0x90);
+ db(0x42); db(0xa8); db(0x00); db(0x04); db(0x42); db(0x2c); db(0x00); db(0x1f);
+ db(0x42); db(0xac); db(0x00); db(0x2c); db(0x42); db(0xac); db(0x00); db(0x30);
+ db(0x29); db(0x48); db(0x00); db(0x28); db(0x70); db(0x08); db(0x29); db(0x40);
+ db(0x00); db(0x24); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38);
+ db(0x0c); db(0xad); db(0x46); db(0x4f); db(0x52); db(0x4d); db(0x00); db(0x30);
+ db(0x66); db(0x52); db(0x20); db(0x2d); db(0x00); db(0x34); db(0x67); db(0x4c);
+ db(0x6b); db(0x4a); db(0x2b); db(0x6c); db(0x00); db(0x30); db(0x00); db(0x10);
+ db(0x50); db(0x80); db(0x24); db(0x00); db(0x72); db(0x01); db(0x4e); db(0xae);
+ db(0xff); db(0x3a); db(0x4a); db(0x80); db(0x67); db(0x36); db(0x24); db(0x40);
+ db(0x20); db(0x4a); db(0x20); db(0xed); db(0x00); db(0x30); db(0x20); db(0xed);
+ db(0x00); db(0x34); db(0x29); db(0x48); db(0x00); db(0x28); db(0x20); db(0x02);
+ db(0x51); db(0x80); db(0x29); db(0x40); db(0x00); db(0x24); db(0x22); db(0x4c);
+ db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x30); db(0x3c); db(0xff); db(0x38);
+ db(0x72); db(0x0b); db(0x61); db(0x00); db(0xf6); db(0x6c); db(0x20); db(0x2c);
+ db(0x00); db(0x20); db(0x4e); db(0x90); db(0x22); db(0x4a); db(0x20); db(0x02);
+ db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x4a); db(0xac); db(0x00); db(0x20);
+ db(0x67); db(0x00); db(0xfe); db(0xde); db(0x41); db(0xed); db(0x00); db(0x30);
+ db(0x29); db(0x48); db(0x00); db(0x28); db(0x70); db(0x01); db(0x29); db(0x40);
+ db(0x00); db(0x24); db(0x42); db(0xac); db(0x00); db(0x20); db(0x22); db(0x4c);
+ db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x60); db(0xde); db(0x41); db(0xe8);
+ db(0xff); db(0xe4); db(0x20); db(0x29); db(0x00); db(0x08); db(0xb0); db(0xa8);
+ db(0x00); db(0x10); db(0x67); db(0x1a); db(0x21); db(0x40); db(0x00); db(0x10);
+ db(0x2f); db(0x0e); db(0x2c); db(0x68); db(0x00); db(0x14); db(0x22); db(0x68);
+ db(0x00); db(0x08); db(0x70); db(0x00); db(0x08); db(0xc0); db(0x00); db(0x0d);
+ db(0x4e); db(0xae); db(0xfe); db(0xbc); db(0x2c); db(0x5f); db(0x70); db(0x00);
+ db(0x4e); db(0x75); db(0x69); db(0x6e); db(0x70); db(0x75); db(0x74); db(0x2e);
+ db(0x64); db(0x65); db(0x76); db(0x69); db(0x63); db(0x65); db(0x00); db(0x74);
+ db(0x69); db(0x6d); db(0x65); db(0x72); db(0x2e); db(0x64); db(0x65); db(0x76);
+ db(0x69); db(0x63); db(0x65); db(0x00); db(0x44); db(0x45); db(0x56); db(0x53);
+ db(0x3a); db(0x00); db(0x44); db(0x45); db(0x56); db(0x53); db(0x3a); db(0x63);
db(0x6c); db(0x69); db(0x70); db(0x62); db(0x6f); db(0x61); db(0x72); db(0x64);
- db(0x20); db(0x73); db(0x68); db(0x61); db(0x72); db(0x69); db(0x6e); db(0x67);
- db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x6d); db(0x6f); db(0x75);
- db(0x73); db(0x65); db(0x20); db(0x64); db(0x72); db(0x69); db(0x76); db(0x65);
- db(0x72); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x66); db(0x69);
- db(0x6c); db(0x65); db(0x73); db(0x79); db(0x73); db(0x74); db(0x65); db(0x6d);
+ db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69); db(0x63); db(0x65); db(0x00);
+ db(0x52); db(0x41); db(0x4d); db(0x3a); db(0x00); db(0x63); db(0x6c); db(0x69);
+ db(0x70); db(0x62); db(0x6f); db(0x61); db(0x72); db(0x64); db(0x2e); db(0x64);
+ db(0x65); db(0x76); db(0x69); db(0x63); db(0x65); db(0x00); db(0x52); db(0x41);
+ db(0x4d); db(0x3a); db(0x45); db(0x6e); db(0x76); db(0x2f); db(0x53); db(0x79);
+ db(0x73); db(0x2f); db(0x50); db(0x6f); db(0x69); db(0x6e); db(0x74); db(0x65);
+ db(0x72); db(0x2e); db(0x70); db(0x72); db(0x65); db(0x66); db(0x73); db(0x00);
+ db(0x55); db(0x41); db(0x45); db(0x20); db(0x63); db(0x6c); db(0x69); db(0x70);
+ db(0x62); db(0x6f); db(0x61); db(0x72); db(0x64); db(0x20); db(0x73); db(0x68);
+ db(0x61); db(0x72); db(0x69); db(0x6e); db(0x67); db(0x00); db(0x55); db(0x41);
+ db(0x45); db(0x20); db(0x6d); db(0x6f); db(0x75); db(0x73); db(0x65); db(0x20);
+ db(0x64); db(0x72); db(0x69); db(0x76); db(0x65); db(0x72); db(0x00); db(0x55);
+ db(0x41); db(0x45); db(0x20); db(0x66); db(0x69); db(0x6c); db(0x65); db(0x73);
+ db(0x79); db(0x73); db(0x74); db(0x65); db(0x6d); db(0x00); db(0x55); db(0x41);
+ db(0x45); db(0x20); db(0x66); db(0x73); db(0x20); db(0x61); db(0x75); db(0x74);
+ db(0x6f); db(0x6d); db(0x6f); db(0x75); db(0x6e); db(0x74); db(0x65); db(0x72);
db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x66); db(0x73); db(0x20);
db(0x61); db(0x75); db(0x74); db(0x6f); db(0x6d); db(0x6f); db(0x75); db(0x6e);
- db(0x74); db(0x65); db(0x72); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20);
- db(0x66); db(0x73); db(0x20); db(0x61); db(0x75); db(0x74); db(0x6f); db(0x6d);
- db(0x6f); db(0x75); db(0x6e); db(0x74); db(0x20); db(0x70); db(0x72); db(0x6f);
- db(0x63); db(0x65); db(0x73); db(0x73); db(0x00); db(0x64); db(0x6f); db(0x73);
+ db(0x74); db(0x20); db(0x70); db(0x72); db(0x6f); db(0x63); db(0x65); db(0x73);
+ db(0x73); db(0x00); db(0x64); db(0x6f); db(0x73); db(0x2e); db(0x6c); db(0x69);
+ db(0x62); db(0x72); db(0x61); db(0x72); db(0x79); db(0x00); db(0x69); db(0x6e);
+ db(0x74); db(0x75); db(0x69); db(0x74); db(0x69); db(0x6f); db(0x6e); db(0x2e);
+ db(0x6c); db(0x69); db(0x62); db(0x72); db(0x61); db(0x72); db(0x79); db(0x00);
+ db(0x67); db(0x72); db(0x61); db(0x70); db(0x68); db(0x69); db(0x63); db(0x73);
db(0x2e); db(0x6c); db(0x69); db(0x62); db(0x72); db(0x61); db(0x72); db(0x79);
- db(0x00); db(0x69); db(0x6e); db(0x74); db(0x75); db(0x69); db(0x74); db(0x69);
+ db(0x00); db(0x65); db(0x78); db(0x70); db(0x61); db(0x6e); db(0x73); db(0x69);
db(0x6f); db(0x6e); db(0x2e); db(0x6c); db(0x69); db(0x62); db(0x72); db(0x61);
- db(0x72); db(0x79); db(0x00); db(0x67); db(0x72); db(0x61); db(0x70); db(0x68);
- db(0x69); db(0x63); db(0x73); db(0x2e); db(0x6c); db(0x69); db(0x62); db(0x72);
- db(0x61); db(0x72); db(0x79); db(0x00); db(0x65); db(0x78); db(0x70); db(0x61);
- db(0x6e); db(0x73); db(0x69); db(0x6f); db(0x6e); db(0x2e); db(0x6c); db(0x69);
- db(0x62); db(0x72); db(0x61); db(0x72); db(0x79); db(0x00); db(0x46); db(0x69);
- db(0x6c); db(0x65); db(0x53); db(0x79); db(0x73); db(0x74); db(0x65); db(0x6d);
- db(0x2e); db(0x72); db(0x65); db(0x73); db(0x6f); db(0x75); db(0x72); db(0x63);
- db(0x65); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x03); db(0xf2);
+ db(0x72); db(0x79); db(0x00); db(0x46); db(0x69); db(0x6c); db(0x65); db(0x53);
+ db(0x79); db(0x73); db(0x74); db(0x65); db(0x6d); db(0x2e); db(0x72); db(0x65);
+ db(0x73); db(0x6f); db(0x75); db(0x72); db(0x63); db(0x65); db(0x00); db(0x00);
+ db(0x00); db(0x00); db(0x03); db(0xf2);
extern int getbuttonstate (int joy, int button);
extern int getjoystate (int joy);
+#define MAGICMOUSE_BOTH 0
+#define MAGICMOUSE_NATIVE_ONLY 1
+#define MAGICMOUSE_HOST_ONLY 2
+
extern int magicmouse_alive (void);
extern int is_tablet (void);
extern int inputdevice_is_tablet (void);
-extern void input_mousehack_status (int mode, uaecptr diminfo, uaecptr dispinfo, uaecptr vp);
+extern void input_mousehack_status (int mode, uaecptr diminfo, uaecptr dispinfo, uaecptr vp, uae_u32 moffset);
+extern void input_mousehack_mouseoffset (uaecptr pointerprefs);
extern int mousehack_alive (void);
extern void setmouseactive (int);
int input_mouse_speed;
int input_tablet;
int input_magic_mouse;
+ int input_magic_mouse_cursor;
struct uae_input_device joystick_settings[MAX_INPUT_SETTINGS + 1][MAX_INPUT_DEVICES];
struct uae_input_device mouse_settings[MAX_INPUT_SETTINGS + 1][MAX_INPUT_DEVICES];
struct uae_input_device keyboard_settings[MAX_INPUT_SETTINGS + 1][MAX_INPUT_DEVICES];
static int lastmx, lastmy;
static uaecptr magicmouse_ibase, magicmouse_gfxbase;
static int dimensioninfo_width, dimensioninfo_height, dimensioninfo_dbl;
-static int vp_xoffset, vp_yoffset;
+static int vp_xoffset, vp_yoffset, mouseoffset_x, mouseoffset_y;
static int tablet_maxx, tablet_maxy, tablet_data;
int mousehack_alive (void)
int off;
dimensioninfo_width = dimensioninfo_height = 0;
+ mouseoffset_x = mouseoffset_y = 0;
dimensioninfo_dbl = 0;
mousehack_alive_cnt = 0;
vp_xoffset = vp_yoffset = 0;
off = 12 + get_long (rtarea_base + 36);
if (rtarea[off + MH_E])
return;
- mode = 1;
- if (inputdevice_is_tablet () < 0)
- mode |= 0x80;
- write_log ("Tablet driver enabled (%s)\n", (mode & 0x80) ? "mousehack" : "real");
- rtarea[off + MH_E] = mode;
+ mode = 0x80;
+ if (currprefs.input_tablet == TABLET_MOUSEHACK)
+ mode |= 1;
+ if (inputdevice_is_tablet () > 0)
+ mode |= 2;
+ write_log ("Tablet driver enabled (%s)\n", ((mode & 3) == 3 ? "tablet+mousehack" : ((mode & 3) == 2) ? "tablet" : "mousehack"));
+ rtarea[off + MH_E] = 0x80;
+}
+
+void input_mousehack_mouseoffset (uaecptr pointerprefs)
+{
+ mouseoffset_x = (uae_s16)get_word (pointerprefs + 28);
+ mouseoffset_y = (uae_s16)get_word (pointerprefs + 30);
+ write_log ("MO: %dx%d\n", mouseoffset_x, mouseoffset_y);
}
-void input_mousehack_status (int mode, uaecptr diminfo, uaecptr dispinfo, uaecptr vp)
+void input_mousehack_status (int mode, uaecptr diminfo, uaecptr dispinfo, uaecptr vp, uae_u32 moffset)
{
if (mode == 0) {
uae_u8 v = rtarea[12 + get_long (rtarea_base + 36)];
- v |= 2;
+ v |= 0x40;
rtarea[12 + get_long (rtarea_base + 36)] = v;
write_log ("Tablet driver running (%02x)\n", v);
} else if (mode == 1) {
if (!memcmp (tmp, p + MH_START, MH_END - MH_START))
return;
+ rtarea[off + MH_E] = 0xc0 | 2;
p[MH_CNT]++;
}
void getgfxoffset (int *dx, int *dy, int*,int*);
-static void inputdevice_tablet_abs (int x, int y)
+static void inputdevice_mh_abs (int x, int y)
{
uae_u8 *p;
uae_u8 tmp[4];
memcpy (tmp, p + MH_ABSX, 4);
- getgfxoffset (&fdx, &fdy, &fmx, &fmy);
- x -= fdx;
- y -= fdy;
+ if (!picasso_on) {
+ getgfxoffset (&fdx, &fdy, &fmx, &fmy);
+ x -= fdx - 1;
+ y -= fdy - 1;
+ }
+ x -= mouseoffset_x + 1;
+ y -= mouseoffset_y + 2;
p[MH_ABSX] = x >> 8;
p[MH_ABSX + 1] = x;
if (!memcmp (tmp, p + MH_ABSX, 4))
return;
+ rtarea[off + MH_E] = 0xc0 | 1;
p[MH_CNT]++;
tablet_data = 1;
}
-static void inputdevice_tablet_abs_v36 (int x, int y)
+#if 0
+static void inputdevice_mh_abs_v36 (int x, int y)
{
uae_u8 *p;
uae_u8 tmp[MH_END];
p[MH_CNT]++;
tablet_data = 1;
}
+#endif
static void mousehack_helper (void)
{
int x, y;
- if (currprefs.input_magic_mouse == 0 || currprefs.input_tablet == 0)
+ if (currprefs.input_magic_mouse == 0 || currprefs.input_tablet < TABLET_MOUSEHACK)
return;
+#if 0
if (kickstart_version >= 36) {
- inputdevice_tablet_abs_v36 (lastmx, lastmy);
+ inputdevice_mh_abs_v36 (lastmx, lastmy);
return;
}
+#endif
#ifdef PICASSO96
if (picasso_on) {
x = lastmx - picasso96_state.XOffset;
x = coord_native_to_amiga_x (lastmx);
y = coord_native_to_amiga_y (lastmy) << 1;
}
- inputdevice_tablet_abs (x, y);
+ inputdevice_mh_abs (x, y);
}
static int mouseedge_x, mouseedge_y, mouseedge_time;
target_cfgfile_load (&currprefs, argv[i] + 8, -1, 1);
} else if (strncmp (argv[i], "-statefile=", 11) == 0) {
savestate_state = STATE_DORESTORE;
- strcpy (savestate_fname, argv[++i]);
- }
- /* Check for new-style "-f xxx" argument, where xxx is config-file */
- else if (strcmp (argv[i], "-f") == 0) {
+ strcpy (savestate_fname, argv[i] + 11);
+ } else if (strcmp (argv[i], "-f") == 0) {
+ /* Check for new-style "-f xxx" argument, where xxx is config-file */
if (i + 1 == argc) {
write_log ("Missing argument for '-f' option.\n");
} else {
aino->dirty = 1;
if (aino->volflags & MYVOLUMEINFO_STREAMS) {
- if (needs_fsdb(aino)) {
+ if (needs_fsdb (aino)) {
create_uaefsdb (aino, fsdb, mode);
write_uaefsdb (aino->nname, fsdb);
} else {
#define MULTIDISPLAY 0
#define P96DX 0
-#define WINCURSOR 0
+#define WINCURSOR 1
#include "sysconfig.h"
#include "sysdeps.h"
if (isfullscreen () > 0 || currprefs.input_tablet == 0 || currprefs.input_magic_mouse == 0)
goto exit;
+ if (currprefs.input_magic_mouse_cursor != MAGICMOUSE_HOST_ONLY)
+ goto exit;
if (chipset) {
if (!sprite_0 || !mousehack_alive ()) {
!memcmp (tmp_sprite_data, realsrc, datasize) && !memcmp (tmp_sprite_colors, ct, sizeof (uae_u32)*4)
&& hiressprite == tmp_sprite_hires && doubledsprite == tmp_sprite_doubled
) {
- if (GetCursor () == wincursor)
+ if (GetCursor () == wincursor) {
+ wincursor_shown = 1;
return 1;
+ }
}
}
write_log ("wincursor: %dx%d hires=%d doubled=%d\n", w2, h2, hiressprite, doubledsprite);
if (wincursor) {
SetCursor (wincursor);
-#if WINCURSOR > 0
wincursor_shown = 1;
-#endif
}
if (!ret)
write_log ("RTG Windows color cursor creation failed\n");
exit:
- if (wincursor == oldwincursor)
- SetCursor (normalcursor);
+ if (currprefs.input_tablet && currprefs.input_magic_mouse && currprefs.input_magic_mouse_cursor == MAGICMOUSE_NATIVE_ONLY) {
+ if (GetCursor () != NULL)
+ SetCursor (NULL);
+ } else {
+ if (wincursor == oldwincursor)
+ SetCursor (normalcursor);
+ }
if (oldwincursor)
DestroyIcon (oldwincursor);
oldwincursor = NULL;
#define IDC_PORT1_JOYS 1027
#define IDC_SCREENMODE_RTG 1027
#define IDC_MBMEM1 1028
+#define IDC_PORT_TABLE_CURSOR 1028
+#define IDC_PORT_TABLET_CURSOR 1028
#define IDC_SLOWMEM 1030
#define IDC_MBMEM2 1031
#define IDC_PARALLEL 1033
#define IDC_QUICKSTART_HOSTCONFIG 1679
#define IDC_PATHS_RIP 1679
#define IDC_DF1QQ 1680
-#define IDC_PATHS_SAVEIMAGES2 1680
#define IDC_PATHS_RIPS 1680
#define IDC_QUICKSTART_SETCONFIG 1681
#define IDC_CONFIGAUTO 1682
RTEXT "Port 1:",IDC_STATIC,11,49,25,15,SS_CENTERIMAGE\r
LTEXT "X-Arcade layout information []#1",IDC_STATIC,16,68,106,15,SS_NOTIFY | SS_CENTERIMAGE\r
GROUPBOX "Mouse and Joystick settings",IDC_STATIC,4,15,292,76\r
- GROUPBOX "Mouse extra settings",IDC_STATIC,4,92,292,67\r
+ GROUPBOX "Mouse extra settings",IDC_STATIC,4,92,292,76\r
RTEXT "Mouse speed:",IDC_STATIC,17,106,56,10,SS_CENTERIMAGE\r
EDITTEXT IDC_INPUTSPEEDM,87,106,25,12,ES_NUMBER\r
- CONTROL "Install virtual mouse driver",IDC_PORT_TABLET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,123,120,10\r
+ CONTROL "Install virtual mouse driver",IDC_PORT_TABLET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,118,120,10\r
CONTROL "Full tablet input emulation",IDC_PORT_TABLET_FULL,\r
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,137,121,10\r
- CONTROL "Magic Mouse",IDC_PORT_MOUSETRICK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,109,119,10\r
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,151,121,10\r
+ CONTROL "Magic Mouse",IDC_PORT_MOUSETRICK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,106,119,10\r
+ COMBOBOX IDC_PORT_TABLET_CURSOR,167,132,119,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+ RTEXT "Magic Mouse cursor mode:",IDC_STATIC,17,135,138,10,SS_CENTERIMAGE\r
END\r
\r
IDD_CONTRIBUTORS DIALOGEX 0, 0, 411, 242\r
mkdir bak
copy c:\projects\winuae\src\ c:\projects\winuae_bak\bak\ /s
copy d:\amiga\text\winuaechangelog.txt c:\projects\winuae_bak\bak\od-win32
+copy d:\amiga\amiga\filesys.asm c:\projects\winuae_bak\bak
cd bak
del *.obj *.ilk *.exe *.pdb *.pch *.idb /s
static void setcursorshape (void)
{
- if (!picasso_setwincursor ())
- SetCursor (normalcursor);
+ if (currprefs.input_tablet && currprefs.input_magic_mouse && currprefs.input_magic_mouse_cursor == MAGICMOUSE_NATIVE_ONLY) {
+ if (GetCursor () != NULL)
+ SetCursor (NULL);
+ } else if (!picasso_setwincursor ()) {
+ if (GetCursor () != normalcursor)
+ SetCursor (normalcursor);
+ }
}
static void releasecapture (void)
if (isfullscreen () <= 0 && currprefs.input_magic_mouse && currprefs.input_tablet > 0) {
if (mousehack_alive ())
return;
- SetCursor (normalcursor);
+ SetCursor (normalcursor);
}
if (mouseactive > 0)
#define WINUAEPUBLICBETA 1
-#define WINUAEBETA "11"
-#define WINUAEDATE MAKEBD(2009, 2, 5)
+#define WINUAEBETA "12"
+#define WINUAEDATE MAKEBD(2009, 2, 14)
#define WINUAEEXTRA ""
#define WINUAEREV ""
workprefs = *p;
/* filesys hack */
workprefs.mountitems = currprefs.mountitems;
- memcpy(&workprefs.mountconfig, &currprefs.mountconfig, MOUNT_CONFIG_SIZE * sizeof (struct uaedev_config_info));
+ memcpy (&workprefs.mountconfig, &currprefs.mountconfig, MOUNT_CONFIG_SIZE * sizeof (struct uaedev_config_info));
updatewinfsmode (&workprefs);
#if 0
break;
}
}
- openFileName.lStructSize = sizeof (OPENFILENAME);
- openFileName.hwndOwner = hDlg;
- openFileName.hInstance = hInst;
szFilter[0] = 0;
szFilter[1] = 0;
p += strlen(p) + 1;
*p = 0;
}
+ openFileName.lStructSize = sizeof (OPENFILENAME);
+ openFileName.hwndOwner = hDlg;
openFileName.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST |
OFN_LONGNAMES | OFN_HIDEREADONLY | OFN_NOCHANGEDIR;
openFileName.lpstrFilter = szFilter;
qssize = sizeof (tmp1);
regquerystr (NULL, "QuickStartHostConfig", hostconf, &qssize);
- if (firsttime == 0) {
+ if (firsttime == 0 && workprefs.start_gui) {
regqueryint (NULL, "QuickStartModel", &quickstart_model);
regqueryint (NULL, "QuickStartConfiguration", &quickstart_conf);
regqueryint (NULL, "QuickStartCompatibility", &quickstart_compa);
load_quickstart (hDlg, 1);
quickstarthost (hDlg, hostconf);
}
- firsttime = 1;
}
+ firsttime = 1;
CheckDlgButton (hDlg, IDC_QUICKSTARTMODE, quickstart);
switch (msg)
{
- case WM_INITDIALOG:
- {
- char ft35dd[20], ft35hd[20], ft525sd[20], ftdis[20], ft35ddescom[20];
- int df0texts[] = { IDC_DF0TEXT, IDC_DF1TEXT, IDC_DF2TEXT, IDC_DF3TEXT, -1 };
-
- WIN32GUI_LoadUIString (IDS_FLOPPYTYPE35DD, ft35dd, sizeof ft35dd);
- WIN32GUI_LoadUIString (IDS_FLOPPYTYPE35HD, ft35hd, sizeof ft35hd);
- WIN32GUI_LoadUIString (IDS_FLOPPYTYPE525SD, ft525sd, sizeof ft525sd);
- WIN32GUI_LoadUIString (IDS_FLOPPYTYPE35DDESCOM, ft35ddescom, sizeof ft35ddescom);
- WIN32GUI_LoadUIString (IDS_FLOPPYTYPEDISABLED, ftdis, sizeof ftdis);
- pages[FLOPPY_ID] = hDlg;
- if (workprefs.floppy_speed > 0 && workprefs.floppy_speed < 10)
- workprefs.floppy_speed = 100;
- currentpage = FLOPPY_ID;
- SendDlgItemMessage (hDlg, IDC_FLOPPYSPD, TBM_SETRANGE, TRUE, MAKELONG (0, 4));
- SendDlgItemMessage (hDlg, IDC_FLOPPYSPD, TBM_SETPAGESIZE, 0, 1);
- SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_RESETCONTENT, 0, 0L);
- SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_ADDSTRING, 0, (LPARAM)ft35dd);
- SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_ADDSTRING, 0, (LPARAM)ft35hd);
- SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_ADDSTRING, 0, (LPARAM)ft525sd);
- SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_SETCURSEL, 0, 0);
- for (i = 0; i < 4; i++) {
- int f_type = floppybuttons[i][3];
- SendDlgItemMessage (hDlg, f_type, CB_RESETCONTENT, 0, 0L);
- SendDlgItemMessage (hDlg, f_type, CB_ADDSTRING, 0, (LPARAM)ftdis);
- SendDlgItemMessage (hDlg, f_type, CB_ADDSTRING, 0, (LPARAM)ft35dd);
- SendDlgItemMessage (hDlg, f_type, CB_ADDSTRING, 0, (LPARAM)ft35hd);
- SendDlgItemMessage (hDlg, f_type, CB_ADDSTRING, 0, (LPARAM)ft525sd);
- SendDlgItemMessage (hDlg, f_type, CB_ADDSTRING, 0, (LPARAM)ft35ddescom);
+ case WM_INITDIALOG:
+ {
+ char ft35dd[20], ft35hd[20], ft525sd[20], ftdis[20], ft35ddescom[20];
+ int df0texts[] = { IDC_DF0TEXT, IDC_DF1TEXT, IDC_DF2TEXT, IDC_DF3TEXT, -1 };
+
+ WIN32GUI_LoadUIString (IDS_FLOPPYTYPE35DD, ft35dd, sizeof ft35dd);
+ WIN32GUI_LoadUIString (IDS_FLOPPYTYPE35HD, ft35hd, sizeof ft35hd);
+ WIN32GUI_LoadUIString (IDS_FLOPPYTYPE525SD, ft525sd, sizeof ft525sd);
+ WIN32GUI_LoadUIString (IDS_FLOPPYTYPE35DDESCOM, ft35ddescom, sizeof ft35ddescom);
+ WIN32GUI_LoadUIString (IDS_FLOPPYTYPEDISABLED, ftdis, sizeof ftdis);
+ pages[FLOPPY_ID] = hDlg;
+ if (workprefs.floppy_speed > 0 && workprefs.floppy_speed < 10)
+ workprefs.floppy_speed = 100;
+ currentpage = FLOPPY_ID;
+ SendDlgItemMessage (hDlg, IDC_FLOPPYSPD, TBM_SETRANGE, TRUE, MAKELONG (0, 4));
+ SendDlgItemMessage (hDlg, IDC_FLOPPYSPD, TBM_SETPAGESIZE, 0, 1);
+ SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_RESETCONTENT, 0, 0L);
+ SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_ADDSTRING, 0, (LPARAM)ft35dd);
+ SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_ADDSTRING, 0, (LPARAM)ft35hd);
+ SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_ADDSTRING, 0, (LPARAM)ft525sd);
+ SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_SETCURSEL, 0, 0);
+ for (i = 0; i < 4; i++) {
+ int f_type = floppybuttons[i][3];
+ SendDlgItemMessage (hDlg, f_type, CB_RESETCONTENT, 0, 0L);
+ SendDlgItemMessage (hDlg, f_type, CB_ADDSTRING, 0, (LPARAM)ftdis);
+ SendDlgItemMessage (hDlg, f_type, CB_ADDSTRING, 0, (LPARAM)ft35dd);
+ SendDlgItemMessage (hDlg, f_type, CB_ADDSTRING, 0, (LPARAM)ft35hd);
+ SendDlgItemMessage (hDlg, f_type, CB_ADDSTRING, 0, (LPARAM)ft525sd);
+ SendDlgItemMessage (hDlg, f_type, CB_ADDSTRING, 0, (LPARAM)ft35ddescom);
+ }
+ setmultiautocomplete (hDlg, df0texts);
}
- setmultiautocomplete (hDlg, df0texts);
- }
- case WM_USER:
- recursive++;
- SetDlgItemText (hDlg, IDC_DF0TEXT, workprefs.df[0]);
- SetDlgItemText (hDlg, IDC_DF1TEXT, workprefs.df[1]);
- SetDlgItemText (hDlg, IDC_DF2TEXT, workprefs.df[2]);
- SetDlgItemText (hDlg, IDC_DF3TEXT, workprefs.df[3]);
- SetDlgItemText (hDlg, IDC_DF0TEXTQ, workprefs.df[0]);
- SetDlgItemText (hDlg, IDC_DF1TEXTQ, workprefs.df[1]);
- SetDlgItemText (hDlg, IDC_CREATE_NAME, diskname);
- SendDlgItemMessage (hDlg, IDC_FLOPPYSPD, TBM_SETPOS, TRUE,
- workprefs.floppy_speed ? exact_log2 ((workprefs.floppy_speed) / 100) + 1 : 0);
- out_floppyspeed (hDlg);
- addallfloppies (hDlg);
- recursive--;
- break;
-
- case WM_CONTEXTMENU:
- diskselectmenu (hDlg, wParam);
- break;
+ case WM_USER:
+ recursive++;
+ SetDlgItemText (hDlg, IDC_DF0TEXT, workprefs.df[0]);
+ SetDlgItemText (hDlg, IDC_DF1TEXT, workprefs.df[1]);
+ SetDlgItemText (hDlg, IDC_DF2TEXT, workprefs.df[2]);
+ SetDlgItemText (hDlg, IDC_DF3TEXT, workprefs.df[3]);
+ SetDlgItemText (hDlg, IDC_DF0TEXTQ, workprefs.df[0]);
+ SetDlgItemText (hDlg, IDC_DF1TEXTQ, workprefs.df[1]);
+ SetDlgItemText (hDlg, IDC_CREATE_NAME, diskname);
+ SendDlgItemMessage (hDlg, IDC_FLOPPYSPD, TBM_SETPOS, TRUE,
+ workprefs.floppy_speed ? exact_log2 ((workprefs.floppy_speed) / 100) + 1 : 0);
+ out_floppyspeed (hDlg);
+ addallfloppies (hDlg);
+ recursive--;
+ break;
- case WM_COMMAND:
- if (recursive > 0)
+ case WM_CONTEXTMENU:
+ diskselectmenu (hDlg, wParam);
break;
- recursive++;
- if (HIWORD (wParam) == CBN_SELCHANGE || HIWORD (wParam) == CBN_KILLFOCUS) {
+
+ case WM_COMMAND:
+ if (recursive > 0)
+ break;
+ recursive++;
+ if (HIWORD (wParam) == CBN_SELCHANGE || HIWORD (wParam) == CBN_KILLFOCUS) {
+ switch (LOWORD (wParam))
+ {
+ case IDC_DF0TEXT:
+ case IDC_DF0TEXTQ:
+ getfloppyname (hDlg, 0);
+ addfloppytype (hDlg, 0);
+ addfloppyhistory (hDlg);
+ break;
+ case IDC_DF1TEXT:
+ case IDC_DF1TEXTQ:
+ getfloppyname (hDlg, 1);
+ addfloppytype (hDlg, 1);
+ addfloppyhistory (hDlg);
+ break;
+ case IDC_DF2TEXT:
+ getfloppyname (hDlg, 2);
+ addfloppytype (hDlg, 2);
+ addfloppyhistory (hDlg);
+ break;
+ case IDC_DF3TEXT:
+ getfloppyname (hDlg, 3);
+ addfloppytype (hDlg, 3);
+ addfloppyhistory (hDlg);
+ break;
+ case IDC_DF0TYPE:
+ getfloppytype (hDlg, 0);
+ break;
+ case IDC_DF1TYPE:
+ getfloppytype (hDlg, 1);
+ break;
+ case IDC_DF2TYPE:
+ getfloppytype (hDlg, 2);
+ break;
+ case IDC_DF3TYPE:
+ getfloppytype (hDlg, 3);
+ break;
+ }
+ }
switch (LOWORD (wParam))
{
- case IDC_DF0TEXT:
- case IDC_DF0TEXTQ:
- getfloppyname (hDlg, 0);
+ case IDC_DF0ENABLE:
+ case IDC_DF0QENABLE:
+ getfloppytypeq (hDlg, 0);
+ break;
+ case IDC_DF1ENABLE:
+ case IDC_DF1QENABLE:
+ getfloppytypeq (hDlg, 1);
+ break;
+ case IDC_DF2ENABLE:
+ getfloppytypeq (hDlg, 2);
+ break;
+ case IDC_DF3ENABLE:
+ getfloppytypeq (hDlg, 3);
+ break;
+ case IDC_DF0WP:
+ case IDC_DF0WPQ:
+ floppysetwriteprotect (hDlg, 0, currentpage == QUICKSTART_ID ? IsDlgButtonChecked (hDlg, IDC_DF0WPQ) : IsDlgButtonChecked (hDlg, IDC_DF0WP));
+ break;
+ case IDC_DF1WP:
+ case IDC_DF1WPQ:
+ floppysetwriteprotect (hDlg, 1, currentpage == QUICKSTART_ID ? IsDlgButtonChecked (hDlg, IDC_DF1WPQ) : IsDlgButtonChecked (hDlg, IDC_DF1WP));
+ break;
+ case IDC_DF2WP:
+ floppysetwriteprotect (hDlg, 2, IsDlgButtonChecked (hDlg, IDC_DF2WP));
+ break;
+ case IDC_DF3WP:
+ floppysetwriteprotect (hDlg, 3, IsDlgButtonChecked (hDlg, IDC_DF3WP));
+ break;
+ case IDC_DF0:
+ case IDC_DF0QQ:
+ diskselect (hDlg, wParam, &workprefs, 0, NULL);
+ break;
+ case IDC_DF1:
+ case IDC_DF1QQ:
+ diskselect (hDlg, wParam, &workprefs, 1, NULL);
+ break;
+ case IDC_DF2:
+ diskselect (hDlg, wParam, &workprefs, 2, NULL);
+ break;
+ case IDC_DF3:
+ diskselect (hDlg, wParam, &workprefs, 3, NULL);
+ break;
+ case IDC_EJECT0:
+ case IDC_EJECT0Q:
+ SetDlgItemText (hDlg, IDC_DF0TEXT, "");
+ SetDlgItemText (hDlg, IDC_DF0TEXTQ, "");
+ workprefs.df[0][0] = 0;
addfloppytype (hDlg, 0);
- addfloppyhistory (hDlg);
break;
- case IDC_DF1TEXT:
- case IDC_DF1TEXTQ:
- getfloppyname (hDlg, 1);
+ case IDC_EJECT1:
+ case IDC_EJECT1Q:
+ SetDlgItemText (hDlg, IDC_DF1TEXT, "");
+ SetDlgItemText (hDlg, IDC_DF1TEXTQ, "");
+ workprefs.df[1][0] = 0;
addfloppytype (hDlg, 1);
- addfloppyhistory (hDlg);
break;
- case IDC_DF2TEXT:
- getfloppyname (hDlg, 2);
+ case IDC_EJECT2:
+ SetDlgItemText (hDlg, IDC_DF2TEXT, "");
+ workprefs.df[2][0] = 0;
addfloppytype (hDlg, 2);
- addfloppyhistory (hDlg);
break;
- case IDC_DF3TEXT:
- getfloppyname (hDlg, 3);
+ case IDC_EJECT3:
+ SetDlgItemText (hDlg, IDC_DF3TEXT, "");
+ workprefs.df[3][0] = 0;
addfloppytype (hDlg, 3);
- addfloppyhistory (hDlg);
break;
- case IDC_DF0TYPE:
- getfloppytype (hDlg, 0);
+ case IDC_SAVEIMAGE0:
+ deletesaveimage (hDlg, 0);
+ break;
+ case IDC_SAVEIMAGE1:
+ deletesaveimage (hDlg, 1);
+ break;
+ case IDC_SAVEIMAGE2:
+ deletesaveimage (hDlg, 2);
break;
- case IDC_DF1TYPE:
- getfloppytype (hDlg, 1);
+ case IDC_SAVEIMAGE3:
+ deletesaveimage (hDlg, 3);
break;
- case IDC_DF2TYPE:
- getfloppytype (hDlg, 2);
+ case IDC_CREATE:
+ DiskSelection(hDlg, wParam, 1, &workprefs, 0);
break;
- case IDC_DF3TYPE:
- getfloppytype (hDlg, 3);
+ case IDC_CREATE_RAW:
+ DiskSelection(hDlg, wParam, 1, &workprefs, 0);
break;
}
- }
- switch (LOWORD (wParam))
- {
- case IDC_DF0ENABLE:
- case IDC_DF0QENABLE:
- getfloppytypeq (hDlg, 0);
- break;
- case IDC_DF1ENABLE:
- case IDC_DF1QENABLE:
- getfloppytypeq (hDlg, 1);
- break;
- case IDC_DF2ENABLE:
- getfloppytypeq (hDlg, 2);
- break;
- case IDC_DF3ENABLE:
- getfloppytypeq (hDlg, 3);
- break;
- case IDC_DF0WP:
- case IDC_DF0WPQ:
- floppysetwriteprotect (hDlg, 0, currentpage == QUICKSTART_ID ? IsDlgButtonChecked (hDlg, IDC_DF0WPQ) : IsDlgButtonChecked (hDlg, IDC_DF0WP));
- break;
- case IDC_DF1WP:
- case IDC_DF1WPQ:
- floppysetwriteprotect (hDlg, 1, currentpage == QUICKSTART_ID ? IsDlgButtonChecked (hDlg, IDC_DF1WPQ) : IsDlgButtonChecked (hDlg, IDC_DF1WP));
- break;
- case IDC_DF2WP:
- floppysetwriteprotect (hDlg, 2, IsDlgButtonChecked (hDlg, IDC_DF2WP));
- break;
- case IDC_DF3WP:
- floppysetwriteprotect (hDlg, 3, IsDlgButtonChecked (hDlg, IDC_DF3WP));
- break;
- case IDC_DF0:
- case IDC_DF0QQ:
- diskselect (hDlg, wParam, &workprefs, 0, NULL);
- break;
- case IDC_DF1:
- case IDC_DF1QQ:
- diskselect (hDlg, wParam, &workprefs, 1, NULL);
- break;
- case IDC_DF2:
- diskselect (hDlg, wParam, &workprefs, 2, NULL);
- break;
- case IDC_DF3:
- diskselect (hDlg, wParam, &workprefs, 3, NULL);
- break;
- case IDC_EJECT0:
- case IDC_EJECT0Q:
- SetDlgItemText (hDlg, IDC_DF0TEXT, "");
- SetDlgItemText (hDlg, IDC_DF0TEXTQ, "");
- workprefs.df[0][0] = 0;
- addfloppytype (hDlg, 0);
- break;
- case IDC_EJECT1:
- case IDC_EJECT1Q:
- SetDlgItemText (hDlg, IDC_DF1TEXT, "");
- SetDlgItemText (hDlg, IDC_DF1TEXTQ, "");
- workprefs.df[1][0] = 0;
- addfloppytype (hDlg, 1);
- break;
- case IDC_EJECT2:
- SetDlgItemText (hDlg, IDC_DF2TEXT, "");
- workprefs.df[2][0] = 0;
- addfloppytype (hDlg, 2);
- break;
- case IDC_EJECT3:
- SetDlgItemText (hDlg, IDC_DF3TEXT, "");
- workprefs.df[3][0] = 0;
- addfloppytype (hDlg, 3);
- break;
- case IDC_SAVEIMAGE0:
- deletesaveimage (hDlg, 0);
- break;
- case IDC_SAVEIMAGE1:
- deletesaveimage (hDlg, 1);
- break;
- case IDC_SAVEIMAGE2:
- deletesaveimage (hDlg, 2);
- break;
- case IDC_SAVEIMAGE3:
- deletesaveimage (hDlg, 3);
- break;
- case IDC_CREATE:
- DiskSelection(hDlg, wParam, 1, &workprefs, 0);
- break;
- case IDC_CREATE_RAW:
- DiskSelection(hDlg, wParam, 1, &workprefs, 0);
+ recursive--;
break;
- }
- recursive--;
- break;
- case WM_HSCROLL:
- workprefs.floppy_speed = (int)SendMessage (GetDlgItem (hDlg, IDC_FLOPPYSPD), TBM_GETPOS, 0, 0);
- if (workprefs.floppy_speed > 0) {
- workprefs.floppy_speed--;
- workprefs.floppy_speed = 1 << workprefs.floppy_speed;
- workprefs.floppy_speed *= 100;
- }
- out_floppyspeed (hDlg);
- break;
+ case WM_HSCROLL:
+ workprefs.floppy_speed = (int)SendMessage (GetDlgItem (hDlg, IDC_FLOPPYSPD), TBM_GETPOS, 0, 0);
+ if (workprefs.floppy_speed > 0) {
+ workprefs.floppy_speed--;
+ workprefs.floppy_speed = 1 << workprefs.floppy_speed;
+ workprefs.floppy_speed *= 100;
+ }
+ out_floppyspeed (hDlg);
+ break;
}
return FALSE;
int v = full_property_sheet;
ew (hDlg, IDC_PORT_TABLET_FULL, v && is_tablet () && workprefs.input_tablet > 0);
ew (hDlg, IDC_PORT_MOUSETRICK, v);
+ ew (hDlg, IDC_PORT_TABLET_CURSOR, v && workprefs.input_tablet > 0);
}
static void enable_for_portsdlg (HWND hDlg)
SetDlgItemInt (hDlg, IDC_INPUTSPEEDM, workprefs.input_mouse_speed, FALSE);
CheckDlgButton (hDlg, IDC_PORT_MOUSETRICK, workprefs.input_magic_mouse);
+ SendDlgItemMessage (hDlg, IDC_PORT_TABLET_CURSOR, CB_SETCURSEL, workprefs.input_magic_mouse_cursor, 0);
CheckDlgButton (hDlg, IDC_PORT_TABLET, workprefs.input_tablet > 0);
CheckDlgButton (hDlg, IDC_PORT_TABLET_FULL, workprefs.input_tablet == TABLET_REAL);
currprefs.input_mouse_speed = workprefs.input_mouse_speed = i;
workprefs.input_magic_mouse = IsDlgButtonChecked (hDlg, IDC_PORT_MOUSETRICK) ? -1 : 0;
+ workprefs.input_magic_mouse_cursor = SendDlgItemMessage (hDlg, IDC_PORT_TABLET_CURSOR, CB_GETCURSEL, 0, 0L);
workprefs.input_tablet = 0;
if (IsDlgButtonChecked (hDlg, IDC_PORT_TABLET)) {
workprefs.input_tablet = TABLET_MOUSEHACK;
recursive++;
pages[GAMEPORTS_ID] = hDlg;
currentpage = GAMEPORTS_ID;
+ SendDlgItemMessage (hDlg, IDC_PORT_TABLET_CURSOR, CB_RESETCONTENT, 0, 0L);
+ SendDlgItemMessage (hDlg, IDC_PORT_TABLET_CURSOR, CB_ADDSTRING, 0, (LPARAM)"Show both cursors");
+ SendDlgItemMessage (hDlg, IDC_PORT_TABLET_CURSOR, CB_ADDSTRING, 0, (LPARAM)"Show native cursor only");
+ SendDlgItemMessage (hDlg, IDC_PORT_TABLET_CURSOR, CB_ADDSTRING, 0, (LPARAM)"Show host cursor only");
inputdevice_updateconfig (&workprefs);
enable_for_gameportsdlg (hDlg);
updatejoyport (hDlg);
+Beta 12:
+
+- file comment was not reset when file already existed and file was
+ opened mode = MODE_NEWFILE, also caused lost file comment if file
+ was opened and old comment was set again (probably another "since
+ the beginning bug") Thanks to TC for finding easy test case.
+- mousehack/tablet support "mouse sync" updates (still not fixed)
+- "Magic mouse cursor" mode configuration added.
+ - Both = show standard Windows and Amiga cursors
+ - Native = show Amiga cursor only
+ - Host = show Windows cursor only (with colors and shape copied
+ from real hidden Amiga cursor) This mode fakes really smooth
+ looking cursor movement (as long as positioning is correct..)
+- 'e' debugger command OCS/ECS color register contents are shown
+ correctly in AGA mode
+- sprite garbage in some rare situations (reason not fully known..)
+- floppy drives were emptied if quickstart was enabled, show gui on
+ startup was not enabled and GUI was entered for the first time
+- sprite attachment fixed. Surprisingly it works as documented :)
+
Beta 11:
- fix for graphics corruption introduced in 1.5.3 when bitplane DMA
- file selection dialog (adf, hdf etc..) remembers previous filter
mode ("*.adf", "all files" etc..)
-
Beta 10: clipboard stuff.
- clipboard: multiple CHRS chunks inside FTXT supported
- detected screen size logged
- loading new statefile didn't always trigger scale update
-
Beta 5: WARNING: big changes. 1.6 version change expected.
- KS loader 16-bit odd/even rom image to 32-bit merging fixed
static uae_u32 REGPARAM2 uaenet_int_handler (TrapContext *ctx)
{
int i, j;
- int ours = 0;
int gotit;
struct asyncreq *ar;
uaenet_int_requested = 0;
uaenet_int_late = 0;
uae_sem_post (&async_sem);
- return ours;
+ return 0;
}
static void dev_reset (void)