427 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			427 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | ||
| ; LAST UPDATE: 31.03.2025 savelij
 | ||
| 
 | ||
| 		include macros.a80
 | ||
| 		include fn_const.a80
 | ||
| 		include fn_macros.a80
 | ||
| 		include macros_sp.a80
 | ||
| 		include dss_sp.a80
 | ||
| 
 | ||
| 		org PluginOrg
 | ||
| PluginStart:	db "FLX-PLUG"
 | ||
| 		dw 0
 | ||
| 		dw PluginEntry
 | ||
| 		db 0
 | ||
| 		db 0,0,0
 | ||
| 
 | ||
|                 db "Date preferences plug-in for Flex Navigator",0
 | ||
|                 db "2003 (c) Mac Buster",0
 | ||
|                 db "$VER: 1.0 15-Jul-2003",0
 | ||
| 
 | ||
| PluginEntry:
 | ||
| .L1
 | ||
| 	MAKEWINDOW WINSUBOBJ.STORE
 | ||
| 	W_MAIN 152,96,336,66
 | ||
| 	W_FILL 4,2,328,10,COLORI.BLACK
 | ||
| 	W_TEXT 6,3,COLORI.WHITE," Date preferences v1.0"
 | ||
| 	W_HORIZLINE 1,13,336
 | ||
| 	W_HORIZLINE 17,28,304
 | ||
| 	W_HORIZLINE 17,46,304
 | ||
| 	W_TEXT 18,34,COLORP.HIGHGRAY,"Day"
 | ||
| aDay:		EQU $ - STRLEN("Day") - 2
 | ||
| 	W_BORDER 38,33,56,10
 | ||
| 	W_ICONDOWNARROW 60,34
 | ||
| 	W_ICONUPARROW 76,34
 | ||
| 	W_TEXT 100,34,COLORP.HIGHGRAY,"Month"
 | ||
| aMonth:		EQU $ - STRLEN("Month") - 2
 | ||
| 	W_BORDER 133,33,92,10
 | ||
| 	W_ICONDOWNARROW 191,34
 | ||
| 	W_ICONUPARROW 207,34
 | ||
| 	W_TEXT 230,34,COLORP.HIGHGRAY,"Year"
 | ||
| aYear:		EQU $ - STRLEN("Year") - 2
 | ||
| 	W_BORDER 254,33,64,10
 | ||
| 	W_ICONDOWNARROW 285,34
 | ||
| 	W_ICONUPARROW 301,34
 | ||
| 	W_BUTTONTEXT 18,51,64,11,COLORP.HIGHGRAY," "
 | ||
| 	W_BUTTONTEXT 86,51,64,11,COLORP.HIGHGRAY," "
 | ||
| 	W_BUTTONTEXT 254,51,64,11,COLORP.HIGHGRAY," "
 | ||
| ;	W_TEXT 202,149,COLORP.HIGHGRAY,"Set"
 | ||
| ;	W_TEXT 270,149,COLORP.HIGHGRAY,"Reset"
 | ||
| ;	W_TEXT 438,149,COLORP.HIGHGRAY,"Quit"
 | ||
| ;	W_TEXT 320,114,COLORP.HIGHGRAY,"Today:"
 | ||
| 	W_END
 | ||
| 		ld      ix,64
 | ||
| 		ld      hl,aSet        ; "Set"
 | ||
| 		ld      de,202
 | ||
| 		ld      bc,149
 | ||
| 		ld      a,COLORP.HIGHGRAY;80h
 | ||
| 		call    JUMPS.PrnRangPathC
 | ||
| 		ld      hl,aReset      ; "Reset"
 | ||
| 		ld      de,270
 | ||
| 		ld      bc,149
 | ||
| 		ld      a,COLORP.HIGHGRAY;80h
 | ||
| 		call    JUMPS.PrnRangPathC
 | ||
| 		ld      hl,aQuit       ; "Quit"
 | ||
| 		ld      de,438
 | ||
| 		ld      bc,149
 | ||
