DOjS, eine JavaScript Engine for DOS

Benutzeravatar
SuperIlu
MemMaker-Benutzer
Beiträge: 60
Registriert: Di 13. Nov 2018, 09:40
Wohnort: Berlin
Kontaktdaten:

DOjS, eine JavaScript Engine for DOS

Beitragvon SuperIlu » So 10. Feb 2019, 21:12

Moins,

ich habe drei Tage Coding-Marathon hinter mir und will kurz vorstellen was ich gebaut habe:
DOjS ist ein JavaScript-Interpreter fuer DOS (MS-DOS und FreeDOS).
Die Scripte haben folgende Funktionen zur Verfuegung:
  • 640x480x24 Bildschirm
  • Abfragen von Maus- und Tastaturevents
  • Laden und zeichnen von BMP Bildern
  • Laden und zeichnen von GRX-Fonts
  • Laden und abspielen von WAV-Files
  • FM-Sounds

Das Ganze basiert auf MuJS, GRX und dem Beispielcode von Steven Don.
Entwickelt habe ich unter Win10 mit VSCode, compiliert mit DJGPP unter WSL und getestet mit DOSBox.

Wenn ich den Code aufgeraeumt und ein bissel Dokumentiert habe kommt das Ganze auf mein Giithub.

IMG_2401.jpg
IMG_2401.jpg (121 KiB) 665 mal betrachtet

IMG_2406.jpg
IMG_2406.jpg (69.58 KiB) 665 mal betrachtet

IMG_2407.jpg
IMG_2407.jpg (100.67 KiB) 665 mal betrachtet


Beispiel 1: Einfaches Malprogramm auf meinem AMD K6-II 500MHz
IMG_2402.jpg
IMG_2402.jpg (133.4 KiB) 665 mal betrachtet

IMG_2403.jpg
IMG_2403.jpg (86.54 KiB) 665 mal betrachtet


Beispiel 2: Game of life
IMG_2404.jpg
IMG_2404.jpg (123.78 KiB) 665 mal betrachtet

IMG_2405.jpg
IMG_2405.jpg (157.27 KiB) 665 mal betrachtet


Gruss Ilu
http://twitter.com/dec_hl - Vier 8086 habe auch 64bit!
DOjS, Javascript fuer MS-DOS: https://github.com/SuperIlu/DOjS/
kirschsuppe
HELP.COM-Benutzer
Beiträge: 32
Registriert: Mi 2. Jan 2019, 17:26

Re: DOjS, eine JavaScript Engine for DOS

Beitragvon kirschsuppe » So 10. Feb 2019, 21:31

Aber hallo. Wenn du das fertig hast, gibt es einen dicken fetten Tweet mit Link zu deinem Repo :)
Benutzeravatar
Dosenware
DOS-Gott
Beiträge: 3666
Registriert: Mi 24. Mai 2006, 20:29

Re: DOjS, eine JavaScript Engine for DOS

Beitragvon Dosenware » Mo 11. Feb 2019, 16:50

:like: Respekt!
Benutzeravatar
SuperIlu
MemMaker-Benutzer
Beiträge: 60
Registriert: Di 13. Nov 2018, 09:40
Wohnort: Berlin
Kontaktdaten:

Re: DOjS, eine JavaScript Engine for DOS

Beitragvon SuperIlu » Mo 11. Feb 2019, 23:22

http://twitter.com/dec_hl - Vier 8086 habe auch 64bit!
DOjS, Javascript fuer MS-DOS: https://github.com/SuperIlu/DOjS/
Benutzeravatar
SuperIlu
MemMaker-Benutzer
Beiträge: 60
Registriert: Di 13. Nov 2018, 09:40
Wohnort: Berlin
Kontaktdaten:

Re: DOjS, eine JavaScript Engine for DOS

Beitragvon SuperIlu » So 17. Feb 2019, 17:25

Ich habe grade die Version 0.6 (second coming) auf Github released.

Version 0.6 (the 2nd coming)
  • Added CHANGELOG
  • Now linking with DJGPP FPU emulation (`-lemu`)
  • Added support for file reading/writing (see `Read()` and `File()`)
  • Fixed Makefile.unix
  • Reformated the whole code. I didn't notice my notebook had different settings in VSCode when releasing v0.5
  • added `Read()` and `Require()`
  • Finally some stack traces in the logfile in case of errors
  • improved logfile output for detected hardware
  • switched to new script format with `Setup()` and `Loop()`
  • Added `MouseSetCursorMode()`
  • Fixed object creation
  • Added MIDI playing
  • Added IPX networking
http://twitter.com/dec_hl - Vier 8086 habe auch 64bit!
DOjS, Javascript fuer MS-DOS: https://github.com/SuperIlu/DOjS/
Benutzeravatar
SuperIlu
MemMaker-Benutzer
Beiträge: 60
Registriert: Di 13. Nov 2018, 09:40
Wohnort: Berlin
Kontaktdaten:

Re: DOjS, eine JavaScript Engine for DOS

Beitragvon SuperIlu » Fr 1. Mär 2019, 23:35

Sneak preview zur V0.7: Jetzt mit integriertem Editor, help-viewer, PNG support, etc...
edi1.PNG
edi1.PNG (158.72 KiB) 447 mal betrachtet

edi2.PNG
edi2.PNG (199.95 KiB) 447 mal betrachtet

edi3.PNG
edi3.PNG (174.33 KiB) 447 mal betrachtet

edi4.PNG
edi4.PNG (135.93 KiB) 447 mal betrachtet
http://twitter.com/dec_hl - Vier 8086 habe auch 64bit!
DOjS, Javascript fuer MS-DOS: https://github.com/SuperIlu/DOjS/
Benutzeravatar
SuperIlu
MemMaker-Benutzer
Beiträge: 60
Registriert: Di 13. Nov 2018, 09:40
Wohnort: Berlin
Kontaktdaten:

Re: DOjS, eine JavaScript Engine for DOS

Beitragvon SuperIlu » So 3. Mär 2019, 14:52

Version 0.7 (the third installment)
  • Wrote a text editor for in-line script editing.
  • Added inline-help and logfile viewer.
  • Added frame rate limit and `GetFramerate()` and `SetFramerate()`
  • Added `Gc()` which can log to `JSLOG.TXT`
  • Made command line override for SBlaster autodetection.
  • Added font resizing.
  • Added color mask functionality from GRX.
  • Added NO_COLOR to predefined colors.
  • Hopefully fixed Makefile dependency tracking
  • Added PNG loading.
  • Added command line parameters to select screen mode.
  • Added PNG and BMP saving.
  • Added `List()` and `Stat()` for directory traversal.
  • Shortened key codes in `jsboot/func.js` and added `CharCode()`
  • DOjS now has a mascot.
  • Makefile now had ZIP target.
http://twitter.com/dec_hl - Vier 8086 habe auch 64bit!
DOjS, Javascript fuer MS-DOS: https://github.com/SuperIlu/DOjS/
Benutzeravatar
SuperIlu
MemMaker-Benutzer
Beiträge: 60
Registriert: Di 13. Nov 2018, 09:40
Wohnort: Berlin
Kontaktdaten:

Re: DOjS, eine JavaScript Engine for DOS

Beitragvon SuperIlu » Do 28. Mär 2019, 20:02

Version 0.8 (the fourth forecoming)
  • Tuned the compiler flags to pentium class CPUs
  • Added command line option to turn off SoundBlaster code
  • Added double buffering to video output to reduce the flickering
  • Added more examples
  • Added MemoryInfo()
  • Changed Print() to Println(), added Print() w/o NEWLINE.
  • Added Include() which loads a module into top level context.
  • Added Debug() and DEBUG to support conditional debug output.
  • Changed Require() to search modules in jsboot/ and the current directory.
  • File.ReadByte() now returns null at EOF.
  • Improved documentation.
  • Improved detection of missing SoundBlaster.
  • Added Processing/p5js compatibility layer.
  • Added some examples from the p5js example library.

Ein paar Videos gibts z.B. hier und hier.
http://twitter.com/dec_hl - Vier 8086 habe auch 64bit!
DOjS, Javascript fuer MS-DOS: https://github.com/SuperIlu/DOjS/
Benutzeravatar
SuperIlu
MemMaker-Benutzer
Beiträge: 60
Registriert: Di 13. Nov 2018, 09:40
Wohnort: Berlin
Kontaktdaten:

Re: DOjS, eine JavaScript Engine for DOS

Beitragvon SuperIlu » Do 2. Mai 2019, 20:59

Inzwischen ist viel passiert...

Version 0.9.5 (the changed creation)
  • Replaced libmikmod, GRX and all sound code by Allegro 4.2.2.
  • Transparency/RGBA now works.
  • added TransparencyEnabled() to switch during runtime.
  • Internal API changed quite much due to the switch to Allegro.
  • p5js compatibility improved because of the better color handling.
  • Added command line switch to disable transparency for speed reasons.
  • PNGs are no longer supported, Allegro comes with PCX, TGA and BMP support only.
  • Text printing lost a lot of its options due to the switch to Allegro.
  • SHIFT-F4 now clears the logfile before running the script.
  • Improved internal debugging features.
  • Splitted func.c into gfx.c and func.c.
  • Implemented push() and pop() in p5js compatibility layer.
  • Added a test-folder with scripts dedicated to test the API.
  • Added translate(), rotate(), shearX(), shearY(), resetMatrix(), scale() and applyMatrix() in p5js compatibility layer.

Version 0.9.1 (the fixed foreboding)
  • Fixed libmikmod creating a WAV file when no soundcard is detected.
  • Added logging to another machine using IPX. set REMOTE_DEBUG=true and start jsboot/logview.js on other machine.
  • Added GetPixel() which returns the Color of an on-screen pixel.
  • Added Bitmap.GetPixel() which returns the Color of an image pixel.
  • Fixed/added some stuff in GRX.

Version 0.9 (the fifth foreboding)
  • Fixed millis() in p5js compatibility layer.
  • Improved mouse display (still flickering, though).
  • Fixed MouseShowCursor(false) (sort of).
  • Added node discovery and address helpers to IPX module.
  • Fixed mousePressed() and implemented mouseDragged()in p5js compatibility layer.
  • Added HSL and HSB color mode to p5js compatibility layer.
  • Added very simple syntax highlighting to the editor.
  • Added CustomLine(), CustomBox(), etc to native API
  • Added strokeWeight() to p5js compatibility layer.
  • Renamed tests/ to examples/
  • Fixed Makefile on OSX.
  • Switched to libmikmod for MOD and WAV sound output.
http://twitter.com/dec_hl - Vier 8086 habe auch 64bit!
DOjS, Javascript fuer MS-DOS: https://github.com/SuperIlu/DOjS/

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste