{"id":1714,"date":"2017-11-15T05:04:51","date_gmt":"2017-11-15T05:04:51","guid":{"rendered":"http:\/\/www.sydneysmith.com\/wordpress\/?p=1714"},"modified":"2017-11-15T05:04:51","modified_gmt":"2017-11-15T05:04:51","slug":"running-dbase-ii-on-windows","status":"publish","type":"post","link":"https:\/\/www.sydneysmith.com\/wordpress\/1714\/running-dbase-ii-on-windows\/","title":{"rendered":"Running dBase II on Windows"},"content":{"rendered":"<p>dBase II was a database program from <a href=\"https:\/\/en.wikipedia.org\/wiki\/Ashton-Tate\" rel=\"noopener\" target=\"_blank\">Ashton-Tate<\/a> released in the 1980s.<\/p>\n<p>It ran on CP\/M computers and provided an easy way of creating complete database systems. This was because it included a way of displaying input forms, validating the entered data and of retrieving and reporting entered information. You could write programs in its database language.<\/p>\n<p>I thought it pretty amazing at the time, especially as it ran on 8bit microcomputers with, often, less than 64K of memory. (That&#8217;s not the Gigabytes that we see today, nor even Megabytes, it&#8217;s a tiny fraction of a thousandth of what you have in your desktop computer or even your phone). Entire inventory control systems and accounting systems were developed with it and they were the mainstay of many businesses.<\/p>\n<p>To run an old dBase II program on a modern Windows computer is pretty straight forward with the right tools. Here&#8217;s how it&#8217;s done&#8230; <!--more--><\/p>\n<p>1. Download a CP\/M simulator such as <a href=\"http:\/\/www.sydneysmith.com\/wordpress\/run-cpm\/\" rel=\"noopener\" target=\"_blank\">Run CP\/M<\/a>.<br \/>\n2. Get a dBase II disk (<a href=\"http:\/\/www.sydneysmith.com\/products\/cpm\/disks\/dbase2.dsk\">cpm\/disks\/dbase2.dsk<\/a>)<br \/>\n3. UnZIP the simulator somewhere.<br \/>\n4. Copy the dBase II disk into the simulator directory and rename it as drivec.dsk<br \/>\n5. Double-click &#8220;run.bat&#8221; in the directory.<\/p>\n<p>You should see something like:<br \/>\n<img loading=\"lazy\" src=\"http:\/\/www.sydneysmith.com\/wordpress\/wp-content\/uploads\/2017\/11\/run-cpm-1.png\" alt=\"\" width=\"677\" height=\"343\" class=\"alignnone size-full wp-image-1715\" srcset=\"https:\/\/www.sydneysmith.com\/wordpress\/wp-content\/uploads\/2017\/11\/run-cpm-1.png 677w, https:\/\/www.sydneysmith.com\/wordpress\/wp-content\/uploads\/2017\/11\/run-cpm-1-300x152.png 300w\" sizes=\"(max-width: 677px) 100vw, 677px\" \/><\/p>\n<p>6. Select drive C, check that the disk does have dBase.com on it, and run dBase:<\/p>\n<p><code><\/p>\n<pre>\r\nA>c:\r\nC>dir\r\nC: DBASEX   COM : DBASEOVR COM : DBASEMSG TXT : DBASE    CMD\r\nC: INSTALL  COM : DATETEST HEX : DBASE    COM : DISKLIST DBF\r\nC:\r\nC>dbase\r\n\r\nENTER TODAYS DATE  OR RETURN FOR NONE\r\n (MM\/DD\/YY) :\r\n\r\nCopyright (C) 1982 RSP Inc.\r\n\r\n***  dBASE II     Ver 2.4  1 April, 1983\r\n\r\n Type 'HELP', 'HELP dBASE', or a command\r\n\r\n.\r\n<\/pre>\n<p><\/code><\/p>\n<p>You can then &#8220;USE&#8221; an existing database (like disklist.dbf in the directory listing above) or &#8220;CREATE&#8221; (database name). As the sign-on suggests, you can also type &#8220;HELP&#8221; for an intro.<\/p>\n<p>&#8220;QUIT&#8221; will get you out again.<\/p>\n<p>Version 0.04 of the (Windows build of the) z80 simulator includes some vt100 screen emulation. This should be enough to get you going with full screen editing.<\/p>\n<h2>The 25th Line<\/h2>\n<p>Note that most real-world terminals of the time had 24 rows and simulators often have 25 (or more). The &#8220;extra line(s) for free&#8221; is usually a plus; but it can be confusing to still see the old 25th line when you&#8217;re in full screen mode. Just ignore it or use the scroll bar on the right to scroll it out of view. You can also right-click the simulator title bar, choose &#8220;Properties&#8221;, &#8220;Layout&#8221; and set the Window Size Height to 24. <\/p>\n<h2>Installing dBase II<\/h2>\n<p>If your copy of dBase hasn&#8217;t been installed, here&#8217;s what the install process looks like (this example is running it in a browser with <a href=\"http:\/\/www.sydneysmith.com\/wordpress\/z80emu\/\" rel=\"noopener\" target=\"_blank\">z80emu<\/a> and the dBase II disk in drive D):<\/p>\n<p><code><\/p>\n<pre>\r\n>>> b\r\nload bootloader from drive 0......DONE\r\n>>> g\r\n64K CP\/M Version 2.2\r\n\r\nA>dir d:\r\nD: DBASEX   COM : DBASEOVR COM : DBASEMSG TXT : DBASE    CMD\r\nD: INSTALL  COM : DATETEST HEX :\r\nA>d:\r\nD>ren dbase.com=dbasex.com\r\nD>install\r\n\r\ndBASE II INSTALLATION PROGRAM  VER 3.0\r\n\r\nARE FULL SCREEN OPERATIONS WANTED (Y\/N)? y\r\n\r\n\r\n\r\n\r\n\r\n  dBASE II INSTALLATION PROGRAM  VER 3.0\r\n                 MENU #1\r\n\r\nA -ADDS VIEWPOINT   M -HP 2621\r\nB -ADM-31           N -INTERCOLOR\r\nC -ADM-3A           O -KAYPRO II\r\nD -APPLE \/\/\/        P -NEC PC-8000\/1\r\nE -APPLE II 40 COL  Q -NS ADVANTAGE\r\nF -CROMEMCO 3102    R -OSBORNE I\r\nG -DIALOG 81        S -PERKIN ELMER 11\r\nH -EAGLE AVL        T -SANYO MBC 3000\r\nI -GNAT-SYSTEM 10   U -SOROC\r\nJ -HAZELTINE 1500   V -SPERRY UTS 40\r\nK -HEATH 89         W -SUPERBRAIN\r\nL -HP 125\r\n\r\n     X - MENU #2\r\n     Y - MODIFY PREVIOUS INSTALLATION\r\n     Z - USER SUPPLIED TERMINAL COMMANDS\r\n\r\nSELECT TERMINAL TYPE: x\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n   dBASE II INSTALLATION PROGRAM  VER 3.0\r\n               MENU #2\r\n\r\nA -TELEVIDEO\r\nB -TOSHIBA T100\r\nC -TOSHIBA T250\r\nD -TRS-80 (FMG)\r\nE -TRS-80 II (P&T)\r\nF -TRS-80 III\r\nG -VECTOR GRAPHICS\r\nH -VISUAL-100\r\nI -VPD-80\r\nJ -VT-100\r\nK -XEROX 820\r\n\r\n\r\n     X - MENU #1\r\n     Y - MODIFY PREVIOUS INSTALLATION\r\n     Z - USER SUPPLIED TERMINAL COMMANDS\r\n\r\n\r\nSELECT TERMINAL TYPE: j\r\n\r\nCHANGE MACRO, DATE, ETC. (Y\/N)? y\r\n\r\nENTER A CHARACTER TO BE USED FOR\r\nINDICATING MACROS OR A RETURN FOR\r\nDEFAULT CHARACTER OF AMPERSAND (&) :\r\n\r\nTYPE A RETURN IF THE ERROR CORRECTION\r\nDIALOGUE IS TO BE USED OR ANY OTHER\r\nKEY IF NO DIALOGUE IS WANTED  :\r\n\r\n\r\nENTER OPERATING SYSTEM\r\n   A - CP\/M 2.2\r\n   B - MP\/M II SYSTEM\r\n\r\n\r\na\r\n\r\nDATE FORMAT IS MM\/DD\/YY,  CHANGE TO DD\/MM\/YY (Y\/N)y\r\n\r\n\r\n\r\nTYPE \"Y\" TO SAVE, ANY OTHER KEY TO ABORT INSTALL\r\ny\r\nSAVING INSTALLATION PARAMETERS\r\n\r\nD>dir\r\nD: DBASE    COM : DBASEOVR COM : DBASEMSG TXT : DBASE    CMD\r\nD: INSTALL  COM : DATETEST HEX\r\nD>dbase\r\n\r\nENTER TODAYS DATE  OR RETURN FOR NONE\r\n (DD\/MM\/YY) :2\/11\/17\r\n\r\nCopyright (C) 1982 RSP Inc.\r\n\r\n***  dBASE II     Ver 2.4  1 April, 1983\r\n\r\n Type 'HELP', 'HELP dBASE', or a command\r\n\r\n. create addo\r\nENTER RECORD STRUCTURE AS FOLLOWS:\r\n FIELD   NAME,TYPE,WIDTH,DECIMAL PLACES\r\n 001     name,c,20\r\n 002     surname,c,20\r\n 003     street,c,20\r\n 004     city,c,15\r\n 005     state,c,3\r\n 006     phone,c,15\r\n 007\r\nINPUT DATA NOW? N\r\n. use addo\r\n. disp struc\r\nSTRUCTURE FOR FILE:  D:ADDO    .DBF\r\nNUMBER OF RECORDS:   00000\r\nDATE OF LAST UPDATE: 02\/11\/17\r\nPRIMARY USE DATABASE\r\nFLD       NAME      TYPE WIDTH   DEC\r\n001     NAME         C    020\r\n002     SURNAME      C    020\r\n003     STREET       C    020\r\n004     CITY         C    015\r\n005     STATE        C    003\r\n006     PHONE        C    015\r\n** TOTAL **             00094\r\n.\r\n\r\n\r\n\r\n\r\n. store \"text\" to a\r\ntext\r\n. store 5 to bb\r\n  5\r\n. store 6.78 to ccc\r\n 6.78\r\n. save memo to mem\r\n*** SYNTAX ERROR ***\r\n     ?\r\nsave memo to mem\r\nCORRECT AND RETRY (Y\/N)? Y\r\nCHANGE FROM :memo\r\nCHANGE TO   :\r\nsave  to mem\r\nMORE CORRECTIONS (Y\/N)? N\r\n. quit\r\n*** END RUN     dBASE II     ***\r\n\r\n\r\n\r\nD>dir\r\nD: DBASE    COM : DBASEOVR COM : DBASEMSG TXT : DBASE    CMD\r\nD: INSTALL  COM : DATETEST HEX : ADDO     DBF : MEM      MEM\r\nD>\r\n<\/pre>\n<p><\/code><\/p>\n<p>This is part of the <a href=\"http:\/\/www.sydneysmith.com\/wordpress\/cpm-programs\/\">CP\/M topic<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>dBase II was a database program from Ashton-Tate released in the 1980s. It ran on CP\/M computers and provided an easy way of creating complete database systems. This was because it included a way of displaying input forms, validating the entered data and of retrieving and reporting entered information. You could write programs in its &hellip; <a href=\"https:\/\/www.sydneysmith.com\/wordpress\/1714\/running-dbase-ii-on-windows\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Running dBase II on Windows<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[16,59],"tags":[],"_links":{"self":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts\/1714"}],"collection":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/comments?post=1714"}],"version-history":[{"count":2,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts\/1714\/revisions"}],"predecessor-version":[{"id":1717,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts\/1714\/revisions\/1717"}],"wp:attachment":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/media?parent=1714"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/categories?post=1714"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/tags?post=1714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}