| 		ld      a,COLORP.HIGHGRAY;80h
 | ||
| 		call    JUMPS.PrnRangPathC
 | ||
| 		call    GetSysTime
 | ||
| 		call    InitDate
 | ||
| 		ld      ix,320
 | ||
| 		ld      hl,aToday      ; "Today:"
 | ||
| 		ld      de,320
 | ||
| 		ld      bc,114
 | ||
| 		ld      a,COLORP.HIGHGRAY;80h
 | ||
| 		call    JUMPS.PrnRangPathC
 | ||
| 		call    sub_C2B7
 | ||
| 		call    PrintMonth
 | ||
| 		call    PrintYear
 | ||
| 		call    JUMPS.ResFire
 | ||
| _plugin_loop:	ld      ix,PluginMouseTab
 | ||
| 		call    JUMPS.TestCoords
 | ||
| 		halt
 | ||
| 	SPDSS DSSF.SCANKEY
 | ||
| 		jr      z,_plugin_loop
 | ||
| 		ld      a,b
 | ||
| 		or      a
 | ||
| 		jr      nz,_plugin_loop
 | ||
| 		ld      a,e
 | ||
| 		cp      1Bh
 | ||
| 		jr      nz,_plugin_loop
 | ||
| PluginExit:
 | ||
| 	WINDOWCLOSE
 | ||
| 		and     a
 | ||
| 		ret
 | ||
| 
 | ||
| IncDay:		ld      a,(max_date)
 | ||
| 		ld      b,a
 | ||
| 		ld      a,(Day)
 | ||
| 		cp      b
 | ||
| 		jr      nz,loc_C198
 | ||
| 		ld      a,0
 | ||
| loc_C198:	inc     a
 | ||
| 		ld      (Day),a
 | ||
| PrintDay:	ld      a,(Day)
 | ||
| 		ld      l,a
 | ||
| 		ld      h,0
 | ||
| 		add     hl,hl
 | ||
| 		add     hl,hl
 | ||
| 		ld      de,Days0
 | ||
| 		add     hl,de
 | ||
| 		ld      ix,14h
 | ||
| 		ld      de,0C3h
 | ||
| 		ld      bc,82h
 | ||
| 		ld      a,80h
 | ||
| 		call    JUMPS.PrnRangPathL
 | ||
| 		ret
 | ||
| 
 | ||
| DecDay:		ld      a,(max_date)
 | ||
| 		ld      b,a
 | ||
| 		ld      a,(Day)
 | ||
| 		cp      1
 | ||
| 		jr      nz,loc_C1C5
 | ||
| 		ld      a,b
 | ||
| 		inc     a
 | ||
| loc_C1C5:	dec     a
 | ||
| 		ld      (Day),a
 | ||
| 		jr      PrintDay
 | ||
| 
 | ||
| IncMonth:	ld      a,(Month)
 | ||
| 		or      a
 | ||
| 		ret     z
 | ||
| 		dec     a
 | ||
| 		ld      (Month),a
 | ||
| 		call    sub_C268
 | ||
| 		call    sub_C2B7
 | ||
| PrintMonth:	ld      hl,asc_C374
 | ||
| 		call    sub_C1F3
 | ||
| 		ld      a,(Month)
 | ||
| 		ld      c,a
 | ||
| 		ld      b,0FFh
 | ||
| 		ld      hl, asc_C374+0Dh ; ""
 | ||
| loc_C1E9:	ld      a,(hl)
 | ||
| 		inc     hl
 | ||
| 		or      a
 | ||
| 		jr      nz,loc_C1E9
 | ||
| 		inc     b
 | ||
| 		ld      a,c
 | ||
| 		cp      b
 | ||
| 		jr      nz,loc_C1E9
 | ||
| sub_C1F3:	ld      ix,40h ; '@'
 | ||
| 		ld      de,13Ah
 | ||
| 		ld      bc,82h
 | ||
| 		ld      a,80h
 | ||
| 		call    JUMPS.PrnRangPathC
 | ||
| 		ret
 | ||
