Image Map Image Map
Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 25

Thread: Do you have an 8085 - can you run this test?

  1. #11

    Default

    I built Sergey's very fine minimax8085 tonight.

    I then reassembled the 8085all.mac to run at 8100h and modified my fakecpm also to run at 8000h. (minimax8085 ram is at 8000h)

    I then made a hex file of it, used the monitor to load it in and run it:

    Code:
    C> l
    C> g8000
    8085 instruction exerciser
    dad <b,d,h,sp>................  PASS! crc is:44331def
    aluop nn......................  PASS! crc is:f1be2031
    aluop <b,c,d,e,h,l,m,a>.......  ERROR **** crc expected:1e240909 found:4aa4948b
    <daa,cma,stc,cmc>.............  PASS! crc is:bfe51a5a
    <inr,dcr> a...................  PASS! crc is:632d47c5
    <inr,dcr> b...................  PASS! crc is:b1783261
    <inx,dcx> b...................  PASS! crc is:d38a84e2
    <inr,dcr> c...................  PASS! crc is:a6d2f555
    <inr,dcr> d...................  PASS! crc is:ebf818fa
    <inx,dcx> d...................  PASS! crc is:5b56262e
    <inr,dcr> e...................  PASS! crc is:465a3bbc
    <inr,dcr> h...................  PASS! crc is:f0a67079
    <inx,dcx> h...................  PASS! crc is:bb3320ef
    <inr,dcr> l...................  PASS! crc is:3b62eb12
    <inr,dcr> m...................  ERROR **** crc expected:1c9b9c5d found:13b8e3d6
    <inx,dcx> sp..................  PASS! crc is:f1682c84
    lhld nnnn.....................  PASS! crc is:6d1eeb35
    shld nnnn.....................  PASS! crc is:2c5b71d8
    lxi <b,d,h,sp>,nnnn...........  PASS! crc is:cfdfbbb3
    ldax <b,d>....................  ERROR **** crc expected:30cdccc6 found:b92f0807
    mvi <b,c,d,e,h,l,m,a>,nn......  PASS! crc is:cc3f3d29
    mov <bcdehla>,<bcdehla>.......  ERROR **** crc expected:e2c0feb3 found:a63be29b
    sta nnnn / lda nnnn...........  PASS! crc is:f6187eeb
    <rlc,rrc,ral,rar>.............  PASS! crc is:7ea730b3
    stax <b,d>....................  ERROR **** crc expected:b726a433 found:5ecd379e
    Tests comple
    I've restarted it and the first two are consistent so I have every assumption that it will produce the same results again.

    This is the version that does not mask out any of the status bits. Is it possible that the undefined one (bit 3) is not always consistently 0 like this page shows:
    https://pastraiser.com/cpu/i8085/i8085_opcodes.html

    Could the result be different because I am running it at 8100h instead of 100h?

    Other thoughts?

    CPU is P8085AH-2, L2380A08F, INTEL M C 1980

  2. #12

    Default

    Ok, so even the masked version fails in the same places - perhaps there is something going on with me moving it to 8100h.

    Code:
    C> l
    C> g8000
    8085 instruction exerciser
    dad <b,d,h,sp>................  PASS! crc is:44331def
    aluop nn......................  PASS! crc is:98faf22b
    aluop <b,c,d,e,h,l,m,a>.......  ERROR **** crc expected:0cfd75b5 found:95fed755
    <daa,cma,stc,cmc>.............  PASS! crc is:17cfab99
    <inr,dcr> a...................  PASS! crc is:9ef4ef36
    <inr,dcr> b...................  PASS! crc is:b0afba7d
    <inx,dcx> b...................  PASS! crc is:d38a84e2
    <inr,dcr> c...................  PASS! crc is:d6b4db23
    <inr,dcr> d...................  PASS! crc is:26f7fea2
    <inx,dcx> d...................  PASS! crc is:5b56262e
    <inr,dcr> e...................  PASS! crc is:fc681aae
    <inr,dcr> h...................  PASS! crc is:21f03c14
    <inx,dcx> h...................  PASS! crc is:bb3320ef
    <inr,dcr> l...................  PASS! crc is:cc157a6e
    <inr,dcr> m...................  ERROR **** crc expected:a1abca85 found:ae88b50e
    <inx,dcx> sp..................  PASS! crc is:f1682c84
    lhld nnnn.....................  PASS! crc is:6d1eeb35
    shld nnnn.....................  PASS! crc is:2c5b71d8
    lxi <b,d,h,sp>,nnnn...........  PASS! crc is:cfdfbbb3
    ldax <b,d>....................  ERROR **** crc expected:30cdccc6 found:b92f0807
    mvi <b,c,d,e,h,l,m,a>,nn......  PASS! crc is:cc3f3d29
    mov <bcdehla>,<bcdehla>.......  ERROR **** crc expected:e2c0feb3 found:a63be29b
    sta nnnn / lda nnnn...........  PASS! crc is:f6187eeb
    <rlc,rrc,ral,rar>.............  PASS! crc is:7ea730b3
    stax <b,d>....................  ERROR **** crc expected:b726a433 found:5ecd379e
    Tests complete

  3. #13

    Default

    Well, it was a bit of a challenge, but I loaded the program in at 8000h, but assembled for 0000h. I halted before pulling the swap_mem line low to swap the memory to 0000h and hit reset so it would run. I'll check the results in the morning!

  4. #14

    Default

    That was it. It can't be relocated without changing the results. I made a hex file that uses the monitor to load it into ram when it is at 8000h, then you put the cpu into halt, then pull swap_mem load, then his reset. It ran 3 times with all pass values overnight.

    I modified it to stop after one test is completed and am testing that now. I'll post it here for anyone else who wants to run it on the minimax8085 a little later today.

  5. #15

    Default

    Many of the memory related test will change when a flag gets a value. This causes difference in the CRC. Unlike check sums, CRCs also keep a time offset information as to when a difference happened. That is why they can be used for repair, since it is possible to find both when and where a small difference occurred. You might make a table of expected values if run at a few different locations. Others may find it useful if it is not convenient to run at locations like 0.
    Dwight

  6. #16

    Default

    Thanks Dwight, I thought about that, but unless I have someone else's good data to compare against, it is better to compare against known data [if it can be worked out].

    Here are the instructions on how to run the attached for anyone with a minimax8085:

    Code:
    Start the minimax8085's monitor.
    Press L to load intel hex.
    Send the 8085all_minimax8085.hex
    Do an m8000 and it will begin dumping what it loaded.
    At 8080 you should see a 76 - this is a hlt instruction so you can halt the 8085.
    Do a g8080 which should halt the cpu.
    Pull the swap_mem signal low (pin 8 on the P4-extension connector (you can connect it to pin 39 or 40).
    Press RESET.
    It should indicate reset and begin running the test:
    
    (reset)8085 instruction exerciser
    dad <b,d,h,sp>................  PASS! crc is:44331def
    aluop nn......................  PASS! crc is:f1be2031
    aluop <b,c,d,e,h,l,m,a>.......  PASS! crc is:1e240909
    <daa,cma,stc,cmc>.............  PASS! crc is:bfe51a5a
    <inr,dcr> a...................  PASS! crc is:632d47c5
    <inr,dcr> b...................  PASS! crc is:b1783261
    <inx,dcx> b...................  PASS! crc is:d38a84e2
    <inr,dcr> c...................  PASS! crc is:a6d2f555
    <inr,dcr> d...................  PASS! crc is:ebf818fa
    <inx,dcx> d...................  PASS! crc is:5b56262e
    <inr,dcr> e...................  PASS! crc is:465a3bbc
    <inr,dcr> h...................  PASS! crc is:f0a67079
    <inx,dcx> h...................  PASS! crc is:bb3320ef
    <inr,dcr> l...................  PASS! crc is:3b62eb12
    <inr,dcr> m...................  PASS! crc is:1c9b9c5d
    <inx,dcx> sp..................  PASS! crc is:f1682c84
    lhld nnnn.....................  PASS! crc is:6d1eeb35
    shld nnnn.....................  PASS! crc is:2c5b71d8
    lxi <b,d,h,sp>,nnnn...........  PASS! crc is:cfdfbbb3
    ldax <b,d>....................  PASS! crc is:30cdccc6
    mvi <b,c,d,e,h,l,m,a>,nn......  PASS! crc is:cc3f3d29
    mov <bcdehla>,<bcdehla>.......  PASS! crc is:e2c0feb3
    sta nnnn / lda nnnn...........  PASS! crc is:f6187eeb
    <rlc,rrc,ral,rar>.............  PASS! crc is:7ea730b3
    stax <b,d>....................  PASS! crc is:b726a433
    Tests complete
    8085all_minimax8085.zip

  7. #17

    Default

    Hi, where does this come from, and why did it need to run at 0000?
    Seems hard to do in a CP/M machine.
    I have a machine with 8085 running CP/M now. I could give this a try but it seems like in this thread some hardware manipulation must be done.

  8. #18

    Default

    It runs at 100h, not 0000h. I was referring to where the minimax8085 puts its ram. It is a normal CP/M application, but I needed to run it on a non CP/M system.

    You don't want this version which is specific to the minimax8085. I'll attach a version that is the regular CP/M version to this post.

    8085all.ZIP

  9. #19

    Default

    Quote Originally Posted by Twospruces View Post
    Hi, where does this come from, and why did it need to run at 0000?
    Some of the operations which are folded in the CRC checksums depend on the address. So running from a different address results in different CRCs.

    Quote Originally Posted by Twospruces View Post
    Seems hard to do in a CP/M machine.
    Every CP/M machine must have RAM available at 0x0000. So there is no problem, just run it like a normal CP/M application. It does not do anything special, just run instructions for a few hours and screen output.

  10. #20

    Default

    Quote Originally Posted by alank2 View Post
    It runs at 100h, not 0000h. I was referring to where the minimax8085 puts its ram. It is a normal CP/M application, but I needed to run it on a non CP/M system.

    You don't want this version which is specific to the minimax8085. I'll attach a version that is the regular CP/M version to this post.

    8085all.ZIP
    thank you,
    Tried it as a normal application (on simulated hardware) and got ERROR across the board. I can try real hardware.

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
  •