Seite 1 von 1

Speichersparendes Miniprogramm Timer

Verfasst: 19.06.2009 13:18
von hiltwin
Wie schreibe ich am besten ein Programm, dass mich alle 15, 30 oder 60 min an irgendetwas erinnern soll?

Dabei interessiert mich, wie ich das Programm gestalte, dass es im "Ruhe"- bzw. "Countdown"-Zustand möglichst wenig Ressourcen im Speicher verbraucht. Den Rest bekomm ich eigenständig hin :-)

Also, das Programm soll die ganze Zeit zusammen mit dem Computer laufen.

Hat jemand Vorschläge?

Es muss nicht sekundengenau erinnert werden, selbst ein +/- von 5 min. ist ok. Hat das überhaupt Einfluss auf die Speichernutzung?

Frdl. Gruss
Hiltwin

Verfasst: 19.06.2009 13:41
von Kaeru Gaman
der speicherverbrauch wird konstant sein, meines wissens verbraucht auch ein verstecktes fenster den selben speicher wie im angezeigten zustand.

das programm selber wird lächerlich kurz und klein sein, du brauchst im grunde nur nen Timer-Callback. (<- suchbegriff)

Code: Alles auswählen

If OpenWindow(0, #PB_Ignore, 0, 200, 200, "Test")

  SetTimer_(WindowID(0), 0, 5000, 0)
 
  Repeat
    Select WaitWindowEvent()
     
      Case #PB_Event_CloseWindow
        Break
       
      Case #WM_TIMER
        Debug "Schon wieder 5 Sekunden um"
   
    EndSelect
  ForEver
EndIf

KillTimer_(WindowID(0), 0)

also, das was wirklich zur laufzeit speicher brauchen wird, ist das fenster und die knöpfe, je nachdem wieviele und wofür du anlegst.
das programm selber wird nur ein paar KB brauchen, und der Timer als Callback braucht KEINE CPU-Zeit, weil der Task ruht bis das OS ihn anspricht.

:-)

Verfasst: 19.06.2009 13:51
von hiltwin
Prima, das war genau das was ich wissen wollte.

Das heißt, mit nem Callback von z.B. "meld dich bloss erst wieder alle 30 Minuten" schick ich den Vorgang für ne halbe Stunde in den "Dämmerschlaf".

Danke für die schnelle Antwort.

Re: Speichersparendes Miniprogramm Timer

Verfasst: 19.06.2009 13:55
von Kiffi
hiltwin hat geschrieben:Dabei interessiert mich, wie ich das Programm gestalte, dass es im "Ruhe"- bzw. "Countdown"-Zustand möglichst wenig Ressourcen im Speicher verbraucht.
dann wäre ein 'Geplanter Task' (oder 'Aufgabenplanung' unter Vista)
vielleicht das richtige für Dich.

Grüße ... Kiffi

Verfasst: 19.06.2009 14:06
von HeX0R
Ich hatte da auch mal was gebastelt, ohne Timercallback:

Code: Alles auswählen

;/ Wecker V0.1
;| Code, Icon (c)HeX0R 2006
;| Sounds     (c)Irgendne Freeware-Sound-Seite
;|               (URL vergessen... Schande)
;|
;| Geschrieben, weil ich wegen langen
;| Auslesephasen und irrwitzigen
;| Temperaturen unter Tage ständig
;| eingeduselt bin und mich selbst
;| zum richtigen Zeitpunkt wecken
;| wollte.
;| (wurde auch während einer solchen
;| Auslesung zusammengekleistert
;| ~1 Stunde + 2 Stunden 'Feintuning')
;|
;| designed for PureBasic 4.0
;|
;/

;==========================================
;-Constants
;==========================================

#Version = "0.1"

Enumeration
	#Window_0
	#Window_1
	#Window_2
EndEnumeration

Enumeration
	#Radio_0
	#Radio_1
	#Button_0
	#Button_1
	#Button_2
	#Button_3
	#Text_0
	#Text_1
	#Text_2
	#Text_3
	#Text_4
	#Text_5
	#String_0
	#Combo_0
	#Combo_1
	#Combo_2
	#Combo_3
EndEnumeration

;==========================================
;-Procedures
;==========================================

