ISA
swap MSB0/MSB1 and LSB0/LSB1 ?
And beware that CMP NEGATES the input
Freeze fetch
On core freeze, the invalid opcode should be read somewhere (so can be sent to the debugger along with the address)
Pointer updates
Use the 4 remaining bits to their fullest
Carry
carry-in (+1) avec ADD pour pouvoir ajouter +8 avec les instructions courtes (si SI4)
si la valeur est positive :
-8 -7 -6 -5 -4 -3 -2 -1
1 2 3 4 5 6 7 8
Core-JS
Condition flag
Add a configuration flag COND_R1, COND_LSB, COND_MSB, COND_CARRY, COND_ZERO :
if the source code doesn't use some conditions, don't create the condition circuitry ?
Harmonize datapath width
YASEP_TYPE vs asmctx.core
remove YASEP16 & YASEP32 ?
Preprocessor and substitutions
Parseur pour les substitutions mot à mot !!!!!! (et non pas des expressions régulières)
==> tokenizer that directly sends the words collection to the asm function ?
GUI
Search engine
Users should be able to locate words in the doc
JS autotest
Assemble all the embedded .YAS when opening all the windows, script simulations
==> Add a "trigger" that feeds test vectors ?
window counter
in winman.js, replace v.on with a counter (semaphore?)
the max. number of windows is in the 3rd column of keys.js
Auto-settings
chaque module de ygwm peut avoir un config() qui crée du html/DOM pour configurer ledit module, ensuite intégré dans settings
Generic number text input
...
Hidden Restore
On F5, some windows are restored in "hidden" state
Timeout
timeout sur le chargement des pages ! (en cas de connexion coupée)
YGWM2
Autoplace
The windows should be placed automatically at semi-random places when no coordinates are given
Window object on call
Provide an object that gets completed by "default settings" instead of a huge parameter list...
Styles
The styles systems (CSS and all) is pretty messy.
New HTML generation is needed too !
Window binding
Closing a window should trigger stuff
Separate library of widgets and helpers
Take more code out of ygwm.js and gather the common snippets
Generic drag&drop of <td>
Take more code out of ygwm.js and gather the common snippets
Filefox
It just isn't working completely... Load is sorely missing.
Simulation
serial in cookie
in YASMed.js: serial:0, // must be set by a cookie !!!
RAM editor
display/edit/log memory ranges.
Fault vs Trap
distinguer entre FAULT et TRAP => garder le curseur ...
.rwx
Add a directive that sets the access rights to a code segment
.org auto, .org reloc ?
...
Linker
Enable the buttons to assemble all the functions and data ranges
closing YASMed
YASIM hangs when YASMed is closed and the cursor is still inside
ISM
IB, IH
2 manual pages are missing...
VHDL
Pipeline latches
* Configure the type (D-latch, transparent latch with 4 phases ?)
* Conditional latching of select areas
ACTEL
Validate with A3P
Boot
Boot from FlashROM
Configurable speed
Boot with slow clock (from FlashROM) then set to higher speed
Integer computations
Support integer numbers for faster simulations (and fallback to SULV)
Validation/Regression
Write more code to cover all the opcodes and combinations, script verifications so they
can be run before release
NOPs
détecter 2 NOPs consécutifs pour sauter plus vite l'alignement
- version A : ne pas passer en phase 2 si NOP
- version B : détecter 2è NOP en phase 2 ?
SHL sign
YASEP32 : mettre à 0 le bit de poids fort du shift amount si imm4 est utilisé (à cause de l'extension du signe)
PC LSB TRAP
Trap if LSB of PC is set
Website
collapse ASM examples
put everything from /examples/ in a single page/window
Minifier
Activate the full-featured minifier with the identifier replacement.
Tutorials
Add more tutorials ! Ex.: Fibonacci
Doc
Execution Units
one page for each execution unit, with examples and application code (like #!doc/multiply)
Traps
List all the vectors
Special Registers
Create a decent page with the standard map
Anatomy
Anatomy of the YASEP
Embed HTML
Pack/cache HTML (by languages), eventually compact it ?
Webkit
change the menu system / CSS so the titles are better handled => they appear in unwanted ways under webkit
Translations
English
Tutorials
French
qqs trucs...
Spanish
Everything...
Tracker
Design the tracker
Add the window, link to the bitbucket tracker...
changes.txt
Restart a new file for YASEP2013
GNL
Finish the editor
* Drag&Drop should add or move blocks
* connect the blocks
Peep-hole optimisations
modify the graph while it's being edited
Export and simulate
Generate code sequences from the graph, support simulation and back-annotation of register values
Import / Parser
Parse C, Pascal, Forth, and generate GNL graphs
ISD/ISP
Complete the web server
and the link with the browser
VHDL
Rebuild the CPU, starting from the serial link
Inputs/Outputs
Add I/Os in JS, VHDL and GHDL : servo, LEDs, buttons, color LCD, alpha LCD, coprocessors, DMA...
Software
Bootstrap
Initialise the CPU and load the initial code from SPI