[HN Gopher] VisiCalc Executable for the IBM PC (1999)
       ___________________________________________________________________
        
       VisiCalc Executable for the IBM PC (1999)
        
       Author : timClicks
       Score  : 139 points
       Date   : 2022-04-06 03:14 UTC (19 hours ago)
        
 (HTM) web link (www.bricklin.com)
 (TXT) w3m dump (www.bricklin.com)
        
       | crb wrote:
       | (1999)
        
         | dang wrote:
         | Added above. Thanks!
         | 
         | https://web.archive.org/web/*/http://www.bricklin.com/histor...
         | is an impressive run
        
           | timClicks wrote:
           | Thanks for the edits dang. I wasn't too sure whether I should
           | post the full title at submission time.
        
       | Shared404 wrote:
       | Interesting read, and I look forward to playing with the program
       | later!
       | 
       | Also, the link to other history sites is very enticing.
       | 
       | In short, thanks for providing me my next set of rabbit holes!
        
       | thomasfl wrote:
       | SC-IM is a terminal based spreadsheet. It is the modern version
       | of visicalc. https://github.com/andmarti1424/sc-im
        
       | pjc50 wrote:
       | Given how short it is, I wonder if someone's got an annotated
       | disassembly.
        
       | xtracto wrote:
       | Takes me back to my Uni years (late 90s) were at one point we had
       | do implement a (DOS based) spreadsheet program, all with stack
       | based equation parsing and cell references.
       | 
       | It was a really cool project which allowed me to understand the
       | insides of spreadsheets.
        
       | mkovach wrote:
       | /SQY .. ah, the Q.E.D of the early 80s.
        
       | [deleted]
        
       | kazinator wrote:
       | This article needs to make up its mind about which VisiCalc is
       | "original". The 1979 Apple II one, or the 1981 IBM PC one.
       | 
       | There can only be one "original".
        
         | NonEUCitizen wrote:
         | article says:
         | 
         | "The original VisiCalc program _that ran on the IBM PC in 1981_
         | still runs on today 's PCs."
        
           | kazinator wrote:
           | There was no VisiCalc program that was both original, and
           | that ran on the IBM PC in 1981.
        
             | jhbadger wrote:
             | The article mentions that the Apple II version was first. I
             | think it was clear that they are referring to the original
             | IBM PC version, not that the IBM PC version was the
             | original version of Visicalc
        
             | morganvachon wrote:
             | I'm pretty sure OP meant the original (first) release _for
             | IBM PC_ , which happened in 1981. I'm not sure if you're
             | being naively pedantic or intentionally obtuse here.
        
               | kazinator wrote:
               | "original" isn't simply a verbose way of spelling
               | "first".
               | 
               | https://www.merriam-webster.com/dictionary/original
        
             | dragonwriter wrote:
             | Of the VisiCalc programs that ran on the IBM PC, there was
             | an original member of that class, and it existed in 1981.
             | 
             | You are misparsing the sentence, applying "original" as a
             | modifier to the wrong phrase ("VisiCalc program" and not
             | "VisiCalc program that ran on the IBM PC".)
        
       | wiso wrote:
       | Remember: To quit, use "/SQY" (Storage, Quit, Yes).
        
       | kazinator wrote:
       | I seem to remember that VisiCalc didn't follow the dependency
       | graph among cells; it evaluated across the rows and columns
       | something like left to right, top to down.
       | 
       | That could work reasonably well, even in a new spreadsheet today.
       | At worst you may need to iterate where the graph would settle
       | everything in one round and you don't have to think about
       | circularity since you're already having to iterate on acyclic
       | situations.
       | 
       | Spreadsheets are often structured to mimic the flow of
       | calculations in paper documents: top down, left to right data
       | flows. A spreadsheet whose cells never reference anything to the
       | right or below would calculate in one round.
        
         | blihp wrote:
         | Yep... there wasn't enough code or RAM to do anything fancy. If
         | you had a spreadsheet of any real complexity (i.e. much more
         | than a screen worth) it was not unusual to disable auto recalc
         | as things got painful fast on a 1MHz 8-bit CPU.
         | 
         | None of this was really an issue for early adopters whose
         | primary alternative was typically paper, pencil, a
         | [pocket|desk] calculator and a whole lot of writing.
        
           | ngcc_hk wrote:
           | 100% remember that one. Still got a habit of checking refresh
           | or not ... silly these days but so natural then.
           | 
           | Wordstar, visicalc and dBase II (need z80 and 80 column card
           | to really use them). The office suite begins here.
           | 
           | Still remember to work with one senior user to debug her
           | spreadsheet program (may be 123). No fun at all. In fact we
           | said end user programming is not part of the scope of work.
           | But the word "senior" meant something I supposed :-) :-(.
        
         | bombcar wrote:
         | Some of the early spreadsheets had an option to NOT to
         | "realtime" recalculation - you'd make your changes and then
         | call a calculate.
         | 
         | This comes in useful with large spreadsheets and multiple cell
         | dependencies.
         | 
         | IIRC the move to the "current" live evaluation allowing back-
         | references was a major selling point for Excel.
        
           | dragonwriter wrote:
           | > Some of the early spreadsheets had an option to NOT to
           | "realtime" recalculation - you'd make your changes and then
           | call a calculate.
           | 
           | Some of the early spreadsheets...including every version of
           | Excel.
        
       | zabzonk wrote:
       | But if you actually need a simple spreadsheet, then Google
       | probably has you covered (and yes, I know we all hate google).
        
         | taviso wrote:
         | ...or if you need one that works in a terminal, I've got you
         | covered :)
         | 
         | https://lock.cmpxchg8b.com/spreadsheet.html
        
           | drewzero1 wrote:
           | I used sc to calculate my timesheets for a year or two before
           | migrating to LibreOffice out of convenience. The office
           | manager found it amusing that I'd print off the sc files on a
           | dot matrix printer that was still kicking around, but
           | occasionally I'd accidentally "put" instead of "write" and
           | the .sc listing would come screaming out of the printer for a
           | few pages.
           | 
           | I'll have to check out sc-im. You had me at CSV!
        
           | marttt wrote:
           | There's also Teapot, with FLTK or ncurses-based UI:
           | https://kmandla.wordpress.com/2010/08/11/how-to-use-
           | teapot-l...
           | 
           | Archived homepage of the project: https://web.archive.org/web
           | /20211124073408/https://www.synta...
           | 
           | Its most relevant feature seems to be 3-dimensional tables.
           | From the home page: "Instead of the unflexible and
           | complicated syntax used to address the values of cells in
           | traditional spread sheets ("B1" or "R1C2"), teapot uses for a
           | more functional approach: "@(1,2,0)". This results in an
           | easily understandable syntax and despite the very few basic
           | functions, very powerful semantics."
           | 
           | Haven't used it myself but I was quite curious about it a few
           | years ago.
           | 
           | EDIT: Has anybody succeeded in entirely replacing his/her
           | spreadsheet needs with e.g. awk scripts? Seems like a nice
           | exercise in the "first simplify your data structures, then
           | analyze" paradigm.
        
           | LVB wrote:
           | >Perhaps I'll update this article in 3 months with my
           | experiences and describe any limitations I ran into... or if
           | I gave up and switched to something else.
           | 
           | And? BTW, I've really enjoyed all of your deep dives into DOS
           | software. There is a nostalgia element for sure, but I still
           | think many elements of those UIs were incredibly efficient
           | (e.g. the Lotus 1-2-3 menus system you described) even
           | compared to today.
        
             | taviso wrote:
             | Thanks! I still use 123 basically daily, It's really grown
             | on me and I can use it very efficiently.
             | 
             | I wrote a display driver to fix a few quirks when using it
             | in a modern terminal (https://github.com/taviso/lotusdrv),
             | but once that was working I don't really have any
             | complaints, it really works beautifully.
        
               | bombcar wrote:
               | The HP Palmtop was amazingly powerful for its time -
               | because it came with 123.
               | 
               | https://en.wikipedia.org/wiki/HP_95LX
               | 
               | It's arguably _still_ better to this day at being a
               | portable spreadsheet computer than phones.
        
         | tonyedgecombe wrote:
         | Most of my spreadsheets are long lived, I wouldn't want to risk
         | tying them to something ephemeral like a Google account.
        
       | antimatter15 wrote:
       | For those interested in trying this out without dusting off their
       | DOS machine, there's an online Javascript emulator here:
       | https://www.pcjs.org/software/pcx86/app/other/visicalc/1981/
        
         | unnouinceput wrote:
         | Or you can use DosBox
        
       | Thorrez wrote:
       | >still runs on today's PCs
       | 
       | I guess it ran on 1999 PCs but not 2022 PCs. It won't run for me
       | on Windows 10.
        
         | LeoPanthera wrote:
         | I imagine it would run OK in DOSBox.
        
         | Zardoz84 wrote:
         | Runs on "today's" PC with a 32 bit Windows
        
         | nsxwolf wrote:
         | Tried it on my kid's gaming PC just now. Windows 10 complains
         | about it not being 64 bit.
         | 
         | Runs fine in DOSBox. Left it open, he'll be so excited when he
         | gets home from school!
        
         | badsectoracula wrote:
         | Should run on a floppy with FreeDOS :-P
         | 
         | (AFAIK FreeDOS has better support for modern PCs than MS-DOS
         | though you might find some that also boot MS-DOS)
        
         | tonyedgecombe wrote:
         | 64 bit Windows won't run 16 bit executables.
        
           | CTOSian wrote:
           | here you are : 16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1,
           | etc.) on 64-bit Windows
           | 
           | https://github.com/otya128/winevdm
        
             | tonyedgecombe wrote:
             | _a 16-bit Windows emulator_
        
             | nailer wrote:
             | wow.
        
       | sheetjs wrote:
       | Software Arts published an official technical specification of
       | the DIF file format in 1983. [1] (to save a file in the DIF
       | format, /S#S in VC)
       | 
       | It is certainly an interesting format, and Excel completely
       | mangles the data (whether it was intentional is up for debate).
       | For example, the value                   1,0         "0.3"
       | 
       | represents the literal string 0.3 in VisiCalc (the 1,0 indicates
       | that the next line is a string). Excel ignores the typing and
       | tries to parse as a value, interpreting it as the number 0.3.
       | Like with CSV, there's an awkward formula workaround for
       | generating a file with the text "0.3":                   1,0
       | "=""0.3"""           [1] https://atariwiki.org/wiki/attach/VisiCa
       | lc/DIF_Technical_Specification.pdf
        
       | chasil wrote:
       | If only it was Lotus 1-2-3, it would all come rushing back.
       | 
       | /FileRetrieve, /DataTable.
        
         | blihp wrote:
         | /ppg
        
       | [deleted]
        
       | TradingPlaces wrote:
       | The most important app in PC history.
        
       | jhallenworld wrote:
       | Atari 800 browser emulator version:
       | 
       | https://archive.org/details/VisiCalc_1.74A_1980_Software_Art...
       | 
       | Keys:                   Ctrl-'   Left         Ctrl-\   Right
       | Ctrl-]   Down         Ctrl-[   Up         '        +         [
       | -         \        *
        
       | triyambakam wrote:
       | There is a (derivative?) tool call VisiData that I think is
       | really neat - https://www.visidata.org/
        
       | mwexler wrote:
       | Ah, the power of the /. My fingers fell right back into those
       | patterns.
        
       | ck2 wrote:
       | I remember seeing visicalc for the first time in a Radio Shack
       | store on a TRS-80 Model 1, around 1980-1981 and it was so very
       | different than the rest of the very analog world at that time,
       | totally fascinating.
       | 
       | http://www.trs-80.org/visicalc/
        
       | haunter wrote:
       | dosemu2 is perfect for old software like this, it's not just an
       | emulator but has a mode that translates VGA text mode operations
       | into terminal operations so becames almost like a native
       | application in your terminal
       | 
       | I did this with WordPerfect for DOS thanks to a guide posted here
       | years ago https://blog.cmpxchg8b.com/2020/09/finding-console-
       | word-proc...
        
         | anthk wrote:
         | Emu2 allows to run 8086 software in text mode too, such as
         | Turbo Pascal: https://github.com/dmsc/emu2 But what I'd like
         | would be to have a Sixel backend for the EGA/VGA modes. Then by
         | just using an xterm, ever over OpenSSH, I could run old retro
         | DOS games under that.
        
       ___________________________________________________________________
       (page generated 2022-04-06 23:01 UTC)