Procedure Open_Window_0(a$)
	Protected i.l, d$

	If OpenWindow(#Window_0, 299, 99, 251, 148, "Wecker V" + #Version + " (c)HeX0R 2006", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
		AddKeyboardShortcut(#Window_0, #PB_Shortcut_Return, 0)

		OptionGadget(#Radio_0, 10, 10, 70, 20, "Modus 1")
		OptionGadget(#Radio_1, 10, 50, 70, 20, "Modus 2")
		TextGadget(#Text_0, 40, 30, 50, 20, "Wecke in")
		ComboBoxGadget(#Combo_3, 110, 28, 50, 20)
		TextGadget(#Text_1, 165, 30, 60, 20, "Minuten")
		TextGadget(#Text_3, 40, 70, 60, 20, "Wecke um")
		ComboBoxGadget(#Combo_0, 110, 68, 40, 20)
		ComboBoxGadget(#Combo_1, 155, 68, 40, 20)
		ComboBoxGadget(#Combo_2, 200, 68, 40, 20)
		TextGadget(#Text_4, 40, 95, 60, 20, "Zeit jetzt")
		StringGadget(#String_0, 110, 93, 130, 20, a$, #PB_String_ReadOnly)
		ButtonGadget(#Button_0, 10, 120, 70, 20, "Start", #PB_Button_Default)
		ButtonGadget(#Button_1, 170, 120, 70, 20, "Abbrechen")
		;/Init Gadgets
		For i = 0 To 23
			AddGadgetItem(#Combo_0, -1, RSet(Str(i), 2, "0"))
		Next i
		For i = 0 To 59
			AddGadgetItem(#Combo_1, -1, RSet(Str(i), 2, "0"))
		Next i
		For i = 0 To 59
			AddGadgetItem(#Combo_2, -1, RSet(Str(i), 2, "0"))
		Next i
		For i = 5 To 180 Step 5
			AddGadgetItem(#Combo_3, -1, Str(i))
		Next i
		SetGadgetState(#Radio_0, 1)
		SetGadgetState(#Combo_3, 0)
		SetGadgetState(#Combo_0, Hour(Date()))
		SetGadgetState(#Combo_1, Minute(Date()))
		SetGadgetState(#Combo_2, Second(Date()))

	EndIf

EndProcedure

Procedure Open_Window_1()

	If OpenWindow(#Window_1, 216, 0, 206, 80, "Aufwachen!",  #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
		TextGadget(#Text_2, 10, 10, 180, 20, "Beweg deinen Arsch!!", #PB_Text_Center)
		ButtonGadget(#Button_2, 40, 30, 120, 20, "Ja ja", #PB_Button_Default)
		ButtonGadget(#Button_3, 40, 55, 120, 20, "Noch 5 Minuten")
		AddKeyboardShortcut(#Window_1, #PB_Shortcut_Return, 1)
		StickyWindow(#Window_1, #True)
	EndIf

EndProcedure

Procedure Open_Window_2(a$)
	Protected Size.l = 28, i.l, no.l

	If OpenWindow(#Window_2, 216, 0, 212, 102, "Info",  #PB_Window_BorderLess | #PB_Window_ScreenCentered)
		TextGadget(#Text_4, 0, 10, 210, 90, a$, #PB_Text_Center)
		Repeat
			Size - 2
			If LoadFont(0, "Monotype Corsiva", Size, #PB_Font_Bold | #PB_Font_Italic) = 0
				Break
			EndIf
			If StartDrawing(WindowOutput(#Window_2))
				DrawingFont(FontID(0))
				no = #False
				If TextHeight(a$) > GadgetHeight(#Text_4)
					no = #True
				Else
					For i = 0 To CountString(a$, #LF$)
						If TextWidth(StringField(a$, i + 1, #LF$)) > GadgetWidth(#Text_4)
							no = #True
							Break
						EndIf
					Next i
				EndIf
				StopDrawing()
			EndIf
		Until no = #False Or Size < 6
		If IsFont(0)
			SetGadgetFont(#Text_4, FontID(0))
		EndIf
		SetWindowColor(#Window_2, $E3241C)
		SetGadgetColor(#Text_4, #PB_Gadget_BackColor, $E3241C)
		SetGadgetColor(#Text_4, #PB_Gadget_FrontColor, $02FFFD)
	EndIf

EndProcedure

Procedure DisableGadgets()
	Protected State.l

	State = GetGadgetState(#Radio_0)
	DisableGadget(#Text_0,  1 - State)
	DisableGadget(#Text_1,  1 - State)
	DisableGadget(#Combo_3, 1 - State)
	DisableGadget(#Text_3,  State)
	DisableGadget(#Combo_0, State)
	DisableGadget(#Combo_1, State)
	DisableGadget(#Combo_2, State)

EndProcedure

Procedure.l ToolTipp(TimeOUT.l)
	Protected M.l, S.l

	S = TimeOUT - Date()
	M = Int(S / 60)
	S - M * 60
	SysTrayIconToolTip(0, "Noch " + RSet(Str(M), 2, "0") + ":" + RSet(Str(S), 2, "0"))

EndProcedure

;==========================================
;-Main-Procedure
;==========================================

Procedure Main()
	Protected Timer1.l, Timer2.l, Timer3.l, TimeOUT.l, MyDate.l, State.l


	MyDate = Date()
	Open_Window_0(FormatDate("%hh:%ii:%ss", MyDate))
	DisableGadgets()
	Timer1 = 1000

	Repeat
		Select WaitWindowEvent(Timer1 - Timer3)
			Case #PB_Event_CloseWindow
				Break
			Case #PB_Event_Gadget
				Select EventGadget()
					Case #Radio_0, #Radio_1
						DisableGadgets()
					Case #Button_0
						State + 1
						If GetGadgetState(#Radio_0)
							TimeOUT = Date() + (GetGadgetState(#Combo_3) + 1) * 300
						Else
							TimeOUT = ParseDate("%hh:%ii:%ss %dd.%mm.%yyyy", GetGadgetText(#Combo_0) + ":" + GetGadgetText(#Combo_1) + ":" + GetGadgetText(#Combo_2) + " " + Str(Day(Date())) + "." + Str(Month(Date())) + "." + Str(Year(Date())))
						EndIf
						If Date() >= TimeOUT
							Break
						EndIf
						HideWindow(#Window_0, #True)
						AddSysTrayIcon(0, WindowID(#Window_0), ImageID(0))
						ToolTipp(TimeOUT)
						Timer3 = 100
						Timer2 = ElapsedMilliseconds() + 2000
						Open_Window_2("Wecker" + #LF$ + "wurde gestartet!")
					Case #Button_1
						Break
					Case #Button_2
						Break
					Case #Button_3
						;Schlummern
						CloseWindow(#Window_1)
						TimeOUT = Date() + 300
						Timer3  = 0
						Timer2  = 0
						Timer1  = 900
						State - 1
				EndSelect
			Case #PB_Event_Menu
				Break
			Case #PB_Event_SysTray
				If State = 1 And EventType() = #PB_EventType_LeftDoubleClick
					Open_Window_2("Wecker" + #LF$ + "wird beendet!")
					While WindowEvent() : Wend
					Delay(2000)
					CloseWindow(#Window_2)
					Break
				EndIf

		EndSelect

		Select State

			Case 0
				If MyDate < Date()
					MyDate = Date()
					SetGadgetText(#String_0, FormatDate("%hh:%ii:%ss", MyDate))
					If GetGadgetState(#Radio_0)
						SetGadgetState(#Combo_0, Hour(Date()))
						SetGadgetState(#Combo_1, Minute(Date()))
						SetGadgetState(#Combo_2, Second(Date()))
					EndIf
				EndIf
			Case 1
				ToolTipp(TimeOUT)
				If Timer2 And Timer2 <= ElapsedMilliseconds()
					CloseWindow(#Window_2)
					Timer2 = 0
				EndIf
				If Date() >= TimeOUT
					State + 1
					SysTrayIconToolTip(0, "ALARM!!!")
					PlaySound(1)
					Open_Window_1()
					Timer1 = 4000
					Timer2 = ElapsedMilliseconds() + Timer1
					Timer3 = 0
				EndIf
			Case 2
				If Timer2 <= ElapsedMilliseconds()
					Timer1 - 200
					If Timer1 < 200
						Timer1 = 200
					EndIf
					Timer2 = ElapsedMilliseconds() + Timer1
					Timer3 = 0
					PlaySound(0)
				Else
					Timer3 = Timer1 - Timer2 + ElapsedMilliseconds()
				EndIf

		EndSelect

	ForEver

	If IsWindow(#Window_1)
		CloseWindow(#Window_1)
	EndIf
	If IsSysTrayIcon(0)
		RemoveSysTrayIcon(0)
	EndIf
	CloseWindow(#Window_0)
	StopSound( - 1)

EndProcedure

;==========================================
;-Program-Start
;==========================================

;-Init
InitSound()
CatchSound(0, ?MainSound)
CatchSound(1, ?LaterSound)
CatchImage(0, ?Icon)
Main()

;-End
FreeImage(0)
FreeSound(0)
FreeSound(1)
FreeFont(0)
End

;===========================================
;-Data
;===========================================

DataSection
	MainSound:
	;beep.wav
	Data.l $46464952, $00000368, $45564157, $20746D66, $00000010, $00010001, $00002B11, $00002B11
	Data.l $00080001, $61746164, $00000344, $F6EDC080, $265FA2DB, $7E3E1209, $DBF6ECBF, $092760A4
	Data.l $BD7D3C11, $A5DDF8EC, $11092962, $EABC7B3B, $63A7DEF8, $39110B29, $F8EABA78, $2A65A8E0
	Data.l $77380F0B, $E0F8E9B9, $0B2C68AA, $B775360F, $ABE1F8E9, $0E0B2D69, $E7B67435, $6BAEE3F8
	Data.l $330E0C2F, $F8E6B472, $2F6CB0E3, $71330E0C, $E4F8E6B3, $0C306EB1, $B16F320C, $B3E6F8E4
	Data.l $0C0C326F, $E4B06E30, $71B4E6F8, $2F0C0E33, $F8E3AE6B, $3572B6E7, $692D0B0E, $E7F8E1AD
	Data.l $0F3675B7, $AB682C0B, $B9E9F8E1, $0B0F3877, $E0AA662C, $78BAE9F8, $2A0B0F39, $F8DEA865
	Data.l $3B7ABCEA, $63290911, $EAF8DEA7, $113B7BBD, $A5622709, $BFECF6DD, $09123C7D, $DBA46026
	Data.l $7EC0ECF6, $2609123E, $F6DAA15F, $3F81C2ED, $5C240914, $EDF6DA9F, $144183C3, $9E5A2309
	Data.l $C5EFF6D8, $08154284, $D79C5921, $86C5EFF6, $21081544, $F5D59B57, $4587C6F0, $56200817
	Data.l $F0F5D499, $174789C8, $98541E08, $C9F0F5D4, $0818488A, $D296531E, $8DCBF2F5, $1D08184A
	Data.l $F3D19551, $4B8FCCF2, $501B081A, $F3F3CF92, $1A4D90CE, $904E1B08, $CFF3F3CE, $081B4E92
	Data.l $CC8F4D1A, $93D1F3F2, $1A081D50, $F2CC8D4B, $5195D1F3, $4A18081D, $F5F2CB8C, $1E5496D2
	Data.l $8A481708, $D4F5F0C9, $08205698, $C8894717, $9BD5F5F0, $15082057, $EFC68745, $599CD7F5
	Data.l $44150821, $F6EFC584, $235A9ED7, $83421408, $D8F6EFC3, $09245C9F, $C2814114, $A1DAF6ED
	Data.l $1209245D, $EDC0803F, $5FA2DBF6, $3E120926, $F6ECBF7E, $2760A4DB, $7D3C1109, $DDF8ECBD
	Data.l $092962A5, $BC7B3B11, $A7DEF8EA, $110B2963, $EABA7839, $65A8E0F8, $380F0B2A, $F8E9B977
	Data.l $2C68AAE0, $75360F0B, $E1F8E9B7, $0B2D69AB, $B674350E, $AEE3F8E7, $0E0C2F6B, $E6B47233
	Data.l $6CB0E3F8, $330E0C2F, $F8E6B371, $306EB1E4, $6F320C0C, $E6F8E4B1, $0C326FB3, $B06E300C
	Data.l $B4E6F8E4, $0C0E3371, $E3AE6B2F, $72B6E7F8, $2D0B0E35, $F8E1AD69, $3675B7E7, $682C0B0F
	Data.l $E9F8E1AB, $0F3877B9, $AA662C0B, $BAE9F8E0, $0B0F3978, $DEA8652A, $7ABCEAF8, $2909113B
	Data.l $F8DEA763, $3B7BBDEA, $62270911, $ECF6DDA5, $123C7DBF, $A4602609, $C0ECF6DB, $09123E7E
	Data.l $DAA15F26, $81C2EDF6, $2409143F, $F6DA9F5C, $4183C3ED, $5A230914, $EFF6D89E, $154284C5
	Data.l $9C592108, $C5EFF6D7, $08154486, $D59B5721, $87C6F0F5, $20081745, $F5D49956, $4789C8F0
	Data.l $541E0817, $F0F5D498, $18488AC9, $96531E08, $CBF2F5D2, $08184A8D, $D195511D, $8FCCF2F3
	Data.l $1B081A4B, $F3CF9250, $4D90CEF3, $4E1B081A, $F3F3CE90, $1B4E92CF, $8F4D1A08, $D1F3F2CC
	Data.l $081D5093, $CC8D4B1A, $95D1F3F2, $18081D51, $F2CB8C4A, $5496D2F5, $4817081E, $F5F0C98A
	Data.l $205698D4, $47471708, $47474747, $47474747, $006F01C0
	LaterSound:
	;excuse_me.wav
	Data.l $46464952, $00001585, $45564157, $20746D66, $00000010, $00010001, $00001F40, $00001F40
	Data.l $00080001, $61746164, $00001561, $7E827D81, $86867E7E, $83787E84, $7F7D7D7B, $7B7D8287
	Data.l $81798081, $827D707A, $86867A7A, $7E7C7677, $DF925F75, $ABBD2553, $A5AA593A, $C98F5570
	Data.l $B47C3574, $C1923C6E, $9D7C4D81, $93564174, $8C1572D5, $814769C3, $604EA2BA, $5D5DA4B7
	Data.l $545CA391, $76859283, $71849388, $797B8182, $4FCAAB56, $3DA3B53D, $79B4A055, $93B5854C
	Data.l $8A934C58, $ACA45E48, $9A9E6A67, $8B866966, $79DC5B49, $7380933C, $7BCB8063, $A87E8F7C
	Data.l $6E6C8668, $8C7B6A6B, $77807896, $6E68817D, $3247D29B, $574D7CA4, $776EC0A6, $587FACB3
	Data.l $3A82A97F, $4B7FA15B, $5798AB6A, $4CAA9756, $98A4844C, $B3AE7F63, $B480356D, $C4863974
	Data.l $A46A6399, $803553AD, $94555FA0, $866886B3, $686D7B84, $5C7A787A, $459AD97C, $5E8F8870
	Data.l $9498A262, $9BAF855F, $7998564E, $95AF6558, $887D6A63, $9F896961, $7874968F, $5A53787D
	Data.l $787DB9A5, $496ACAB8, $37419A8E, $527F996F, $5887917B, $6D759875, $7E89B186, $74707DA0
	Data.l $8576847E, $8F738694, $665581A5, $73556F81, $5E739498, $5079A292, $BE808D6F, $816E55B3
	Data.l $A4483E70, $BF8C718C, $9F877FA8, $6A634F83, $7D6B718B, $73607D99, $675E637A, $7597AE8A
	Data.l $6289BF99, $5C66A069, $8F90AC81, $756B8A99, $68606178, $887A6E64, $767F6984, $9C94867E
	Data.l $87929988, $8578698C, $B4A0595F, $8E8A7F8C, $69795F70, $846F627C, $6E637B96, $64617E8C
	Data.l $7D6C9DAC, $7B68A0AC, $715B9B97, $6C749C8F, $766D928D, $62659485, $566B8B7D, $5E5F7F6B
	Data.l $897B7E76, $A2868786, $AC937988, $B2947995, $8D715A93, $73684E75, $8988707A, $7B73747E
	Data.l $79716061, $8E91776F, $8D9E987F, $8793937D, $82888F84, $6B688B95, $715A8082, $70627C8D
	Data.l $655C8396, $6E5C868B, $8A62818A, $948B808D, $96988492, $87879191, $7E737680, $786D7581
	Data.l $71727582, $676C6974, $777C7870, $8B8D857A, $89918179, $859F8575, $7C9E8E6F, $6E909874
	Data.l $6F77826B, $84787D7C, $82706A84, $87726371, $8A7F767C, $80797588, $94767488, $90878491
	Data.l $807F7D90, $7F6E7D85, $7872848A, $71787F8C, $6577857C, $7282886C, $76888776, $7C818572
	Data.l $8E898276, $868E8B8E, $7B828A85, $777E7A72, $86817777, $877E6E7A, $7F7F6F6C, $86867B72
	Data.l $82828680, $85848484, $8A827A82, $877C7986, $84747687, $786E6F84, $7E777C7F, $767E7C80
	Data.l $787D7776, $84888375, $7B89847A, $848C807A, $838C8A79, $7B87857F, $697B7E79, $74758876
	Data.l $6F748B7C, $7075797F, $837C7D80, $84818488, $8081838A, $83817F86, $7C7E8683, $737B8080
	Data.l $7677807F, $7C7B8682, $7680837F, $7977797E, $83817A79, $85867B7F, $837C7C83, $85777C84
	Data.l $857C8189, $7A78838A, $73798080, $757D8178, $79808174, $81897C76, $82898275, $7F7F7977
	Data.l $807E7B7B, $7D797E85, $847A7E7F, $83808385, $7B797E81, $817C7F7D, $7D7D8386, $72767880
	Data.l $78797E77, $767D857F, $7781827D, $8382867F, $7F898382, $7E85847E, $80888C7E, $787F857B
	Data.l $797C7976, $79807B78, $76837F78, $797F8373, $7B848372, $827B8178, $89877E80, $858C8282
	Data.l $877C8083, $7A708685, $68807F86, $867E7885, $76868071, $817F8379, $797E767B, $806E7979
	Data.l $7D7E7D81, $928C838A, $97886D77, $8274797F, $8D646882, $8E73748D, $817A7988, $7581847E
	Data.l $6E83807A, $7074847A, $76728987, $787B9381, $71789183, $74768E83, $7E7E8191, $7387738D
	Data.l $76808284, $9578807B, $876B8A67, $907F7571, $8A788073, $8486796F, $8C7A8A76, $7F6F9671
	Data.l $8084847E, $93737189, $78748673, $7C708B77, $897C8781, $85798281, $7E758572, $747F8676
	Data.l $7D87897A, $7F7F8B7B, $896A9970, $7180737B, $797C727E, $7F827686, $768E7585, $89827787
	Data.l $877E817B, $8A6F8876, $708A7D7F, $877C8188, $88718A71, $7D78866E, $7C7A827C, $817B7E81
	Data.l $8B71887C, $82778579, $7E817C78, $827E7C81, $847F7E81, $8678857B, $787E7F7A, $827F7784
	Data.l $827F807B, $85768480, $787C807E, $77877388, $87758580, $7F7A8575, $847A817B, $807E8177
	Data.l $87788A79, $887A916D, $777C8A75, $72867783, $807C817F, $7C7F8174, $74877880, $708B698C
	Data.l $77827589, $7B7A8081, $7B837A88, $75867F7F, $7E857A85, $74916F83, $7B847E83, $70887A87
	Data.l $7D7C7986, $7B817C7C, $7B7D7E7E, $738E708A, $69907188, $6D966798, $768A738C, $79857883
	Data.l $6E8C7088, $7884758A, $71897489, $78867191, $6D926D8C, $778B718B, $76877B82, $778C748A
	Data.l $768A7286, $6E8F6B86, $758B758A, $827D7E85, $7F748175, $7A82787C, $82778480, $85788577
	Data.l $837B8776, $7F79857C, $8374837E, $80817C80, $77867983, $7F7F7884, $7A78837A, $708B7587
	Data.l $7A8B768E, $7F7E7E80, $7D808375, $7E7D8179, $79817780, $7D827886, $857C7E7D, $89748B72
	Data.l $877B8675, $867F877B, $847C817E, $83728A75, $8975837B, $86728B75, $936C8A76, $82778A6B
	Data.l $847E7B85, $7681837C, $70906C8E, $857A7885, $866E8C6F, $72817879, $767F7982, $78877685
	Data.l $7E818080, $8777867B, $80728C76, $807D7C7E, $79818481, $7D86778E, $6E807687, $81807184
	Data.l $867A7F7A, $7D8F7880, $7F83787C, $8F857878, $88767D6E, $8D7F787C, $827B827D, $8774867A
	Data.l $81728981, $86718181, $916F7E7F, $7B6F7A82, $82757891, $88737883, $83787C82, $8178867C
	Data.l $7B847D7E, $787E847C, $817B877F, $787B8D7A, $71817D86, $6F837589, $7A807A88, $7B787F83
	Data.l $767A8182, $78817A86, $74867B82, $7F887487, $877A827D, $7E7E7D78, $7C807B7B, $8C7B7D7F
	Data.l $7E7F827C, $8081807D, $807B8278, $797E7B83, $82798280, $85768678, $7A7D7E81, $76847B88
	Data.l $76807C84, $7B768181, $7D787E81, $847B807E, $7F7F827C, $7D85857D, $7D867F81, $7D7E8083
	Data.l $7F807E81, $8079827A, $797E7E79, $78827B7E, $7A827E7E, $7B857C7F, $7F7C7F7F, $7D7E7B7C
	Data.l $807C7D7C, $7E807E7C, $807C7E81, $7F7A7F7D, $7D7D7B80, $857B827C, $807F7E7E, $8379807F
	Data.l $7F7D7F7A, $7B847982, $7E837D83, $7B807D80, $7A807B82, $7D7A7D80, $7D7A817D, $7A7F7F7E
	Data.l $79847D80, $7B827D82, $7D817A83, $82827E82, $847A877C, $7C7F847A, $77807D7E, $7B827881
	Data.l $7C7F7B7B, $817C7D7E, $7E7D807D, $7C817E7F, $7C817E84, $7C7F7B80, $7C807B82, $7D807C80
	Data.l $7D7C7E7F, $7C7C807E, $79817A81, $7B807A81, $7F7E807F, $7E7F7E80, $807B807E, $7B7D837A
	Data.l $7A897787, $7E7B867B, $847C7F81, $78837F79, $817B7C81, $787F8176, $807E7B84, $7C7E8378
	Data.l $817E8080, $7F827A84, $7D7D807D, $79817C82, $837C7F83, $7F7C8181, $817B8180, $787D7E7D
	Data.l $7B7F7C84, $7E827D83, $8A748976, $768D7278, $8677887A, $7C877A7E, $8178877D, $7F817482
	Data.l $7B758B76, $8D718181, $767E807C, $80768084, $7B7F7D7E, $8477837D, $66898571, $6CA3599D
	Data.l $88619A75, $8B995397, $736FA45B, $957E699A, $68878B62, $97747594, $64977870, $8D717B90
	Data.l $64977475, $97579387, $779B5E8A, $75749871, $986E7399, $8B7C8071, $7E6F936B, $7C8A628E
	Data.l $84837D70, $79907F71, $6D839A77, $9486739A, $64829563, $7F6B8583, $72787B6F, $78678A78
	Data.l $8A836B8B, $82858E82, $868E8991, $78718B85, $688C578D, $795E776D, $897C6576, $838D8B6C
	Data.l $929D7A96, $8C9C8490, $79897D77, $8678667B, $6A80764D, $658B7958, $74809C76, $A2898AA9
	Data.l $81869186, $8A4C987F, $79665089, $7C6A616D, $A884618E, $A3A07E7E, $8BA0928A, $3F88A26E
	Data.l $4F5A7486, $645F7375, $966B8B80, $9AA6919B, $8995A3A6, $5E7C7394, $4A565D6D, $804E5B68
	Data.l $A1826B71, $B0B79889, $AAABAAAE, $4798758F, $2D476349, $5E426449, $A1727F73, $AEC1AD90
	Data.l $87B7CFB2, $3E898EA3, $32436268, $58396546, $93707E68, $9CB0B087, $8AB1CCBC, $4E7C9DB1
	Data.l $3D3A607D, $65474B4E, $91837162, $ABBEA687, $8ABCC3AE, $4B909297, $304F6256, $6057563C
	Data.l $8C968860, $A7C4C186, $84A9C2AC, $4B709085, $46455960, $7761494A, $98A2775F, $B6C4BC88
	Data.l $8A96B2AD, $585C8082, $4F46505D, $7E6C4E5A, $9BA97B69, $ABBCB492, $7E90A5A4, $5D59807D
	Data.l $534C565B, $7D7A585D, $9CAE8575, $AABCB1A4, $748191A1, $554A6388, $64485155, $8A7A7065
	Data.l $A7A29E86, $A7A9AAAA, $91738396, $5A534D6E, $68605159, $8789767A, $A1B39B99, $93A7A2A6
	Data.l $75826A7C, $5F4F574A, $84606E5A, $9D82898A, $A09FA2A1, $7A8C979E, $586A8071, $5D595D60
	Data.l $89746475, $9F95858F, $97A2A8AB, $617E819B, $54466786, $765E5B54, $A0867F6F, $AB9F988B
	Data.l $9394A09F, $776B7683, $5761536E, $6D7A605E, $8D9C8A76, $A2A4A199, $818B8EA4, $6977656B
	Data.l $6255574B, $89777C69, $A49B9B8D, $9F9BA0A3, $65758092, $55577075, $73675955, $93847C78
	Data.l $B1A4989F, $929B9DA1, $6E5F6D72, $50545668, $797A605C, $ACA48577, $AAB1A9A1, $76869BA2
	Data.l $596B5B64, $594E4C4C, $7E7C7867, $AAB09D86, $A7A8AEB4, $647582A2, $5157695C, $6B534C45
	Data.l $907B807A, $B1ABA39C, $9DA19FAD, $605E6C8B, $4D5A5671, $7C755850, $A1887D81, $A6A9A6AC
	Data.l $819C979D, $686E5D65, $58495D58, $7F7D7A64, $A9A58F76, $9B9BAAAA, $687A94A3, $56706C56
	Data.l $62534C5A, $817B7C82, $A8AAA396, $9B999EA4, $6168758E, $5C646172, $7E6C5B52, $9C757385
	Data.l $9DADA8A7, $839B9993, $6F675E70, $52556164, $8681755D, $AE998176, $9598AFB4, $657F9795
	Data.l $606E5E56, $5F575164, $7B84887F, $B4A79E8F, $978892A7, $5F5B7A92, $606E6068, $796C5B54
	Data.l $99787E90, $A2ADAAA2, $898E928D, $6F645D75, $575B6966, $867C7A5E, $A593857C, $9197AAAE
	Data.l $62768E8B, $6B65685F, $6D64566B, $7F878C86, $ADA6A19C, $8789909B, $6F566D7C, $5B6B5E64
	Data.l $847A6661, $9886778D, $99A9AD9E, $82838D8A, $6D64566A, $58676C62, $87847A69, $9EA38C87
	Data.l $8C95AEA6, $5B717E86, $6D5B6F5C, $7E6E6462, $7F82927E, $AAA19E9F, $818A899F, $6B556876
	Data.l $656F5868, $807D7666, $A395858D, $94A0A89B, $6F767F8D, $5D754F58, $726E6D65, $91938688
	Data.l $94959D88, $83878D9C, $55716F74, $79676C74, $8380766B, $967A8F8A, $90938C93, $7A7C8B89
	Data.l $7C656077, $69747267, $8B7F8377, $909C8482, $918E9D94, $65757587, $67725F5A, $8064706D
	Data.l $878B8888, $9A92AE90, $7C86859C, $4C5E6570, $7A5B706F, $868C8069, $9D839C92, $81978499
	Data.l $7479867F, $7B6D5E74, $6D797677, $857A847E, $898D8075, $97829581, $6C8C7D8C, $6B6D777A
	Data.l $74736384, $85758F70, $A18C9793, $778C9284, $6C636A86, $737A5E6B, $7D808B71, $8B8C7798
	Data.l $73848988, $8B70777C, $828B826F, $8780818B, $6B787A84, $7567736A, $887C777C, $8C9D9F89
	Data.l $90929092, $616D6A77, $665A6462, $7F7C6D72, $A79D9B90, $8D8C949E, $71688A82, $606D6366
	Data.l $7E856C64, $99838885, $83889483, $7D7B6982, $868B887A, $86858F99, $627F7F83, $5D585B59
	Data.l $826E6867, $A59BA47F, $B1AAB0B1, $627F898F, $60454F5A, $66675A4A, $99947C84, $9CA39DA2
	Data.l $87919599, $74677E7C, $5F665F69, $80707463, $9383827C, $87949B90, $80868594, $88828278
	Data.l $7C6B8575, $64756B6B, $736D7069, $8F8B7385, $9A91A394, $87909A9C, $5D707177, $5D5E575E
	Data.l $8A7D726B, $92929480, $8C9C8798, $7B727B83, $7A7E7B79, $767F747D, $747D7083, $80737A78
	Data.l $8A808780, $7F87918F, $80858181, $727A7C7B, $72767076, $757F777A, $8A80807E, $8C898A84
	Data.l $7E87898A, $7A787B7E, $74727674, $6F836B81, $867D827E, $878C8789, $74888181, $797D778A
	Data.l $7D777C75, $82787F7A, $73807C77, $81877A8A, $84888586, $7E79847D, $757B747F, $73727476
	Data.l $837D767D, $8F858780, $8F86948F, $7C7F8C82, $6E707477, $716C6A6E, $767D7770, $8B8A8085
	Data.l $9390908E, $937E9687, $7174877E, $676E6675, $786D7067, $89808072, $8A91898D, $898C8A98
	Data.l $827B8B7D, $6B7C6D7E, $717B6E78, $8B73827B, $7B898279, $7C857F8E, $82787B79, $807A7B79
	Data.l $8A857F83, $8779907D, $768C7984, $6D787181, $78717277, $7C787F6F, $84867C87, $8F838D82
	Data.l $86878B82, $8082808C, $706E7E76, $6E736970, $87717A6F, $81968684, $8E8C8999, $787D857E
	Data.l $707D6D7F, $816C7D74, $81887F7A, $81858287, $78757A84, $76797977, $80857C7A, $8C878586
	Data.l $89858F85, $7B857F8A, $7470747B, $6D74726F, $7B787575, $837A857C, $85928089, $8A8C888F
	Data.l $83838588, $7476777D, $75727574, $75766F72, $797D797B, $85878282, $88868786, $80808883
	Data.l $7C807D84, $80817B81, $7A7D807C, $7678777C, $78767475, $7F7E7A79, $83858681, $8C89878B
	Data.l $7F828683, $78797B80, $7A7A7877, $7B7C7B7A, $7E7A7B7F, $7D7C7B7B, $827E807C, $8582827F
	Data.l $83888387, $85888985, $7A7C7C7F, $7479757F, $73737672, $73757273, $837D7B7B, $8F898886
	Data.l $8F8E9094, $7E858A8A, $7074757C, $706C6E70, $7574726C, $817F7A79, $8A858685, $85848783
	Data.l $80858286, $807E7F81, $7D7D7E7E, $7D7F7D7E, $797A7C7C, $77797679, $7D7C7979, $847F7F7C
	Data.l $8A868685, $82888889, $7A7E7D83, $7878767A, $7C777A73, $80807D7C, $83868382, $7B7F8282
	Data.l $7D7B7E7F, $7D797D7A, $7D7E7B7C, $81808180, $7E827E7F, $82807F82, $8080837C, $7D7D7D7D
	Data.l $7B7C7C7D, $7B7D7D7B, $7B7C7D7D, $797A787D, $7D797A78, $8682807E, $8C8B8A86, $85868E8E
	Data.l $767B7D80, $6E6F6F71, $78717070, $85827F79, $8A8A8887, $8185878B, $79777E80, $7D7A777C
	Data.l $817D7F7B, $84807F81, $7B7F7F7F, $7F7A7D7D, $7D7A7E79, $7D7E7E7B, $7D7B7F7D, $7E7E7C7B
	Data.l $86828382, $87898784, $80818389, $7876777A, $77757476, $7F7E7A76, $82828280, $7F828684
	Data.l $7D7F7D81, $79777A7A, $7C807D7C, $847F8183, $89888A86, $837E8588, $7578787C, $74717271
	Data.l $75787371, $837E7C7B, $83898581, $85848589, $85858584, $84858686, $757D7B82, $71717075
	Data.l $75716F6E, $84847D79, $8D898884, $84888B8C, $797D8280, $73737077, $797B7977, $868F857C
	Data.l $8987908D, $788A848B, $766A7176, $6D756D6B, $837E7877, $8A868780, $81898A8E, $7A797C78
	Data.l $83857F7A, $858A8A84, $747E8080, $6F687276, $807A706C, $958F8C8B, $7B889495, $7D806F72
	Data.l $625C676F, $817E6F67, $9B959089, $8D939998, $71719D9F, $6F576082, $73705C5C, $8C7C636E
	Data.l $909CA18D, $81919394, $77757977, $686B7277, $7D868471, $908D9A8B, $83808292, $6D67677B
	Data.l $6F796F69, $868D8474, $8486918B, $857B8A93, $726C7688, $7471646F, $908C7E6E, $8F8F8D8B
	Data.l $83819198, $606B777F, $776E6766, $8A708A8C, $7D7D8E9D, $6F7D8176, $82827D72, $82839690
	Data.l $767D797F, $71706B67, $737E8078, $85989B7C, $8897A491, $71697B8B, $67555461, $87766270
	Data.l $97938B86, $879AA198, $737F8C85, $736A717B, $82796D73, $88868081, $757B7F85, $7370767C
	Data.l $827C7273, $9F979086, $9D8E94A8, $6B655A80, $5B565E5D, $8781877F, $8E94ABA9, $60828C82
	Data.l $6A6C5E56, $8E837269, $8D879695, $89828F9C, $777A8389, $797B797A, $78767575, $81786167
	Data.l $978A736D, $96888895, $747A899A, $5D5F6A76, $797C7D6D, $918F928A, $8A818690, $7576737B
	Data.l $7A7C6F71, $8A799B90, $7B5C88A7, $65635A82, $717D8362, $8B989E89, $7D8A858B, $72816B61
	Data.l $818F8865, $90999E8E, $7A77868E, $77666878, $83786C76, $8B8C7787, $726F8079, $6C6A7066
	Data.l $91878585, $A29D9AA6, $6C77868C, $65736560, $7E8C7C71, $897E908A, $7979737C, $8982696B
	Data.l $A59D7E78, $9D98858A, $62705F71, $6D595352, $A88C7D79, $A1A99AA6, $6A747F89, $6A585E66
	Data.l $997F6D74, $A49497A0, $7470809C, $645B6170, $867C7272, $958B9595, $70707D8C, $6C6F6667
	Data.l $8A8F8772, $929BA694, $6E769195, $6460636E, $8B7D6F6E, $93938E8B, $707C7D84, $666D6E67
	Data.l $8A888373, $9CA2A09B, $7A8C9695, $58656661, $6E6C5C53, $948F7F74, $92949596, $707B8288
	Data.l $7274736E, $8688867A, $8889908C, $787F7A82, $73746E6F, $7E7E7870, $8983868D, $807C7C8C
	Data.l $71737270, $827C7670, $9B918B89, $88908C91, $6F788077, $696B7273, $7877736F, $8583897E
	Data.l $8B8A928D, $82858891, $6C737779, $6D716E69, $86858174, $8F919B8C, $767F8B8F, $676B7376
	Data.l $7B727272, $8D8E8D84, $798F9893, $696B7B7D, $726D6D65, $93928278, $79A29481, $72798879
	Data.l $777B766A, $85948077, $79999084, $68748577, $726F6E65, $8B887B78, $87968785, $71787F7C
	Data.l $7775746D, $8A90887D, $88909A93, $6C758587, $6064696A, $7C766E65, $9E978985, $9D95919E
	Data.l $7D726D84, $74745760, $8C927867, $909B9182, $748A837D, $61777561, $76787E68, $8E828E8E
	Data.l $84818D97, $75737987, $767A7474, $79898878, $86888C8B, $7279847C, $71737776, $7B787A78
	Data.l $84807E83, $84848482, $8A878383, $84897E86, $7B7E757A, $767A716B, $7D877B6D, $848D8E7F
	Data.l $79808C84, $6A767672, $6D72796E, $807A8784, $8D7B8F95, $847C8692, $7C777F85, $81727784
	Data.l $8479747F, $7F837A78, $7C858177, $7884837C, $707A7D78, $76797D72, $87858983, $88869093
	Data.l $81737C86, $6D80696B, $787E8A69, $8D928A93, $7D878F8B, $6C737C77, $726E7870, $8A7C7983
	Data.l $8F89818B, $7F80797F, $7979746D, $81847D74, $808F8781, $70808F7B, $71757E7C, $7A797F79
	Data.l $80838A82, $7E7F8689, $73797E7A, $7876787A, $857E7E80, $82878283, $767E7D80, $76797876
	Data.l $7E7F827A, $88818D8B, $827C7C8E, $7A766F7C, $7D7D7371, $8989817B, $838E8A86, $757D8780
	Data.l $72737879, $78777975, $8282807C, $8D838B89, $8283828A, $73777B7A, $73757773, $7F7D7F7B
	Data.l $84858988, $817D848A, $7777757D, $7B7C7674, $8087837C, $7A878E84, $76738186, $7A72737A
	Data.l $86817A7A, $8A8B8685, $7B878588, $6A717D76, $716A7672, $847C7C7C, $908B8A90, $85858A90
	Data.l $7678787E, $75737071, $80817971, $848B8B80, $7E7F8D89, $7A747A84, $78767473, $847E7F7A
	Data.l $8C868387, $7D827F85, $757A7778, $7D7A7B76, $86848480, $84848588, $747B7B7D, $73737670
	Data.l $837A7A78, $8A898685, $85878A8B, $7B7E7D81, $75757573, $797D7574, $8484837F, $80858786
	Data.l $787B7F82, $7876787B, $7A78787B, $0000007F
	Icon:
	Data.l $00010000, $20200001, $00010000, $10A80020, $00160000, $00280000, $00200000, $00400000
	Data.l $00010000, $00000020, $10800000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00800000, $0000FF00, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00800000, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00800000, $0080FF00, $0080FF00, $0080FF00, $0000FF00
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00800000
	Data.l $0080FF00, $0080FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00800000, $0080FF00, $0080FF00, $0080FF00
	Data.l $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00800000, $0080FF00
	Data.l $0080FF00, $0080FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00800000, $0080FF00, $0080FF00
	Data.l $0080FF00, $0000FF00, $00000000, $00000000, $00000000, $0000FF00, $0000FF00, $0000FF00
	Data.l $0000FF00, $0000FF00, $0000FF00, $00000000, $00000000, $00800000, $0080FF00, $0080FF00
	Data.l $0080FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00800000, $0080FF00
	Data.l $0080FF00, $0000FF00, $0000FF00, $0000FF00, $0000FF00, $0000FFFF, $FF00FFFF, $FF00FF00
	Data.l $0000FF00, $0000FFFF, $0000FFFF, $0000FF00, $0000FF00, $0080FF00, $0080FF00, $0080FF00
	Data.l $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00800000
	Data.l $0000FF00, $FF00FF00, $0000FF00, $0000FFFF, $0000FFFF, $0000FFFF, $FF00FFFF, $FF00FF00
	Data.l $0000FF00, $0000FFFF, $0000FFFF, $0000FFFF, $FF00FFFF, $0000FF00, $0080FF00, $0000FF00
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $0000FF00
	Data.l $FF00FF00, $FF00FF00, $FF00FF00, $0000FF00, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $FF00FFFF, $FF00FF00, $FF00FF00, $0000FF00, $0000FF00
	Data.l $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $0000FF00
	Data.l $0000FFFF, $FF00FFFF, $0000FF00, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $FF00FFFF, $0000FF00, $0000FFFF, $0000FFFF
	Data.l $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $FF00FF00, $0000FF00
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $FF00FFFF
	Data.l $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $FF00FF00, $FF00FF00, $FF00FF00
	Data.l $0000FF00, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $FF00FFFF, $FF00FF00
	Data.l $FF00FF00, $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $0000FF00, $FF00FFFF, $0000FF00
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $FF00FFFF
	Data.l $0000FF00, $0000FFFF, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $0000FF00, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $0000FF00, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FF00, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $FF00FF00, $FF00FF00, $0000FF00, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $FF00FFFF, $FF00FFFF, $FF00FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $FF00FFFF, $FF00FF00, $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $FF00FF00, $FF00FF00, $0000FF00, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $FF00FFFF, $FF00FFFF, $FF00FFFF
	Data.l $FF00FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $FF00FFFF, $FF00FF00, $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $0000FF00, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $FF00FFFF, $FF00FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FF00, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $0000FF00, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $FF00FFFF, $FF00FFFF, $FF00FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $0000FF00, $FF00FFFF, $0000FF00
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $FF00FFFF, $FF00FFFF, $FF00FFFF, $0000FFFF, $0000FFFF, $FF00FFFF
	Data.l $0000FF00, $0000FFFF, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $FF00FF00, $FF00FF00, $FF00FF00
	Data.l $0000FF00, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $FF00FFFF, $FF00FFFF, $FF00FFFF, $FF00FF00
	Data.l $FF00FF00, $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $FF00FF00, $0000FF00
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF, $FF00FFFF, $FF00FFFF, $FF00FFFF
	Data.l $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $0000FF00
	Data.l $0000FFFF, $0000FFFF, $FF00FFFF, $0000FF00, $0000FFFF, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $0000FFFF, $FF00FFFF, $0000FF00, $FF00FFFF, $FF00FFFF, $0000FFFF
	Data.l $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $0000FF00
	Data.l $0000FF00, $FF00FFFF, $FF00FF00, $FF00FF00, $0000FF00, $0000FFFF, $0000FFFF, $0000FFFF
	Data.l $0000FFFF, $0000FFFF, $FF00FFFF, $FF00FF00, $FF00FF00, $0000FF00, $0000FFFF, $0000FF00
	Data.l $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $0000FF00, $00FFFF00, $00FFFF00
	Data.l $0000FF00, $0000FF00, $FF00FF00, $0000FF00, $0000FFFF, $0000FFFF, $FF00FFFF, $FF00FF00
	Data.l $0000FF00, $0000FFFF, $0000FFFF, $FF00FFFF, $0000FF00, $0000FF00, $00FFFF00, $00FFFF00
	Data.l $0000FF00, $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00FFFF00, $00FFFF00, $00FFFF00
	Data.l $00FFFF00, $0000FF00, $0000FF00, $0000FF00, $0000FF00, $0000FFFF, $FF00FFFF, $FF00FF00
	Data.l $0000FF00, $0000FFFF, $0000FFFF, $0000FF00, $0000FF00, $00FFFF00, $00FFFF00, $00FFFF00
	Data.l $00FFFF00, $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00FFFF00, $00FFFF00, $00FFFF00, $00FFFF00
	Data.l $00FFFF00, $00FFFF00, $0000FF00, $0000FF00, $00000000, $0000FF00, $0000FF00, $0000FF00
	Data.l $0000FF00, $0000FF00, $0000FF00, $00000000, $00FFFF00, $00FFFF00, $00FFFF00, $00FFFF00
	Data.l $00FFFF00, $00FFFF00, $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00FFFF00, $00FFFF00, $00FFFF00, $00FFFF00
	Data.l $00FFFF00, $00FFFF00, $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00FFFF00, $00FFFF00, $00FFFF00, $00FFFF00
	Data.l $00FFFF00, $00FFFF00, $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00FFFF00, $00FFFF00, $00FFFF00
	Data.l $00FFFF00, $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00FFFF00, $00FFFF00, $00FFFF00
	Data.l $00FFFF00, $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $0000FF00, $00FFFF00, $00FFFF00
	Data.l $0000FF00, $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $0000FF00, $00FFFF00, $00FFFF00
	Data.l $0000FF00, $0000FF00, $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $0000FF00
	Data.l $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $0000FF00
	Data.l $0000FF00, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
	Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $FFFF0000
	Data.l $FFFBFFFF, $FFF0BFFF, $7FF81FFF, $38FC1FFE, $00FE3F1C, $00FF7F00, $00FEFF00, $00FE7F00
	Data.l $00FC7F00, $00F83F00, $00F81F00, $00F81F00, $00F01F00, $00F00F00, $00F00F00, $00F00F00
	Data.l $00F80F00, $00F81F00, $00F81F00, $00FC1F00, $00FE3F00, $00FE7F00, $00F87F00, $00F81F00
	Data.l $08F01F00, $0FF00F10, $1FF80FF0, $1FF81FF8, $7FFE1FF8, $FFFF7FFE, $FFFFFFFF, $0000FFFF
EndDataSection

...

Verfasst: 19.06.2009 18:01
von hiltwin
Also, ohne eine .exe zu erstellen, nur aus PB heraus ausgerufen:

Version Kaeru: ~ 2,8 K
Version HeXOR: ~ 4,2 K

im Speicherverbrauch ...

Ist das kompiliert anders?

Danke für beide Codes, werde mir aus beiden was zusammenbauen ^^

Kiffis Anregung ist auch prima, allerdings sollen bei der Abarbeitung unterschiedliche Aufgaben mit unterschiedlichen Zeitspannen abgearbeitet werden. Deshalb ist es in einem Programm einfacher, als mehrere Programme über mehrere Tasks zu starten.

Vielen Dank euch allen - ein schönes Wochenende.

@HeXOR: Budweiser rules!

Verfasst: 19.06.2009 18:48
von KatSeiko
Warum hab ich das Gefühl, bei diesen Hex-Kolonnen auf eine Rainbow-Tabelle zu schauen?

Verfasst: 19.06.2009 18:51
von cxAlex
[ot]
Bisschen klein für ne Rainbowtable.

Ich würde für MD5 diese da nehmen, 581 GB:
http://www.freerainbowtables.com/de/tables/md5/

[/ot]

Verfasst: 19.06.2009 18:58
von Kaeru Gaman
> Warum hab ich das Gefühl, bei diesen Hex-Kolonnen auf eine Rainbow-Tabelle zu schauen?

weil ein RainbowTable das erste Mal war, dass du nen HexDump gesehen hast?

bei dem WAV kann man nicht unterscheiden, ob es ein WAV oder sonstwas ist,
aber das Icon sieht schon schwehr nach Icon aus so leer wie das ist... :lol: