Downloads
Feel free to put to use anything you find interesting!
Home

3D Models

Status: Updated as needed.




Assembly (x86) Library

Status: Updated as needed.




Documents

Status: Updated as needed.


Name Released
A Proposed Implementation of Shared Libraries on DOS Platforms - 2023-04-28 04/28/2023
A Proposed Implementation of Shared Libraries on DOS Platforms - 2021-05-25 05/25/2021
 
 



DOS Library

Status: Updated as needed.


Existing software I've packaged up in ZIP / FreeDOS package format.

All work was done under Linux Mint and a VirtualBox FreeDOS machine, text files are created/edited using Sublime Text with Windows "CR, LF" line endings, and archives are packaged using InfoZip 3.0 with the following recipe:

find -exec touch -t date {} \;
zip pkg.zip * -9 -k -r


Debug

Debug and DebugX are extended versions of the old MS DEBUG tool.

 
 
Version Size Released MD5
1.27 262.2 kB 11/08/2020 7FAADCDE19668D4DA970B2382497C057

Drivers

This collection of drivers by Jack Ellis includes CC, RDisk, RDiskOn, UDVD2, UHDD, UIDE, and XMgr. This is a ZIP archive; individual package files are also available.

 
 
Version Size Released MD5
2021-10-30 147.5 kB 10/30/2021 553BEF77C29DB952BA4F2E8B0955054A
2020-07-14a 154.9 kB 04/29/2020 3CB9995D091F0280745E3D5ECF03105E
2020-04-15 154.2 kB 04/15/2020 4EE70D2099B155719EB5FA72C673C114

HiMemSX

HimemSX is an XMS manager forked from FreeDOS Himem, but with the ability to handle extended memory above the traditional 4 GiB mark. These packages are built from items made available at Japheth's GitHub.

 
 
Version Size Released MD5
3.54 36.4 kB 04/12/2022 334BE5B6FFE40EADF8AC2FD8674A2F2F
Bugfix: Reallocating super-extended memory blocks did lose data if the block's old size was > 4 GB and had to be moved.
 
 
3.53 36.0 kB 04/09/2022 51A902E70D9E757E6D8D1E9D667916E9
Implements interface v3.51. This adds a new block move function, selected with AH=0CBh, to the XMM. This new function allows to set 40-bit offsets for the source or destination addresses.
 
 
3.52 35.4 kB 12/17/2020 0EDC9CF1271C36A9087EDEE8689E227D
Bugfix: set RW page flag for page 0, else, if CR0.WP is set, a reboot occurs.
 
 
3.51 35.2 kB 11/12/2020 CF0EAA9F54AFBBBD244D5BF1668E60E0
Bugfixes include: xms block move function speed-up, optionally place page dir at the end of first memory block, return DX=0 if emb allocation fails (XMS spec), debug version: exceptions in protected-mode caught, printf() did assume SS==DS, restore rm CS after SX Protected Mode.
 
 
3.50 41.5 kB 11/01/2020 8E8C21028ED8424C012E553D527B47C2
Initial verison. Implements XMS v3.5, allowing access to memory beyond the 4 GiB barrier.

HiMemX

HimemX is an XMS manager derived from FreeDOS Himem, but with additional bugfixes, optimizations and extensions. These packages are built from items made available at Japheth's GitHub.

 
 
Version Size Released MD5
3.38 45.6 kB 11/21/2022 E84A9C8493D09B2E4D947923C3CE7E25
Options /MAX and /HMAMIN did only work correctly with decimal numbers and no suffix.
 
 
3.37 45.5 kB 04/15/2022 A1345600E384B2F2A8E90F8D9B6FFC5F
Block move routine speed-up, return DX=0 if emb allocation fails (XMS spec). Bugfix: printf() did assume SS==DS.
 
 
3.36 45.8 kB 10/29/2020 EDC60D0B65569033D7DD456A66E7B3F8
Bugfixes include: block moves >= 2GB failed due to signed comparison, remove unused and undocumented option /INT15:xx, removed useless option /NOX2MAX32, cleaned source code.
 
 
3.35a2 46.1 kB 05/19/2020 315B44C7AC0A24EFCF16D64EDB4C78D1
No binary change, but corrects a slight error in the directory structure in the previous version.
 
 
3.35a 45.9 kB 04/16/2020 7AAF5B907652D3A24ACB0E52E7D71013
This version includes a bugfix for an issue where, if no free handles were available, shrinking an EMB erroneously modified the block's size even though the call returned with a failure error.
 
 
3.35 45.7 kB 03/27/2020 E59CC47A19DDBD4BECBF4FC6063DA38C
This version of HiMemX implements an alternative memory (re)alloc method that may work better if extended memory consists of multiple blocks.
 
 
3.34b 32.6 kB 03/23/2020 0751FB0AC4B5C0A1CBC572CD45B03BFB
Fresh build of the existing version from the author's source code.

