Overlay (programming): Difference between revisions

Content deleted Content added
improved refs
CE, added ref
Line 66:
In the [[home computer]] era overlays were popular because the operating system and many of the computer systems it ran on lacked virtual memory and had very little RAM by current standards: the original [[IBM PC]] had between 16K and 64K, depending on configuration. Overlays were a popular technique in [[Commodore BASIC]] to load graphics screens.<ref name="Butterfield_1986"/>
 
"Several [[DOS]] linkers in the 1980s supported [overlays] in a form nearly identical to that used 25 years earlier on mainframe computers."<ref name="Levine_2000"/><ref name="Elliot_2012"/> [[Binary file]]s containing memory overlays had de-facto standard extensions '''.OVL'''<ref name="Elliot_2012"/> or '''.OVR'''<ref name="Dohmen_1990"/> (but also used numerical file extensions like '''.000''', '''.001''', etc. for subsequent files<ref name="Gavin"/>). This file type was used among others by [[WordStar]],<ref name="Mabett_1985"/> (consisting of the main executable <code>WS.COM</code> and the overlay modules <code>WSMSGS.OVR</code>, <code>WSOVLY1.OVR</code>, <code>MAILMERGE.OVR</code> and <code>SPELSTAR.OVR</code>, where the [[fat binary|"fat"]] overlay files were even binary identical in their ports for [[CP/M-86]] and MS-DOS<ref name="Necasek_2018_WordStar"/>), [[dBase]],<ref name="Sidnam-Wright-Stevens_1990"/> and the ''Enable'' DOS office automation software package from [[Enable Software, Inc.]] [[Borland]]'s [[Turbo Pascal]]<ref name="Herschel-Dieterich_2000"/><ref name="Eßer_2009"/> and the [[GFA BASIC]] compiler were able to produce .OVL files.
 
== See also ==
Line 95:
<ref name="Dohmen_1990">{{cite magazine |title=Platz schaffen durch Überlagern - Overlay-Strukturen in Turbo Pascal |language=de |author-first=Norbert |author-last=Dohmen |magazine=[[mc (magazine)|mc]] |issn= |publisher= |issue=12 |volume=90 |date=1990 |pages=124-130 |url=https://guru-home.dyndns.org/Overlay.html |access-date=2022-08-04 |url-status=live |archive-url=https://web.archive.org/web/20220804163634/https://guru-home.dyndns.org/Overlay.html |archive-date=2022-08-04}} [https://web.archive.org/web/20220804163948/https://guru-home.dyndns.org/Overlay/pdf/Overlay.pdf]</ref>
<ref name="Gavin">{{cite book |chapter=Create Program Overlays |title=Turbo Pascal - Norton Guide |version=v3 |author-first=Bruce |author-last=Gavin |editor-first=Dave |editor-last=Pearson |page=149 |url=http://www.x-hacker.org/ng/pascal/ng19519.html |access-date=2022-08-04 |url-status=live |archive-url=https://web.archive.org/web/20220804163703/http://www.x-hacker.org/ng/pascal/ng19519.html |archive-date=2022-08-04}}</ref>
<ref name="Necasek_2018_WordStar">{{cite web |title=WordStar Again |date=2018-01-30 |orig-date=2018-01-28, 2018-01-26 |author-first=Michal |author-last=Necasek |work=OS/2 Museum |url=http://www.os2museum.com/wp/wordstar-again/comment-page-1/ |access-date=2019-07-28 |url-status=live |archive-url=https://web.archive.org/web/20190728011415/http://www.os2museum.com/wp/wordstar-again/comment-page-1/ |archive-date=2019-07-28 |quote=[…] The reason to suspect such difference is that version 3.2x also supported [[CP/M-86]] (the overlays are identical between [[DOS]] and CP/M-86, only the main executable is different) […] the .OVR files are 100% identical between DOS and CP/M-86, with a flag (clearly shown in the [[WordStar 3.20]] manual) switching between them at [[runtime (program lifecycle phase)|runtime]] […] the OS interface in WordStar is quite narrow and well abstracted […] the WordStar 3.2x overlays are 100% identical between the DOS and CP/M-86 versions. There is a runtime switch which chooses between calling INT 21h (DOS) and INT E0h (CP/M-86). WS.COM is not the same between DOS and CP/M-86, although it's probably not very different either. […]}}</ref>
}}