Saturday, May 17, 2014

8085 Simulator

Where 8085 programming MADE EASY.
Software download link: https://8085simulator.github.io/



Features:

  • Built in assembler
  • Built in dissembler
  • Has autocorrect features
  • Sample codes
  • Simulation step by step (including back step).
  • Number conversion tool
  • Can load programs written in any other 8085 assembler
  • Powerful memory editor
  • Can change memory address range according to your need
  • 8085 Trainer Kit
  • Timing Diagram 
Feel free to give your valuable comments, critics and your appreciation


65 comments:

  1. i want create 8085 simulator in vb pls give your java source for reff

    ReplyDelete
    Replies
    1. The software is open source, but the code is obfuscated and it is not meant for sharing

      Delete
  2. Where is the timing diagram option, please help me? And above all your is awesome.

    ReplyDelete
    Replies
    1. Go through the help document it illustrates, how to generate the timing diagram

      Delete
  3. I want to do a program to generate a flashing display 'HELP' in the address field. How to do it in this simulator? I can not find the memory address of output subroutine...plz help

    ReplyDelete
  4. Replies
    1. The software is open source, but the code is obfuscated and it is not meant for sharing

      Delete
  5. Yes, the source code would be nice so that I could fix all the bugs in this fucked up application. On second thought I've already wasted too much time with it.

    ReplyDelete
    Replies
    1. I would appriciate if you could list out the problems or bugs you have encountered while using this software.

      Delete
  6. i don't know how to use number converter tool....................
    plz help me in this.........

    ReplyDelete
  7. Say u wnt to convert from decimal to hex, then double click in the space below the decimal number title and after entering number press enter. The result shuld be reflected in hex and binary.

    ReplyDelete
  8. Hi Jubin, could you please publish the trainer board schematics or at least the devices addresses ? For example, whcih is the address to program the 8279 ?
    Thanks,
    Henrique

    ReplyDelete
    Replies
    1. Hello Henrique, 8085 simulator do not have support for 8279 programming. The trainer kit is just a GUI wrapper of the features supported by the Assemler engine.
      Thanks
      Jubin

      Delete
  9. how to substract 3 byte? can you give me the list code? thank you

    ReplyDelete
  10. could you please....share it if available

    ReplyDelete
  11. Please give me your port adress and CWR adress.

    ReplyDelete
  12. Please give me your port adress and CWR adress.

    ReplyDelete
    Replies
    1. Can you elaborate, unable to understand your request.

      Delete
  13. Really nice. Tried to use it but it seems to wipe out DB directives. Any thoughts?

    ReplyDelete
    Replies
    1. There can be 2 issues:
      Assemble code is over-lapping with your DB address
      Use ORG command before it

      Use recent version of software, and have a look at the examples

      Delete
  14. THANK U FOR THIS GRATE APPLICATION......

    ReplyDelete
  15. Thank you for this apppication.
    How can I assign labels?
    Please give me example.

    ReplyDelete
  16. Too many bugs and have not been updated since long time. Please fix them.

    ReplyDelete
  17. hey can i use the trainer kit to show the real time clock program?if yes,what are the subroutines for output on address and data display fields ?

    ReplyDelete
    Replies
    1. The trainer kit is just the same simulator engine running in background.

      Settings --> Simulation Speed --> Step by Step
      Set some 1 or 2 seconds.

      Select EXEC from the trainer kit.

      In the Assembler Editor click on T-States for opening the real time Timing Diagram.

      Delete
    2. what i mean is that i want to develop a program to show a clock which needs the subroutines for display.are these subroutines available or should develop myself.if no subroutines could you add the display subroutines in the future versions?

      Delete
    3. I am not able to understand your query fully, you can elaborate more.
      For controlled delay insertion, you can use:
      Insert -> Delay Subroutine
      For clock view in real time, no such options are available.

      Delete
  18. This comment has been removed by the author.

    ReplyDelete
  19. How to interface devices with it? I mean how to use the I/O port memory? I cannot understand...can you please help? In what form will I get the output and how do I set the port address??

    ReplyDelete
  20. Hello Siladittya
    There are no support for device interface with this software.
    However, you can mimic the behaviour by using the I/O port memory wisely.
    Just to give an example, take this simple code. Want to input from port 43 and store to accumulator. Then output it to port 8A .


    # BEGIN 0000H
    IN 43
    mvi a,55
    out 8a
    Assemble and then write in I/O Port memory at 43 some value and then run it to see the effect.

    Hope it answers your question.

    ReplyDelete
  21. This code doesn't do as what you appear to be intended for demonstration.

    Put "FF" at mem location 43 and "55" is what results stored in mem location "8a."

    MVI a,55 does just as told. Move "immediate" data "55" into accumulator. And of course, this is what is output with "out 8a"

    ReplyDelete
    Replies
    1. Yes I agree with you.

      # BEGIN 0000H
      IN 43
      out 8a

      Does the demonstration.
      However, "MVI A,55" have added to show that whatever is written onto the accumulator is output to port 8A

      Delete
  22. By the way. I find your simulator very useful as I revisit 8085. Having to refresh my memory.

    Thank You for your hard work.

    ReplyDelete
  23. hello sir, i want your help.please send me test mail in my email account, this is my email account: bmg12501@gmail.com

    ReplyDelete
  24. Dear Jubin,
    I like your simulator, I am a technical teacher. I'd like to use it it my school, but on OS X El Capitan the trainer kit buttons don't have labels. Can you help us to solve it? I wanted to send you a screenshot, but I don't know your E-mail address.

    ReplyDelete
    Replies
    1. Hello Zoli

      Need Java 6 Update 16 atleast http://javadl.sun.com/webapps/download/AutoDL?BundleId=33889

      for GUI to appear correctly. Ensure that correct java version is installed in the machine and that is from SUN (now Oracle) Java. Also the application is launched by that java version.

      Delete
    2. dear jubin
      even i have java 6 update 16 i am still not able to use simulator
      i it in jar format . and i am not able to use simulator

      Delete
  25. Hello Mr. Jubin.
    Excellent work on the Simulator. I find it very useful. I have, though one very concerning issue with it, which I want to talk with you about.
    It seems that I cannot load more than 1 program without resetting the data memory. And that's kind of a big utility problem.
    What I mean:

    Lets say I have a program that fills some space between two addresses with data. Lets suppose the data is of value 55H.

    Now I want to load another program which copies that data from that space to another in the memory. But here's the issue. When I'm loading this program, memory is reset and every value returns to 0.

    I realize I can write it all in one big program, but isn't there a way to load multiple programs without memory being reset?

    Thank you for your time, I hope I'm helping with my comment. Have a nice day!

    ReplyDelete
    Replies
    1. Hello CSPlayerDamon

      It is a very important feature that you have requested. However, this feature is not supported or planned for.

      Thanks for being user of this open access simulator and using it in your applications.

      Delete
  26. This comment has been removed by the author.

    ReplyDelete
  27. Example of 2's COMPLEMENT OF A 16-BIT NUMBER is incorrect in Version2
    But i edit to write (ADD B).
    I'm think about pro is very good :)

    // 2's COMPLEMENT OF A 16-BIT NUMBER
    // The 16bit number is stored in C050,C051
    // The answer is stored in C052,C053
    LXI H,C050
    MVI B,00
    MOV A,M
    CMA
    ADI 01
    STA C052
    JNC GO
    INR B

    GO: INX H
    MOV A,M
    CMA
    ADD B
    STA C053
    HLT
    // EXAMPLE-> C050=8C,C051=5B
    // Answer-> C052=74,C053=A4

    # ORG C050
    # DB 99H,84H

    ReplyDelete
  28. Replies
    1. https://8085simulator.github.io/
      Download link: https://github.com/8085simulator/8085simulator/raw/master/dist/8085Compiler.jar

      Delete
    2. Thank you so much. It helps me a lot.

      Delete
  29. Emulation of the 8085 undocumented instructions (ARHL, DSUB, JNUI, JUI, LDHI, LDSI, LHLX, RDEL, RSTV & SHLX) is lacking in this excellent simulator. Will they be included in a later version?

    ReplyDelete
  30. Hello Jubin, this is great Simulator for performing different operations and understanding the 8085 uP instructions and their timing diagram.

    I have one query, how to enlarge the Font of the Code we write in Editor?

    ReplyDelete
  31. Hello Jubin, I am trying to use call 0363 (UPDAD) and it will not allow me. Is there a reason this does not work?

    ReplyDelete
  32. Hello Jubin,
    First of all a big thanks to your 8085 simulator. I'm working as faculty in a university and I'm using your simulator to make students understand about the nuances in programming.

    Your work is helping hundreds of students. You should indeed be proud of.

    Good work. Thanks again.

    ReplyDelete
  33. Hello Jubin,
    Is there a way to put the register, memory, and devices window all on the main window so you dont have to click the tabs?

    Thanks.

    ReplyDelete
  34. GREAT WORK! VERY USEFUL FOR STUDENTS.

    ReplyDelete
  35. Hey Jubin. It's a really good software. Thank you so much.

    I was wondering if we could get the ports be connected to a file, so that it can output to the file and/or read from a file?

    Again, thank you. Your hardwork has really paid off.

    ReplyDelete
  36. Thank you very much for this great tool!
    I did discover a bug today, thought you would like to know.
    In the Memory Tab on the right of the main window you have a selection for "Show only loaded memory location". I can tell that this will exclude all locations with data = 00. The only problem is that for the example code:

    Addr Data
    0000 C3
    0001 00
    0002 14
    .
    .
    .
    1400 76

    The Memory Editor will show:

    0000 C3
    0002 14
    1400 76

    As you can see, part of the JMP address at 0001 isn't shown.

    A minor bug really, but just thought you would want to know.

    :)



    ReplyDelete
  37. CAN YOU ADD SUBROUTINE
    1 TO ACCEPT DATA FROM KEY BOARD
    2 TO DISPLAY DATA ON DATA FIELD
    3 TO DISPLAY DATA IN ADDRESS FIELD WHICH IS HL REGISTER PAIR

    ReplyDelete
  38. Hi Mr. Jubin
    your software is really great .
    Can you please tell me how to solve the unable to create backward step instances problem ? That occurs when we press the forward button.

    ReplyDelete
  39. Respected sir
    On opening the jar file with java there opens a warning dialogue box in which "Memory address should in the format XXX0" is written. Due to this i am unable to open and use the software. Please help me short out this issue.

    ReplyDelete
  40. Thank you so much! I'm learning to program 8085 at my University in the US! This tool came very in handy for my final assignment without having to bring home the whole kit from school.

    ReplyDelete
  41. LXI H,7000
    LXI B,8000
    MVI D,05

    LOOP: MOV A,M
    STAX B
    INX H
    INX B
    DCR D
    JNZ LOOP
    HLT
    Hello Jubin, why I'm not getting result of this program. Even I tried to run STAX B twice in a program, the simulator doesn't perform this.

    ReplyDelete
  42. Hey I've installed simulator and when I tried to open it it's showing warning stating memory format should be XXX0. Please help me with this issue. Expecting a reply from you.

    ReplyDelete
  43. "Memory address should in the format XXX0" How do I fix this issue?

    ReplyDelete