JWasm

JWasm is a MASM-compatible assembler created by Andreas "Japheth" Grech.

 
 
Version Size Released MD5
2.17 1.8 MiB 03/24/2023 90D68FF175E9F0F108706D8EFE23EC6D
 
 
2.16 1.8 MiB 11/14/2022 0331C0DCD835F5EDB90DE691BC475D9A
 
 
2.15 1.8 MiB 04/09/2022 38F098F60027621ADCC5120FF56AA276
 
 
2.14 1.9 MiB 12/20/2020 01BAF130479355B9812B524351F6E1AA
 
 
2.13 2.8 MiB 11/02/2020 77047F5ED539D134DA406E32E25952AF

ListPCI

ListPCI is a PCI device listing utility which scans the PCI bus of the system on which its running and displays data on all PCI devices it finds. It provides more verbose data than other comparable applications and is more flexible in its command line options. Using these, you may filter the devices reported to only those of a specified vendor ID or of a specified class. ListPCI can also return the number of matching devices in the DOS system variable ERRORLEVEL, making it easy to integrate into batch scripts.
Note: This application requires a 386 or higher CPU.

 
 
Version Size Released MD5
1.02 85.0 kB 07/11/2021 D2CA9DA733ACA0B9392722C1B83596FA
Added email address to application banner.
 
 
1.01 84.9 kB 07/09/2021 08A14DB07B6D2E3C7D6F50513D14676C
Improved string handling, added readme and scripts to package for building under DOS and Linux.
 
 
1.00 83.2 kB 07/01/2021 0F68D52928F377DB92FA266D7B34ECBF
Initial release.

ListVESA

ListVESA is a utility to report which VESA video modes are supported by the system's hardware. You can use command line options to tailor information listed to one specific mode, modes supporting a specific color bit depth, modes supporting linear frame buffer, or simply general information on the video adapter itself or a table summarizing available modes with no detailed screen data.
Note: This application requires a 386 or higher CPU.

 
 
Version Size Released MD5
1.11 21.0 kB 05-02-2023 AA9D8CBEC8A02C3811F2D0AFE810CCD5
  • ERRORLEVELs are now returned.
  • Fixed a bug where reserved set bits in the Mode Attributes weren't caught unless all three were set.
  • Fixed a bug which printed a spurious blank line if the "Window B Segment" field contained an address.
  • Previously, ListVESA assumed a minimum of one byte per pixel, even for modes with color depths below this value, e.g. 4 bit color. This assumption has been eliminated, and the algorithm now used is much more accurate.
  • Removed the "Mode Summary" text as it's a bit obvious in the output what the user is being shown. No need to label it explicitly.
  • Tidied up the code with some DEFINEs.
  • Window statistics are now grouped together; previously the segment value and the attributes were listed separately in keeping with the order in which the fields appeared within the tVESAModeInfo struct.
 
 
1.10 20.0 kB 04-29-2023 9C571CC1B31A5E8038F33072097D06AC
  • Fixed a minor bug involving the mode count when using the /A switch.
  • Improved (once again) the layout of trailing blank lines after the various sections of information which ListVESA dumps.
  • Optimized a tiny bit of assembly code.
  • Removed a bit of leftover debug code.
 
 
1.09 20.0 kB 04-29-2023 1ED9AD9CECBD741BF467FCEE80AFC2DA
  • A summary is no longer displayed when using /M. Why do you need to summarize a single mode? :)
  • Added message for modes which don't exist on the system.
  • Slightly updated the description for the /D switch.
  • Using /M now implies /V.
 
 
1.08 19.7 kB 04-29-2023 61C7E6150AF85D4D65B9B2D5ED4F40FE
  • Added warnings for the user if the BIOS has returned illogical information for a given mode; a message in the detailed list, and an exclamation point beside the entry in the summary table.
  • Updated the application description to include the summary table feature.
 
 
1.07 19.5 kB 04-29-2023 E6A2789A7D2CADF8AAFF0F63A4FC7771
  • Fixed a bug resulting from some inconsistent previous optimizations which broke functionality of the /M switch.
 
 
1.06 19.4 kB 04-28-2023 B6A80C734C228A53915B683DFCFD6319
  • Fixed a bug in the previous version which prevented the detailed list from being generated. The source code included with that version is fine, but the binary must've ended up with some debug code in it which I had in place to help narrow down a separate issue. Oops!
  • Fixed a typo in the readme file. Spoiler alert: "scren" isn't a word. At least not in English! ^_^
  • Fixed the two compiler warnings. It's amazing what properly typecasting a pointer can do!
  • Improved switch handling logic.
  • Improved the layout of trailing blank lines after the various sections of information which ListVESA dumps.
  • Optimized code; redundant bits were moved to a separate function, VESAModeInfoGet().
  • Tweaked the "incompetent VBIOS manufacturer" message a bit to flow better and take up less space in the binary.
 
 
1.05 18.9 kB 04-27-2023 55E88FB52208BEE80B9A0E288CC4D9FE
Increased scrutiny of video modes reported by the video BIOS so that illogical modes can be skipped, and added /V switch to print all screen modes, no matter how illogical they may seem.
 
 
1.04 18.1 kB 04-26-2023 AC620FF49B9FE90EEE0EC5D8A6D9EDB9
Added the "divide by zero" bug fix back in because... crazy video hardware manufacturers. *sigh*
 
 
1.03 18.0 kB 04-25-2023 3063886ABCA76C5826B9AAF048AAD845
  • Added a "summary" mode - with accompanying /S switch - to be a bit more terse if desired.
  • Added dates to the changelog. Woot woot!
  • Added more detailed output for the Memory Model field instead of simply printing the type code.
  • Changed Frame Size calculation to "charsWide x charsHigh" for text modes. If someone out there encounters a text mode in the wild, I'd love to know how ListVESA does in reporting it!
  • Fixed a bug where AX was not checked to be 0x004F after a mode info call. This fixes the spurious output of modes with all null values as found in the (somewhat crazy) data tables of some video hardware. This allows the previous "divide by zero" bug fix to be rolled back, as this fix supersedes it. Thanks Jerome!
  • Fixed a bug where program help was included in the binary but no command line option would show it. Wow lol
  • Hexadecimal numbers are now uppercase
 
 
1.02 16.7 kB 04-24-2023 0B37BACE93C31E6792088DEF7B282B7E
Fixed "divide by zero" bug which could occur with certain VESA chipset manufacturers who leave certain mandatory fields blank. Thanks to Jerome Shidel for the bug report!
 
 
1.01 16.5 kB 07/11/2021 453DBF3ACEEA8242F4B46BAD3B22C6C1
Added column and row figures for character widths and heights, added email address to application banner.
 
 
1.00 16.4 kB 07/10/2021 FD40BC28E609C93C34C47DB2616D3C74
Initial release.

RDisk

RDisk is a driver which creates a RAM-disk from up to 2 GB of XMS memory.

 
 
Version Size Released MD5
2015-03-05d 17.3 kB 01/14/2021 E78205D005773A270CDE8B9641A34986
Updated documentation, no binary change.
 
 
2015-03-05c 18.5 kB 05/19/2020 218FCDE322793B76A3A12A95910EB9C5
No binary change, but corrects a slight error in the directory structure in the previous version.
 
 
2015-03-05b 18.3 kB 03/24/2020 07B638E543DBF825D3654AB1320F8E19
This package contains the existing 2015-03-05 binary but with more tailored documentation.

UDVD2

UDVD2 is a CD/DVD UltraDMA device driver. UDVD2 itself is now only useful for people who do not want caching or fast hard disk I/O, instead opting for a no-nonsense CD/DVD driver only. For any other situation, UIDE is preferred as it contains all the functionality of UDVD2 with the added benefit of read-ahead caching.

 
 
Version Size Released MD5
2015-03-05d 32.1 kB 01/14/2021 230AC320FF2F9F784E19F2D97C9E4C0D
Updated documentation, no binary change.
 
 
2015-03-05c 33.5 kB 05/19/2020 C8720C2825517C435FAD3A6BD19CE8B9
No binary change, but corrects a slight error in the directory structure in the previous version.
 
 
2015-03-05b 33.3 kB 03/24/2020 221E74477EB8CBC8CBA0F1C7020423BC
Same binary as the prevailing existing package but with extra LSM file keywords and the stray row of 0x1A bytes at the bottom of the original source code file has been removed to avoid potentially choking the compiler.

