Giter Club home page Giter Club logo

dcpu-16's People

Contributors

bwesterb avatar fogleman 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

dcpu-16's Issues

Unsaved changes warning

The application doesn't seem to care if the document you are closing has unsaved changes.

Breakpoints

It would be very useful to have the program pause automatically whenever the simulation reaches a breakpoint.

Interrupts can be triggered before IFx instructions are done skipping.

When an IFx instruction is run and fails, no interrupts should be triggered until after the instruction skipping is completed.

IFE 0, 1
SET PC, never           
SET PC, MainLoop  

In the above code, currently there is a small time period when PC is pointing to the line "SET PC, never" as it is skipping that instruction. If an interrupt is triggered when PC is pointing to this instruction it will get run when the interrupt returns. For a complete example of this in action, see the code below. You will see the program flow reach the :never block and the Z register will get set to 0xFFFF.

HWN I
IAS ClockISR
IAQ 0

:hwloop
SUB I, 1
HWQ I
IFE A, 0xB402
IFE B, 0x12D0           ; Search for clock
SET PC, foundClock
SET PC, hwloop

:foundClock
SET A, 0                ; Set clock freq to 60hz
SET B, 1
HWI I

SET A, 2
SET B, 1         ; Set clock to generate interrupts
HWI I


:MainLoop
IFE 0, 1                       ; Main loop that should never run the line "SET PC, never"
SET PC, never           
SET PC, MainLoop       

:never
SET Z, 0xFFFF                  ; Program flow should never reach here!
:crash SET PC, crash



:ClockISR
IAQ 1                  ; Simple ISR that just doesn't do much except return.
RFI

Saving does not work

On Windows, selecting "Save" from the File menu, or pressing ctrl+s does not save the file.
When closing a modified document and choosing "Yes" on the "want to save" prompt, a "Save As..." dialog appears instead of the file being saved with its current filename.

Add multi-file support

Add file-tree explorer, editing of multiple files and assembler commands like #include.

Syntax highlighting

Syntax highlighting is a must for long programs. Specially when comments are used as visual cues and separators.

Save (besides Save As...)

It's mildly annoying to have to write the document's file name and replace it every time you want to save.

Run button doesn't work after hitting a BRK.

Once one BRK instruction has been hit, the run button acts the same as the step button.
For example I would expect to only have to click the run button once each time A reaches 0xFFFF when running the code below:

:loop
ADD A, 1
IFE A, 0xFFFF
    BRK
SET PC, loop

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.