Image Map Image Map
Page 1 of 2 12 LastLast
Results 1 to 10 of 19

Thread: π for the Altair 8080

  1. #1

    Default π for the Altair 8080

    Quote Originally Posted by edcross View Post
    Great project congrats, would love to see the Altair included .
    I have just made the code for CP/M-80. However as I know, the Altair has no any hardware to measure timings and therefore my code can't measure time. So I can't include the Altair 8800 results in my project (there is also sources location).
    BTW it is interesting that the 8080 code gives about 73% speed of the z80 code. I ran both codes on the same the z80 based computer.
    Attached Files Attached Files

  2. #2

    Default

    Interesting! I'm going to run this on my Model 100 and submit a result.

  3. #3

    Default

    Not the Altair 8080, but possibly the newest CP/M 2.2 machine.
    TRS-80 Model 100 with REXCPM upgrade, 80C85 processor @2.4576 MHz. Running CP/M 2.2
    Results:
    100 : ~ 5 seconds
    1000: 340 seconds
    3000: 3052 seconds
    max # of digits = 7712

  4. #4

    Default

    Quote Originally Posted by Twospruces View Post
    Not the Altair 8080, but possibly the newest CP/M 2.2 machine.
    TRS-80 Model 100 with REXCPM upgrade, 80C85 processor @2.4576 MHz. Running CP/M 2.2
    Results:
    100 : ~ 5 seconds
    1000: 340 seconds
    3000: 3052 seconds
    max # of digits = 7712
    Thank you very much. Your machine configuration looks fantastic! It's worth to write a specialized program for it. It is interesting could the 8085 beat the z80 at the same frequency? However, sorry, I know very little about the TRS-80 Model 100 hardware. Could you help me with details about its timer? I need timer data or timer/raster interrupt handler address. I also need the frequency of the updates. Is there any TRS-80 Model 100 emulator anywhere?

  5. #5

    Default

    I could run Virtual T emulator but is it possible to run CP/M on it?

  6. #6

    Default

    Yes, but you need an unreleased version of VirtualT. I have that "pre-release" version myself for development.
    All of the files are available now to get the VirtualT setup running.
    So, for timing, I guess you want to detect start and stop time?
    There are also 8 undocumented opcodes in 8085, some of which are very useful. There might be some speed up possible.

  7. #7

    Default

    An option for spaces every 5 would be nice if they could be implemented along with a cr/lf so they stay aligned on the screen (you can get 13 groups of 5 to fit in 80 columns).

  8. #8
    Join Date
    Oct 2011
    Location
    Bedford, NH, USA
    Posts
    1,620

    Default

    Thanks very much for posting this!

    I have downloaded your application and transferred it onto a CP/M disk in my Altair 8800c. It appears to work properly for me - no printing of the time measurement at the end, as you indicated. I will attempt to time the process for 100, 1000, and 3000 digits by hand and post them back here.

    smp

  9. #9
    Join Date
    Oct 2011
    Location
    Bedford, NH, USA
    Posts
    1,620

    Default

    I'm working with PI-80G on my Altair 8800c.

    Yesterday, I successfully ran 100, 200 and 500 digits, and I notice that the program takes a bit longer to get started printing out the 4 digit sequences, and longer in between sequences, for more requested total digits. Then, I decided to try for the maximum 7232, as indicated by the input message. The program took quite a while to print out the first 4 digit sequence, and then slowly prints out subsequent sequences. I manually stopped the program after letting it work for over 4 hours.

    Question: If the program is running, attempting to print out the maximum number of digits allowed, does that mean that given enough time the program will successfully finish? I would hate to let the program churn away for 6 or 8 hours and then have it crash because for whatever reason it cannot actually finish.

    TIA

    smp

  10. Default

    I have made code for Tandy model 100/102. It is two files: `PI.BA' and `CALCPI.CO'. `PI.BA' loads and runs `CALCPI.CO' from `RAM:'. So at first `CALCPI.CO' must be moved to `RAM:'. It is quite possible that `CALCPI.CO' can be loaded from a cassette but I have not tested this because VirtualT doesn't support cassettes. For the use with a cassette `PI.BAS' must be modified, you need to replace LOADM with CLOADM.
    It is the 8085 code which uses the additional 8085 instructions. I use the Z80 assembly so these instructions are
    Code:
    SUB HL,BC
    RL DE
    SRA HL
    LD DE,HL+byte
    LD DE,SP+byte
    LD (DE),HL
    LD HL,(DE)
    RSTV
    JP X5,label
    JP NX5,label
    VirtualT has a bug which sets the carry flag incorrectly after `SRA HL', I had to fix it. CloudT has bugs too, I haven't fix them. I also try MAME but it supports only WAV-files for cassettes, I don't know how to use this.
    It is possible load and run `CALCPI.CO' without `PI.BAS', after loading it type
    Code:
    CLEAR0,36080
    CLR:CALL36096
    This should show 100 digits of the pi without timings.
    It seems that VirtualT is not very accurate with timings. Therefore please help me get better data. Please run pi-spigot for me with your hardware for 100, 1000, and 3000 digits. The screen output is very slow for Tandy model 100. Please type `CLR:RUN' not just run to get better results. Thank you.
    Quote Originally Posted by Twospruces View Post
    Yes, but you need an unreleased version of VirtualT. I have that "pre-release" version myself for development.
    All of the files are available now to get the VirtualT setup running.
    So, for timing, I guess you want to detect start and stop time?
    There are also 8 undocumented opcodes in 8085, some of which are very useful. There might be some speed up possible.
    Can I get this "pre-release" version? You know I have fixed a bug in the released one.
    Attached Files Attached Files

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
  •