UHDD

UHDD is a disk-only caching driver for up to ten BIOS disks using up to four UltraDMA controllers.

 
 
Version Size Released MD5
2021-10-30 39.2 kB 10/30/2021 49407697FC4BAF553520B78AF0346D58
UHDD uses mostly caching logic even for noncached work, saving 650+ bytes on disk! UHDD.SYS is now less than 5K, suitable even for crowded "boot diskettes" etc.
 
 
2021-06-08 42.8 kB 06/29/2021 404A1B3306BD764E458629241DE23C22
Supports Read-Ahead and DMA/Caching Overlap (with /O) for all cache sizes from 5 to 4093 MiB. UHDD now runs up to 10 BIOS disks instead of the previous 20.
 
 
2020-07-14 41.3 kB 01/11/2021 1A447C1EFCC23E451DFDC9AFE8C8CEB9
Now supports DMA/Caching Overlap; due to this, UHDD now runs up to 20 BIOS disks (instead of the previous 22).
 
 
2020-07-06 42.0 kB 07/28/2020 0C53143A4A5D4CEE63BC1FBD7D230B2A
Fixes bugs with controller masks and LBA48 flags.
 
 
2019-03-31b 42.2 kB 05/19/2020 3AE642E10AE62654EF0A37F94D90756D
No binary change, but corrects a slight error in the directory structure in the previous version.
 
 
2019-03-31 42.0 kB 03/24/2020 EB170504989295066E194F753140BD91
Contains the same UHDD and CC binaries as the existing FreeDOS UIDE package but tailored to UHDD specifically (UIDE has been removed as it already has a separate package), with extra LSM file keywords, and the stray row of 0x1A bytes at the bottom of the original source code removed to avoid potentially choking the compiler.

UIDE

UIDE is a general-purpose caching driver for DOS drives, Floppy, CD/DVD, SATA and UltraDMA disks. The author notes that UIDE is better to save disk space, while UHDD + UDVD2 together allow for read-ahead, resulting in a faster experience.

 
 
Version Size Released MD5
2020-07-04b 55.5 kB 06/05/2021 467A6B83ED094E36998972FF4008535A
Updated documentation, again no binary change.
 
 
2020-07-04a 55.5 kB 01/14/2021 496F67A040854A62BCBF23A6311D8FEA
Updated documentation, no binary change.
 
 
2020-07-04 57.7 kB 07/28/2020 0E4F938BE4DA4F2C800DFB2EE2DA479B
As of this version, UIDE now contains all features of UDVD2 as well, allowing it to work in a standalone fashion, superseding situations where UDVD2 or UHDD or both were used in the past.
 
 
2015-03-05b 55.1 kB 05/19/2020 C5B01CC25096A45FE251807C20A06AFD
No binary change, but corrects a slight error in the directory structure in the previous version.
 
 
2015-03-05 54.9 kB 03/24/2020 6AEA726DAC710352997B1D988582F49B
This package contains the same UIDE and CC binaries as the existing FreeDOS UIDE package but tailored to UIDE specifically (UHDD has been removed and given its own package), with extra LSM file keywords, and the stray row of 0x1A bytes at the bottom of the original source code file has been removed to avoid potentially choking the compiler.

XMgr

XMgr is an XMS manager which handles up to 4-GB of RAM and supports V3.70+ UMBPCI.

 
 
Version Size Released MD5
2020-04-15c 33.9 kB 01/14/2021 15F17F3C9A59E328FF9B38B0C3471564
Updated documentation, no binary change.
 
 
2020-04-15b 32.7 kB 05/19/2020 483D9083711D64D5D05838DC38A1C07D
No binary change, but corrects a slight error in the directory structure in the previous version.
 
 
2020-04-15 32.6 kB 04/15/2020 BB04B7C3FAE09539FA3011484E87C865
Superseded.
 
 
2015-03-05b 34.3 kB 03/24/2020 267A6B409A11A4B659AF9702EEC97BF3
Contains the same binary as the existing FreeDOS package but with more tailored documentation.
 
 



EPiC

Status: Updated as needed.





Exelyx

Status: Cancelled


Kernel Series 2.0 Modules
Item Size Released MD5
Display Module 25.4 kB 07/17/2008 C58040756C84DF55130916A43A39FE06
This is the complete PowerBASIC source for the module that powers any and all things graphics related. It currently only supports 8 bit color, but future modifications will add 16 and 24 bit support as well.
 
 
File Module 15.2 kB 07/30/2008 5E7181C3197C382D53EACCE1D71B28BC
This module controls all manner of file access for the new kernel. Includes Windows-style LFN support.
 
 
Hardware Module 14.8 kB 09/02/2008 424CE41E4B9267DE565E318E64B481D0
The Hardware Module provides low level detailed interaction with the devices in the computer. Includes mouse support and drive probing.
 
 
Text Module 16.5 kB 09/18/2008 ADE3ADC2D2AE7592D091AA34763B5A0D
A collection of routines for manipulating text, entirely in XMS. Supports text objects up to 64MB in size.
 
 

Kernel Series 1.xx
Version Size Released MD5
1.40 140.7 kB 5B67D6032D97E890D9E93EE9923DD796
1.35 125.3 kB 0BC6FCFE6B9978A1B203EC1D7A1CE9A4
1.34 122.5 kB 9A73FE9AC8D4AE387BD06C26E60C6020
1.33 132.7 kB C3AF1221C3B1FB744B013BC8FF3964A7
1.00 98.2 kB 4D7007CF759C53182C41E1F6ED4E651E
 
 

Feature concept demos
Item Size Released MD5
CD interface demo 58.2 kB 10/04/2010 288621C627D144C35C10FD2864DF22DF
This is a demonstration of the audio CD support routines in the Sound Module.
 
 
MIDI demo 79.6 kB 4/28/2011 BB1A8022F04E4DA69A1568AFB9E9E016
A demo of the MIDI routines in the Sound Module.
 
 
sound_and_MIDI_drivers 17.3 kB 4/28/2011 530188B70B2D13C952D3D52B33C84944
These are hard to find [out of production] drivers for DOS which enable sound and MIDI support.
 
 

Exelyx Applications
Item Size Released MD5
KClock 606 bytes 12/30/2007 A42CFD07DD48DDB6B3DB51F614C2F3EA
A simple clock which stays resident in the upper right corner of the screen. Originally made only to test the kernel's multitasking and priority level processing. Includes assembly source code.
 
 
KDate 597 bytes 12/30/2007 0ED36BFB84456ABAD32F2A986F21F083
A plain date display app for the Exelyx kernel. Uses the priority functions of kernel 1.40 and up. Includes assembly source code.
 
 
Speed 692 bytes 12/12/2007 73EC788AE52A60EDCEE13380D71C344E
A utility which constantly prints the number of instruction loops being executed per second on your computer. Also includes assembly source code.
 
 

Development Tools
Item Size Released MD5
TechRef.rtf 29.3 kB 12/30/2007 6FBA0B66F89C460BD1CC07F2E5C5367E
The Exelyx kernel technical manual, which details everything from the kernel's internal assembly opcode set to the complete error code list and more... full of intricate goodies!
 
 
PAC.zip 46.9 kB 12/11/2007 367A78E937AF67180F773AA549B18316
The Exelyx Assembly Compiler. A program which compiles assembly code into an executable program. Includes 'pachelp.txt', a guide for use, incomplete as it might be.
 
 
PBASIC.zip 41.2 kB 12/9/2007 E625FCEFA715603D0917D471663A80DA
This compiler will take a BASIC source code file and translate it into Exelyx assembly. It will be compatible with the BASIC programming language, and will support many of PowerBASIC's additional statements. Any programs you have which are written in QBASIC or PowerBASIC should be easy to compile and run under Exelyx, usually without modification. It will also support accessing the API functions of other applications and the kernel itself through interrupts.
 
 





JavaScript Library

Status: Updated as needed.

