Coder Social home page Coder Social logo

gnusim8085 / gnusim8085 Goto Github PK

View Code? Open in Web Editor NEW
135.0 16.0 56.0 2.33 MB

A graphical simulator, assembler and debugger for the Intel 8085 microprocessor (Needs maintainer)

Home Page: https://gnusim8085.srid.ca

License: GNU General Public License v2.0

Shell 32.60% C 50.85% Makefile 0.38% M4 13.54% Meson 2.53% sed 0.06% Ruby 0.02%
8085 simulator engineering electronics student gtk3 assembler debugger

gnusim8085's Introduction

GNUSim8085 is a graphical cross platform simulator plus assembler with debugger for the Intel 8085 microprocessor.

You have to enter assembly code in order to use the simulator. The assembly syntax is not too hard to learn. For more information see "asm-guide.txt" in the doc/ directory.

Variable declarations are supported in assembler. You have a seperate Data view widget to show variable values during debugging. And did I mention that? Yes, you can also debug your code with the builtin debugger! For detailed stuff, you can generate program listing which contains line by line of code with address and operand information.

Contents of memory, IO ports can be modified during program execution. Modification of registers, flag are being planned, but they are not necessary always.

A lot of examples can be found in the docs directory! Try them.

Also don't forget to take a tutorial, when you will be asked during the program startup.

Dependencies

Build dependencies (Mandatory)

  • GTK3 (>= 3.10.0) development package
  • GtkSourceView3 (>= 3.10.0) development package

Build dependencies (Optional)

  • gettext (>= 0.18)
  • markdown (discount or similar package that provides markdown binary)

Install from source using meson build system (default)

To install from source, run the following commands

$ meson builddir
$ cd builddir
$ ninja
$ sudo ninja install

Install from source using autotools build system

To install from source, run the following commands

$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

Or, see the INSTALL file.

gnusim8085's People

Contributors

aanjhan avatar ahmed2g9 avatar coderbm1 avatar comradekingu avatar czfshine avatar demiand avatar doughdemon avatar hackerb9 avatar jaimie85 avatar knight-2000 avatar kornelijus avatar leoruizendaal avatar lizzyd710 avatar louies0623 avatar meirusfandi avatar nathanbnm avatar onkarshinde avatar sameermansuri17 avatar santossi avatar sharmatanikesh avatar srid avatar stokito avatar tatsuvalue avatar toshazed avatar vistaus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gnusim8085's Issues

GNUSim8085 doesn't remember last file or folder location

Hello,

Whenever you run GNUSim8085, it shows a basic skeleton program. We need to manually open the file which we were working on since the last time. Moreover, the open dialog, doesn't save the previous location, so have to give the complete path.

Is there a way in which we can make opening files easier like recently opened? Here are some ways which I can think of making the process easier

  1. Simply open the last file which user was working on
  2. Show recent files in the File menu
  3. Remember the last open location, instead of showing documents every time
  4. Let user set a preference of which folder to display by default when clicked on open button

Would be glad to submit a PR for the same after getting your ideas and thoughts.

AC flag is not set correctly

When working with SUB instruction (and possibly some others) the AC (Auxiliary Carry) won't be set correctly. Actually I couldn't find any SUB example where it gets set.

