I added an option to try to pack the data using the PB compression algorithm so the data can be decompressed without external libraries.
If it succeeds, the result shows both the packed and original size.
It's mainly useful for text files.
Code: Select all
If OpenWindow(0, 0, 0, 600, 300, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
EditorGadget(0, 10, 10, 580, 280)
*Mem = AllocateMemory(1868)
UnpackMemory(?Install_txt_start, *Mem)
SetGadgetText(0, PeekS(*Mem, 1868, #PB_Ascii))
FreeMemory(*Mem)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
DataSection
Install_txt_start:
; packed size : 1180 bytes
; original size : 1868 bytes
Data.q $0000074C626C7A31,$2D57500A00100000,$5020200A0A000000,$6369736142657275,$4D2072002B6F6620
Data.q $000A5820534F6361,$736E49202E4965E8,$74616C6C6100F874,$42865C40006E6F69,$76652065726F6665
Data.q $6968747972000065,$20756F79202C676E,$742064028065656E,$006874203E69206F,$6C65766544206500
Data.q $6F7420737265706F,$582820736C00006F,$7266202965646F43,$7070410000206D6F,$617661280A20656C
Data.q $6500006C62616C69,$65206E61206E6F20,$0344432061727478,$7070696873202C00,$8468746977206465
Data.q $187027726F20F080,$200000646440615E,$746973206265770A,$00632041202E2965,$6E61632079706F00
Data.q $6E776F6420656220,$646564616F00006C,$7468206572656820,$3A2F2F3C303A7074,$6D6F6300002E4A2E
Data.q $582F534C4F4F542F,$0A00002E65646F63,$6968742065636E4F,$006F642073692073,$202941013A656E12
Data.q $201420676E697355,$4400E5498CC97469,$0179736165282045,$3120202F2940A400,$67617218A9442029
Data.q $65726964C6000C28,$03772079726F7463,$2E746E6177469548,$293236000020200A,$2D656C62756F4420
Data.q $F76B6320F0696C63,$6369FFC184273E27,$6C69778B00062C67,$68636E75616C206C,$7F2E454449690282
Data.q $692480417FB17033,$08642072796F4A63,$7661680C6B636F10,$6D7265704E000065,$20796C746E656E61
Data.q $6C61668020706F28,$02FD0042520A2E29,$006C616E696D7265,$206C6C6568732F00,$6569726570786528
Data.q $752064656300386E,$D47F222973726573,$6F688E80546E690B,$293113163D00656D,$203C006E65704F20
Data.q $6520646E61207261,$665372657418006E,$006E69776F6C6C6F,$62202420323A6738,$78650BE000687361
Data.q $0055502074726F70,$4349534142455200,$2F7E3D454D4F485F,$8C62657275087C70,$243D485441280103
Data.q $632F34A000243A05,$A072656C69706D6F,$6800115405327350,$696C203320657365,$202095352A80656E
Data.q $049EA929612E5020,$696877202C392068,$61666D6F44606863,$72706F0222697270,$F888006588746169
Data.q $20746C7561666564,$2820656E6F00110A,$2E03646C756F6873,$2E3046206E6F1BE6,$6102C033332E3031
Data.q $2962A22965766F62,$662F74657318D020,$5981696699726176,$E1BC73202C07E850,$0A589816F02011F0
Data.q $26BB4841776F6E6B,$6C20733010166F1C,$2029631380C76569,$37468A921F646461,$2503907AE1A5132F
Data.q $4061656D05687461,$6168740A20736E01,$75636508007865F8,$6E756F662073A974,$50F198182D890A64
Data.q $6560205B0665620F,$796E61AA418A0A20,$206669B69F1E84B3,$736B726F77B7C004,$6C450A64726F6320
Data.q $307570ED094CDC79,$002E2F7EA0B2090A,$6C6966206372B700,$69666E6F63282065,$1C0008470CA12867
Data.q $202E49490A0A0A29,$0A4F4B97BA707553,$7235004B66494731,$67005075622061D0,$657361656C70202C
Data.q $A1CE746E139C514C,$677562011809EC1A,$006F209863657320,$6D75726F66D46673,$800AD56C2E7A9873
Data.q $756F732061432053,$6E7320656304E572,$73656466A02C7459,$726540805E697263,$619904922E726F72
Data.q $2F0100DA6D61796E,$2C74736567677573,$206C650121656620,$736F70BC65657266,$2073616D65212400
Data.q $54B56C59816C6577,$614E80146B6E6168,$31E02120746F6C20,$6500006854000316,$736961746E614620
Data.q $0074666F53206569,$6554206572617700
Data.b $61,$6D,$2E,$0A
Install_txt_end:
EndDataSection