| 
 | ||
| DecMonth:	ld      a,(Month)
 | ||
| 		cp      0Bh
 | ||
| 		ret     z
 | ||
| 		inc     a
 | ||
| 		ld      (Month),a
 | ||
| 		call    sub_C268
 | ||
| 		call    sub_C2B7
 | ||
| 		jr      PrintMonth
 | ||
| 
 | ||
| IncYear:	ld      hl, a0+4       ; " "
 | ||
| 		ld      c,'0'
 | ||
| 		ld      a,'9'
 | ||
| 		cp      (hl)
 | ||
| 		jr      nz,loc_C230
 | ||
| 		ld      (hl),c
 | ||
| 		dec     hl
 | ||
| 		cp      (hl)
 | ||
| 		jr      nz,loc_C230
 | ||
| 		ld      (hl),c
 | ||
| 		dec     hl
 | ||
| 		cp      (hl)
 | ||
| 		jr      nz,loc_C230
 | ||
| 		ld      (hl),c
 | ||
| 		dec     hl
 | ||
| 		cp      (hl)
 | ||
| 		jr      nz,loc_C230
 | ||
| 		ld      (hl),c
 | ||
| 		dec     (hl)
 | ||
| loc_C230:	inc     (hl)
 | ||
| PrintYear:	ld      ix,1Ah
 | ||
| 		ld      hl, a0+1       ; "    "
 | ||
| 		ld      de,1A7h
 | ||
| 		ld      bc,82h
 | ||
| 		ld      a,80h
 | ||
| 		call    JUMPS.PrnRangPathC
 | ||
| 		call    sub_C268
 | ||
| 		call    sub_C2B7
 | ||
| 		ret
 | ||
| 
 | ||
| DecYear:	ld      hl, a0+4       ; " "
 | ||
| 		ld      c,'9'
 | ||
| 		ld      a,'0'
 | ||
| 		cp      (hl)
 | ||
| 		jr      nz,loc_C265
 | ||
| 		ld      (hl),c
 | ||
| 		dec     hl
 | ||
| 		cp      (hl)
 | ||
| 		jr      nz,loc_C265
 | ||
| 		ld      (hl),c
 | ||
| 		dec     hl
 | ||
| 		cp      (hl)
 | ||
| 		jr      nz,loc_C265
 | ||
| 		ld      (hl),c
 | ||
| 		dec     hl
 | ||
| 		cp      (hl)
 | ||
| 		jr      nz,loc_C265
 | ||
| 		ld      (hl),c
 | ||
| 		inc     (hl)
 | ||
| loc_C265:	dec     (hl)
 | ||
| 		jr      PrintYear
 | ||
| 
 | ||
| sub_C268:	ld      a,(Month)
 | ||
| 		cp      1
 | ||
| 		jr      z,loc_C285
 | ||
| 		cp      3
 | ||
| 		jr      z,loc_C27F
 | ||
| 		cp      5
 | ||
| 		jr      z,loc_C27F
 | ||
| 		cp      0Ah
 | ||
| 		jr      z,loc_C27F
 | ||
| 		ld      a,1Fh
 | ||
| 		jr      loc_C281
 | ||
| 
 | ||
| loc_C27F:	ld      a,1Eh
 | ||
| loc_C281:	ld      (max_date),a
 | ||
| 		ret
 | ||
| 
 | ||
| loc_C285:	ld      de, a0+1       ; "    "
 | ||
| 		call    JUMPS.ConvTxtNum16
 | ||
| 		push    hl
 | ||
| 		pop     bc
 | ||
| 		ld      de,190h
 | ||
| 		push    bc
 | ||
| 		call    JUMPS.Divis16X16
 | ||
| 		pop     bc
 | ||
| 		ld      a,h
 | ||
| 		or      l
 | ||
| 		jr      z,loc_C2AF
 | ||
| 		ld      de,4
 | ||
| 		push    bc
 | ||
| 		call    JUMPS.Divis16X16
 | ||
| 		pop     bc
 | ||
| 		ld      a,h
 | ||
| 		or      l
 | ||
| 		jr      nz,loc_C2B3
 | ||
| 		ld      de,64h ; 'd'
 | ||
| 		call    JUMPS.Divis16X16
 | ||
| 		ld      a,h
 | ||
| 		or      l
 | ||
| 		jr      z,loc_C2B3
 | ||
| loc_C2AF:	ld      a,1Dh
 | ||
| 		jr      loc_C281
 | ||
| 
 | ||
| loc_C2B3:	ld      a,1Ch
 | ||
| 		jr      loc_C281
 | ||
| 
 | ||
| sub_C2B7:	ld      a,(Day)
 | ||
| 		ld      b,a
 | ||
| 		ld      a,(max_date)
 | ||
| 		cp      b
 | ||
| 		jr      nc,loc_C2C4
 | ||
| 		ld      (Day),a
 | ||
| loc_C2C4:	call    PrintDay
 | ||
| 		ret
 | ||
| 
 | ||
| SetDate:	ld      de, a0+1       ; "    "
 | ||
| 		call    JUMPS.ConvTxtNum16
 | ||
| 		push    hl
 | ||
| 	SPDSS DSSF.GETTIME,0
 | ||
| 		ld      a,(Day)
 | ||
| 		ld      d,a
 | ||
| 		ld      a,(Month)
 | ||
| 		inc     a
 | ||
| 		ld      e,a
 | ||
| 		pop     ix
 | ||
| 	SPDSS DSSF.SETTIME
 | ||
| 		call    InitDate
 | ||
| 		jr      loc_C2E9
 | ||
| 
 | ||
| ReadDate:	call    GetSysTime
 | ||
| loc_C2E9:	call    PrintDay
 | ||
| 		call    PrintMonth
 | ||
| 		call    PrintYear
 | ||
| 		ret
 | ||
| 
 | ||
| GetSysTime:
 | ||
| 	SPDSS DSSF.GETTIME,0
 | ||
| 		ld      a,d
 | ||
| 		ld      (Day),a
 | ||
| 		ld      a,e
 | ||
| 		dec     a
 | ||
| 		ld      (Month),a
 | ||
| 		push    ix
 | ||
| 		ld      hl,a0          ; "0    "
 | ||
| 		ld      b,5
 | ||
| loc_C307:	ld      (hl),30h ; '0'
 | ||
| 		inc     hl
 | ||
| 		djnz    loc_C307
 | ||
| 		pop     hl
 | ||
| 		ld      de, a0+1       ; "    "
 | ||
| 		call    JUMPS.ConvNumTxt16
 | ||
| InitDate:	ld      hl, aToday+6   ; ""
 | ||
| 		ld      b,' '
 | ||
| loc_C318:	ld      (hl),0
 | ||
| 		inc     hl
 | ||
| 		djnz    loc_C318
 | ||
| 		ld      a,(Day)
 | ||
| 		ld      l,a
 | ||
| 		ld      h,0
 | ||
| 		add     hl,hl
 | ||
| 		add     hl,hl
 | ||
| 		ld      de,Days0
 | ||
| 		add     hl,de
 | ||
| 		ld      de, aToday+6   ; ""
 | ||
| 		ldi
 | ||
| 		ldi
 | ||
| 		ldi
 | ||
| 		ex      de,hl
 | ||
| 		ld      (hl),' '
 | ||
| 		inc     hl
 | ||
| 		push    hl
 | ||
| 		ld      a,(Month)
 | ||
| 		ld      c,a
 | ||
| 		ld      b,0FFh
 | ||
| 		ld      hl, asc_C374+0Dh ; ""
 | ||
| loc_C340:	ld      a,(hl)
 | ||
| 		inc     hl
 | ||
| 		or      a
 | ||
| 		jr      nz,loc_C340
 | ||
| 		inc     b
 | ||
| 		ld      a,c
 | ||
| 		cp      b
 | ||
| 		jr      nz,loc_C340
 | ||
| 		pop     de
 | ||
| loc_C34B:	ld      a,(hl)
 | ||
| 		or      a
 | ||
| 		jr      z,loc_C354
 | ||
| 		ld      (de),a
 | ||
| 		inc     hl
 | ||
| 		inc     de
 | ||
| 		jr      loc_C34B
 | ||
| 
 | ||
| loc_C354:	ex      de,hl
 | ||
| 		ld      (hl),20h ; ' '
 | ||
| 		inc     hl
 | ||
| 		ex      de,hl
 | ||
| 		ld      hl, a0+1       ; "    "
 | ||
| 		ldi
 | ||
| 		ldi
 | ||
| 		ldi
 | ||
| 		ldi
 | ||
| 		ret
 | ||
| 
 | ||
| aSet:		db "Set",0
 | ||
| aReset:		db "Reset",0
 | ||
| aQuit:		db "Quit",0
 | ||
| asc_C374:	db "             ",0
 | ||
| aJanuary:	db "January",0
 | ||
| aFebruary:	db "February",0
 | ||
| aMarch:		db "March",0
 | ||
| aApril:		db "April",0
 | ||
| aMay:		db "May",0
 | ||
| aJune:		db "June",0
 | ||
| aJuly:		db "July",0
 | ||
| aAugust:	db "August",0
 | ||
| aSeptember:	db "September",0
 | ||
| aOctober:	db "October",0
 | ||
| aNovember:	db "November",0
 | ||
| aDecember:	db "December",0
 | ||
| aToday:		db "Today:",0
 | ||
| 		DB 31 DUP 0
 | ||
| Day:		db 12h
 | ||
| Month:		db 5
 | ||
| max_date:	db 1Eh
 | ||
| a0:		db "0    ",0
 | ||
| Days0:		DB 4 DUP 0			; <20><>譨<EFBFBD> 4 <20><><EFBFBD><EFBFBD>,<2C>⮡ <20><> <20>⭨<EFBFBD><E2ADA8><EFBFBD><EFBFBD> 1 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
 | ||
| Days:		db " 01",0
 | ||
| 		db " 02",0
 | ||
| 		db " 03",0
 | ||
| 		db " 04",0
 | ||
| 		db " 05",0
 | ||
| 		db " 06",0
 | ||
| 		db " 07",0
 | ||
| 		db " 08",0
 | ||
| 		db " 09",0
 | ||
| 		db " 10",0
 | ||
| 		db " 11",0
 | ||
| 		db " 12",0
 | ||
| 		db " 13",0
 | ||
| 		db " 14",0
 | ||
| 		db " 15",0
 | ||
| 		db " 16",0
 | ||
| 		db " 17",0
 | ||
| 		db " 18",0
 | ||
| 		db " 19",0
 | ||
| 		db " 20",0
 | ||
| 		db " 21",0
 | ||
| 		db " 22",0
 | ||
| 		db " 23",0
 | ||
| 		db " 24",0
 | ||
| 		db " 25",0
 | ||
| 		db " 26",0
 | ||
| 		db " 27",0
 | ||
| 		db " 28",0
 | ||
| 		db " 29",0
 | ||
| 		db " 30",0
 | ||
| 		db " 31",0
 | ||
| 
 | ||
| PluginMouseTab:	dw 212,228,130,138,1,0,DecDay,0
 | ||
| 		dw 228,244,130,138,1,0,IncDay,0
 | ||
| 		dw 342,358,130,138,1,0,DecMonth,0
 | ||
| 		dw 358,374,130,138,1,0,IncMonth,0
 | ||
| 		dw 437,453,130,138,1,0,DecYear,0
 | ||
| 		dw 453,469,130,138,1,0,IncYear,0
 | ||
| 		dw 238,302,147,158,1,0,ReadDate,0
 | ||
| 		dw 170,234,147,158,1,0,SetDate,0
 | ||
| 		dw 406,470,147,158,33,0,PluginExit,0
 | ||
| 		dw 0x8000
 | ||
| PluginEnd:
 |