Item Version Size Released MD5
Arrays.js 2022-01-18 1.3 KiB 1/18/2022 475C67999BD18730F9FB737B500D7FCD
Contains a small collection of routines (arrayColumn() and arrayUnique()) for manipulating arrays.
 
 
BrowserGet.js 2020-04-26 1.6 kB 3/16/2020 D6A6482BABD0262255F58F32B8D9F66B
A quick-and-dirty function allowing basic detection of the browser in which it's running.
 
 
Browser Detection Demo 2020-05-24 2.4 kB 3/16/2020 A1E4B5F224CAC60444CA3B290227550F
A demo of the BrowserGet function.
 
 
Calendar.js 2022-07-22 7.2 kB 8/5/2022 9B8B2C480A7AD460CD0AC03E8F1322D2
A simple JavaScript calendar generator.
 
 
Calendar Demo 2022-07-22 2.2 kB 8/5/2022 FD9826F7F7729BF9F5DB9558F6F81358
A demo of the Calendar.js library.
 
 
DOM.js 2022-01-16 1.0 kB 12/14/2021 CB9C452FE896EA5271D89D42A2206F59
Provides the DOMChildrenRemoveAll() and DOMChildrenRemoveAllButOne() functions.
 
 
Files.js 2020-05-24 2.5 kB 7/2/2020 4D9AA6CAF1186CC4826A4520BA61699E
A simple file save and load interface.
 
 
Files Demo.html 2020-05-24 878 bytes 7/2/2020 C137CEFA882833FB8F816321AC73667B
A demo of Files.js.
 
 
HomeFade.js 2021-12-25 527 bytes 12/25/2021 DCE87D1DD6EEAF0D61403FFF70D819A7
Used across this site to fades out the Home icon after a set period of time.
 
 
JSColors.js 2022-07-25 3.4 kB 7/25/2022 82E6292E10BB6B59A3821FBC2315785D
Javascript Functions for color evaluation and changing.
 
 
JSColors Demo 2022-07-25 4.3 kB 7/25/2022 A7FA2D4BF352228899FC3B726D769F03
A demo of the JSColors library.
 
 
JSOMG.js 2021-12-25 7.6 kB 12/22/2021 06A698730A6AA79E506ADB7A8077FBAF
The single-file solution this site uses to implement media galleries on various pages.
 
 
Sorting.js 2020-04-26 9.1 kB 3/11/2020 0C06F22B2740D9EFC721054D0FAC0499
A variety of sorting algorithms in one handy library! Includes Binary, Bubble, Heap, Insertion, Merge (Top-down), Merge (Bottom-up), Quick, Quick (Lomuto partitioning), Quick (Hoare partitioning), Radix Bucket, Radix LSD, Selection, and Shell algorithms.
 
 
Sorting Algorithm Demo.html 2020-04-26 6.3 kB 3/11/2020 A8162A90B89DB49319DD4DBE27481273
Illustrates the difference in execution time amongst the various sorting algorithms in Sorting.js.
 
 
Strings.js 2021-12-19 5.7 KiB 8/12/2022 9385C965947BE0AD306F6663270FB994
Contains a small collection of routines for manipulating strings, such as StringRandomGenerate(), TrimLeft() / TrimRight() and stringLengthMakeStart() / stringLengthMakeEnd().
 
 
Strings Demo.html 2022-08-12 4.3 kB 8/12/2022 09BC5F01014B05787E50E4154F4CADBB
Also known as the Mercury Strong Password Generator, this demo showcases the StringRandomGenerate() function of Strings.js.
 
 
WordSplit.js 2022-05-25 4.5 kB 8/12/2022 6466F69637C213741127ECC6ADD542B3
WordSplit is a JavaScript port of my VBDOS ParseWord routine, which itself was a port of the original GETWORD.BAS with one significant enhancement - the ability to split a string into an array, eliminating the need to repeatedly call GetWord multiple times to retrieve whichever word is needed.
 
 
WordSplit Demo.html 2020-04-26 2.2 kB 3/11/2020 E32EFB1007069EA5DC01AB194AB69764
A demonstration of how WordSplit differs from JavaScript's built-in Split function.
 
 





QBASIC Library

Status: Updated as needed.

Item Version Size Released MD5
GETWORD.BAS 1.00 1.7 kB 1999 FB969BD9880030492ADA999DAB4A6D0B
One of the most useful pieces of code I've ever written, it's found use in numerous situations. Back when I wrote it, the various BASICs I used (BASICA, QBASIC, VBDOS, PowerBASIC) had no function to split a string based on a certain character... so I made my own. Mind you, this was long before modern languages like JavaScript shipped with their own method for doing so. Even now it proves useful as it splits strings differently than the built-in offerings of JavaScript.
 
 
Y2KPatch.zip 1.00 4.7 kB 1999 D78E7E0BF6CADD45BDCFBC63F3EA52F5
Ah, yes, the dreaded Y2K bug! Amidst the grandiose predictions of "experts" that application programs the globe over would collectively perform a lemming-style address jump to their deaths when their RTC overflowed to zero, I did what I always do: wrote a little code to probe, test, and solve. The result is a collection of four BASIC source files comprising an installer, uninstaller, a test to see if the computer in question is even affected by the Y2K bug to begin with, and a patch which fixes the issue if it is. Not an issue nowadays, granted, but back then it was awesome to see this code enable some pretty ancient MS-DOS systems suddenly have the correct date when before they could not manage to do so.
 
 



Warp OEM

The first (and only) smartphone ROM I ever made. It took a mediocre Android-based phone and turned it into a powerhouse, able to handle much more advanced apps than otherwise possible.

Status: Completed; no longer updated.

Version Size Released MD5
2.75 143.6 MiB n/a BF4AA84CD46F9EB37F3192EEEBD7494D
 
2.70 115.7 MiB 9/9/2013 4BEAF9D5CF9D80B69BB041E9B6CFE612
 
2.53 115.4 MiB 5/29/2013 B4031402B2BAF82881D768F985FE52BE
 
2.51 16.3 MiB 5/22/2013 8E80061361FCF8574C3305EDBABDFD82
 
2.50 116.3 MiB 5/20/2013 F4716DD5A9A2568DB2E53EC5260CBD30
 
2.10 128.8 MiB 5/8/2013 E48F1E21381B98A7588C49DD9B183B07
 
2.01 122.7 MiB 4/6/2013 FF6623610AEF72E3DB7C3A6860D9C297
 
2.00 122.3 MiB 3/15/2013 EDC225E3D4DF37380D476E085C844805
 
1.55 129.9 MiB 1/13/2013 71DBDE6B80507AA18CDA4F28D40C32DC
 
1.50 134.7 MiB 9/30/2012 30905D9C2360E983D2485E30B53CA419
 
1.42 115.1 MiB 9/15/2012 47D786434533830B297133474C9C5E4A
 
1.41 115.1 MiB 9/9/2012 DE8E388342BBD6015C04FD3B53401192
 
1.40 107.9 MiB 9/8/2012 9887A57FC700C33CC3666B5DBDF32D78
 
1.39 107.0 MiB 9/4/2012 CCFE292E0DA5B3A0BB8C49265A753F38

Name Size Released MD5
Warp OEM 2.xx Adreno Tweaks 376.9 kB 6/29/2013 84E6828A2C60B68E662E29EBD4289CEE
A flashable to add the Adreno Tweaks (by CosmicDan and Spizzy01 of XDA) into any version of Warp OEM from 2.00 through 2.53, which will majorly boost GPU performance. Special thanks to Dizzle1 for customizing the initial tweaks for the Warp and Blyss for confirming they work on WOEM 2.53! May work with some other ROMs as well, but this cannot be guaranteed.
 
 
Warp OEM 2.51 to 2.53 Update patch 3.2 MiB 5/31/2013 A62E863EED2C4E5D70C5B1B22553E757
For those who have just flashed version 2.51 and would like the security update included in Warp OEM 2.53. Note: Version 2.53 had some updated apps versus version 2.51, however this patch does not include these. For the sake of everyone's sanity, your app folders will not be touched when using this update.
 
 
PowerNap v2 1010 bytes 5/8/2013 9AC00A98B477507A787E03D4702729A6
Updated version which, compared to the original (above) doubles the maximum speed of the device during sleep. Use if the upon-wake lag in the original is too much to bear.
 
 
PowerNap 773 bytes 3/16/2013 9B4E3C7B0FA3EBC2F7024FACEA8B3803
The script powering one of the new features of Warp OEM. Now available separately! This must be used with a kernel which supports asynchronous init.d script execution, such as the Alien Kernel. Place this in the init.d2 folder to have it run upon startup.
 
 
Warp OEM 2.xx smoothness fix 188.0 kB 3/19/2013 5CF2FD57584BA372894BC49BED8E445E
Flash this after installing the ROM itself to remove graphical jumpiness by reinstating the FPS cap. For users who prefer smoothness over speed.
 
 
Mercury updater-script 12.7 kB 3/28/2013 881F83784B6BB05BD719A1E951084D76
A complete installer script solution which mounts, formats and sets permissions as necessary and also checks which type of custom recovery the user has and verifies the platform accordingly. For custom ROM devs who would like to use the installer found in WOEM.