3 little code snippets to test (all taken from Intel's 8080/8085 Programming Manual:

mvi a, 035h
sub a

Flags which should be set: Z, P and AC => GNUSim8085 doesn't set AC!

mvi a, 023h
mvi b, 0Ch
sub b

The 2nd example just works fine, only P will be set afterwards.

mvi a, 0Ch
mvi b, 023h
sub b

Flags which should be set: C, S and AC => GNUSim8085 is missing the AC again!

ADI instruction query

What is the correct format for 8085 instruction below? It gets flagged as an error in the application.

ADI 'A'-'9'-1

I get two errors flagged for the above instruction.

"Undefined symbol"

and...

"Invalid operator or symbol. Check whether operands start with a number. e.g. a0H should be 0a0H."

Its probably expecting a different format, but not sure what.

Not obvious where the make command builds the binary

Hello,

I tried to follow the steps mentioned in the README and also went through the INSTALL file but after firing the make command, it was not obvious where the executable binary was built. In my limited experience using make, I was hoping for a bin directory to be created, but I couldn't find it.

Since the make file was too long, I couldn't trace it there as well. At any rate, after looking at .gitignore, I found that the binary is present in the src directory.

Please suggest a way in which we can make it easy for other people to contribute to this project. I am listing down some ways below

  1. Add a CONTRIBUTING file which clearly states how to build, how to obtain a stack trace, how to debug, how to print debug statements, etc.
  2. Make a bin folder which stores the binary and other build artefacts
  3. Add the info in the INSTALL file

Hex Codes

Hello, i'm current programming a real 8085 (in a study purpose), but, the keyboard in the hardware only accepts the hex codes. So, i want to know if there's a way, in this compiler/simulator, to obtain the hex code generated after the assembly compilation itself.

Required GNU Sim 8085 software version 20140-04-02

We need to install " GNU Sim 8085 software version 20140-04-02" in our client's machine. Please avail us the software with installation guidelines. Please also let me know the software charges or installation charges if any. We agree to pay you the same.

Thanking You.

Your's Sincerely,
Navratan
+919932012167

Allow label one line above the associated instruction

From https://opensourceforu.com/2011/08/gnusim8085-review/


The label line needs to be assigned at least a line of code. For example, if you do something like the following:

mvi c, 0ah
mvi b, 05h
xra a
loop:
add b
dcr c
jnz loop

The above code would not assemble, as the line with the label “loop” does not have any code. Either you have to move the ADD B to the “loop:” label line, or simply include a NOP beside the label “loop”.


It would be worthy supporting this syntax, as long as implementing it wouldn't break the semantics otherwise.

DLL files missing error

When I run gnusim8085.exe it ask's for dll files.
I am using Windows 8.1(64-bit).
I have downloaded gnusim8085-1.3.7.
Please help.

Future of Windows build

I have not found any way to get the Windows cross compilation build work with GTK3.

  • Windows will have to stay on GTK 2 for the foreseeable future.
  • Non-Windows build should move to GTK3 permanently. It does not make sense to maintain GTK2 build option for non-Windows platform.

In order to make code maintainable

  • We should create a source subfolder for Windows
  • Copy all the GUI related files to this folder
  • Modify Makefile.am to use different files based on build type.

Move completely to GTK3

Now that #23 is fixed we should plan to completely move to GTK3, with no possibility of GTK2 build.

  • Change autotools build scripts to remove gtk2 option
  • Change meson build scripts to remove gtk2 option
  • Remove gtk2 logic from Windows installer script.
  • Make changes to Travis CI configuration.
  • Remove redundant code logic for gtk3 vs gtk2 handling.

PSW register not displaying correct content.

The PSW register is not displaying its actual content in sidebar and always showing 0. When pushing the PSW register to stack, we can see the higher byte shows Accumulator and lower byte shows Flag Register. But in the sidebar it always shows zero.

Further there is an issue with the overflow bit in flag register (second least significant bit). It is always set. This bit should only be set when result of addition/ subtraction comes opposite of what is expected arithmetically. The overflow flag is an unspecified flag.

Shows error missing MSCVR80.dll missing from computer

I tried to install gnu8085-1.3.7 on windows 7 32bit machine. The installation went fine. But when I tried to open the app gets an error MSCVR.80.dll is missing, so couldn't open the application, any solution please..

Reset All should also remove entries in the Data tab

Hello,

When I try to fire the reset All command (ctrl+r) the data present in the data tab, doesn't reset. I have to restart GNUSim8085 if I want it to reset.

Let me know if I can submit a PR which allows the user to clear the data tab as well.

Faced an error with this program.

error
I am sure that my code is correct. please help.

;

jmp start

;data

;code
start: nop
lxi sp,9900
mvi c,04h
pop h
mov a,m
inx h
push h
inx sp
inx sp
pop h
mov m,a
dcr c
jz 28
inx h
push h
dcx sp
dcx sp
jp 13
hlt

File name not visible anywhere

Hello,

Whenever a file is executed, the program asks us to save the file first. After that, how do you ascertain which file you're working on as I couldn't find any provision to see the filename. Even if we are able to see the file name in the title bar, that would be awesome as well.

I would be more than happy to submit a PR after receiving your guidance in how can one achieve this. (I see that gtk_window_set_title can be used and file name can be retrieved from static GString *file_name = NULL;

Release 1.3.8

Mainly because we now have a new canonical repo and site. Let's use Github Releases to upload the tarballs and binaries right here: https://github.com/blog/1547-release-your-software

  • master branch ready for tag-release
  • Get approval from @srid
    • Update srid's email address
  • Tag and upload binaries to Github
  • Announce
    • Debian packaging
    • Fedora
    • Archlinux AUR
  • Remove releases older than 1.3.7 from launchpad
  • Figure out a way to include the licenses of all the libraries in Windows installer. (#29)
  • Decide if we should completely switch to GTK3 by removing option to build with GTK2. (#28)
  • Use markdown for creating user guide. (#30)
  • Update screenshots included in the source

Setup new translation management tool

Launchpad does not support importing files from github. So now we need to look for new translation management tool.
Weblate is my preferred choice. But suggest any other you may know.

  • Choose the translation tool
  • Request for hosting
  • Verify the hosting
  • Add weblate user as contributor
  • Verify the integration with github

Support to show ASCII chars

Currently, GNUSim8085 doesn't show the equivalent string if the data present is in the form of ASCII characters. When performing string manipulations, it is very important that the modified strings can be visualised easily

DCR instruction doesn't work properly after 80h

I was working with a pretty basic multiplication code when I encountoured that my code is failing for higher values of a particular operand. After investigating, I found that the dcr operation sets the S flag to 1 for values in register higher than 80h. This is obviously a bug, since S flag should be set only if dcr is operating on 00h register entry. Please look into this. Here's my code for error reproduction:

;<Multiplication Program>

jmp load

;data
num: db 0ffh, 81h
res: db 00h, 00h

;code
load: nop
lhld num
xchg
mov c, d
mvi d, 0h
lxi h, 0000h


main: nop
dcr c
jm end
dad d
jmp main

end: nop
shld res
hlt

PC flag is not set correctly

At the first run of a program (with F5), PC is set to 00h instead of 4200h. At pressing F5 at the last command and rerun the program with F5 PC is set to the last value (the address of the last command +1). Please fix that issue. Version 1.3.7

Direct addressing mode not working

Whenever I try to use MOV A,00H program won't be compiled saying there's an error. I know that I can achieve what I wanted using lxi and using mov a,m but why this direct addressing mode doesn't work? Perhaps 8085 processor don't support it?

gnu8085 simulator

Hey guys,
I am using macintosh and I am searching for gnu 8085 simulator for mac. Can anyone help me how can I install it in mac??

Bump the versions of build dependencies

For far too long we have supported very old versions of the various build dependencies like GTK, automake etc. We need to decide the support policy and bump the minimum version required once in a while. This will allow us to make use of new features in these tools (such as new widgets in GTK)

Current versioned build dependencies are:

  • Automake >= 1.11
  • GTK2 >= 2.24 or GTK3 >= 3.0.0
  • GtkSourceView2 >= 2.10 or GtkSourceView3 >= 3.0
  • gettext >= 0.18

I am proposing that we target Debian Stable/Ubuntu LTS (last supported), whichever is older, as our support platform.
As of today that means that we have to target Ubuntu 14.04. Note that even though Ubuntu 12.04 is active it is not supported on Desktop any more, only on server.

With Ubuntu 14.04 as target platform we get following minimum versions.

  • Automake >= 1.14
  • GTK2 >= 2.24 or GTK3 >= 3.10
  • GtkSourceView2 >= 2.10 or GtkSourceView3 >= 3.10
  • gettext >= 0.18

Please let me know if you agree with this proposal and I will bump the dependencies.

Create user guide using markdown

I started writing user guide using docbook XML format so that it could be converted into HTML as part of build and install. Now that I have become familiar with markdown, docbook looks to be overhead for a simple user guide.
So this is a tracker bug to make necessary changes to use markdown for creating user guide.

couldn't perform file operations in .asm files

  • the assembly files created and saved by app is not shown in file explorer even if "show hidden files, folders and drives" is enabled with "hide protected operating system file" disabled.

the worst part is, there is no option to delete those created assembly file!

Crash on repeat errors in program

Hello, GNUSim8085 seems to be crashing when trying to assemble and run a program twice with the same error.

When using the below program, it complains about an incomplete opcode when selecting "assemble and run". Selecting assemble and run again causes the below stack trace.

Here is the code I'm trying to run:

;<Program title>

jmp start

;data


;code
start: nop
MVI A, 05
STA 100f
MVI A, 06
ADD 100f
STA 101f

hlt

I understand that it should be MVI B, 05 on line 10 and ADD B on line 13 to add 5 and 6 together, but the program should continue to throw errors instead of crashing.

Here is the stack trace:

#0  0x00007ffff6ec5ea1 in raise () at /lib64/libc.so.6
#1  0x00007ffff6eaf53d in abort () at /lib64/libc.so.6
#2  0x00007ffff7118de3 in g_assertion_message (domain=<optimized out>, file=<optimized out>, line=<optimized out>, func=0x420578 <__func__.66235> "cb_clicked", message=<optimized out>) at ../glib/gtestutils.c:2914
#3  0x00007ffff7174b8b in g_assertion_message_expr
    (domain=domain@entry=0x0, file=file@entry=0x42049a "gui-list-message.c", line=line@entry=63, func=func@entry=0x420578 <__func__.66235> "cb_clicked", expr=expr@entry=0x4204f8 "gtk_tree_selection_get_selected (selection, (GtkTreeModel **)&store, &iter)")
    at ../glib/gtestutils.c:2940
#4  0x00000000004186b4 in cb_clicked (listview=<optimized out>, user_data=<optimized out>) at gui-list-message.c:63
#8  0x00007ffff725628f in <emit signal ??? on instance 0xa623e0 [GtkTreeView]> (instance=instance@entry=0xa623e0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
    #5  0x00007ffff7236fd2 in g_closure_invoke (closure=0x9a0520, return_value=0x0, n_param_values=1, param_values=0x7fffffffc7a0, invocation_hint=0x7fffffffc720) at ../gobject/gclosure.c:810
    #6  0x00007ffff724ab34 in signal_emit_unlocked_R (node=node@entry=0x56de70, detail=detail@entry=0, instance=instance@entry=0xa623e0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffc7a0) at ../gobject/gsignal.c:3742
    #7  0x00007ffff7255f0f in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffc960) at ../gobject/gsignal.c:3498
#9  0x00007ffff7919193 in gtk_tree_view_real_set_cursor (tree_view=0xa623e0 [GtkTreeView], path=0xccc930, flags=<optimized out>) at gtktreeview.c:13361
#10 0x00007ffff7929c70 in gtk_tree_view_multipress_gesture_pressed (gesture=0x96a6d0 [GtkGestureMultiPress], n_press=1, x=<optimized out>, y=<optimized out>, tree_view=0xa623e0 [GtkTreeView]) at gtktreeview.c:3386
#11 0x00007ffff78af86d in _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv (closure=<optimized out>, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x5d18e0) at gtkmarshalers.c:4803
#12 0x00007ffff7237206 in _g_closure_invoke_va (closure=0xa7eb60, return_value=0x0, instance=0x96a6d0, args=0x7fffffffcdf0, n_params=3, param_types=0x5d18e0) at ../gobject/gclosure.c:873
#13 0x00007ffff7255910 in g_signal_emit_valist (instance=0x96a6d0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffcdf0) at ../gobject/gsignal.c:3407
#14 0x00007ffff725628f in g_signal_emit (instance=instance@entry=0x96a6d0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
#15 0x00007ffff7a8e848 in gtk_gesture_multi_press_begin (gesture=gesture@entry=0x96a6d0 [GtkGestureMultiPress], sequence=sequence@entry=0x0) at gtkgesturemultipress.c:242
#16 0x00007ffff723a302 in g_cclosure_marshal_VOID__BOXEDv (closure=0x6351d0, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x626140) at ../gobject/gmarshal.c:1686
#17 0x00007ffff7237206 in _g_closure_invoke_va (closure=0x6351d0, return_value=0x0, instance=0x96a6d0, args=0x7fffffffd1b0, n_params=1, param_types=0x626140) at ../gobject/gclosure.c:873
#18 0x00007ffff7255910 in g_signal_emit_valist (instance=0x96a6d0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd1b0) at ../gobject/gsignal.c:3407
#19 0x00007ffff725628f in g_signal_emit (instance=instance@entry=0x96a6d0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
#20 0x00007ffff7a8c22e in _gtk_gesture_set_recognized (recognized=<optimized out>, sequence=0x0, gesture=0x96a6d0 [GtkGestureMultiPress]) at gtkgesture.c:344
#21 0x00007ffff7a8c22e in _gtk_gesture_set_recognized (sequence=0x0, recognized=1, gesture=0x96a6d0 [GtkGestureMultiPress]) at gtkgesture.c:330
#22 0x00007ffff7a8c22e in _gtk_gesture_check_recognized (gesture=gesture@entry=0x96a6d0 [GtkGestureMultiPress], sequence=sequence@entry=0x0) at gtkgesture.c:390
#23 0x00007ffff7a8fc6b in gtk_gesture_handle_event (event=0xf20540, controller=0x96a6d0 [GtkGestureMultiPress]) at gtkgesture.c:748
#24 0x00007ffff7a8fc6b in gtk_gesture_handle_event (controller=0x96a6d0 [GtkGestureMultiPress], event=0xf20540) at gtkgesture.c:713
#25 0x00007ffff7a8b2de in gtk_gesture_single_handle_event (controller=0x96a6d0 [GtkGestureMultiPress], event=0xf20540) at gtkgesturesingle.c:222
#26 0x00007ffff7abf4ec in gtk_event_controller_handle_event (controller=0x96a6d0 [GtkGestureMultiPress], event=0xf20540) at gtkeventcontroller.c:230
#27 0x00007ffff7904b8d in _gtk_widget_run_controllers (widget=0xa623e0 [GtkTreeView], event=0xf20540, phase=GTK_PHASE_BUBBLE) at gtkwidget.c:7443
#28 0x00007ffff78b9a5b in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x52eef0, return_value=0x7fffffffd560, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x52ef20) at gtkmarshalers.c:129
#29 0x00007ffff7237206 in _g_closure_invoke_va (closure=0x52eef0, return_value=0x7fffffffd560, instance=0xa623e0, args=0x7fffffffd630, n_params=1, param_types=0x52ef20) at ../gobject/gclosure.c:873
#30 0x00007ffff725503a in g_signal_emit_valist (instance=0xa623e0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd630) at ../gobject/gsignal.c:3407
#31 0x00007ffff725628f in g_signal_emit (instance=instance@entry=0xa623e0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
#32 0x00007ffff7904ce2 in gtk_widget_event_internal (event=0xf20540, widget=0xa623e0 [GtkTreeView]) at gtkwidget.c:7808
#33 0x00007ffff7904ce2 in gtk_widget_event_internal (widget=0xa623e0 [GtkTreeView], event=0xf20540) at gtkwidget.c:7677
#34 0x00007ffff7a421d8 in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0xa623e0 [GtkTreeView]) at gtkmain.c:2587
#35 0x00007ffff7a421d8 in propagate_event (widget=widget@entry=0xa623e0 [GtkTreeView], event=event@entry=0xf20540, captured=captured@entry=0, topmost=topmost@entry=0x0) at gtkmain.c:2690
#36 0x00007ffff7a422ff in gtk_propagate_event (widget=widget@entry=0xa623e0 [GtkTreeView], event=event@entry=0xf20540) at gtkmain.c:2724
#37 0x00007ffff7a4558b in gtk_main_do_event (event=0xf20540) at gtkmain.c:1920
#38 0x00007ffff7a4558b in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1690
#39 0x00007ffff77b19f4 in _gdk_event_emit (event=0xf20540) at gdkevents.c:73
#40 0x00007ffff77b19f4 in _gdk_event_emit (event=0xf20540) at gdkevents.c:67
#41 0x00007ffff7780672 in gdk_event_source_dispatch (source=source@entry=0x50dfe0, callback=<optimized out>, user_data=<optimized out>) at gdkeventsource.c:367
#42 0x00007ffff714c6e8 in g_main_dispatch (context=0x50d4b0) at ../glib/gmain.c:3309
#43 0x00007ffff714c6e8 in g_main_context_dispatch (context=context@entry=0x50d4b0) at ../glib/gmain.c:3974
#44 0x00007ffff714ca70 in g_main_context_iterate (context=0x50d4b0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4047
#45 0x00007ffff714cd43 in g_main_loop_run (loop=0xc27610) at ../glib/gmain.c:4241
#46 0x00007ffff7a3ef05 in gtk_main () at gtkmain.c:1328
#47 0x000000000040854a in main (argc=<optimized out>, argv=<optimized out>) at main.c:91

helpful info:
commit c1b8618

If there is any additional information that I can provide, then please let me know!

Mac OS

How do I install the GNUSim8085 on MAC OS? Could I have the complete instructions? Thanks

Instruction STAX does not support operand 'h'

in 8085-instructions.c (line 744-);

/* 12 STAX H */
static gint
_eef_inst_func_18 (eef_addr_t opnd_addr)
{
return _eef_inst_func_stax (opnd_addr, 'D');
}

I guess that 'D' is 'H'.
return _eef_inst_func_stax (opnd_addr, 'H');

(and need for code 'stax d')

Make this the canonical repo

  • Push latest commits from SourceForge git repo to the master branch here
  • Retire SourceForge git repo
  • Point Launchpad project to this repo
  • Adjust URLs in the source code

Fully switch to meson build

Meson build scripts are very compact and easy to read. I have already started experimenting with it. We should switch to using meson by default.

Initialise memory with negative value

When I (manually in the right panel) set a negative value in memory and hit enter it shows 0. Tried hex format as well (e.g. FE) but didn't work.
Any idea how I can initialise memory with negative values?

Needs to add raw binary output feature.

Neat little program, but you need an option for raw binary output or at least raw hex code in txt format. I would prefer raw 8085 binary so I can just copy it over to a rom and be done with it. Thanks!

Maximize problem in fedora 27

I am not able to get maximize button when trying to install it from Fedora repositories. When I make it from source code it gives a maximize button which actually is of no use also I am not able to resize the gnusim8085 application window in Fedora 27, due to which bottom part of the application is not accessible to the user.

Build broken because of renaming README to README.md

$ ./autogen.sh
autoheader: WARNING: Using auxiliary files such as acconfig.h',config.h.bot'
autoheader: WARNING: and config.h.top', to define templates forconfig.h.in'
autoheader: WARNING: is deprecated and discouraged.
autoheader:
autoheader: WARNING: Using the third argument of AC_DEFINE' and autoheader: WARNING:AC_DEFINE_UNQUOTED' allows one to define a template without
autoheader: WARNING: acconfig.h': autoheader: autoheader: WARNING: AC_DEFINE([NEED_FUNC_MAIN], 1, autoheader: [Define if a functionmain' is needed.])
autoheader:
autoheader: WARNING: More sophisticated templates can also be produced, see the
autoheader: WARNING: documentation.
configure.ac:135: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged.
configure.ac:135: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead,
configure.ac:135: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.
Makefile.am: error: required file './README' not found

Negative nos support for dec to hex and hex to dec conversion

Hello,

If you try to convert a decimal negative no. to hex, the program crashes, or if you've previously done some calculations, it shows a random hex value like 28B6718E
image

I tried to debug this issue, by forking my copy and running make and then running gdb src/gnusim8085 with breakpoint set in the conv_dec_to_hex function. I noticed that the argument to the function is 0 if you've given a negative number. (tried p dec command)

I would like to work on adding support for negative nos conversion by considering the no. to be just 8 bits. We can have a checkbox which toggles this behaviour

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.