GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • creatorsim/creator
  • Home
  • Web User Guide
  • CLI User Guide
  • Architecture Guides
  • Teaching Resources
  • Development Guide
  • User Interface
  • Editor Features
  • Assemblers
  • Execution Control
  • CREATOR Gateway
  • CREATOR Remote Laboratory
  • CREATOR Arduino module (CREATino)

This view

  • Original page
  • New address

GeezerVison is showing creatorsim.github.io — Project Setup - CREATOR documentation

Project Setup¶

Warning

If you clone the project, Make sure to initialize the git submodules.

You can either add the --recurse-submodules flag when doing git clone or do git submodule update --init --recursive once it is already cloned.

This project uses Bun (for Web) and Deno (for CLI).

Warning

Building the assembler dependency requires installing rustup, Deno, and wasm-pack.

bun install  # install dependencies
bun dev:wasm  # build wasm dependencies

Compile Web and Hot-Reload for Development (with Vite)¶

bun dev:web

Run CLI and Hot-Reload for Development (with Deno)¶

bun dev:cli

Note

Remember to pass the extra arguments, e.g:

bun dev:cli -a ./architecture/RISCV/RV32IMFD.yml -I -c creatorconfig.yml

Building Web version for production¶

bun build:web

The resulting bundle will be saved to dist/web/.

Tip

To test locally the bundle version, as it will be deployed in GitHub Pages:

REPO="creatorV" bun build:web
cd dist/web
python -m http.server 8080
And go to localhost:8080/creatorV/

Building CLI version¶

bun build:cli

Lint with ESLint¶

bun lint

Format with Prettier¶

bun format <file/directory>

Run Tests¶

Unit tests (with Deno)

deno test -A --unstable-node-globals --parallel

VS Code Setup¶

The recommended extensions are:

  • Vue.volar
  • denoland.vscode-deno
  • dbaeumer.vscode-eslint
  • esbenp.prettier-vscode
  • redhat.vscode-yaml

Note

The recommended formatter to use with Vue files is Prettier (esbenp.prettier-vscode):

"[vue]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},

Debugging¶

We provide some example launch configurations:

Web¶

We'll need to launch the application in DEV mode, and then attach the VS Code debugger to the Chrome instance.

{
    "type": "chrome",
    "request": "launch",
    "name": "Debug Web",
    "url": "http://localhost:5173",
    "webRoot": "${workspaceFolder}"
}

CLI¶

{
    "type": "node",
    "request": "launch",
    "name": "Debug CLI",
    "program": "${workspaceFolder}/src/cli/creator6.mts",
    "runtimeExecutable": "deno",
    "console": "integratedTerminal",
    "runtimeArgs": ["-A", "--unstable-node-globals", "--inspect-brk"],
    "experimentalNetworking": "off",
    "args": [
        "-a",
        "./architecture/RISCV/RV32IMFD.yml",
        "-s",
        "./tests/arch/riscv/correct/examples/test_riscv_example_011.s",
        "-c",
        "creatorconfig.yml",
        "-I"
    ],
    "attachSimplePort": 9229
}

General resources¶

  • MDN Web Docs
  • The TypeScript Handbook
  • D. Camarmas et al. - CREATOR: Simulador didáctico y genérico para la programación en ensamblador
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.