Image Map Image Map
Page 1 of 4 1234 LastLast
Results 1 to 10 of 32

Thread: MS Basic on a SOL

  1. #1
    Join Date
    Jan 2011
    Location
    Vancouver, BC
    Posts
    4,242
    Blog Entries
    2

    Default MS Basic on a SOL

    Now that I have 16KB of memory in expansion + whatever is onboard, I thought I'd try loading something big like MS Basic from the Sol site. I was surprised to see that it stretches from $0040 all the way to $3F80.

    I might be wrong but between each increment of the leftmost digit of the hex address is 4k, right? So between $0000 and $1000 is 4K, between $0000 and $2000 is 8K? Does that mean MS Basic is 16K? That seems pretty large.

    In the event, it doesn't run on my Sol.. doing EX 0040 just hangs. But I don't know if that's lack of further available RAM or something else, like maybe one or both of my RAM boards still having issues.

  2. #2
    Join Date
    Dec 2011
    Location
    East Coast USA
    Posts
    750

    Default

    Can your Sol run PT basic?

  3. #3
    Join Date
    Jan 2014
    Location
    Centero
    Posts
    6,874
    Blog Entries
    2

    Default

    Commodore BASIC 2.0, which is modified Microsoft 6502 BASIC, is 8k by itself. But it relies on 8k of KERNAL ROM, plus a most of $0000 to $0800, bringing it well over 16k. So I'd say 16k sounds about right.

  4. #4

    Default

    Most BASICs are in the 8K to 12K range in size. Being that MS BASIC was about the first BASIC for the 8080, 16K+ is not that much over. You can get tinyBASIC to run in 2K if you have a ROM with the I/O. PalotAlto tinyBASIC is a 8080 basic.
    A typical Forth for the 8080 is around 8K as well. That would be an integer Forth. A Forth with floating point is on the order of 12K.
    Dwight

  5. #5

    Default

    I have run MSBasic on my Sol-20, it ran fine, but I had 48k of memory installed (3 x 16KRa memory cards) I have those so I can run 48k CP/M. I think it did require over 16k of the memory to run. The advantage of it is that it contains all the common Basic commands and you can save to disk and use the usual Save & Load commands. PT's cassette Basic obliges you to save & load from tape only (I think).

  6. #6
    Join Date
    Jan 2011
    Location
    Vancouver, BC
    Posts
    4,242
    Blog Entries
    2

    Default

    So I took the 8KRA long memory test from here.

    I made it into an ENT file like so:

    Code:
    EN 0000
    0000: F3 DB 01 31 D2 01 CD 3E 00 DB FF E6 E0 CA 09 00
    0010: 67 2E 00 22 82 01 21 00 00 22 78 01 22 7A 01 22
    0020: 7C 01 22 7E 01 2A 82 01 3E 20 84 67 2B 22 84 01
    0030: C3 68 00 DB 00 E6 80 CA 33 00 78 D3 01 C9 06 0D
    0040: CD 33 00 06 0A CD 33 00 06 7F CD 33 00 CD 33 00
    0050: C9 2A 82 01 3A 85 01 BC C2 63 00 3A 84 01 BD C2 
    0060: 63 00 37 23 22 82 01 C9 21 01 00 22 96 01 2A 82
    0070: 01 E5 AF 37 F5 F5 77 CD 51 00 DA 82 00 F1 17 C3 
    0080: 75 00 F1 F1 E1 22 82 01 E5 F5 F5 BE C4 FA 00 CD
    0090: EB 00 CD 51 00 DA 9D 00 F1 17 C3 8A 00 F1 F1 17
    00A0: DA AC 00 E1 22 82 01 E5 F5 C3 75 00 E1 22 82 01
    00B0: E5 AF 37 F5 F5 77 CD 51 00 DA CA 00 F1 1F C3 B4
    00C0: 00 F1 F1 E1 22 82 01 E5 F5 F5 BE C4 FA 00 CD EB
    00D0: 00 CD 51 00 DA DC 00 F1 1F C3 C9 00 F1 F1 1F DA
    00E0: 10 01 E1 22 82 01 E5 F5 C3 B4 00 DB 00 E6 40 C8
    00F0: DB 01 E6 7F FE 1B CA 03 00 C9 D1 F1 F5 D5 AE 47
    0100: 3A 83 01 E6 1C 0F 0F 21 78 01 85 6F 7E B0 77 C9
    0110: 3A 96 01 3C 32 96 01 FE 04 CA 23 01 E1 22 81 01
    0120: C3 6E 00 21 7F 01 16 40 1E 11 0E 0F CD 4C 01 CD
    0130: 4C 01 AF BA C2 43 01 CD 3E 00 CD 3E 00 CD EB 00
    0140: C3 3D 01 7B 07 5F CD 3E 00 C3 2C 01 7E A3 A1 06
    0150: 47 CA 56 01 06 58 CD 33 00 15 E3 07 A2 CA 6D 01
    0160: 79 17 DA 69 01 2B C3 4C 01 23 C3 4C 01 79 EE FF
    0170: 4F C9 00/
    I think I entered everything correctly. Anyway, I transferred the program from my PC to the terminal via the SET I=1 command. The manual says 'press reset and run switches in that order'. I'm assuming they're assuming the end user is doing this from an Altair or something similar rather than the Sol-20, which came later. I'm also assuming this is all 8080 code and that I shouldn't need to modify it to work with the SOL, although I'm wondering since I'm trying to test the board set to $2000, but also have a board set to $0000 in there (which we know is good). Supposedly you can break out of the program using Escape, but my SOL doesn't respond to that.

    I took a guess and did EX 0000 once it was in there... have been waiting a few minutes but have not seen a response yet. It does say it can take the long test several minutes to fully run. If this test will work with the SOL it would be ideal since it produces a text representation of the 8KRA board and will show the position of any trouble RAM ICs, assuming that's where the problem is.

  7. #7
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    30,956
    Blog Entries
    20

    Default

    I think you probably need to review the I/O for the SOL, since this doesn't appear to be written for it.

  8. #8
    Join Date
    Jan 2011
    Location
    Vancouver, BC
    Posts
    4,242
    Blog Entries
    2

    Default

    Ok.. I figured. This is way over my head. I'm not even clear on how it knows which RAM addresses to target. The instructions just say 'set board to one of these address ranges' and that's it.

  9. #9

    Default

    Most of these old programs were simple march or possibly galpat. There are better test today for marches. March C is not that hard to write and quite effective. It is a lot faster than galpat and there are few faults that galpat does better on.
    Dwight

  10. #10

    Default

    Use this memtest.ENT from Mike's site, the address starts at CAC0, you can test all the ram on the plug in Ram card/s and set the address range you want to test:

    http://deramp.com/downloads/processo...e/memory_test/

    It also throws up the addresses of defective ram and it runs continuously, which helps fault finding with the scope.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •