home.social

#msbasic — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #msbasic, aggregated by home.social.

fetched live
  1. Microsoft BASIC For 6502 Is Now Open Source - An overriding memory for those who used 8-bit machines back in the day was of usin... - hackaday.com/2025/09/04/micros #retrocomputing #microsoft #msbasic #basic

  2. Microsoft BASIC For 6502 Is Now Open Source - An overriding memory for those who used 8-bit machines back in the day was of usin... - hackaday.com/2025/09/04/micros #retrocomputing #microsoft #msbasic #basic

  3. Today's project, for which I spilt blood, is finally to get a log of the output from the garage mounted solar panels, using a 40 year old computer to do the logging just because, er, why not? An Arduino is calculating output in watts from the time between pulses which come from an energy meter in the garage, sending them by serial connection to the NEC PC8201a which does the logging.

    It's powered by a very old and slightly crusty home made variable power supply.

    The NEC is running a program written in Microsoft BASIC. Like most people of my age I started writing BASIC before this computer was made, but it's far from my favourite language so I've not written any BASIC in a *very* long time (except a loader for a spectrum program a few years ago). Because I had never used it before, and on this occasion I could, this program uses the ON COM GOSUB feature. This feature interrupts the flow of the main program whenever data arrives on the serial port, similar in concept to how hardware interrupts work on the processor itself. A bizarre thing for any BASIC dialect to include! As this is BASIC, all variables are global and there's no stack to save state on.

    It has 16 K of RAM, shared by the program, file system, my logged data etc.
    #basic #msbasic #goto #gosub #NECPC8201A #playingwithcomputers

  4. Today's project, for which I spilt blood, is finally to get a log of the output from the garage mounted solar panels, using a 40 year old computer to do the logging just because, er, why not? An Arduino is calculating output in watts from the time between pulses which come from an energy meter in the garage, sending them by serial connection to the NEC PC8201a which does the logging.

    It's powered by a very old and slightly crusty home made variable power supply.

    The NEC is running a program written in Microsoft BASIC. Like most people of my age I started writing BASIC before this computer was made, but it's far from my favourite language so I've not written any BASIC in a *very* long time (except a loader for a spectrum program a few years ago). Because I had never used it before, and on this occasion I could, this program uses the ON COM GOSUB feature. This feature interrupts the flow of the main program whenever data arrives on the serial port, similar in concept to how hardware interrupts work on the processor itself. A bizarre thing for any BASIC dialect to include! As this is BASIC, all variables are global and there's no stack to save state on.

    It has 16 K of RAM, shared by the program, file system, my logged data etc.
    #basic #msbasic #goto #gosub #NECPC8201A #playingwithcomputers

  5. I think I've found a bug in a 1977 version of Basic... I wonder if it's a new finding?

    110 A=SQR(2)
    120 B=SQR(3)
    130 C=SQR(6)
    140 PRINT A*B-C
    150 PRINT C-A*B

    Turns out A*B-C is non zero, which is fair and more or less expected, but C-A*B is different - it's zero - and I didn't expect that.

    This is of course Microsoft #Basic for the #Commodore #PET. The problem seems to be present in all their 6502 basics.

    masswerk.at/pet/?data=base64:M

    #retroComputing #MSBasic

  6. I think I've found a bug in a 1977 version of Basic... I wonder if it's a new finding?

    110 A=SQR(2)
    120 B=SQR(3)
    130 C=SQR(6)
    140 PRINT A*B-C
    150 PRINT C-A*B

    Turns out A*B-C is non zero, which is fair and more or less expected, but C-A*B is different - it's zero - and I didn't expect that.

    This is of course Microsoft #Basic for the #Commodore #PET. The problem seems to be present in all their 6502 basics.

    masswerk.at/pet/?data=base64:M

    #retroComputing #MSBasic

  7. Yes, that's the code I expected - the spiky not-quite-Mandelbrot jumps out at you once you've seen both versions side by side.

    ZTEMP would be as good as ZR.

    The ambiguity in long variable names is really a misfeature - easy to have bugs and hard to find them.

    #msbasic #basic

    @rc2014