Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mobluse/aritmjs

Aritm in BASIC (ZX/C64/Tiny/GW/MM), PHP, & JavaScript (JS24) is a mental calculation training game
https://github.com/mobluse/aritmjs

appleii aritm basic basic-80 basicode c64 commander-x16 commanderx16 commodore64 foss game gw-basic javascript jsbasic maker-pi-pico mbasic mental-calculation mmbasic php vic20

Last synced: about 1 month ago
JSON representation

Aritm in BASIC (ZX/C64/Tiny/GW/MM), PHP, & JavaScript (JS24) is a mental calculation training game

Awesome Lists containing this project

README

        

# aritmjs
Aritm for various programming languages, e.g. dialects of BASIC, PHP, and JavaScript, is FOSS.

Run online in browser:
* http://bc3c.orbin.se (Works well in Chrome on Android and iPhone.)
* https://calormen.com/jsbasic/ (Works well in Chrome on iPhone.)
* https://www.commanderx16.com/webemu/x16emu.html?manifest=/forum/download/file.php?id=1518

See demos on YouTube:
* Transam Triton: https://youtu.be/DEfL17FnStc
* C64/THEC64 MINI: https://youtu.be/65AOkL8Yz6E
* Feature Phones (with Java ME/J2ME): https://youtu.be/hnBfS8jpjZU

Aritm exists for many plattforms e.g. graphing calculators (TI and Casio), spreadsheets, feature phones with Java, etc., see http://aritm.orbin.se. Aritm was first developed in C in 1992, and then in Java, TI-BASIC 83, and TinyBASIC. The versions for other BASIC dialects were developed from the Tiny BASIC version or its descendants.

The original purpose of this repository was to develop a version for JavaScript that works like the BASIC versions for retro computers, but since
JavaScript doesn't have `goto` that has been difficult to write so far.

Convert BASIC to JavaScript:
* https://paulsperambulations.wordpress.com/2017/03/04/converting-basic-to-javascript/
* https://www.codeproject.com/Articles/25069/JSBasic-A-BASIC-to-JavaScript-Compiler

How to produce the C64 d64 diskette image in Windows 10 using WinVICE/VICE 2.4 - 3.5:

petcat -w2 -o aritm.prg -- aritm-c64.bas
c1541 -format aritm03_m6,00 d64 aritm03.d64 -write aritm.prg aritm

How to produce the VIC20 d64 diskette image in Windows 10:

petcat -l 1201 -w2 -o aritm-vic20.prg -- aritm-vic20.bas
c1541 -format aritm03_mvb1,00 d64 aritm03-vic20.d64 -write aritm-vic20.prg aritm-vic20

How to make the VIC-20 bas-file from prg-file in Windows 10:

c1541 -attach aritm03-vic20.d64 -extract
move aritm-vic20 aritm-vic20.prg
petcat -nh -2 -- aritm-vic20.prg | wsl sed 's/^ *//' | wsl mac2unix | wsl unix2dos > aritm-vic20.bas

Essential VIC-20 info:
* http://www.sleepingelephant.com/ipw-web/bulletin/bb/viewtopic.php?p=66937#p66937
* https://www.pagetable.com/?p=273

How to produce the p-file for ZX81 in Linux:

zxtext2p -o aritm-zx81.p aritm-zx81.bas
xz81 aritm-zx81.p

In xz81 ZX81 emulator: `RUN 4800`
That creates a new aritm-zx81.p that auto-starts.

Convert the ZX81 version to ZX Spectrum:

sed 's/GOTO/GO TO/;s/GOSUB/GO SUB/;s/RAND/RANDOMIZE/;s/SCROLL/POKE 23692,255/' aritm-zx81.bas > aritm-zx81sp.bas

How to produce the tap-file for ZX Spectrum in Linux:

bas2tap -a10 aritm-zx81sp.bas

How to run the ZX Spectrum version in Linux:

zesarux --machine 48k aritm-zx81sp.tap

Note that the ZX Spectrum version doesn't work due to convertion problems. There is the orginal version for ZX Spectrum `aritm-zxsp.bas` from
which the ZX81 version was made, but that also doesn't work, but that is not strange since it uses 9 digit precision instead of 8 digit as the
ZX81 version.