Skip to content

WebPicSimulator 1.1.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 19:24
· 23 commits to main since this release
c853cab

1.1.0

Run in tempo reale, assemblatore compatibile con MPASM, test e CI

Minor: corregge i difetti emersi da un'analisi completa del plugin e aggiunge test automatici.

Esecuzione:

  • Run gira in tempo reale come il chip a 4 MHz. Prima eseguiva 1000 istruzioni al secondo, mille
    volte meno: tra un cambio e l'altro dei LED negli esempi passavano da 30 a 400 secondi
  • Nuova scelta della velocità di Run: tempo reale, 1/10, 1/100, 1/1000 o massima. Lo slider regola
    Animate ed è etichettato come tale
  • Il tempo simulato è mostrato accanto ai cicli

Correzioni del simulatore:

  • Il flag Z non veniva mai impostato (dalla 1.0.0): ogni test su STATUS,Z dopo MOVF, XORLW,
    SUBWF, CLRF e simili prendeva il ramo sbagliato. L'esempio 04 (Knight Rider) si spegneva al
    primo passo invece di far scorrere il LED
  • La fine di una scrittura in EEPROM accendeva INTE (interrupt su RB0) se EEIE era attivo

Assemblatore:

  • Diversi operandi venivano convertiti in silenzio in un valore sbagliato: GOTO $ diventava
    GOTO 0, #define X PORTB faceva sparire l'istruzione spostando tutte le etichette successive,
    un simbolo non definito come FETCH diventava 0xFE, B'0102' diventava 2, MOVLW V + 1
    ignorava il +1. Ora ogni operando produce il valore giusto o un errore sulla sua riga
  • Nuovi: espressioni, HIGH/LOW, $, etichette senza due punti, CBLOCK con virgole e NOME:n,
    SET, BANKSEL, RADIX e LIST R=, DT con stringhe, DE nella EEPROM, nomi dei bit del file
    .inc di Microchip (NOT_RBPU, TMR0IE…)
  • Controlli di intervallo su letterali, registri, bit, destinazione, indirizzi e memoria programma
  • END ferma la lettura come in MPASM; i caratteri ('a') non vengono più resi maiuscoli

Sicurezza:

  • Gli errori dell'assemblatore, che riportano l'operando così come scritto, erano inseriti come HTML:
    un file .asm con un tag <img onerror>, aperto da un utente loggato, eseguiva script nel sito

Interfaccia:

  • La mini-toolbar va a capo invece di essere tagliata nei temi stretti e sul telefono
  • Durante Run le porte si ridisegnano una volta per fotogramma, non a ogni scrittura su PORTB

WordPress:

  • Updater 1.1.0: dopo l'aggiornamento riattiva il plugin solo se era attivo
  • Update URI nell'intestazione: WordPress non può più proporre un plugin omonimo di wordpress.org
  • Il readme.txt è stato rimosso: README e changelog stanno qui, come negli altri plugin

Test: 99 unit test (CPU, assemblatore, motore, comportamento dei 10 esempi) e 38 E2E nel browser
su desktop e telefono; CI a ogni push, run notturna su WordPress in sviluppo, rilascio automatico
dello ZIP al tag.