├── .bumpversion.cfg ├── .coveragerc ├── .gitattributes ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.yaml │ └── bug_report_es.yaml └── workflows │ └── python-app.yml ├── .gitignore ├── .nojekyll ├── .pre-commit-config.yaml ├── .readthedocs.yaml ├── CHANGELOG.md ├── CNAME ├── CODE_OF_CONDUCT.md ├── LICENSE.txt ├── README.md ├── benchmarks ├── bm7a.bas └── mul8.bas ├── docs ├── LICENSE.txt ├── about.md ├── abs.md ├── acs.md ├── architectures │ ├── 6502.py.md │ ├── 68000.py.md │ ├── adam.md │ ├── alphatronicpc.md │ ├── amiga_500.md │ ├── amstrad_cpc.md │ ├── apple_ii.md │ ├── aquapluspiece.md │ ├── aquarius.md │ ├── atari_800.md │ ├── atari_st.md │ ├── ataricentipede.md │ ├── atarilynx.md │ ├── bally_astrocade.md │ ├── bbc_micro.md │ ├── c128.md │ ├── c64.md │ ├── camputers_lynx.md │ ├── capcom1942.md │ ├── capcom1943.md │ ├── coco2.md │ ├── colecovision.md │ ├── dai.md │ ├── elektronika_bk.md │ ├── enterprise.md │ ├── epochsupercassettevision.md │ ├── galaksija.md │ ├── galeb.md │ ├── gameboy.md │ ├── gem-1000.md │ ├── ibm_pc-xt.md │ ├── imaginationmachine.md │ ├── jr100.md │ ├── jr200.md │ ├── m52.md │ ├── m62.md │ ├── m63.md │ ├── memotech_mtx.md │ ├── mo5.md │ ├── msx.md │ ├── mz700.md │ ├── namcogalaga.md │ ├── namcogalaxian.md │ ├── namcopacman.md │ ├── nec_pc6001.md │ ├── neogeo.md │ ├── neogeopocket.md │ ├── nes.md │ ├── ninjawarriors.md │ ├── ondra.md │ ├── orao.md │ ├── p2000.md │ ├── pasopia5.md │ ├── pc88.md │ ├── pc98.md │ ├── pcengine.md │ ├── pmd85.md │ ├── pv1000.md │ ├── pv2000.md │ ├── rx78.md │ ├── sam_coupe.md │ ├── sc3000.md │ ├── sectionz.md │ ├── segamastersystem.md │ ├── segamodel1.md │ ├── segamodel2.md │ ├── segamodel3.md │ ├── segaoutrun.md │ ├── segapengo.md │ ├── shaolinsroad.md │ ├── sharpx1.md │ ├── sinclair_ql.md │ ├── snes.md │ ├── sord_m5.md │ ├── sp2000.md │ ├── taitoair.md │ ├── taitob.md │ ├── taitodarius.md │ ├── taitof1.md │ ├── taitof2.md │ ├── taitof3.md │ ├── taitoh.md │ ├── taitol.md │ ├── taitox.md │ ├── taitoz.md │ ├── tecmo.md │ ├── trs80_model1.md │ ├── uzebox.md │ ├── vanguard.md │ ├── vektor06c.md │ ├── vg5000.md │ ├── wonderswan.md │ ├── worldcup90.md │ ├── x68000.md │ ├── zx81.md │ └── zxspectrum.md ├── archive.md ├── asm.md ├── asm │ └── align.md ├── asn.md ├── at.md ├── atn.md ├── beep.md ├── bitwiselogic.md ├── bold.md ├── border.md ├── bright.md ├── byref.md ├── byval.md ├── cast.md ├── chr.md ├── circle.md ├── cls.md ├── code.md ├── comments.md ├── const.md ├── continue.md ├── cos.md ├── data.md ├── declare.md ├── dim.md ├── do.md ├── draw.md ├── end.md ├── examples │ ├── 4inarow.bas.md │ ├── circle.bas.md │ ├── clock.bas.md │ ├── clock2.bas.md │ ├── colors.bas.md │ ├── fact.bas.md │ ├── flag.bas.md │ ├── fractal.bas.md │ ├── freregustav.bas.md │ ├── lines.bas.md │ └── snake.bas.md ├── exit.md ├── exp.md ├── external_resources.md ├── fastcall.md ├── flash.md ├── for.md ├── function.md ├── gosub.md ├── goto.md ├── identifier.md ├── if.md ├── img │ ├── driver-down.png │ ├── games │ │ ├── 3reyesmagos.gif │ │ ├── 9999-1.png │ │ ├── abydos.png │ │ ├── ad_lunam.png │ │ ├── ad_lunam_plus.png │ │ ├── bacaball.png │ │ ├── bacachase.png │ │ ├── berksman.gif │ │ ├── bifrost.png │ │ ├── bifrost2.png │ │ ├── bikers.png │ │ ├── binaryland.png │ │ ├── bounty.gif │ │ ├── breakspace.gif │ │ ├── brokenfriend.gif │ │ ├── cabezooon.png │ │ ├── chessboardattack.gif │ │ ├── ciclopesysaturno.png │ │ ├── cnossus.png │ │ ├── coches.png │ │ ├── cuadragon.png │ │ ├── cuadragon_next.png │ │ ├── dex.gif │ │ ├── earthraidingame.gif │ │ ├── eleuterioelmonoserio.gif │ │ ├── empareja.png │ │ ├── emschristmascarddemo.png │ │ ├── encuerer.gif │ │ ├── explorer_scr.png │ │ ├── fourspriter.png │ │ ├── h7n9.png │ │ ├── hobbitel.gif │ │ ├── hobbitel_2.gif │ │ ├── hunt_the_wumpus.png │ │ ├── italia1944.png │ │ ├── jrpgtest.png │ │ ├── justsomethingsilly.png │ │ ├── knightsdemonsdx.png │ │ ├── lamega.png │ │ ├── lookingforacsscgc2012theme.png │ │ ├── maritrini.gif │ │ ├── memorama.png │ │ ├── multiioboard.png │ │ ├── nirvana.png │ │ ├── nirvanaplus.png │ │ ├── nothingthing_fbzx_ulaplus_b.png │ │ ├── o-cman.gif │ │ ├── o-trix.gif │ │ ├── p3efilebrowser.png │ │ ├── pixelquest.png │ │ ├── pixelquest2000.png │ │ ├── pixelquestzero.png │ │ ├── pvaprologue.png │ │ ├── questforwitchcraft.gif │ │ ├── ratulzeki.gif │ │ ├── retrobsesion.gif │ │ ├── retrobsesionii.gif │ │ ├── saltarin.gif │ │ ├── solitario.png │ │ ├── souls.gif │ │ ├── speccywars.png │ │ ├── spectraldungeonsthe.gif │ │ ├── splash.gif │ │ ├── stela.gif │ │ ├── talesofgruppthe.png │ │ ├── thespectrumclient.png │ │ ├── uboothuntingame.gif │ │ ├── uchidanza.png │ │ ├── vaderetro.gif │ │ ├── vampe-gotovampe.gif │ │ ├── walkingaroundporto.png │ │ ├── yithm.gif │ │ ├── zen.png │ │ ├── zen2.png │ │ ├── zx0.png │ │ ├── zx7compressionmethodeinarsaukas.png │ │ ├── zxconnection.png │ │ ├── zxdestroyer.png │ │ └── zxstriker.png │ ├── linux.png │ ├── macos.png │ ├── win32.png │ ├── zip-package-2.png │ └── zip-package.png ├── imgs.sh ├── in.md ├── index.md ├── ink.md ├── inkey.md ├── input.md ├── installation.md ├── int.md ├── inverse.md ├── italic.md ├── labels.md ├── lbound.md ├── let.md ├── library.md ├── library │ ├── asc.bas.md │ ├── attr.md │ ├── attraddress.md │ ├── clearbox.md │ ├── csrlin.md │ ├── distance.bas.md │ ├── doublesizeprint.bas.md │ ├── fastplot.md │ ├── fsin.bas.md │ ├── fsqrt.bas.md │ ├── hmirror.bas.md │ ├── hrprint.bas.md │ ├── hrprintfast.bas.md │ ├── isqrt.bas.md │ ├── keys.bas.md │ ├── keys │ │ ├── getkey.md │ │ ├── getkeyscancode.md │ │ └── multikeys.md │ ├── megalz.bas.md │ ├── memorybank.md │ ├── memorybank │ │ ├── getbank.md │ │ ├── setbank.md │ │ └── setcodebank.md │ ├── pixelscroll.md │ ├── point.md │ ├── pos.md │ ├── print42.bas.md │ ├── print64.bas.md │ ├── print64x32.bas.md │ ├── propprint.bas.md │ ├── putchars.bas.md │ ├── puttile.md │ ├── randomstream.bas.md │ ├── scraddress.md │ ├── screen.md │ ├── stdlib.md │ ├── string.bas.md │ ├── string │ │ ├── left.md │ │ ├── mid.md │ │ └── right.md │ ├── windowattrscrollup.md │ ├── windowpaint.md │ ├── windowscrollup.md │ └── zx0.md ├── ln.md ├── load.md ├── on_gosub.md ├── on_goto.md ├── operators.md ├── other_architectures.md ├── out.md ├── over.md ├── paper.md ├── pause.md ├── peek.md ├── pi.md ├── plot.md ├── poke.md ├── print.md ├── randomize.md ├── read.md ├── released_programs.md ├── released_programs │ ├── img │ │ ├── zx81_test01.png │ │ └── zx81slideshow01.png │ └── zx81.md ├── requirements.txt ├── restore.md ├── return.md ├── rnd.md ├── sample_programs.md ├── shl.md ├── sin.md ├── sqr.md ├── stop.md ├── str.md ├── sub.md ├── syntax.md ├── tan.md ├── tools.md ├── tutorials.md ├── types.md ├── ubound.md ├── usr.md ├── val.md ├── while.md └── zxb.md ├── examples ├── IM2Sample.bas ├── circle.bas ├── clock.bas ├── clock2.bas ├── colors.bas ├── english │ ├── 4inarow.bas │ ├── comecoquitos.bas │ └── snake_en.bas ├── esxdos │ ├── dir.bas │ ├── slideshw.bas │ └── tree.bas ├── eval.bas ├── fact.bas ├── fill.bas ├── flag.bas ├── flights.bas ├── freregustav.bas ├── inputexample.bas ├── led.bas ├── lines.bas ├── mandel.bas ├── memory_banking.bas ├── on_gosub.bas ├── on_goto.bas ├── pong.bas ├── printfzx.bas ├── randplot.bas ├── scroll.bas ├── spanish │ ├── 4enraya.bas │ ├── comecoquitos.bas │ ├── hiperbol.bas │ └── snake_es.bas ├── spfill.bas ├── stars.bas ├── winscroll.bas └── zxuno │ ├── mandel.bas │ └── uartterm.bas ├── img ├── HobbitEl.gif ├── KnightsDemonsDX.png ├── eleuterio.gif └── zxbasic_logo.png ├── mkdocs.yml ├── poetry.lock ├── pyproject.toml ├── src ├── __init__.py ├── api │ ├── __init__.py │ ├── check.py │ ├── config.py │ ├── constants.py │ ├── dataref.py │ ├── debug.py │ ├── decorator.py │ ├── errmsg.py │ ├── exception.py │ ├── fp.py │ ├── global_.py │ ├── opcodestemps.py │ ├── optimize.py │ ├── options.py │ ├── python_version_check.py │ ├── string_labels.py │ ├── symboltable │ │ ├── __init__.py │ │ ├── scope.py │ │ └── symboltable.py │ ├── tmp_labels.py │ └── utils.py ├── arch │ ├── __init__.py │ ├── interface │ │ ├── __init__.py │ │ ├── backend.py │ │ ├── optimizer.py │ │ └── quad.py │ ├── z80 │ │ ├── __init__.py │ │ ├── backend │ │ │ ├── _16bit.py │ │ │ ├── _32bit.py │ │ │ ├── _8bit.py │ │ │ ├── __init__.py │ │ │ ├── _array.py │ │ │ ├── _f16.py │ │ │ ├── _float.py │ │ │ ├── _parray.py │ │ │ ├── _pload.py │ │ │ ├── _str.py │ │ │ ├── common.py │ │ │ ├── exception.py │ │ │ ├── generic.py │ │ │ ├── icinfo.py │ │ │ ├── icinstruction.py │ │ │ ├── main.py │ │ │ ├── py.typed │ │ │ ├── quad.py │ │ │ └── runtime │ │ │ │ ├── __init__.py │ │ │ │ ├── core.py │ │ │ │ ├── datarestore.py │ │ │ │ ├── io.py │ │ │ │ ├── labels.py │ │ │ │ ├── math.py │ │ │ │ ├── misc.py │ │ │ │ ├── namespace.py │ │ │ │ └── random.py │ │ ├── beep.py │ │ ├── optimizer │ │ │ ├── __init__.py │ │ │ ├── asm.py │ │ │ ├── basicblock.py │ │ │ ├── cpustate.py │ │ │ ├── errors.py │ │ │ ├── flow_graph.py │ │ │ ├── helpers.py │ │ │ ├── labelinfo.py │ │ │ ├── labels_dict.py │ │ │ ├── main.py │ │ │ ├── memcell.py │ │ │ ├── patterns.py │ │ │ └── py.typed │ │ ├── peephole │ │ │ ├── __init__.py │ │ │ ├── engine.py │ │ │ ├── evaluator.py │ │ │ ├── opts │ │ │ │ ├── 000_o1_push_pop.opt │ │ │ │ ├── 000_o3_push_pop.opt │ │ │ │ ├── 001_o1_ld_XXYY_ldYYXX.opt │ │ │ │ ├── 002_o1_push_hlde_to_ex.opt │ │ │ │ ├── 003_o1_useless_jp.opt │ │ │ │ ├── 004_o1_push_pop_ldld.opt │ │ │ │ ├── 005_o1_push_af_ld_aX.opt │ │ │ │ ├── 006_o1_push_af_pop_XX.opt │ │ │ │ ├── 006_o3_push_af_pop_XX.opt │ │ │ │ ├── 007_o1_ex_de_hl.opt │ │ │ │ ├── 008_o1_sbc_jp.opt │ │ │ │ ├── 009_o1_inc_mem.opt │ │ │ │ ├── 010_o1_ld_de_hl_ex_de_hl.opt │ │ │ │ ├── 011_o1_ld_h_a_pop_af_or_h.opt │ │ │ │ ├── 012_o1_ld_hl_push_pop_de.opt │ │ │ │ ├── 013_o1_neg_neg.opt │ │ │ │ ├── 014_o1_or_sbc_a_a.opt │ │ │ │ ├── 015_o3_ld_r_n_not_required.opt │ │ │ │ ├── 016_o1_xor_a_jp_z.opt │ │ │ │ ├── 017_jp_cond_jp_labell.opt │ │ │ │ ├── 018_EQ16_by_sbchl.opt │ │ │ │ ├── 019_sub1_jpnc_ora_jpz.opt │ │ │ │ ├── 020_o1_bool_norm_empty.opt │ │ │ │ ├── 021_o1_bool_norm_neg.opt │ │ │ │ ├── 022_insr_a_or_a.opt │ │ │ │ ├── 023_ld_hl_bc_outl.opt │ │ │ │ ├── 024_o1_bool_norm_duble_neg.opt │ │ │ │ ├── 025_ld_h_a_oper_A.opt │ │ │ │ ├── 027_ld_h_a_oper_A.opt │ │ │ │ ├── 028_o2_pop_up.opt │ │ │ │ ├── 028_o3_pop_up.opt │ │ │ │ ├── 029_cp_0_or_a.opt │ │ │ │ ├── 030_ora_jp_nc_jp.opt │ │ │ │ ├── 031_jpX_Y_jpX.opt │ │ │ │ ├── 032_call_LOADSTR_ld_a1.opt │ │ │ │ ├── 050_o1_ld_a_ld_h_pop.opt │ │ │ │ ├── 051_o1_ld_a_ld_h_a_pop.opt │ │ │ │ ├── 052_o3_ldhl_ld_a_l.opt │ │ │ │ ├── 053_o1_ldh_nnn.opt │ │ │ │ ├── 054_o3_ld_a_N_ld_hl_a.opt │ │ │ │ ├── 100_o3_ld_rr_N_ld_ss_N.opt │ │ │ │ ├── 101_o3_ld_rr_N_ld_h_r_ld_l_r.opt │ │ │ │ ├── 102_o3_ld_r_n_ld_r_n2.opt │ │ │ │ ├── 103_o3_or_and_a.opt │ │ │ │ ├── 103_o3_xor_a.opt │ │ │ │ ├── 104_o3_opt27.opt │ │ │ │ ├── 105_o3_opt27.opt │ │ │ │ ├── 106_o3_exdehl.opt │ │ │ │ ├── 107_o3_exdehl_ldde.opt │ │ │ │ ├── 108_o3_inc_dec.opt │ │ │ │ ├── 109_o4_ld_mem_op_ld_mem.opt │ │ │ │ └── 110_o4_ld_mem_op_ld_mem.opt │ │ │ ├── parser.py │ │ │ ├── pattern.py │ │ │ └── template.py │ │ └── visitor │ │ │ ├── __init__.py │ │ │ ├── builtin_translator.py │ │ │ ├── function_translator.py │ │ │ ├── translator.py │ │ │ ├── translator_inst_visitor.py │ │ │ ├── translator_visitor.py │ │ │ ├── unary_op_translator.py │ │ │ └── var_translator.py │ ├── zx48k │ │ ├── __init__.py │ │ ├── backend │ │ │ └── __init__.py │ │ └── beep.py │ └── zxnext │ │ ├── __init__.py │ │ ├── backend │ │ ├── _8bit.py │ │ ├── __init__.py │ │ ├── generic.py │ │ └── main.py │ │ ├── optimizer │ │ ├── __init__.py │ │ ├── basicblock.py │ │ ├── cpustate.py │ │ ├── main.py │ │ └── memcell.py │ │ └── peephole │ │ ├── __init__.py │ │ └── opts │ │ └── 060_o1_mul_de.opt ├── ast │ ├── __init__.py │ ├── ast.py │ └── tree.py ├── lib │ └── arch │ │ ├── zx48k │ │ ├── runtime │ │ │ ├── SP │ │ │ │ ├── CharLeft.asm │ │ │ │ ├── CharRight.asm │ │ │ │ ├── GetScrnAddr.asm │ │ │ │ ├── PixelDown.asm │ │ │ │ ├── PixelLeft.asm │ │ │ │ ├── PixelRight.asm │ │ │ │ └── PixelUp.asm │ │ │ ├── abs16.asm │ │ │ ├── abs32.asm │ │ │ ├── abs8.asm │ │ │ ├── absf.asm │ │ │ ├── alloc.asm │ │ │ ├── arith │ │ │ │ ├── _mul32.asm │ │ │ │ ├── addf.asm │ │ │ │ ├── div16.asm │ │ │ │ ├── div32.asm │ │ │ │ ├── div8.asm │ │ │ │ ├── divf.asm │ │ │ │ ├── divf16.asm │ │ │ │ ├── fmul16.asm │ │ │ │ ├── modf.asm │ │ │ │ ├── modf16.asm │ │ │ │ ├── mul16.asm │ │ │ │ ├── mul32.asm │ │ │ │ ├── mul8.asm │ │ │ │ ├── mulf.asm │ │ │ │ ├── mulf16.asm │ │ │ │ ├── sub32.asm │ │ │ │ └── subf.asm │ │ │ ├── array │ │ │ │ ├── array.asm │ │ │ │ ├── arrayalloc.asm │ │ │ │ ├── arraybound.asm │ │ │ │ ├── arraystrfree.asm │ │ │ │ └── strarraycpy.asm │ │ │ ├── asc.asm │ │ │ ├── attr.asm │ │ │ ├── bitwise │ │ │ │ ├── band16.asm │ │ │ │ ├── band32.asm │ │ │ │ ├── bnot16.asm │ │ │ │ ├── bnot32.asm │ │ │ │ ├── bor16.asm │ │ │ │ ├── bor32.asm │ │ │ │ ├── bxor16.asm │ │ │ │ ├── bxor32.asm │ │ │ │ ├── shl32.asm │ │ │ │ ├── shra32.asm │ │ │ │ └── shrl32.asm │ │ │ ├── bold.asm │ │ │ ├── bool │ │ │ │ ├── and16.asm │ │ │ │ ├── and32.asm │ │ │ │ ├── andf.asm │ │ │ │ ├── not32.asm │ │ │ │ ├── notf.asm │ │ │ │ ├── or32.asm │ │ │ │ ├── orf.asm │ │ │ │ ├── xor16.asm │ │ │ │ ├── xor32.asm │ │ │ │ ├── xor8.asm │ │ │ │ └── xorf.asm │ │ │ ├── border.asm │ │ │ ├── break.asm │ │ │ ├── bright.asm │ │ │ ├── calloc.asm │ │ │ ├── chr.asm │ │ │ ├── circle.asm │ │ │ ├── cls.asm │ │ │ ├── cmp │ │ │ │ ├── eq16.asm │ │ │ │ ├── eq32.asm │ │ │ │ ├── eqf.asm │ │ │ │ ├── gef.asm │ │ │ │ ├── gtf.asm │ │ │ │ ├── lef.asm │ │ │ │ ├── lei16.asm │ │ │ │ ├── lei32.asm │ │ │ │ ├── lei8.asm │ │ │ │ ├── ltf.asm │ │ │ │ ├── lti16.asm │ │ │ │ ├── lti32.asm │ │ │ │ ├── lti8.asm │ │ │ │ └── nef.asm │ │ │ ├── copy_attr.asm │ │ │ ├── draw.asm │ │ │ ├── draw3.asm │ │ │ ├── error.asm │ │ │ ├── f16tofreg.asm │ │ │ ├── flash.asm │ │ │ ├── free.asm │ │ │ ├── ftof16reg.asm │ │ │ ├── ftou32reg.asm │ │ │ ├── heapinit.asm │ │ │ ├── iload32.asm │ │ │ ├── iloadf.asm │ │ │ ├── in_screen.asm │ │ │ ├── ink.asm │ │ │ ├── inverse.asm │ │ │ ├── io │ │ │ │ ├── keyboard │ │ │ │ │ └── inkey.asm │ │ │ │ └── sound │ │ │ │ │ ├── beep.asm │ │ │ │ │ └── beeper.asm │ │ │ ├── istore16.asm │ │ │ ├── italic.asm │ │ │ ├── lddede.asm │ │ │ ├── letsubstr.asm │ │ │ ├── load.asm │ │ │ ├── loadstr.asm │ │ │ ├── math │ │ │ │ ├── acos.asm │ │ │ │ ├── asin.asm │ │ │ │ ├── atan.asm │ │ │ │ ├── cos.asm │ │ │ │ ├── exp.asm │ │ │ │ ├── logn.asm │ │ │ │ ├── pow.asm │ │ │ │ ├── sin.asm │ │ │ │ ├── sqrt.asm │ │ │ │ └── tan.asm │ │ │ ├── memcopy.asm │ │ │ ├── neg16.asm │ │ │ ├── neg32.asm │ │ │ ├── negf.asm │ │ │ ├── ongoto.asm │ │ │ ├── over.asm │ │ │ ├── paper.asm │ │ │ ├── pause.asm │ │ │ ├── pistore32.asm │ │ │ ├── ploadf.asm │ │ │ ├── plot.asm │ │ │ ├── print.asm │ │ │ ├── print_eol_attr.asm │ │ │ ├── printf.asm │ │ │ ├── printf16.asm │ │ │ ├── printi16.asm │ │ │ ├── printi32.asm │ │ │ ├── printi8.asm │ │ │ ├── printnum.asm │ │ │ ├── printstr.asm │ │ │ ├── printu16.asm │ │ │ ├── printu32.asm │ │ │ ├── printu8.asm │ │ │ ├── pstore32.asm │ │ │ ├── pstoref.asm │ │ │ ├── pstorestr.asm │ │ │ ├── pstorestr2.asm │ │ │ ├── pushf.asm │ │ │ ├── random.asm │ │ │ ├── read_restore.asm │ │ │ ├── realloc.asm │ │ │ ├── save.asm │ │ │ ├── set_pixel_addr_attr.asm │ │ │ ├── sgn.asm │ │ │ ├── sgnf.asm │ │ │ ├── sgnf16.asm │ │ │ ├── sgni16.asm │ │ │ ├── sgni32.asm │ │ │ ├── sgni8.asm │ │ │ ├── sgnu16.asm │ │ │ ├── sgnu32.asm │ │ │ ├── sgnu8.asm │ │ │ ├── spectranet.inc │ │ │ ├── sposn.asm │ │ │ ├── stackf.asm │ │ │ ├── store32.asm │ │ │ ├── storef.asm │ │ │ ├── storestr.asm │ │ │ ├── storestr2.asm │ │ │ ├── str.asm │ │ │ ├── strcat.asm │ │ │ ├── strcpy.asm │ │ │ ├── strictbool.asm │ │ │ ├── string.asm │ │ │ ├── strlen.asm │ │ │ ├── strslice.asm │ │ │ ├── swap32.asm │ │ │ ├── sysvars.asm │ │ │ ├── table_jump.asm │ │ │ ├── u32tofreg.asm │ │ │ ├── usr.asm │ │ │ ├── usr_str.asm │ │ │ └── val.asm │ │ └── stdlib │ │ │ ├── IM2.bas │ │ │ ├── README │ │ │ ├── SP │ │ │ └── Fill.bas │ │ │ ├── alloc.bas │ │ │ ├── asc.bas │ │ │ ├── attr.bas │ │ │ ├── basic.bas │ │ │ ├── clearbox.bas │ │ │ ├── csrlin.bas │ │ │ ├── esxdos.bas │ │ │ ├── fastplot.bas │ │ │ ├── fmath.bas │ │ │ ├── fzx_fonts │ │ │ ├── academy.fzx │ │ │ ├── belegost1.fzx │ │ │ ├── belegost2.fzx │ │ │ ├── bigbold.fzx │ │ │ ├── cobra.fzx │ │ │ ├── crash.fzx │ │ │ ├── d_o_c.fzx │ │ │ ├── eclipse.fzx │ │ │ ├── extra.fzx │ │ │ ├── hijack.fzx │ │ │ ├── italika.fzx │ │ │ ├── just6.fzx │ │ │ ├── locomotion.fzx │ │ │ ├── midnight.fzx │ │ │ ├── moonalert.fzx │ │ │ ├── nether.fzx │ │ │ ├── neverend.fzx │ │ │ ├── roman.fzx │ │ │ ├── script.fzx │ │ │ ├── script2.fzx │ │ │ ├── standard.fzx │ │ │ ├── tomahawk.fzx │ │ │ ├── ultrabold.fzx │ │ │ ├── upcasebold.fzx │ │ │ ├── wildvest.fzx │ │ │ └── winter.fzx │ │ │ ├── hex.bas │ │ │ ├── input.bas │ │ │ ├── input42.bas │ │ │ ├── keys.bas │ │ │ ├── megalz.bas │ │ │ ├── memcopy.bas │ │ │ ├── memorybank.bas │ │ │ ├── mj │ │ │ └── fourspriter.bas │ │ │ ├── point.bas │ │ │ ├── pos.bas │ │ │ ├── print42.bas │ │ │ ├── print64.bas │ │ │ ├── printfzx.bas │ │ │ ├── putchars.bas │ │ │ ├── puttile.bas │ │ │ ├── random.bas │ │ │ ├── retrace.bas │ │ │ ├── round.bas │ │ │ ├── scrbuffer.bas │ │ │ ├── screen.bas │ │ │ ├── scroll.bas │ │ │ ├── sinclair.bas │ │ │ ├── spectranet.bas │ │ │ ├── string.bas │ │ │ ├── template.bas │ │ │ ├── winscroll.bas │ │ │ ├── zx0.bas │ │ │ └── zxuno │ │ │ ├── haplofnt.bin │ │ │ ├── radastan.bas │ │ │ └── uart.bas │ │ └── zxnext │ │ ├── runtime │ │ ├── SP │ │ │ ├── CharLeft.asm │ │ │ ├── CharRight.asm │ │ │ ├── GetScrnAddr.asm │ │ │ ├── PixelDown.asm │ │ │ ├── PixelLeft.asm │ │ │ ├── PixelRight.asm │ │ │ └── PixelUp.asm │ │ ├── abs16.asm │ │ ├── abs32.asm │ │ ├── abs8.asm │ │ ├── absf.asm │ │ ├── alloc.asm │ │ ├── arith │ │ │ ├── _mul32.asm │ │ │ ├── addf.asm │ │ │ ├── div16.asm │ │ │ ├── div32.asm │ │ │ ├── div8.asm │ │ │ ├── divf.asm │ │ │ ├── divf16.asm │ │ │ ├── modf.asm │ │ │ ├── modf16.asm │ │ │ ├── mul16.asm │ │ │ ├── mul32.asm │ │ │ ├── mul8.asm │ │ │ ├── mulf.asm │ │ │ ├── mulf16.asm │ │ │ ├── sub32.asm │ │ │ └── subf.asm │ │ ├── array │ │ │ ├── array.asm │ │ │ ├── arrayalloc.asm │ │ │ ├── arraybound.asm │ │ │ ├── arraystrfree.asm │ │ │ └── strarraycpy.asm │ │ ├── asc.asm │ │ ├── attr.asm │ │ ├── bitwise │ │ │ ├── band16.asm │ │ │ ├── band32.asm │ │ │ ├── bnot16.asm │ │ │ ├── bnot32.asm │ │ │ ├── bor16.asm │ │ │ ├── bor32.asm │ │ │ ├── bxor16.asm │ │ │ ├── bxor32.asm │ │ │ ├── shl32.asm │ │ │ ├── shra32.asm │ │ │ └── shrl32.asm │ │ ├── bold.asm │ │ ├── bool │ │ │ ├── and16.asm │ │ │ ├── and32.asm │ │ │ ├── andf.asm │ │ │ ├── not32.asm │ │ │ ├── notf.asm │ │ │ ├── or32.asm │ │ │ ├── orf.asm │ │ │ ├── xor16.asm │ │ │ ├── xor32.asm │ │ │ ├── xor8.asm │ │ │ └── xorf.asm │ │ ├── border.asm │ │ ├── break.asm │ │ ├── bright.asm │ │ ├── calloc.asm │ │ ├── chr.asm │ │ ├── circle.asm │ │ ├── cls.asm │ │ ├── cmp │ │ │ ├── eq16.asm │ │ │ ├── eq32.asm │ │ │ ├── eqf.asm │ │ │ ├── gef.asm │ │ │ ├── gtf.asm │ │ │ ├── lef.asm │ │ │ ├── lei16.asm │ │ │ ├── lei32.asm │ │ │ ├── lei8.asm │ │ │ ├── ltf.asm │ │ │ ├── lti16.asm │ │ │ ├── lti32.asm │ │ │ ├── lti8.asm │ │ │ └── nef.asm │ │ ├── copy_attr.asm │ │ ├── draw.asm │ │ ├── draw3.asm │ │ ├── error.asm │ │ ├── f16tofreg.asm │ │ ├── flash.asm │ │ ├── free.asm │ │ ├── ftof16reg.asm │ │ ├── ftou32reg.asm │ │ ├── heapinit.asm │ │ ├── iload32.asm │ │ ├── iloadf.asm │ │ ├── in_screen.asm │ │ ├── ink.asm │ │ ├── inverse.asm │ │ ├── io │ │ │ ├── keyboard │ │ │ │ └── inkey.asm │ │ │ └── sound │ │ │ │ ├── beep.asm │ │ │ │ └── beeper.asm │ │ ├── istore16.asm │ │ ├── italic.asm │ │ ├── lddede.asm │ │ ├── letsubstr.asm │ │ ├── load.asm │ │ ├── loadstr.asm │ │ ├── math │ │ │ ├── acos.asm │ │ │ ├── asin.asm │ │ │ ├── atan.asm │ │ │ ├── cos.asm │ │ │ ├── exp.asm │ │ │ ├── logn.asm │ │ │ ├── pow.asm │ │ │ ├── sin.asm │ │ │ ├── sqrt.asm │ │ │ └── tan.asm │ │ ├── memcopy.asm │ │ ├── neg16.asm │ │ ├── neg32.asm │ │ ├── negf.asm │ │ ├── ongoto.asm │ │ ├── over.asm │ │ ├── paper.asm │ │ ├── pause.asm │ │ ├── pistore32.asm │ │ ├── ploadf.asm │ │ ├── plot.asm │ │ ├── print.asm │ │ ├── print_eol_attr.asm │ │ ├── printf.asm │ │ ├── printf16.asm │ │ ├── printi16.asm │ │ ├── printi32.asm │ │ ├── printi8.asm │ │ ├── printnum.asm │ │ ├── printstr.asm │ │ ├── printu16.asm │ │ ├── printu32.asm │ │ ├── printu8.asm │ │ ├── pstore32.asm │ │ ├── pstoref.asm │ │ ├── pstorestr.asm │ │ ├── pstorestr2.asm │ │ ├── pushf.asm │ │ ├── random.asm │ │ ├── read_restore.asm │ │ ├── realloc.asm │ │ ├── save.asm │ │ ├── set_pixel_addr_attr.asm │ │ ├── sgn.asm │ │ ├── sgnf.asm │ │ ├── sgnf16.asm │ │ ├── sgni16.asm │ │ ├── sgni32.asm │ │ ├── sgni8.asm │ │ ├── sgnu16.asm │ │ ├── sgnu32.asm │ │ ├── sgnu8.asm │ │ ├── spectranet.inc │ │ ├── sposn.asm │ │ ├── stackf.asm │ │ ├── store32.asm │ │ ├── storef.asm │ │ ├── storestr.asm │ │ ├── storestr2.asm │ │ ├── str.asm │ │ ├── strcat.asm │ │ ├── strcpy.asm │ │ ├── strictbool.asm │ │ ├── string.asm │ │ ├── strlen.asm │ │ ├── strslice.asm │ │ ├── swap32.asm │ │ ├── sysvars.asm │ │ ├── table_jump.asm │ │ ├── u32tofreg.asm │ │ ├── usr.asm │ │ ├── usr_str.asm │ │ └── val.asm │ │ └── stdlib │ │ ├── IM2.bas │ │ ├── NextLibLite.bas │ │ ├── README │ │ ├── SP │ │ └── Fill.bas │ │ ├── alloc.bas │ │ ├── asc.bas │ │ ├── attr.bas │ │ ├── basic.bas │ │ ├── clearbox.bas │ │ ├── csrlin.bas │ │ ├── esxdos.bas │ │ ├── fastplot.bas │ │ ├── fmath.bas │ │ ├── fzx_fonts │ │ ├── academy.fzx │ │ ├── belegost1.fzx │ │ ├── belegost2.fzx │ │ ├── bigbold.fzx │ │ ├── cobra.fzx │ │ ├── crash.fzx │ │ ├── d_o_c.fzx │ │ ├── eclipse.fzx │ │ ├── extra.fzx │ │ ├── hijack.fzx │ │ ├── italika.fzx │ │ ├── just6.fzx │ │ ├── locomotion.fzx │ │ ├── midnight.fzx │ │ ├── moonalert.fzx │ │ ├── nether.fzx │ │ ├── neverend.fzx │ │ ├── roman.fzx │ │ ├── script.fzx │ │ ├── script2.fzx │ │ ├── standard.fzx │ │ ├── tomahawk.fzx │ │ ├── ultrabold.fzx │ │ ├── upcasebold.fzx │ │ ├── wildvest.fzx │ │ └── winter.fzx │ │ ├── haplofnt.bin │ │ ├── hex.bas │ │ ├── input.bas │ │ ├── input42.bas │ │ ├── keys.bas │ │ ├── megalz.bas │ │ ├── memcopy.bas │ │ ├── memorybank.bas │ │ ├── mj │ │ └── fourspriter.bas │ │ ├── point.bas │ │ ├── pos.bas │ │ ├── print42.bas │ │ ├── print64.bas │ │ ├── printfzx.bas │ │ ├── putchars.bas │ │ ├── puttile.bas │ │ ├── radastan.bas │ │ ├── random.bas │ │ ├── retrace.bas │ │ ├── round.bas │ │ ├── scrbuffer.bas │ │ ├── screen.bas │ │ ├── scroll.bas │ │ ├── sinclair.bas │ │ ├── spectranet.bas │ │ ├── string.bas │ │ ├── template.bas │ │ ├── winscroll.bas │ │ └── zx0.bas ├── outfmt │ ├── __init__.py │ ├── binary.py │ ├── codeemitter.py │ ├── gensnapshot.py │ ├── sna.py │ ├── tap.py │ ├── tzx.py │ └── z80.py ├── parsetab │ ├── __init__.py │ ├── tabs.dbm.bak │ ├── tabs.dbm.dat │ └── tabs.dbm.dir ├── ply │ ├── __init__.py │ ├── lex.py │ └── yacc.py ├── symbols │ ├── __init__.py │ ├── arglist.py │ ├── argument.py │ ├── arrayaccess.py │ ├── arraydecl.py │ ├── arrayload.py │ ├── asm.py │ ├── binary.py │ ├── block.py │ ├── bound.py │ ├── boundlist.py │ ├── builtin.py │ ├── call.py │ ├── constexpr.py │ ├── funccall.py │ ├── funcdecl.py │ ├── id_ │ │ ├── __init__.py │ │ ├── _id.py │ │ ├── interface.py │ │ └── ref │ │ │ ├── __init__.py │ │ │ ├── arrayref.py │ │ │ ├── constref.py │ │ │ ├── funcref.py │ │ │ ├── labelref.py │ │ │ ├── symbolref.py │ │ │ └── varref.py │ ├── nop.py │ ├── number.py │ ├── paramlist.py │ ├── sentence.py │ ├── string_.py │ ├── strslice.py │ ├── sym.py │ ├── symbol_.py │ ├── type_.py │ ├── typecast.py │ ├── unary.py │ └── vardecl.py ├── zxbasm │ ├── __init__.py │ ├── asm.py │ ├── asm_instruction.py │ ├── asmlex.py │ ├── asmparse.py │ ├── basic.py │ ├── expr.py │ ├── global_.py │ ├── label.py │ ├── memory.py │ ├── version.py │ ├── z80.py │ ├── zxbasm.py │ └── zxnext.py ├── zxbc │ ├── __init__.py │ ├── args_config.py │ ├── args_parser.py │ ├── keywords.py │ ├── py.typed │ ├── version.py │ ├── zxbc.py │ ├── zxblex.py │ └── zxbparser.py └── zxbpp │ ├── __init__.py │ ├── base_pplex.py │ ├── prepro │ ├── __init__.py │ ├── args.py │ ├── builtinmacro.py │ ├── definestable.py │ ├── exceptions.py │ ├── id_.py │ ├── macrocall.py │ ├── operators.py │ └── output.py │ ├── zxbasmpplex.py │ ├── zxbpp.py │ └── zxbpplex.py ├── tests ├── __init__.py ├── api │ ├── __init__.py │ ├── test_arg_parser.py │ ├── test_check.py │ ├── test_config.py │ ├── test_symbolTable.py │ └── test_utils.py ├── arch │ └── zx48k │ │ ├── backend │ │ └── test_memcell.py │ │ ├── optimizer │ │ ├── common.py │ │ ├── test_basicblock.py │ │ ├── test_cpustate.py │ │ ├── test_helpers.py │ │ ├── test_o1_optimizer.py │ │ ├── test_optimizer.py │ │ └── test_optimizer_asm.py │ │ └── peephole │ │ ├── test_evaluator.py │ │ ├── test_parser.py │ │ ├── test_pattern.py │ │ └── test_template.py ├── cmdline │ ├── __init__.py │ ├── config_sample.ini │ ├── empty.bas │ └── test_zxb.py ├── functional │ ├── Makefile │ ├── arch │ │ ├── zx48k │ │ │ ├── 00.asm │ │ │ ├── 00.bas │ │ │ ├── 01.bas │ │ │ ├── 02.asm │ │ │ ├── 02.bas │ │ │ ├── 03.asm │ │ │ ├── 03.bas │ │ │ ├── 04.asm │ │ │ ├── 04.bas │ │ │ ├── 05.asm │ │ │ ├── 05.bas │ │ │ ├── 053opt.asm │ │ │ ├── 053opt.bas │ │ │ ├── 06.asm │ │ │ ├── 06.bas │ │ │ ├── 07.asm │ │ │ ├── 07.bas │ │ │ ├── 08.asm │ │ │ ├── 08.bas │ │ │ ├── 09.asm │ │ │ ├── 09.bas │ │ │ ├── 10.asm │ │ │ ├── 10.bas │ │ │ ├── 11.asm │ │ │ ├── 11.bas │ │ │ ├── 12.asm │ │ │ ├── 12.bas │ │ │ ├── 13.asm │ │ │ ├── 13.bas │ │ │ ├── 15.asm │ │ │ ├── 15.bas │ │ │ ├── 16.asm │ │ │ ├── 16.bas │ │ │ ├── 17.asm │ │ │ ├── 17.bas │ │ │ ├── 18.asm │ │ │ ├── 18.bas │ │ │ ├── 20.asm │ │ │ ├── 20.bas │ │ │ ├── 21.asm │ │ │ ├── 21.bas │ │ │ ├── 22.asm │ │ │ ├── 22.bas │ │ │ ├── 25.asm │ │ │ ├── 25.bas │ │ │ ├── 26.asm │ │ │ ├── 26.bas │ │ │ ├── 27.asm │ │ │ ├── 27.bas │ │ │ ├── 28.asm │ │ │ ├── 28.bas │ │ │ ├── 29.asm │ │ │ ├── 29.bas │ │ │ ├── 30.asm │ │ │ ├── 30.bas │ │ │ ├── 31.asm │ │ │ ├── 31.bas │ │ │ ├── 32.asm │ │ │ ├── 32.bas │ │ │ ├── 33.asm │ │ │ ├── 33.bas │ │ │ ├── 34.asm │ │ │ ├── 34.bas │ │ │ ├── 35.asm │ │ │ ├── 35.bas │ │ │ ├── 36.asm │ │ │ ├── 36.bas │ │ │ ├── 37.asm │ │ │ ├── 37.bas │ │ │ ├── 38.asm │ │ │ ├── 38.bas │ │ │ ├── 39.asm │ │ │ ├── 39.bas │ │ │ ├── 40.asm │ │ │ ├── 40.bas │ │ │ ├── 41.asm │ │ │ ├── 41.bas │ │ │ ├── 42.asm │ │ │ ├── 42.bas │ │ │ ├── 43.asm │ │ │ ├── 43.bas │ │ │ ├── 44.asm │ │ │ ├── 44.bas │ │ │ ├── 45.asm │ │ │ ├── 45.bas │ │ │ ├── 46.asm │ │ │ ├── 46.bas │ │ │ ├── 47.asm │ │ │ ├── 47.bas │ │ │ ├── 48.asm │ │ │ ├── 48.bas │ │ │ ├── 49.asm │ │ │ ├── 49.bas │ │ │ ├── 50.bas │ │ │ ├── 51.bas │ │ │ ├── 52.asm │ │ │ ├── 52.bas │ │ │ ├── 53.bas │ │ │ ├── 54.asm │ │ │ ├── 54.bas │ │ │ ├── 55.asm │ │ │ ├── 55.bas │ │ │ ├── 60.asm │ │ │ ├── 60.bas │ │ │ ├── 61.asm │ │ │ ├── 61.bas │ │ │ ├── 62.bas │ │ │ ├── 63.asm │ │ │ ├── 63.bas │ │ │ ├── 64.asm │ │ │ ├── 64.bas │ │ │ ├── 65.asm │ │ │ ├── 65.bas │ │ │ ├── 66.asm │ │ │ ├── 66.bas │ │ │ ├── 70.asm │ │ │ ├── 70.bas │ │ │ ├── abs.asm │ │ │ ├── abs.bas │ │ │ ├── abs16.asm │ │ │ ├── abs16.bas │ │ │ ├── abs32.asm │ │ │ ├── abs32.bas │ │ │ ├── add16.asm │ │ │ ├── add16.bas │ │ │ ├── add16a.asm │ │ │ ├── add16a.bas │ │ │ ├── add16b.asm │ │ │ ├── add16b.bas │ │ │ ├── add32.asm │ │ │ ├── add32.bas │ │ │ ├── add32a.asm │ │ │ ├── add32a.bas │ │ │ ├── add32b.asm │ │ │ ├── add32b.bas │ │ │ ├── add8.asm │ │ │ ├── add8.bas │ │ │ ├── add8a.asm │ │ │ ├── add8a.bas │ │ │ ├── add8b.asm │ │ │ ├── add8b.bas │ │ │ ├── addf.asm │ │ │ ├── addf.bas │ │ │ ├── addf16.asm │ │ │ ├── addf16.bas │ │ │ ├── addf16a.asm │ │ │ ├── addf16a.bas │ │ │ ├── addf16b.asm │ │ │ ├── addf16b.bas │ │ │ ├── addstr.asm │ │ │ ├── addstr.bas │ │ │ ├── aloadstr0.asm │ │ │ ├── aloadstr0.bas │ │ │ ├── aloadstr1.asm │ │ │ ├── aloadstr1.bas │ │ │ ├── alxinho1.bas │ │ │ ├── and16.asm │ │ │ ├── and16.bas │ │ │ ├── and32.asm │ │ │ ├── and32.bas │ │ │ ├── and8.asm │ │ │ ├── and8.bas │ │ │ ├── andf.asm │ │ │ ├── andf.bas │ │ │ ├── arden2.asm │ │ │ ├── arden2.bas │ │ │ ├── arr_addr_global.asm │ │ │ ├── arr_addr_global.bas │ │ │ ├── arr_addr_local.asm │ │ │ ├── arr_addr_local.bas │ │ │ ├── arr_addr_param.asm │ │ │ ├── arr_addr_param.bas │ │ │ ├── array00.asm │ │ │ ├── array00.bas │ │ │ ├── array01.asm │ │ │ ├── array01.bas │ │ │ ├── array02.asm │ │ │ ├── array02.bas │ │ │ ├── array03.asm │ │ │ ├── array03.bas │ │ │ ├── array04.asm │ │ │ ├── array04.bas │ │ │ ├── array05.asm │ │ │ ├── array05.bas │ │ │ ├── array06.asm │ │ │ ├── array06.bas │ │ │ ├── array07.asm │ │ │ ├── array07.bas │ │ │ ├── array08.asm │ │ │ ├── array08.bas │ │ │ ├── array09.asm │ │ │ ├── array09.bas │ │ │ ├── array10.asm │ │ │ ├── array10.bas │ │ │ ├── array11.bas │ │ │ ├── array12.asm │ │ │ ├── array12.bas │ │ │ ├── array_check_param.asm │ │ │ ├── array_check_param.bas │ │ │ ├── array_check_warn.asm │ │ │ ├── array_check_warn.bas │ │ │ ├── array_err.bas │ │ │ ├── arraycopy0.asm │ │ │ ├── arraycopy0.bas │ │ │ ├── arraycopy1.asm │ │ │ ├── arraycopy1.bas │ │ │ ├── arraycopy2.asm │ │ │ ├── arraycopy2.bas │ │ │ ├── arraycopy3.asm │ │ │ ├── arraycopy3.bas │ │ │ ├── arraycopy4.asm │ │ │ ├── arraycopy4.bas │ │ │ ├── arraycopy5.asm │ │ │ ├── arraycopy5.bas │ │ │ ├── arrbase1.asm │ │ │ ├── arrbase1.bas │ │ │ ├── arrcheck.asm │ │ │ ├── arrcheck.bas │ │ │ ├── arrconst.asm │ │ │ ├── arrconst.bas │ │ │ ├── arrlabels.asm │ │ │ ├── arrlabels.bas │ │ │ ├── arrlabels1.asm │ │ │ ├── arrlabels1.bas │ │ │ ├── arrlabels10.bas │ │ │ ├── arrlabels10a.asm │ │ │ ├── arrlabels10a.bas │ │ │ ├── arrlabels10b.asm │ │ │ ├── arrlabels10b.bas │ │ │ ├── arrlabels10c.bas │ │ │ ├── arrlabels10d.bas │ │ │ ├── arrlabels11.bas │ │ │ ├── arrlabels11b.bas │ │ │ ├── arrlabels2.asm │ │ │ ├── arrlabels2.bas │ │ │ ├── arrlabels3.asm │ │ │ ├── arrlabels3.bas │ │ │ ├── arrlabels4.asm │ │ │ ├── arrlabels4.bas │ │ │ ├── arrlabels5.asm │ │ │ ├── arrlabels5.bas │ │ │ ├── arrlabels6.asm │ │ │ ├── arrlabels6.bas │ │ │ ├── arrlabels7.asm │ │ │ ├── arrlabels7.bas │ │ │ ├── arrlabels8.asm │ │ │ ├── arrlabels8.bas │ │ │ ├── arrlabels9.asm │ │ │ ├── arrlabels9.bas │ │ │ ├── asm_error_line.asm │ │ │ ├── asm_error_line.bas │ │ │ ├── asm_tokens.asm │ │ │ ├── asm_tokens.bas │ │ │ ├── astore16.asm │ │ │ ├── astore16.bas │ │ │ ├── astore32.asm │ │ │ ├── astore32.bas │ │ │ ├── ataddr.asm │ │ │ ├── ataddr.bas │ │ │ ├── atfunc0.asm │ │ │ ├── atfunc0.bas │ │ │ ├── atfunc1.asm │ │ │ ├── atfunc1.bas │ │ │ ├── atlabel.asm │ │ │ ├── atlabel.bas │ │ │ ├── atlabel1.asm │ │ │ ├── atlabel1.bas │ │ │ ├── atlabel2.asm │ │ │ ├── atlabel2.bas │ │ │ ├── atlabel3.asm │ │ │ ├── atlabel3.bas │ │ │ ├── ato3.asm │ │ │ ├── ato3.bas │ │ │ ├── attr.asm │ │ │ ├── attr.bas │ │ │ ├── attr_in_subs.asm │ │ │ ├── attr_in_subs.bas │ │ │ ├── bad_fname_err0.bas │ │ │ ├── bad_fname_err1.bas │ │ │ ├── bad_fname_err2.bas │ │ │ ├── bad_fname_err3.asm │ │ │ ├── bad_fname_err3.bas │ │ │ ├── bad_fname_err4.bas │ │ │ ├── bad_fname_err5.bas │ │ │ ├── bad_fname_err6.bas │ │ │ ├── bad_pragma.asm │ │ │ ├── bad_pragma.bas │ │ │ ├── bad_sigil.bas │ │ │ ├── band16.asm │ │ │ ├── band16.bas │ │ │ ├── band32.asm │ │ │ ├── band32.bas │ │ │ ├── band8.asm │ │ │ ├── band8.bas │ │ │ ├── baspreprocerr1.bas │ │ │ ├── baspreprocerr2.bas │ │ │ ├── bin00.asm │ │ │ ├── bin00.bas │ │ │ ├── bin01.asm │ │ │ ├── bin01.bas │ │ │ ├── bin02.bas │ │ │ ├── bin03.asm │ │ │ ├── bin03.bas │ │ │ ├── bitwise.asm │ │ │ ├── bitwise.bas │ │ │ ├── bnot16.asm │ │ │ ├── bnot16.bas │ │ │ ├── bnot32.asm │ │ │ ├── bnot32.bas │ │ │ ├── bnot8.asm │ │ │ ├── bnot8.bas │ │ │ ├── bool_crash.asm │ │ │ ├── bool_crash.bas │ │ │ ├── bor16.asm │ │ │ ├── bor16.bas │ │ │ ├── bor32.asm │ │ │ ├── bor32.bas │ │ │ ├── bor8.asm │ │ │ ├── bor8.bas │ │ │ ├── border00_IC.bas │ │ │ ├── border00_IC.ic │ │ │ ├── bound00.asm │ │ │ ├── bound00.bas │ │ │ ├── bound01.asm │ │ │ ├── bound01.bas │ │ │ ├── bound02.asm │ │ │ ├── bound02.bas │ │ │ ├── bound03.asm │ │ │ ├── bound03.bas │ │ │ ├── bound04.asm │ │ │ ├── bound04.bas │ │ │ ├── break.asm │ │ │ ├── break.bas │ │ │ ├── break_label0.asm │ │ │ ├── break_label0.bas │ │ │ ├── britlion0.asm │ │ │ ├── britlion0.bas │ │ │ ├── bxor16.asm │ │ │ ├── bxor16.bas │ │ │ ├── bxor32.asm │ │ │ ├── bxor32.bas │ │ │ ├── bxor8.asm │ │ │ ├── bxor8.bas │ │ │ ├── byref16.asm │ │ │ ├── byref16.bas │ │ │ ├── byref32.asm │ │ │ ├── byref32.bas │ │ │ ├── byrefbyref.asm │ │ │ ├── byrefbyref.bas │ │ │ ├── byreff.asm │ │ │ ├── byreff.bas │ │ │ ├── byreff16.asm │ │ │ ├── byreff16.bas │ │ │ ├── byrefstr.asm │ │ │ ├── byrefstr.bas │ │ │ ├── byte_neq.asm │ │ │ ├── byte_neq.bas │ │ │ ├── byval32.asm │ │ │ ├── byval32.bas │ │ │ ├── byvalbyref.asm │ │ │ ├── byvalbyref.bas │ │ │ ├── callable_err.bas │ │ │ ├── castF16toF.asm │ │ │ ├── castF16toF.bas │ │ │ ├── cast_f16_to_param.asm │ │ │ ├── cast_f16_to_param.bas │ │ │ ├── cast_ftoi16.asm │ │ │ ├── cast_ftoi16.bas │ │ │ ├── cast_ftoi32.asm │ │ │ ├── cast_ftoi32.bas │ │ │ ├── cast_ftoi8.asm │ │ │ ├── cast_ftoi8.bas │ │ │ ├── cast_i32tof.asm │ │ │ ├── cast_i32tof.bas │ │ │ ├── cast_i32tou32.asm │ │ │ ├── cast_i32tou32.bas │ │ │ ├── cast_i8tof.asm │ │ │ ├── cast_i8tof.bas │ │ │ ├── cast_u32tof.asm │ │ │ ├── cast_u32tof.bas │ │ │ ├── chr.asm │ │ │ ├── chr.bas │ │ │ ├── chr0.asm │ │ │ ├── chr0.bas │ │ │ ├── chr1.asm │ │ │ ├── chr1.bas │ │ │ ├── circle.asm │ │ │ ├── circle.bas │ │ │ ├── co.asm │ │ │ ├── co.bas │ │ │ ├── code00.asm │ │ │ ├── code00.bas │ │ │ ├── code01.asm │ │ │ ├── code01.bas │ │ │ ├── code02.asm │ │ │ ├── code02.bas │ │ │ ├── codecrash1.asm │ │ │ ├── codecrash1.bas │ │ │ ├── codecrash2.asm │ │ │ ├── codecrash2.bas │ │ │ ├── codecrash3.asm │ │ │ ├── codecrash3.bas │ │ │ ├── codecrash4.asm │ │ │ ├── codecrash4.bas │ │ │ ├── codecrash5.asm │ │ │ ├── codecrash5.bas │ │ │ ├── coercion1.asm │ │ │ ├── coercion1.bas │ │ │ ├── coercion3.asm │ │ │ ├── coercion3.bas │ │ │ ├── const0.asm │ │ │ ├── const0.bas │ │ │ ├── const1.asm │ │ │ ├── const1.bas │ │ │ ├── const3.asm │ │ │ ├── const3.bas │ │ │ ├── const4.bas │ │ │ ├── const5.bas │ │ │ ├── const6.asm │ │ │ ├── const6.bas │ │ │ ├── const7.asm │ │ │ ├── const7.bas │ │ │ ├── const8.asm │ │ │ ├── const8.bas │ │ │ ├── const9.bas │ │ │ ├── const_expr.asm │ │ │ ├── const_expr.bas │ │ │ ├── const_str.asm │ │ │ ├── const_str.bas │ │ │ ├── const_str1.asm │ │ │ ├── const_str1.bas │ │ │ ├── const_str2.asm │ │ │ ├── const_str2.bas │ │ │ ├── const_str3.asm │ │ │ ├── const_str3.bas │ │ │ ├── const_str4.asm │ │ │ ├── const_str4.bas │ │ │ ├── const_str5.asm │ │ │ ├── const_str5.bas │ │ │ ├── const_str6.asm │ │ │ ├── const_str6.bas │ │ │ ├── constrig.asm │ │ │ ├── constrig.bas │ │ │ ├── data0.bas │ │ │ ├── data1.asm │ │ │ ├── data1.bas │ │ │ ├── declare0.asm │ │ │ ├── declare0.bas │ │ │ ├── declare1.bas │ │ │ ├── declare2.bas │ │ │ ├── declare3.bas │ │ │ ├── declare4.bas │ │ │ ├── declare5.bas │ │ │ ├── declare6.bas │ │ │ ├── def_func_inline.bas │ │ │ ├── def_func_inline_for_next.asm │ │ │ ├── def_func_inline_for_next.bas │ │ │ ├── def_func_inline_ok.asm │ │ │ ├── def_func_inline_ok.bas │ │ │ ├── defb.asm │ │ │ ├── defb.bas │ │ │ ├── define_val.asm │ │ │ ├── define_val.bas │ │ │ ├── dim_arr_at_label0.asm │ │ │ ├── dim_arr_at_label0.bas │ │ │ ├── dim_arr_at_label1.asm │ │ │ ├── dim_arr_at_label1.bas │ │ │ ├── dim_arr_at_label2.asm │ │ │ ├── dim_arr_at_label2.bas │ │ │ ├── dim_at0.asm │ │ │ ├── dim_at0.bas │ │ │ ├── dim_at_init_err.bas │ │ │ ├── dim_at_label0.asm │ │ │ ├── dim_at_label0.bas │ │ │ ├── dim_at_label1.asm │ │ │ ├── dim_at_label1.bas │ │ │ ├── dim_at_label2.asm │ │ │ ├── dim_at_label2.bas │ │ │ ├── dim_at_label3.asm │ │ │ ├── dim_at_label3.bas │ │ │ ├── dim_at_label4.bas │ │ │ ├── dim_at_label5.bas │ │ │ ├── dim_at_label6.bas │ │ │ ├── dim_at_label7.bas │ │ │ ├── dim_at_label8.asm │ │ │ ├── dim_at_label8.bas │ │ │ ├── dim_const0.asm │ │ │ ├── dim_const0.bas │ │ │ ├── dim_const_const.asm │ │ │ ├── dim_const_const.bas │ │ │ ├── dim_const_crash.bas │ │ │ ├── dim_dyn_err.bas │ │ │ ├── dim_str_error0.bas │ │ │ ├── dim_str_error1.bas │ │ │ ├── dim_test0.bas │ │ │ ├── dimconst.asm │ │ │ ├── dimconst.bas │ │ │ ├── dimconst2.asm │ │ │ ├── dimconst2.bas │ │ │ ├── dimconst2b.bas │ │ │ ├── dimconst2c.asm │ │ │ ├── dimconst2c.bas │ │ │ ├── dimconst2d.asm │ │ │ ├── dimconst2d.bas │ │ │ ├── dimconst2e.asm │ │ │ ├── dimconst2e.bas │ │ │ ├── dimconst3.asm │ │ │ ├── dimconst3.bas │ │ │ ├── dimconst4.asm │ │ │ ├── dimconst4.bas │ │ │ ├── dimconst4b.asm │ │ │ ├── dimconst4b.bas │ │ │ ├── dimconst4c.asm │ │ │ ├── dimconst4c.bas │ │ │ ├── dimconst5.asm │ │ │ ├── dimconst5.bas │ │ │ ├── dimconst6.asm │ │ │ ├── dimconst6.bas │ │ │ ├── dimconst7.asm │ │ │ ├── dimconst7.bas │ │ │ ├── div32.asm │ │ │ ├── div32.bas │ │ │ ├── divf00.asm │ │ │ ├── divf00.bas │ │ │ ├── divf01.asm │ │ │ ├── divf01.bas │ │ │ ├── divf16.asm │ │ │ ├── divf16.bas │ │ │ ├── divf16a.asm │ │ │ ├── divf16a.bas │ │ │ ├── divf16b.asm │ │ │ ├── divf16b.bas │ │ │ ├── divf16c.asm │ │ │ ├── divf16c.bas │ │ │ ├── divi16a.asm │ │ │ ├── divi16a.bas │ │ │ ├── divi16b.asm │ │ │ ├── divi16b.bas │ │ │ ├── divi32c.asm │ │ │ ├── divi32c.bas │ │ │ ├── divi8.asm │ │ │ ├── divi8.bas │ │ │ ├── divi8a.asm │ │ │ ├── divi8a.bas │ │ │ ├── divi8b.asm │ │ │ ├── divi8b.bas │ │ │ ├── divu16.asm │ │ │ ├── divu16.bas │ │ │ ├── divu16a.asm │ │ │ ├── divu16a.bas │ │ │ ├── divu16b.asm │ │ │ ├── divu16b.bas │ │ │ ├── divu32c.asm │ │ │ ├── divu32c.bas │ │ │ ├── divu8.asm │ │ │ ├── divu8.bas │ │ │ ├── divu8a.asm │ │ │ ├── divu8a.bas │ │ │ ├── divu8b.asm │ │ │ ├── divu8b.bas │ │ │ ├── do_crash.bas │ │ │ ├── do_err.bas │ │ │ ├── dollar.asm │ │ │ ├── dollar.bas │ │ │ ├── doloop.asm │ │ │ ├── doloop.bas │ │ │ ├── doloop1.asm │ │ │ ├── doloop1.bas │ │ │ ├── doloop2.asm │ │ │ ├── doloop2.bas │ │ │ ├── doloop3.asm │ │ │ ├── doloop3.bas │ │ │ ├── doloop4.asm │ │ │ ├── doloop4.bas │ │ │ ├── doloopuntilsplitted.bas │ │ │ ├── dountil1.asm │ │ │ ├── dountil1.bas │ │ │ ├── dountilempty.asm │ │ │ ├── dountilempty.bas │ │ │ ├── dountilsplitted.asm │ │ │ ├── dountilsplitted.bas │ │ │ ├── dowhile1.asm │ │ │ ├── dowhile1.bas │ │ │ ├── dowhileempty.asm │ │ │ ├── dowhileempty.bas │ │ │ ├── dowhilesplitted.asm │ │ │ ├── dowhilesplitted.bas │ │ │ ├── draw.asm │ │ │ ├── draw.bas │ │ │ ├── draw3.asm │ │ │ ├── draw3.bas │ │ │ ├── due_crash.bas │ │ │ ├── due_inc_main.bas │ │ │ ├── due_par.bas │ │ │ ├── dup_func_decl.bas │ │ │ ├── einar01.asm │ │ │ ├── einar01.bas │ │ │ ├── einarattr.asm │ │ │ ├── einarattr.bas │ │ │ ├── einarshift.asm │ │ │ ├── einarshift.bas │ │ │ ├── elseif.asm │ │ │ ├── elseif.bas │ │ │ ├── elseif1.asm │ │ │ ├── elseif1.bas │ │ │ ├── elseif2.asm │ │ │ ├── elseif2.bas │ │ │ ├── elseif3.asm │ │ │ ├── elseif3.bas │ │ │ ├── elseif4.asm │ │ │ ├── elseif4.bas │ │ │ ├── elseif5.asm │ │ │ ├── elseif5.bas │ │ │ ├── elseif6.asm │ │ │ ├── elseif6.bas │ │ │ ├── emptystrparam.asm │ │ │ ├── emptystrparam.bas │ │ │ ├── end.asm │ │ │ ├── end.bas │ │ │ ├── endif.asm │ │ │ ├── endif.bas │ │ │ ├── eq0.asm │ │ │ ├── eq0.bas │ │ │ ├── equ16.asm │ │ │ ├── equ16.bas │ │ │ ├── equ32.asm │ │ │ ├── equ32.bas │ │ │ ├── equ8.asm │ │ │ ├── equ8.bas │ │ │ ├── equf.asm │ │ │ ├── equf.bas │ │ │ ├── errletfunc.bas │ │ │ ├── error_array.bas │ │ │ ├── explicit0.bas │ │ │ ├── explicit1.bas │ │ │ ├── explicit2.bas │ │ │ ├── explicit3.bas │ │ │ ├── explicit4.bas │ │ │ ├── explicit5.bas │ │ │ ├── explicit6.asm │ │ │ ├── explicit6.bas │ │ │ ├── explicit7.bas │ │ │ ├── explicit_crash.bas │ │ │ ├── extra_chars.asm │ │ │ ├── extra_chars.bas │ │ │ ├── extra_chars1.bas │ │ │ ├── fact.asm │ │ │ ├── fact.bas │ │ │ ├── fastcall_str.asm │ │ │ ├── fastcall_str.bas │ │ │ ├── file_macro.asm │ │ │ ├── file_macro.bas │ │ │ ├── for0.asm │ │ │ ├── for0.bas │ │ │ ├── for_const_crash.asm │ │ │ ├── for_const_crash.bas │ │ │ ├── for_const_crash1.asm │ │ │ ├── for_const_crash1.bas │ │ │ ├── for_err.bas │ │ │ ├── forempty.asm │ │ │ ├── forempty.bas │ │ │ ├── forline.bas │ │ │ ├── fornext.asm │ │ │ ├── fornext.bas │ │ │ ├── fornext2.asm │ │ │ ├── fornext2.bas │ │ │ ├── fornext3.asm │ │ │ ├── fornext3.bas │ │ │ ├── fornextopt.asm │ │ │ ├── fornextopt.bas │ │ │ ├── fornextopt2.asm │ │ │ ├── fornextopt2.bas │ │ │ ├── fornextopt3.asm │ │ │ ├── fornextopt3.bas │ │ │ ├── fornextopt4.asm │ │ │ ├── fornextopt4.bas │ │ │ ├── forsplitted.asm │ │ │ ├── forsplitted.bas │ │ │ ├── forsplitted0.asm │ │ │ ├── forsplitted0.bas │ │ │ ├── forsplitted1.asm │ │ │ ├── forsplitted1.bas │ │ │ ├── fp_pow.asm │ │ │ ├── fp_pow.bas │ │ │ ├── fporder.asm │ │ │ ├── fporder.bas │ │ │ ├── func0.asm │ │ │ ├── func0.bas │ │ │ ├── func_call_IC.bas │ │ │ ├── func_call_IC.ic │ │ │ ├── func_func.asm │ │ │ ├── func_func.bas │ │ │ ├── funccall0.asm │ │ │ ├── funccall0.bas │ │ │ ├── funccall1.asm │ │ │ ├── funccall1.bas │ │ │ ├── funccall2.asm │ │ │ ├── funccall2.bas │ │ │ ├── funccall3.bas │ │ │ ├── funccall4.bas │ │ │ ├── funccall6.bas │ │ │ ├── funccall7.bas │ │ │ ├── funcif.asm │ │ │ ├── funcif.bas │ │ │ ├── funcnoparm.asm │ │ │ ├── funcnoparm.bas │ │ │ ├── funcnoparm2.bas │ │ │ ├── fwd_func_decl.asm │ │ │ ├── fwd_func_decl.bas │ │ │ ├── gef.asm │ │ │ ├── gef.bas │ │ │ ├── gef16.asm │ │ │ ├── gef16.bas │ │ │ ├── gei16.asm │ │ │ ├── gei16.bas │ │ │ ├── gei32.asm │ │ │ ├── gei32.bas │ │ │ ├── gei8.asm │ │ │ ├── gei8.bas │ │ │ ├── geu16.asm │ │ │ ├── geu16.bas │ │ │ ├── geu32.asm │ │ │ ├── geu32.bas │ │ │ ├── geu8.asm │ │ │ ├── geu8.bas │ │ │ ├── gosub_in_func.bas │ │ │ ├── gtf.asm │ │ │ ├── gtf.bas │ │ │ ├── gtf16.asm │ │ │ ├── gtf16.bas │ │ │ ├── gti16.asm │ │ │ ├── gti16.bas │ │ │ ├── gti32.asm │ │ │ ├── gti32.bas │ │ │ ├── gti8.asm │ │ │ ├── gti8.bas │ │ │ ├── gtu16.asm │ │ │ ├── gtu16.bas │ │ │ ├── gtu32.asm │ │ │ ├── gtu32.bas │ │ │ ├── gtu8.asm │ │ │ ├── gtu8.bas │ │ │ ├── haplo06.asm │ │ │ ├── haplo06.bas │ │ │ ├── haplo0asm.asm │ │ │ ├── haplo0asm.bas │ │ │ ├── haplo_out.asm │ │ │ ├── haplo_out.bas │ │ │ ├── headerless.asm │ │ │ ├── headerless.bas │ │ │ ├── id_substr_eq_expr.asm │ │ │ ├── id_substr_eq_expr.bas │ │ │ ├── idco.asm │ │ │ ├── idco.bas │ │ │ ├── ifcoendif.asm │ │ │ ├── ifcoendif.bas │ │ │ ├── ifcoendif1.asm │ │ │ ├── ifcoendif1.bas │ │ │ ├── ifcoendif2.asm │ │ │ ├── ifcoendif2.bas │ │ │ ├── ifcrash.asm │ │ │ ├── ifcrash.bas │ │ │ ├── ifelse0.asm │ │ │ ├── ifelse0.bas │ │ │ ├── ifelse1.asm │ │ │ ├── ifelse1.bas │ │ │ ├── ifelse2.asm │ │ │ ├── ifelse2.bas │ │ │ ├── ifelse3.asm │ │ │ ├── ifelse3.bas │ │ │ ├── ifelse4.asm │ │ │ ├── ifelse4.bas │ │ │ ├── ifelse5.asm │ │ │ ├── ifelse5.bas │ │ │ ├── ifempty.asm │ │ │ ├── ifempty.bas │ │ │ ├── ifempty0.asm │ │ │ ├── ifempty0.bas │ │ │ ├── ifempty1.asm │ │ │ ├── ifempty1.bas │ │ │ ├── ifempty2.asm │ │ │ ├── ifempty2.bas │ │ │ ├── ifempty3.asm │ │ │ ├── ifempty3.bas │ │ │ ├── ifempty4.asm │ │ │ ├── ifempty4.bas │ │ │ ├── ifempty5.asm │ │ │ ├── ifempty5.bas │ │ │ ├── ifempty6.asm │ │ │ ├── ifempty6.bas │ │ │ ├── ifemptyelse.asm │ │ │ ├── ifemptyelse.bas │ │ │ ├── ifemptylabel1.asm │ │ │ ├── ifemptylabel1.bas │ │ │ ├── ifemptylabel2.asm │ │ │ ├── ifemptylabel2.bas │ │ │ ├── ifemptyprogelse.asm │ │ │ ├── ifemptyprogelse.bas │ │ │ ├── ifendif.bas │ │ │ ├── iffor.asm │ │ │ ├── iffor.bas │ │ │ ├── iffor1.asm │ │ │ ├── iffor1.bas │ │ │ ├── iffor2.asm │ │ │ ├── iffor2.bas │ │ │ ├── ififelseelse1.asm │ │ │ ├── ififelseelse1.bas │ │ │ ├── ififelseelse2.asm │ │ │ ├── ififelseelse2.bas │ │ │ ├── ifline.asm │ │ │ ├── ifline.bas │ │ │ ├── ifthen.asm │ │ │ ├── ifthen.bas │ │ │ ├── ifthencoendif.bas │ │ │ ├── ifthencoendif2.bas │ │ │ ├── ifthencosntcoendif.asm │ │ │ ├── ifthencosntcoendif.bas │ │ │ ├── ifthenelse.asm │ │ │ ├── ifthenelse.bas │ │ │ ├── ifthenelseif.asm │ │ │ ├── ifthenelseif.bas │ │ │ ├── ifthenlblsntcoendif.asm │ │ │ ├── ifthenlblsntcoendif.bas │ │ │ ├── ifthensntcoelsecocoendif.asm │ │ │ ├── ifthensntcoelsecocoendif.bas │ │ │ ├── ifthensntcoelsecoendif.asm │ │ │ ├── ifthensntcoelsecoendif.bas │ │ │ ├── ifthensntcoelselblco.asm │ │ │ ├── ifthensntcoelselblco.bas │ │ │ ├── ifthensntcoelselblcoco.asm │ │ │ ├── ifthensntcoelselblcoco.bas │ │ │ ├── ifthensntcoendif.asm │ │ │ ├── ifthensntcoendif.bas │ │ │ ├── ifwhile.asm │ │ │ ├── ifwhile.bas │ │ │ ├── ifwhile1.asm │ │ │ ├── ifwhile1.bas │ │ │ ├── ifwhilex.asm │ │ │ ├── ifwhilex.bas │ │ │ ├── in0.asm │ │ │ ├── in0.bas │ │ │ ├── include_error.bas │ │ │ ├── init_with_dot.asm │ │ │ ├── init_with_dot.bas │ │ │ ├── inkey.asm │ │ │ ├── inkey.bas │ │ │ ├── inktemp.asm │ │ │ ├── inktemp.bas │ │ │ ├── keyword_arg0.asm │ │ │ ├── keyword_arg0.bas │ │ │ ├── keyword_arg1.bas │ │ │ ├── keyword_arg2.asm │ │ │ ├── keyword_arg2.bas │ │ │ ├── keyword_arg3.bas │ │ │ ├── label_decl0.asm │ │ │ ├── label_decl0.bas │ │ │ ├── label_decl1.bas │ │ │ ├── label_decl2.bas │ │ │ ├── label_decl3.asm │ │ │ ├── label_decl3.bas │ │ │ ├── label_sent.asm │ │ │ ├── label_sent.bas │ │ │ ├── label_sent1.asm │ │ │ ├── label_sent1.bas │ │ │ ├── label_sent2.asm │ │ │ ├── label_sent2.bas │ │ │ ├── label_sent3.asm │ │ │ ├── label_sent3.bas │ │ │ ├── label_sent4.asm │ │ │ ├── label_sent4.bas │ │ │ ├── label_sent5.asm │ │ │ ├── label_sent5.bas │ │ │ ├── labeldecl.asm │ │ │ ├── labeldecl.bas │ │ │ ├── labelsent.asm │ │ │ ├── labelsent.bas │ │ │ ├── lbound0.asm │ │ │ ├── lbound0.bas │ │ │ ├── lbound1.asm │ │ │ ├── lbound1.bas │ │ │ ├── lbound10.asm │ │ │ ├── lbound10.bas │ │ │ ├── lbound11.asm │ │ │ ├── lbound11.bas │ │ │ ├── lbound12.asm │ │ │ ├── lbound12.bas │ │ │ ├── lbound13.asm │ │ │ ├── lbound13.bas │ │ │ ├── lbound2.asm │ │ │ ├── lbound2.bas │ │ │ ├── lbound3.asm │ │ │ ├── lbound3.bas │ │ │ ├── lbound4.asm │ │ │ ├── lbound4.bas │ │ │ ├── lbound5.asm │ │ │ ├── lbound5.bas │ │ │ ├── lbound6.asm │ │ │ ├── lbound6.bas │ │ │ ├── lbound7.asm │ │ │ ├── lbound7.bas │ │ │ ├── lbound8.asm │ │ │ ├── lbound8.bas │ │ │ ├── lbound9.asm │ │ │ ├── lbound9.bas │ │ │ ├── lcd2.bas │ │ │ ├── lcd3.asm │ │ │ ├── lcd3.bas │ │ │ ├── lcd5.asm │ │ │ ├── lcd5.bas │ │ │ ├── lcd6.asm │ │ │ ├── lcd6.bas │ │ │ ├── lcd7.asm │ │ │ ├── lcd7.bas │ │ │ ├── lcd8.asm │ │ │ ├── lcd8.bas │ │ │ ├── lcd9.asm │ │ │ ├── lcd9.bas │ │ │ ├── lcd_crash.asm │ │ │ ├── lcd_crash.bas │ │ │ ├── lef.asm │ │ │ ├── lef.bas │ │ │ ├── lef16.asm │ │ │ ├── lef16.bas │ │ │ ├── lei16.asm │ │ │ ├── lei16.bas │ │ │ ├── lei32.asm │ │ │ ├── lei32.bas │ │ │ ├── lei8.asm │ │ │ ├── lei8.bas │ │ │ ├── let0.asm │ │ │ ├── let0.bas │ │ │ ├── let_array_local_const0.asm │ │ │ ├── let_array_local_const0.bas │ │ │ ├── let_array_substr.asm │ │ │ ├── let_array_substr.bas │ │ │ ├── let_array_substr1.asm │ │ │ ├── let_array_substr1.bas │ │ │ ├── let_array_substr10.asm │ │ │ ├── let_array_substr10.bas │ │ │ ├── let_array_substr11.asm │ │ │ ├── let_array_substr11.bas │ │ │ ├── let_array_substr12.asm │ │ │ ├── let_array_substr12.bas │ │ │ ├── let_array_substr13.asm │ │ │ ├── let_array_substr13.bas │ │ │ ├── let_array_substr2.asm │ │ │ ├── let_array_substr2.bas │ │ │ ├── let_array_substr3.asm │ │ │ ├── let_array_substr3.bas │ │ │ ├── let_array_substr4.bas │ │ │ ├── let_array_substr5.asm │ │ │ ├── let_array_substr5.bas │ │ │ ├── let_array_substr6.bas │ │ │ ├── let_array_substr7.asm │ │ │ ├── let_array_substr7.bas │ │ │ ├── let_array_substr8.bas │ │ │ ├── let_array_substr9.asm │ │ │ ├── let_array_substr9.bas │ │ │ ├── let_array_wrong_dims.bas │ │ │ ├── let_expr_type_crash.bas │ │ │ ├── let_not_bool.asm │ │ │ ├── let_not_bool.bas │ │ │ ├── let_uminus_bool.asm │ │ │ ├── let_uminus_bool.bas │ │ │ ├── letarrstr_substr0.asm │ │ │ ├── letarrstr_substr0.bas │ │ │ ├── letarrstr_substr1.asm │ │ │ ├── letarrstr_substr1.bas │ │ │ ├── letsubstr_local.asm │ │ │ ├── letsubstr_local.bas │ │ │ ├── letsubstr_param_byref.asm │ │ │ ├── letsubstr_param_byref.bas │ │ │ ├── letsubstr_param_byval.asm │ │ │ ├── letsubstr_param_byval.bas │ │ │ ├── leu16.asm │ │ │ ├── leu16.bas │ │ │ ├── leu32.asm │ │ │ ├── leu32.bas │ │ │ ├── leu8.asm │ │ │ ├── leu8.bas │ │ │ ├── lexerr.bas │ │ │ ├── line_err.bas │ │ │ ├── line_macro.asm │ │ │ ├── line_macro.bas │ │ │ ├── line_number_after_macro.bas │ │ │ ├── llb.bas │ │ │ ├── llc.asm │ │ │ ├── llc.bas │ │ │ ├── load02.asm │ │ │ ├── load02.bas │ │ │ ├── load03.asm │ │ │ ├── load03.bas │ │ │ ├── loadstr.asm │ │ │ ├── loadstr.bas │ │ │ ├── loadu16ii.asm │ │ │ ├── loadu16ii.bas │ │ │ ├── local_array_with_bounds0.asm │ │ │ ├── local_array_with_bounds0.bas │ │ │ ├── local_array_with_bounds1.asm │ │ │ ├── local_array_with_bounds1.bas │ │ │ ├── local_float_array0.asm │ │ │ ├── local_float_array0.bas │ │ │ ├── local_float_array1.asm │ │ │ ├── local_float_array1.bas │ │ │ ├── local_str_array0.asm │ │ │ ├── local_str_array0.bas │ │ │ ├── local_str_array1.asm │ │ │ ├── local_str_array1.bas │ │ │ ├── local_str_array2.asm │ │ │ ├── local_str_array2.bas │ │ │ ├── local_str_array3.asm │ │ │ ├── local_str_array3.bas │ │ │ ├── local_u16_array0.asm │ │ │ ├── local_u16_array0.bas │ │ │ ├── local_u16_array1.asm │ │ │ ├── local_u16_array1.bas │ │ │ ├── local_u16_array2.asm │ │ │ ├── local_u16_array2.bas │ │ │ ├── local_u16_array3.asm │ │ │ ├── local_u16_array3.bas │ │ │ ├── localbyref.asm │ │ │ ├── localbyref.bas │ │ │ ├── ltee1.asm │ │ │ ├── ltee1.bas │ │ │ ├── ltee10.asm │ │ │ ├── ltee10.bas │ │ │ ├── ltee3.asm │ │ │ ├── ltee3.bas │ │ │ ├── ltee4.asm │ │ │ ├── ltee4.bas │ │ │ ├── ltee5.asm │ │ │ ├── ltee5.bas │ │ │ ├── ltee6.asm │ │ │ ├── ltee6.bas │ │ │ ├── ltee7.asm │ │ │ ├── ltee7.bas │ │ │ ├── ltee8.asm │ │ │ ├── ltee8.bas │ │ │ ├── ltee9.asm │ │ │ ├── ltee9.bas │ │ │ ├── ltf.asm │ │ │ ├── ltf.bas │ │ │ ├── ltf16.asm │ │ │ ├── ltf16.bas │ │ │ ├── lti16.asm │ │ │ ├── lti16.bas │ │ │ ├── lti32.asm │ │ │ ├── lti32.bas │ │ │ ├── lti8.asm │ │ │ ├── lti8.bas │ │ │ ├── ltu16.asm │ │ │ ├── ltu16.bas │ │ │ ├── ltu32.asm │ │ │ ├── ltu32.bas │ │ │ ├── ltu8.asm │ │ │ ├── ltu8.bas │ │ │ ├── lvalsubstr_nolet.asm │ │ │ ├── lvalsubstr_nolet.bas │ │ │ ├── lvalue00.bas │ │ │ ├── lvalue01.bas │ │ │ ├── lvalue02.bas │ │ │ ├── lvalue03.bas │ │ │ ├── macro_under.asm │ │ │ ├── macro_under.bas │ │ │ ├── math_acs.asm │ │ │ ├── math_acs.bas │ │ │ ├── math_asn.asm │ │ │ ├── math_asn.bas │ │ │ ├── math_atn.asm │ │ │ ├── math_atn.bas │ │ │ ├── math_cos.asm │ │ │ ├── math_cos.bas │ │ │ ├── math_exp.asm │ │ │ ├── math_exp.bas │ │ │ ├── math_ln.asm │ │ │ ├── math_ln.bas │ │ │ ├── math_sin.asm │ │ │ ├── math_sin.bas │ │ │ ├── math_sqr.asm │ │ │ ├── math_sqr.bas │ │ │ ├── math_tan.asm │ │ │ ├── math_tan.bas │ │ │ ├── mcleod.asm │ │ │ ├── mcleod.bas │ │ │ ├── mcleod2.asm │ │ │ ├── mcleod2.bas │ │ │ ├── mcleod3.bas │ │ │ ├── modf.asm │ │ │ ├── modf.bas │ │ │ ├── modf16.asm │ │ │ ├── modf16.bas │ │ │ ├── modf16c.asm │ │ │ ├── modf16c.bas │ │ │ ├── modi32c.asm │ │ │ ├── modi32c.bas │ │ │ ├── modi8.asm │ │ │ ├── modi8.bas │ │ │ ├── modi8a.asm │ │ │ ├── modi8a.bas │ │ │ ├── modi8b.asm │ │ │ ├── modi8b.bas │ │ │ ├── modu32c.asm │ │ │ ├── modu32c.bas │ │ │ ├── modu8.asm │ │ │ ├── modu8.bas │ │ │ ├── modu8a.asm │ │ │ ├── modu8a.bas │ │ │ ├── modu8b.asm │ │ │ ├── modu8b.bas │ │ │ ├── mul16.asm │ │ │ ├── mul16.bas │ │ │ ├── mul16a.asm │ │ │ ├── mul16a.bas │ │ │ ├── mul16b.asm │ │ │ ├── mul16b.bas │ │ │ ├── mul16c.asm │ │ │ ├── mul16c.bas │ │ │ ├── mul8.asm │ │ │ ├── mul8.bas │ │ │ ├── mul8a.asm │ │ │ ├── mul8a.bas │ │ │ ├── mul8b.asm │ │ │ ├── mul8b.bas │ │ │ ├── mulf00.asm │ │ │ ├── mulf00.bas │ │ │ ├── mulf01.asm │ │ │ ├── mulf01.bas │ │ │ ├── mulf16.asm │ │ │ ├── mulf16.bas │ │ │ ├── mulf16a.asm │ │ │ ├── mulf16a.bas │ │ │ ├── nef.asm │ │ │ ├── nef.bas │ │ │ ├── nef16.asm │ │ │ ├── nef16.bas │ │ │ ├── nei16.asm │ │ │ ├── nei16.bas │ │ │ ├── nei32.asm │ │ │ ├── nei32.bas │ │ │ ├── nei8.asm │ │ │ ├── nei8.bas │ │ │ ├── neu16.asm │ │ │ ├── neu16.bas │ │ │ ├── neu32.asm │ │ │ ├── neu32.bas │ │ │ ├── neu8.asm │ │ │ ├── neu8.bas │ │ │ ├── nir.asm │ │ │ ├── nir.bas │ │ │ ├── noheap.asm │ │ │ ├── noheap.bas │ │ │ ├── nosub.bas │ │ │ ├── not16.asm │ │ │ ├── not16.bas │ │ │ ├── not32.asm │ │ │ ├── not32.bas │ │ │ ├── not8.asm │ │ │ ├── not8.bas │ │ │ ├── notf.asm │ │ │ ├── notf.bas │ │ │ ├── octal.asm │ │ │ ├── octal.bas │ │ │ ├── ongosub.asm │ │ │ ├── ongosub.bas │ │ │ ├── ongoto.asm │ │ │ ├── ongoto.bas │ │ │ ├── ongoto_big.asm │ │ │ ├── ongoto_big.bas │ │ │ ├── opt1_arr_at_init.asm │ │ │ ├── opt1_arr_at_init.bas │ │ │ ├── opt1_beep_const.asm │ │ │ ├── opt1_beep_const.bas │ │ │ ├── opt1_beep_var.asm │ │ │ ├── opt1_beep_var.bas │ │ │ ├── opt1_dim_arr_at1.asm │ │ │ ├── opt1_dim_arr_at1.bas │ │ │ ├── opt1_dim_arr_at2.asm │ │ │ ├── opt1_dim_arr_at2.bas │ │ │ ├── opt1_dim_arr_at3.asm │ │ │ ├── opt1_dim_arr_at3.bas │ │ │ ├── opt1_dim_arr_at4.asm │ │ │ ├── opt1_dim_arr_at4.bas │ │ │ ├── opt1_dim_arr_at5.asm │ │ │ ├── opt1_dim_arr_at5.bas │ │ │ ├── opt1_dim_arr_at_copy.asm │ │ │ ├── opt1_dim_arr_at_copy.bas │ │ │ ├── opt1_dim_arr_at_copy2.asm │ │ │ ├── opt1_dim_arr_at_copy2.bas │ │ │ ├── opt1_dim_arr_at_copy3.asm │ │ │ ├── opt1_dim_arr_at_copy3.bas │ │ │ ├── opt1_dim_arr_at_copy4.asm │ │ │ ├── opt1_dim_arr_at_copy4.bas │ │ │ ├── opt1_dim_arr_global.asm │ │ │ ├── opt1_dim_arr_global.bas │ │ │ ├── opt1_dim_arr_global2.asm │ │ │ ├── opt1_dim_arr_global2.bas │ │ │ ├── opt1_dim_arr_global3.asm │ │ │ ├── opt1_dim_arr_global3.bas │ │ │ ├── opt1_dim_arr_global4.asm │ │ │ ├── opt1_dim_arr_global4.bas │ │ │ ├── opt1_dim_arr_local.asm │ │ │ ├── opt1_dim_arr_local.bas │ │ │ ├── opt1_dim_arr_local2.asm │ │ │ ├── opt1_dim_arr_local2.bas │ │ │ ├── opt1_dim_arr_local3.asm │ │ │ ├── opt1_dim_arr_local3.bas │ │ │ ├── opt1_dim_arr_local4.asm │ │ │ ├── opt1_dim_arr_local4.bas │ │ │ ├── opt1_dim_at_defval.asm │ │ │ ├── opt1_dim_at_defval.bas │ │ │ ├── opt1_endtest.asm │ │ │ ├── opt1_endtest.bas │ │ │ ├── opt1_len.asm │ │ │ ├── opt1_len.bas │ │ │ ├── opt1_nolabel.asm │ │ │ ├── opt1_nolabel.bas │ │ │ ├── opt1_shifti16_const.asm │ │ │ ├── opt1_shifti16_const.bas │ │ │ ├── opt1_shiftli16.asm │ │ │ ├── opt1_shiftli16.bas │ │ │ ├── opt1_shiftu16_const.asm │ │ │ ├── opt1_shiftu16_const.bas │ │ │ ├── opt1_usr.asm │ │ │ ├── opt1_usr.bas │ │ │ ├── opt2_assoc.asm │ │ │ ├── opt2_assoc.bas │ │ │ ├── opt2_ato4.asm │ │ │ ├── opt2_ato4.bas │ │ │ ├── opt2_ato5.asm │ │ │ ├── opt2_ato5.bas │ │ │ ├── opt2_dim_arr_at1.asm │ │ │ ├── opt2_dim_arr_at1.bas │ │ │ ├── opt2_dim_at.asm │ │ │ ├── opt2_dim_at.bas │ │ │ ├── opt2_fastcall_func.asm │ │ │ ├── opt2_fastcall_func.bas │ │ │ ├── opt2_fastcall_sub.asm │ │ │ ├── opt2_fastcall_sub.bas │ │ │ ├── opt2_for_funcall.asm │ │ │ ├── opt2_for_funcall.bas │ │ │ ├── opt2_func_call.asm │ │ │ ├── opt2_func_call.bas │ │ │ ├── opt2_global_array.asm │ │ │ ├── opt2_global_array.bas │ │ │ ├── opt2_global_array2.asm │ │ │ ├── opt2_global_array2.bas │ │ │ ├── opt2_goto_in_func.asm │ │ │ ├── opt2_goto_in_func.bas │ │ │ ├── opt2_ifband.asm │ │ │ ├── opt2_ifband.bas │ │ │ ├── opt2_ifbor.asm │ │ │ ├── opt2_ifbor.bas │ │ │ ├── opt2_ifbor2.asm │ │ │ ├── opt2_ifbor2.bas │ │ │ ├── opt2_ifbyte.asm │ │ │ ├── opt2_ifbyte.bas │ │ │ ├── opt2_ifthen.asm │ │ │ ├── opt2_ifthen.bas │ │ │ ├── opt2_incdec_byte.asm │ │ │ ├── opt2_incdec_byte.bas │ │ │ ├── opt2_include_unused.asm │ │ │ ├── opt2_include_unused.bas │ │ │ ├── opt2_infinite_loop.asm │ │ │ ├── opt2_infinite_loop.bas │ │ │ ├── opt2_label_ref_in_func1.asm │ │ │ ├── opt2_label_ref_in_func1.bas │ │ │ ├── opt2_label_ref_in_func2.asm │ │ │ ├── opt2_label_ref_in_func2.bas │ │ │ ├── opt2_labelinfunc.asm │ │ │ ├── opt2_labelinfunc.bas │ │ │ ├── opt2_labelinfunc2.bas │ │ │ ├── opt2_labelinfunc3.asm │ │ │ ├── opt2_labelinfunc3.bas │ │ │ ├── opt2_labelinfunc4.asm │ │ │ ├── opt2_labelinfunc4.bas │ │ │ ├── opt2_labelinfunc5.asm │ │ │ ├── opt2_labelinfunc5.bas │ │ │ ├── opt2_letsubstr_not_used.asm │ │ │ ├── opt2_letsubstr_not_used.bas │ │ │ ├── opt2_localu8.asm │ │ │ ├── opt2_localu8.bas │ │ │ ├── opt2_nogoto.bas │ │ │ ├── opt2_pstr.asm │ │ │ ├── opt2_pstr.bas │ │ │ ├── opt2_recurse_filter2.asm │ │ │ ├── opt2_recurse_filter2.bas │ │ │ ├── opt2_snake_es.asm │ │ │ ├── opt2_snake_es.bas │ │ │ ├── opt2_unused_var.asm │ │ │ ├── opt2_unused_var.bas │ │ │ ├── opt2_unused_var1.asm │ │ │ ├── opt2_unused_var1.bas │ │ │ ├── opt2_while_funcall.asm │ │ │ ├── opt2_while_funcall.bas │ │ │ ├── opt3_17.asm │ │ │ ├── opt3_17.bas │ │ │ ├── opt3_OPT27wws2.asm │ │ │ ├── opt3_OPT27wws2.bas │ │ │ ├── opt3_asmexpr.asm │ │ │ ├── opt3_asmexpr.bas │ │ │ ├── opt3_ato4.asm │ │ │ ├── opt3_ato4.bas │ │ │ ├── opt3_atohl_a.asm │ │ │ ├── opt3_atohl_a.bas │ │ │ ├── opt3_atolo1.asm │ │ │ ├── opt3_atolo1.bas │ │ │ ├── opt3_atolo4.asm │ │ │ ├── opt3_atolo4.bas │ │ │ ├── opt3_atoloinc.asm │ │ │ ├── opt3_atoloinc.bas │ │ │ ├── opt3_dark01.asm │ │ │ ├── opt3_dark01.bas │ │ │ ├── opt3_data2.asm │ │ │ ├── opt3_data2.bas │ │ │ ├── opt3_einar.asm │ │ │ ├── opt3_einar.bas │ │ │ ├── opt3_einar04.asm │ │ │ ├── opt3_einar04.bas │ │ │ ├── opt3_einar05.asm │ │ │ ├── opt3_einar05.bas │ │ │ ├── opt3_einar06.asm │ │ │ ├── opt3_einar06.bas │ │ │ ├── opt3_endtest.asm │ │ │ ├── opt3_endtest.bas │ │ │ ├── opt3_fixed.asm │ │ │ ├── opt3_fixed.bas │ │ │ ├── opt3_gogogoto.asm │ │ │ ├── opt3_gogogoto.bas │ │ │ ├── opt3_gotogosub.asm │ │ │ ├── opt3_gotogosub.bas │ │ │ ├── opt3_gotogoto.asm │ │ │ ├── opt3_gotogoto.bas │ │ │ ├── opt3_haplo01.asm │ │ │ ├── opt3_haplo01.bas │ │ │ ├── opt3_haplo05.asm │ │ │ ├── opt3_haplo05.bas │ │ │ ├── opt3_haplo06.asm │ │ │ ├── opt3_haplo06.bas │ │ │ ├── opt3_haplobug.asm │ │ │ ├── opt3_haplobug.bas │ │ │ ├── opt3_ifgotoelse.asm │ │ │ ├── opt3_ifgotoelse.bas │ │ │ ├── opt3_inout.asm │ │ │ ├── opt3_inout.bas │ │ │ ├── opt3_lcd5.asm │ │ │ ├── opt3_lcd5.bas │ │ │ ├── opt3_lcd6.asm │ │ │ ├── opt3_lcd6.bas │ │ │ ├── opt3_lcd_o3_crash.asm │ │ │ ├── opt3_lcd_o3_crash.bas │ │ │ ├── opt3_ldhlhl.asm │ │ │ ├── opt3_ldhlhl.bas │ │ │ ├── opt3_nextbuild.asm │ │ │ ├── opt3_nextbuild.bas │ │ │ ├── opt3_peek.asm │ │ │ ├── opt3_peek.bas │ │ │ ├── opt3_proc0.asm │ │ │ ├── opt3_proc0.bas │ │ │ ├── opt3_sp.asm │ │ │ ├── opt3_sp.bas │ │ │ ├── opt3_tolosob.asm │ │ │ ├── opt3_tolosob.bas │ │ │ ├── opt3_xorxor.asm │ │ │ ├── opt3_xorxor.bas │ │ │ ├── opt4_053opt.asm │ │ │ ├── opt4_053opt.bas │ │ │ ├── opt4_atohl_a.asm │ │ │ ├── opt4_atohl_a.bas │ │ │ ├── opt4_block_regs.asm │ │ │ ├── opt4_block_regs.bas │ │ │ ├── opt4_due0.asm │ │ │ ├── opt4_due0.bas │ │ │ ├── opt4_due_0.asm │ │ │ ├── opt4_due_0.bas │ │ │ ├── opt4_inca.asm │ │ │ ├── opt4_inca.bas │ │ │ ├── opt4_inout.asm │ │ │ ├── opt4_inout.bas │ │ │ ├── opt4_keepix.asm │ │ │ ├── opt4_keepix.bas │ │ │ ├── opt4_poke.asm │ │ │ ├── opt4_poke.bas │ │ │ ├── opt4_poke_emook.asm │ │ │ ├── opt4_poke_emook.bas │ │ │ ├── optconst.asm │ │ │ ├── optconst.bas │ │ │ ├── optional_param0.asm │ │ │ ├── optional_param0.bas │ │ │ ├── optional_param1.bas │ │ │ ├── optional_param2.asm │ │ │ ├── optional_param2.bas │ │ │ ├── optional_param3.bas │ │ │ ├── optional_param4.asm │ │ │ ├── optional_param4.bas │ │ │ ├── optional_param5.asm │ │ │ ├── optional_param5.bas │ │ │ ├── optional_param6.asm │ │ │ ├── optional_param6.bas │ │ │ ├── optspeed.asm │ │ │ ├── optspeed.bas │ │ │ ├── or16.asm │ │ │ ├── or16.bas │ │ │ ├── or32.asm │ │ │ ├── or32.bas │ │ │ ├── or8.asm │ │ │ ├── or8.bas │ │ │ ├── orf.asm │ │ │ ├── orf.bas │ │ │ ├── out0.asm │ │ │ ├── out0.bas │ │ │ ├── param0.asm │ │ │ ├── param0.bas │ │ │ ├── param1.asm │ │ │ ├── param1.bas │ │ │ ├── param2.asm │ │ │ ├── param2.bas │ │ │ ├── param3.bas │ │ │ ├── param_byref_warn.asm │ │ │ ├── param_byref_warn.bas │ │ │ ├── parambyref1.asm │ │ │ ├── parambyref1.bas │ │ │ ├── paramint3.asm │ │ │ ├── paramint3.bas │ │ │ ├── paramnameclash0.asm │ │ │ ├── paramnameclash0.bas │ │ │ ├── params_implicit.asm │ │ │ ├── params_implicit.bas │ │ │ ├── paramstr3.asm │ │ │ ├── paramstr3.bas │ │ │ ├── paramstr4.asm │ │ │ ├── paramstr4.bas │ │ │ ├── paramstr5.asm │ │ │ ├── paramstr5.bas │ │ │ ├── pararray0.asm │ │ │ ├── pararray0.bas │ │ │ ├── pararray1.asm │ │ │ ├── pararray1.bas │ │ │ ├── pararray10.asm │ │ │ ├── pararray10.bas │ │ │ ├── pararray11.asm │ │ │ ├── pararray11.bas │ │ │ ├── pararray2.bas │ │ │ ├── pararray3.bas │ │ │ ├── pararray4.bas │ │ │ ├── pararray5.asm │ │ │ ├── pararray5.bas │ │ │ ├── pararray6.asm │ │ │ ├── pararray6.bas │ │ │ ├── pararray7.asm │ │ │ ├── pararray7.bas │ │ │ ├── pararray8.asm │ │ │ ├── pararray8.bas │ │ │ ├── pararray9.asm │ │ │ ├── pararray9.bas │ │ │ ├── peek_ubyte.asm │ │ │ ├── peek_ubyte.bas │ │ │ ├── peek_uinteger.asm │ │ │ ├── peek_uinteger.bas │ │ │ ├── peek_ulong.asm │ │ │ ├── peek_ulong.bas │ │ │ ├── plot.asm │ │ │ ├── plot.bas │ │ │ ├── poke0.asm │ │ │ ├── poke0.bas │ │ │ ├── poke1.asm │ │ │ ├── poke1.bas │ │ │ ├── poke2.asm │ │ │ ├── poke2.bas │ │ │ ├── poke3.bas │ │ │ ├── poke4.bas │ │ │ ├── poke5.bas │ │ │ ├── poke6.bas │ │ │ ├── poke7.asm │ │ │ ├── poke7.bas │ │ │ ├── pokeref.asm │ │ │ ├── pokeref.bas │ │ │ ├── pokeref1.asm │ │ │ ├── pokeref1.bas │ │ │ ├── pokeref2.asm │ │ │ ├── pokeref2.bas │ │ │ ├── pooky0.asm │ │ │ ├── pooky0.bas │ │ │ ├── print.asm │ │ │ ├── print.bas │ │ │ ├── print42.asm │ │ │ ├── print42.bas │ │ │ ├── print64.asm │ │ │ ├── print64.bas │ │ │ ├── print_arrstr.asm │ │ │ ├── print_arrstr.bas │ │ │ ├── print_at.asm │ │ │ ├── print_at.bas │ │ │ ├── print_bool.asm │ │ │ ├── print_bool.bas │ │ │ ├── print_comma.asm │ │ │ ├── print_comma.bas │ │ │ ├── print_eol.asm │ │ │ ├── print_eol.bas │ │ │ ├── print_eol_attr.asm │ │ │ ├── print_eol_attr.bas │ │ │ ├── print_f.asm │ │ │ ├── print_f.bas │ │ │ ├── print_f16.asm │ │ │ ├── print_f16.bas │ │ │ ├── print_i16.asm │ │ │ ├── print_i16.bas │ │ │ ├── print_i32.asm │ │ │ ├── print_i32.bas │ │ │ ├── print_i8.asm │ │ │ ├── print_i8.bas │ │ │ ├── print_tab.asm │ │ │ ├── print_tab.bas │ │ │ ├── print_u16.asm │ │ │ ├── print_u16.bas │ │ │ ├── print_u32.asm │ │ │ ├── print_u32.bas │ │ │ ├── print_u8.asm │ │ │ ├── print_u8.bas │ │ │ ├── randomize.asm │ │ │ ├── randomize.bas │ │ │ ├── read.asm │ │ │ ├── read.bas │ │ │ ├── read0.bas │ │ │ ├── read1.bas │ │ │ ├── read11.bas │ │ │ ├── read12.asm │ │ │ ├── read12.bas │ │ │ ├── read14.asm │ │ │ ├── read14.bas │ │ │ ├── read2.bas │ │ │ ├── read3.bas │ │ │ ├── read4.asm │ │ │ ├── read4.bas │ │ │ ├── read6.bas │ │ │ ├── read7.bas │ │ │ ├── read8.asm │ │ │ ├── read8.bas │ │ │ ├── read9.asm │ │ │ ├── read9.bas │ │ │ ├── readbug.bas │ │ │ ├── readokdown.asm │ │ │ ├── readokdown.bas │ │ │ ├── readokup.asm │ │ │ ├── readokup.bas │ │ │ ├── recur0.asm │ │ │ ├── recur0.bas │ │ │ ├── recurse_filter.asm │ │ │ ├── recurse_filter.bas │ │ │ ├── refconstparam.asm │ │ │ ├── refconstparam.bas │ │ │ ├── refconstparam2.asm │ │ │ ├── refconstparam2.bas │ │ │ ├── refconstparam3.bas │ │ │ ├── refconstparam4.asm │ │ │ ├── refconstparam4.bas │ │ │ ├── refconstparam5.asm │ │ │ ├── refconstparam5.bas │ │ │ ├── refconstparam6.asm │ │ │ ├── refconstparam6.bas │ │ │ ├── restore0.asm │ │ │ ├── restore0.bas │ │ │ ├── restore1.asm │ │ │ ├── restore1.bas │ │ │ ├── restore2.asm │ │ │ ├── restore2.bas │ │ │ ├── restore3.asm │ │ │ ├── restore3.bas │ │ │ ├── restore4.bas │ │ │ ├── rman.bas │ │ │ ├── rnd.asm │ │ │ ├── rnd.bas │ │ │ ├── save.asm │ │ │ ├── save.bas │ │ │ ├── save01.asm │ │ │ ├── save01.bas │ │ │ ├── save02.asm │ │ │ ├── save02.bas │ │ │ ├── save03.asm │ │ │ ├── save03.bas │ │ │ ├── save04.asm │ │ │ ├── save04.bas │ │ │ ├── semantic1.bas │ │ │ ├── sgnf.asm │ │ │ ├── sgnf.bas │ │ │ ├── sgnf16.asm │ │ │ ├── sgnf16.bas │ │ │ ├── sgni16.asm │ │ │ ├── sgni16.bas │ │ │ ├── sgni32.asm │ │ │ ├── sgni32.bas │ │ │ ├── sgni8.asm │ │ │ ├── sgni8.bas │ │ │ ├── sgnu16.asm │ │ │ ├── sgnu16.bas │ │ │ ├── sgnu32.asm │ │ │ ├── sgnu32.bas │ │ │ ├── sgnu8.asm │ │ │ ├── sgnu8.bas │ │ │ ├── shl_shr_16bit.asm │ │ │ ├── shl_shr_16bit.bas │ │ │ ├── shl_shr_32bit.asm │ │ │ ├── shl_shr_32bit.bas │ │ │ ├── shli16.asm │ │ │ ├── shli16.bas │ │ │ ├── shli32.asm │ │ │ ├── shli32.bas │ │ │ ├── shli8.asm │ │ │ ├── shli8.bas │ │ │ ├── shlu16.asm │ │ │ ├── shlu16.bas │ │ │ ├── shlu32.asm │ │ │ ├── shlu32.bas │ │ │ ├── shlu8.asm │ │ │ ├── shlu8.bas │ │ │ ├── shri16.asm │ │ │ ├── shri16.bas │ │ │ ├── shri32.asm │ │ │ ├── shri32.bas │ │ │ ├── shri8.asm │ │ │ ├── shri8.bas │ │ │ ├── shru16.asm │ │ │ ├── shru16.bas │ │ │ ├── shru32.asm │ │ │ ├── shru32.bas │ │ │ ├── shru8.asm │ │ │ ├── shru8.bas │ │ │ ├── sigilfunc.asm │ │ │ ├── sigilfunc.bas │ │ │ ├── simple.asm │ │ │ ├── simple.bas │ │ │ ├── sin1.asm │ │ │ ├── sin1.bas │ │ │ ├── slice0.asm │ │ │ ├── slice0.bas │ │ │ ├── slice2.asm │ │ │ ├── slice2.bas │ │ │ ├── sn_crash.bas │ │ │ ├── sna_00.bas │ │ │ ├── sna_00.sna │ │ │ ├── stdlib_SP_Fill.bas │ │ │ ├── stdlib_alloc.asm │ │ │ ├── stdlib_alloc.bas │ │ │ ├── stdlib_attr.asm │ │ │ ├── stdlib_attr.bas │ │ │ ├── stdlib_basic.asm │ │ │ ├── stdlib_basic.bas │ │ │ ├── stdlib_clearbox.asm │ │ │ ├── stdlib_clearbox.bas │ │ │ ├── stdlib_csrlin.asm │ │ │ ├── stdlib_csrlin.bas │ │ │ ├── stdlib_hex.asm │ │ │ ├── stdlib_hex.bas │ │ │ ├── stdlib_memcopy.asm │ │ │ ├── stdlib_memcopy.bas │ │ │ ├── stdlib_pos.asm │ │ │ ├── stdlib_pos.bas │ │ │ ├── stdlib_putchars.asm │ │ │ ├── stdlib_putchars.bas │ │ │ ├── stdlib_scrbuffer.asm │ │ │ ├── stdlib_scrbuffer.bas │ │ │ ├── stdlib_screen.asm │ │ │ ├── stdlib_screen.bas │ │ │ ├── stdlib_scroll.asm │ │ │ ├── stdlib_scroll.bas │ │ │ ├── stdlib_spectranet.asm │ │ │ ├── stdlib_spectranet.bas │ │ │ ├── stdlib_winscroll.asm │ │ │ ├── stdlib_winscroll.bas │ │ │ ├── stoperr.asm │ │ │ ├── stoperr.bas │ │ │ ├── storecstr.asm │ │ │ ├── storecstr.bas │ │ │ ├── storef.asm │ │ │ ├── storef.bas │ │ │ ├── storestr0.asm │ │ │ ├── storestr0.bas │ │ │ ├── storestr1.asm │ │ │ ├── storestr1.bas │ │ │ ├── storestr2.asm │ │ │ ├── storestr2.bas │ │ │ ├── storeu16.asm │ │ │ ├── storeu16.bas │ │ │ ├── storeu32.asm │ │ │ ├── storeu32.bas │ │ │ ├── storeu8.asm │ │ │ ├── storeu8.bas │ │ │ ├── str0.asm │ │ │ ├── str0.bas │ │ │ ├── str00.asm │ │ │ ├── str00.bas │ │ │ ├── str01.asm │ │ │ ├── str01.bas │ │ │ ├── str02.asm │ │ │ ├── str02.bas │ │ │ ├── str1.asm │ │ │ ├── str1.bas │ │ │ ├── str_base0.asm │ │ │ ├── str_base0.bas │ │ │ ├── str_base1.asm │ │ │ ├── str_base1.bas │ │ │ ├── str_base2.asm │ │ │ ├── str_base2.bas │ │ │ ├── str_base3.asm │ │ │ ├── str_base3.bas │ │ │ ├── str_base4.asm │ │ │ ├── str_base4.bas │ │ │ ├── str_base5.asm │ │ │ ├── str_base5.bas │ │ │ ├── str_slash.asm │ │ │ ├── str_slash.bas │ │ │ ├── stradd.asm │ │ │ ├── stradd.bas │ │ │ ├── strbase.asm │ │ │ ├── strbase.bas │ │ │ ├── strbase2.asm │ │ │ ├── strbase2.bas │ │ │ ├── streq00.asm │ │ │ ├── streq00.bas │ │ │ ├── strge00.asm │ │ │ ├── strge00.bas │ │ │ ├── strgt00.asm │ │ │ ├── strgt00.bas │ │ │ ├── strict.bas │ │ │ ├── strict2.asm │ │ │ ├── strict2.bas │ │ │ ├── strict3.bas │ │ │ ├── strict4.bas │ │ │ ├── strict5.bas │ │ │ ├── strict6.bas │ │ │ ├── strict7.bas │ │ │ ├── strict_bool.asm │ │ │ ├── strict_bool.bas │ │ │ ├── string_substr.asm │ │ │ ├── string_substr.bas │ │ │ ├── stringfunc.asm │ │ │ ├── stringfunc.bas │ │ │ ├── stringparam.asm │ │ │ ├── stringparam.bas │ │ │ ├── strle00.asm │ │ │ ├── strle00.bas │ │ │ ├── strlocal0.asm │ │ │ ├── strlocal0.bas │ │ │ ├── strlt00.asm │ │ │ ├── strlt00.bas │ │ │ ├── strne00.asm │ │ │ ├── strne00.bas │ │ │ ├── strparam0.asm │ │ │ ├── strparam0.bas │ │ │ ├── strparam1.asm │ │ │ ├── strparam1.bas │ │ │ ├── strparam2.asm │ │ │ ├── strparam2.bas │ │ │ ├── strparam3.asm │ │ │ ├── strparam3.bas │ │ │ ├── strsigil.asm │ │ │ ├── strsigil.bas │ │ │ ├── sub16.asm │ │ │ ├── sub16.bas │ │ │ ├── sub16a.asm │ │ │ ├── sub16a.bas │ │ │ ├── sub16b.asm │ │ │ ├── sub16b.bas │ │ │ ├── sub8.asm │ │ │ ├── sub8.bas │ │ │ ├── sub8a.asm │ │ │ ├── sub8a.bas │ │ │ ├── sub8b.asm │ │ │ ├── sub8b.bas │ │ │ ├── sub_data.bas │ │ │ ├── subcall1.bas │ │ │ ├── subcall2.bas │ │ │ ├── subf00.asm │ │ │ ├── subf00.bas │ │ │ ├── subf01.asm │ │ │ ├── subf01.bas │ │ │ ├── subf16c.asm │ │ │ ├── subf16c.bas │ │ │ ├── subi32c.asm │ │ │ ├── subi32c.bas │ │ │ ├── subparam.asm │ │ │ ├── subparam.bas │ │ │ ├── subrec.asm │ │ │ ├── subrec.bas │ │ │ ├── substr_empty.asm │ │ │ ├── substr_empty.bas │ │ │ ├── substr_empty2.asm │ │ │ ├── substr_empty2.bas │ │ │ ├── substr_err.bas │ │ │ ├── substr_expr.asm │ │ │ ├── substr_expr.bas │ │ │ ├── substr_expr2.asm │ │ │ ├── substr_expr2.bas │ │ │ ├── substr_expr_err.bas │ │ │ ├── substrlval.asm │ │ │ ├── substrlval.bas │ │ │ ├── subu32c.asm │ │ │ ├── subu32c.bas │ │ │ ├── swap32.asm │ │ │ ├── swap32.bas │ │ │ ├── syntax1.bas │ │ │ ├── sys_letarrsubstr0.asm │ │ │ ├── sys_letarrsubstr0.bas │ │ │ ├── sys_letarrsubstr1.asm │ │ │ ├── sys_letarrsubstr1.bas │ │ │ ├── sys_letarrsubstr2.asm │ │ │ ├── sys_letarrsubstr2.bas │ │ │ ├── sys_letsubstr0.asm │ │ │ ├── sys_letsubstr0.bas │ │ │ ├── sys_letsubstr1.asm │ │ │ ├── sys_letsubstr1.bas │ │ │ ├── sys_letsubstr2.asm │ │ │ ├── sys_letsubstr2.bas │ │ │ ├── tap_00.bas │ │ │ ├── tap_00.tap │ │ │ ├── tap_01.bas │ │ │ ├── tap_01.tap │ │ │ ├── tap_asm_error_line.bas │ │ │ ├── tap_errline0.bas │ │ │ ├── tap_errline1.bas │ │ │ ├── tap_incbin.bas │ │ │ ├── tap_incbin.tap │ │ │ ├── tap_include_asm_error.bas │ │ │ ├── typecast1.bas │ │ │ ├── typecast2.bas │ │ │ ├── tzx_00.bas │ │ │ ├── tzx_00.tzx │ │ │ ├── ubound0.asm │ │ │ ├── ubound0.bas │ │ │ ├── ubound1.asm │ │ │ ├── ubound1.bas │ │ │ ├── ubound10.asm │ │ │ ├── ubound10.bas │ │ │ ├── ubound11.asm │ │ │ ├── ubound11.bas │ │ │ ├── ubound12.asm │ │ │ ├── ubound12.bas │ │ │ ├── ubound2.asm │ │ │ ├── ubound2.bas │ │ │ ├── ubound3.asm │ │ │ ├── ubound3.bas │ │ │ ├── ubound4.asm │ │ │ ├── ubound4.bas │ │ │ ├── ubound5.asm │ │ │ ├── ubound5.bas │ │ │ ├── ubound6.asm │ │ │ ├── ubound6.bas │ │ │ ├── ubound7.asm │ │ │ ├── ubound7.bas │ │ │ ├── ubound8.asm │ │ │ ├── ubound8.bas │ │ │ ├── ubound9.asm │ │ │ ├── ubound9.bas │ │ │ ├── ubyteopt.asm │ │ │ ├── ubyteopt.bas │ │ │ ├── unary_crash.bas │ │ │ ├── use_zxnext_asm.asm │ │ │ ├── use_zxnext_asm.bas │ │ │ ├── usr0.asm │ │ │ ├── usr0.bas │ │ │ ├── utf-8-bom-bas.asm │ │ │ ├── utf-8-bom-bas.bas │ │ │ ├── val_str.asm │ │ │ ├── val_str.bas │ │ │ ├── valcrash1.asm │ │ │ ├── valcrash1.bas │ │ │ ├── valcrash2.asm │ │ │ ├── valcrash2.bas │ │ │ ├── warn_brk.asm │ │ │ ├── warn_brk.bas │ │ │ ├── warn_lbl.asm │ │ │ ├── warn_lbl.bas │ │ │ ├── warn_unreach0.asm │ │ │ ├── warn_unreach0.bas │ │ │ ├── while.asm │ │ │ ├── while.bas │ │ │ ├── while_err.bas │ │ │ ├── whileempty.bas │ │ │ ├── whileempty1.asm │ │ │ ├── whileempty1.bas │ │ │ ├── whilefalse.asm │ │ │ ├── whilefalse.bas │ │ │ ├── whilefalse1.asm │ │ │ ├── whilefalse1.bas │ │ │ ├── whilesplitted.asm │ │ │ ├── whilesplitted.bas │ │ │ ├── whiletrue.asm │ │ │ ├── whiletrue.bas │ │ │ ├── xor16.asm │ │ │ ├── xor16.bas │ │ │ ├── xor32.asm │ │ │ ├── xor32.bas │ │ │ ├── xor8.asm │ │ │ ├── xor8.bas │ │ │ ├── xorf.asm │ │ │ ├── xorf.bas │ │ │ ├── z80_00.bas │ │ │ └── z80_00.z80 │ │ └── zxnext │ │ │ ├── add16.asm │ │ │ ├── add16.bas │ │ │ ├── add16a.asm │ │ │ ├── add16a.bas │ │ │ ├── add16b.asm │ │ │ ├── add16b.bas │ │ │ ├── add32.asm │ │ │ ├── add32.bas │ │ │ ├── add32a.asm │ │ │ ├── add32a.bas │ │ │ ├── add32b.asm │ │ │ ├── add32b.bas │ │ │ ├── add8.asm │ │ │ ├── add8.bas │ │ │ ├── add8a.asm │ │ │ ├── add8a.bas │ │ │ ├── add8b.asm │ │ │ ├── add8b.bas │ │ │ ├── addf.asm │ │ │ ├── addf.bas │ │ │ ├── addf16.asm │ │ │ ├── addf16.bas │ │ │ ├── addf16a.asm │ │ │ ├── addf16a.bas │ │ │ ├── addf16b.asm │ │ │ ├── addf16b.bas │ │ │ ├── addstr.asm │ │ │ ├── addstr.bas │ │ │ ├── array00.asm │ │ │ ├── array00.bas │ │ │ ├── array01.asm │ │ │ ├── array01.bas │ │ │ ├── array02.asm │ │ │ ├── array02.bas │ │ │ ├── array03.asm │ │ │ ├── array03.bas │ │ │ ├── array04.asm │ │ │ ├── array04.bas │ │ │ ├── array05.asm │ │ │ ├── array05.bas │ │ │ ├── array06.asm │ │ │ ├── array06.bas │ │ │ ├── array07.asm │ │ │ ├── array07.bas │ │ │ ├── array08.asm │ │ │ ├── array08.bas │ │ │ ├── array09.asm │ │ │ ├── array09.bas │ │ │ ├── arraycopy0.asm │ │ │ ├── arraycopy0.bas │ │ │ ├── arraycopy1.asm │ │ │ ├── arraycopy1.bas │ │ │ ├── arraycopy2.asm │ │ │ ├── arraycopy2.bas │ │ │ ├── arraycopy3.asm │ │ │ ├── arraycopy3.bas │ │ │ ├── arraycopy4.asm │ │ │ ├── arraycopy4.bas │ │ │ ├── arraycopy5.asm │ │ │ ├── arraycopy5.bas │ │ │ ├── bound00.asm │ │ │ ├── bound00.bas │ │ │ ├── bound01.asm │ │ │ ├── bound01.bas │ │ │ ├── bound02.asm │ │ │ ├── bound02.bas │ │ │ ├── bound03.asm │ │ │ ├── bound03.bas │ │ │ ├── bound04.asm │ │ │ ├── bound04.bas │ │ │ ├── div32.asm │ │ │ ├── div32.bas │ │ │ ├── divf00.asm │ │ │ ├── divf00.bas │ │ │ ├── divf01.asm │ │ │ ├── divf01.bas │ │ │ ├── divf16.asm │ │ │ ├── divf16.bas │ │ │ ├── divf16a.asm │ │ │ ├── divf16a.bas │ │ │ ├── divf16b.asm │ │ │ ├── divf16b.bas │ │ │ ├── divf16c.asm │ │ │ ├── divf16c.bas │ │ │ ├── divi16a.asm │ │ │ ├── divi16a.bas │ │ │ ├── divi16b.asm │ │ │ ├── divi16b.bas │ │ │ ├── divi32c.asm │ │ │ ├── divi32c.bas │ │ │ ├── divi8.asm │ │ │ ├── divi8.bas │ │ │ ├── divi8a.asm │ │ │ ├── divi8a.bas │ │ │ ├── divi8b.asm │ │ │ ├── divi8b.bas │ │ │ ├── divu16.asm │ │ │ ├── divu16.bas │ │ │ ├── divu16a.asm │ │ │ ├── divu16a.bas │ │ │ ├── divu16b.asm │ │ │ ├── divu16b.bas │ │ │ ├── divu32c.asm │ │ │ ├── divu32c.bas │ │ │ ├── divu8.asm │ │ │ ├── divu8.bas │ │ │ ├── divu8a.asm │ │ │ ├── divu8a.bas │ │ │ ├── divu8b.asm │ │ │ ├── divu8b.bas │ │ │ ├── equ16.asm │ │ │ ├── equ16.bas │ │ │ ├── equ32.asm │ │ │ ├── equ32.bas │ │ │ ├── equ8.asm │ │ │ ├── equ8.bas │ │ │ ├── equf.asm │ │ │ ├── equf.bas │ │ │ ├── fact.asm │ │ │ ├── fact.bas │ │ │ ├── fp_pow.asm │ │ │ ├── fp_pow.bas │ │ │ ├── gef.asm │ │ │ ├── gef.bas │ │ │ ├── gef16.asm │ │ │ ├── gef16.bas │ │ │ ├── gei16.asm │ │ │ ├── gei16.bas │ │ │ ├── gei32.asm │ │ │ ├── gei32.bas │ │ │ ├── gei8.asm │ │ │ ├── gei8.bas │ │ │ ├── geu16.asm │ │ │ ├── geu16.bas │ │ │ ├── geu32.asm │ │ │ ├── geu32.bas │ │ │ ├── geu8.asm │ │ │ ├── geu8.bas │ │ │ ├── gtf.asm │ │ │ ├── gtf.bas │ │ │ ├── gtf16.asm │ │ │ ├── gtf16.bas │ │ │ ├── gti16.asm │ │ │ ├── gti16.bas │ │ │ ├── gti32.asm │ │ │ ├── gti32.bas │ │ │ ├── gti8.asm │ │ │ ├── gti8.bas │ │ │ ├── gtu16.asm │ │ │ ├── gtu16.bas │ │ │ ├── gtu32.asm │ │ │ ├── gtu32.bas │ │ │ ├── gtu8.asm │ │ │ ├── gtu8.bas │ │ │ ├── inkey.asm │ │ │ ├── inkey.bas │ │ │ ├── lbound12.asm │ │ │ ├── lbound12.bas │ │ │ ├── lef.asm │ │ │ ├── lef.bas │ │ │ ├── lei16.asm │ │ │ ├── lei16.bas │ │ │ ├── lei32.asm │ │ │ ├── lei32.bas │ │ │ ├── lei8.asm │ │ │ ├── lei8.bas │ │ │ ├── leu8.asm │ │ │ ├── leu8.bas │ │ │ ├── ltf.asm │ │ │ ├── ltf.bas │ │ │ ├── ltf16.asm │ │ │ ├── ltf16.bas │ │ │ ├── lti16.asm │ │ │ ├── lti16.bas │ │ │ ├── lti32.asm │ │ │ ├── lti32.bas │ │ │ ├── lti8.asm │ │ │ ├── lti8.bas │ │ │ ├── ltu16.asm │ │ │ ├── ltu16.bas │ │ │ ├── ltu32.asm │ │ │ ├── ltu32.bas │ │ │ ├── ltu8.asm │ │ │ ├── ltu8.bas │ │ │ ├── math_acs.asm │ │ │ ├── math_acs.bas │ │ │ ├── math_asn.asm │ │ │ ├── math_asn.bas │ │ │ ├── math_atn.asm │ │ │ ├── math_atn.bas │ │ │ ├── math_cos.asm │ │ │ ├── math_cos.bas │ │ │ ├── math_exp.asm │ │ │ ├── math_exp.bas │ │ │ ├── math_ln.asm │ │ │ ├── math_ln.bas │ │ │ ├── math_sin.asm │ │ │ ├── math_sin.bas │ │ │ ├── math_sqr.asm │ │ │ ├── math_sqr.bas │ │ │ ├── math_tan.asm │ │ │ ├── math_tan.bas │ │ │ ├── modf.asm │ │ │ ├── modf.bas │ │ │ ├── modf16.asm │ │ │ ├── modf16.bas │ │ │ ├── modf16c.asm │ │ │ ├── modf16c.bas │ │ │ ├── modi32c.asm │ │ │ ├── modi32c.bas │ │ │ ├── modi8.asm │ │ │ ├── modi8.bas │ │ │ ├── modi8a.asm │ │ │ ├── modi8a.bas │ │ │ ├── modi8b.asm │ │ │ ├── modi8b.bas │ │ │ ├── modu32c.asm │ │ │ ├── modu32c.bas │ │ │ ├── modu8.asm │ │ │ ├── modu8.bas │ │ │ ├── modu8a.asm │ │ │ ├── modu8a.bas │ │ │ ├── modu8b.asm │ │ │ ├── modu8b.bas │ │ │ ├── mul16.asm │ │ │ ├── mul16.bas │ │ │ ├── mul16a.asm │ │ │ ├── mul16a.bas │ │ │ ├── mul16b.asm │ │ │ ├── mul16b.bas │ │ │ ├── mul16c.asm │ │ │ ├── mul16c.bas │ │ │ ├── mul8.asm │ │ │ ├── mul8.bas │ │ │ ├── mul8a.asm │ │ │ ├── mul8a.bas │ │ │ ├── mul8b.asm │ │ │ ├── mul8b.bas │ │ │ ├── mulf00.asm │ │ │ ├── mulf00.bas │ │ │ ├── mulf01.asm │ │ │ ├── mulf01.bas │ │ │ ├── mulf16.asm │ │ │ ├── mulf16.bas │ │ │ ├── mulf16a.asm │ │ │ ├── mulf16a.bas │ │ │ ├── muli8.asm │ │ │ ├── muli8.bas │ │ │ ├── mulu16.asm │ │ │ ├── mulu16.bas │ │ │ ├── mulu8.asm │ │ │ ├── mulu8.bas │ │ │ ├── nef.asm │ │ │ ├── nef.bas │ │ │ ├── nef16.asm │ │ │ ├── nef16.bas │ │ │ ├── nei16.asm │ │ │ ├── nei16.bas │ │ │ ├── nei32.asm │ │ │ ├── nei32.bas │ │ │ ├── nei8.asm │ │ │ ├── nei8.bas │ │ │ ├── neu16.asm │ │ │ ├── neu16.bas │ │ │ ├── neu32.asm │ │ │ ├── neu32.bas │ │ │ ├── neu8.asm │ │ │ ├── neu8.bas │ │ │ ├── opt1_beep_const.asm │ │ │ ├── opt1_beep_const.bas │ │ │ ├── opt1_beep_var.asm │ │ │ ├── opt1_beep_var.bas │ │ │ ├── opt2_epilogue.asm │ │ │ ├── opt2_epilogue.bas │ │ │ ├── opt4_mul8.asm │ │ │ ├── opt4_mul8.bas │ │ │ ├── print_f.asm │ │ │ ├── print_f.bas │ │ │ ├── print_i16.asm │ │ │ ├── print_i16.bas │ │ │ ├── print_i32.asm │ │ │ ├── print_i32.bas │ │ │ ├── print_i8.asm │ │ │ ├── print_i8.bas │ │ │ ├── print_u16.asm │ │ │ ├── print_u16.bas │ │ │ ├── print_u32.asm │ │ │ ├── print_u32.bas │ │ │ ├── print_u8.asm │ │ │ ├── print_u8.bas │ │ │ ├── shli16.asm │ │ │ ├── shli16.bas │ │ │ ├── shli32.asm │ │ │ ├── shli32.bas │ │ │ ├── shli8.asm │ │ │ ├── shli8.bas │ │ │ ├── shlu16.asm │ │ │ ├── shlu16.bas │ │ │ ├── shlu32.asm │ │ │ ├── shlu32.bas │ │ │ ├── shlu8.asm │ │ │ ├── shlu8.bas │ │ │ ├── shri16.asm │ │ │ ├── shri16.bas │ │ │ ├── shri32.asm │ │ │ ├── shri32.bas │ │ │ ├── shri8.asm │ │ │ ├── shri8.bas │ │ │ ├── shru16.asm │ │ │ ├── shru16.bas │ │ │ ├── shru32.asm │ │ │ ├── shru32.bas │ │ │ ├── shru8.asm │ │ │ ├── shru8.bas │ │ │ ├── sub16.asm │ │ │ ├── sub16.bas │ │ │ ├── sub16a.asm │ │ │ ├── sub16a.bas │ │ │ ├── sub16b.asm │ │ │ ├── sub16b.bas │ │ │ ├── sub8.asm │ │ │ ├── sub8.bas │ │ │ ├── sub8a.asm │ │ │ ├── sub8a.bas │ │ │ ├── sub8b.asm │ │ │ ├── sub8b.bas │ │ │ ├── subf00.asm │ │ │ ├── subf00.bas │ │ │ ├── subf01.asm │ │ │ ├── subf01.bas │ │ │ ├── subf16c.asm │ │ │ ├── subf16c.bas │ │ │ ├── subi32c.asm │ │ │ ├── subi32c.bas │ │ │ ├── ubound0.asm │ │ │ ├── ubound0.bas │ │ │ ├── ubound12.asm │ │ │ └── ubound12.bas │ ├── asm │ │ ├── align.asm │ │ ├── align.bin │ │ ├── align2.asm │ │ ├── align2.bin │ │ ├── align3.asm │ │ ├── and_err.asm │ │ ├── asm_lb_ix_rb.asm │ │ ├── asm_lb_ix_rb.bin │ │ ├── asm_wrong_opcode.asm │ │ ├── asmcolon.asm │ │ ├── asmcolon.bin │ │ ├── asmcolon2.asm │ │ ├── asmcolon2.bin │ │ ├── asmcolon3.asm │ │ ├── asmcolon3.bin │ │ ├── asmcolon4.asm │ │ ├── asmcolon4.bin │ │ ├── asmconst0.asm │ │ ├── asmconst0.bin │ │ ├── asmerror0.asm │ │ ├── asmerror0.bin │ │ ├── asmerror1.asm │ │ ├── asmerror2.asm │ │ ├── asmlabel1.asm │ │ ├── asmlabel1.bin │ │ ├── asmlabel2.asm │ │ ├── asmlabel2.bin │ │ ├── asmprepro.asm │ │ ├── asmprepro.bin │ │ ├── asmproc00.asm │ │ ├── asmproc00.bin │ │ ├── asmproc01.asm │ │ ├── asmproc01.bin │ │ ├── asmproc02.asm │ │ ├── asmproc02.bin │ │ ├── asmproc03.asm │ │ ├── asmproc03.bin │ │ ├── asmproc05.asm │ │ ├── asmproc06.asm │ │ ├── asmproc06.bin │ │ ├── asmproc07.asm │ │ ├── asmproc07.bin │ │ ├── asmproc08.asm │ │ ├── asmproc09.asm │ │ ├── atoloduplbl.asm │ │ ├── bitop0.asm │ │ ├── bitop1.asm │ │ ├── constexpr.asm │ │ ├── constexpr.bin │ │ ├── constexpr2.asm │ │ ├── constexpr2.bin │ │ ├── db256.asm │ │ ├── db256.bin │ │ ├── db_multi.asm │ │ ├── db_multi.bin │ │ ├── dbbad.asm │ │ ├── dbbad.bin │ │ ├── defsbad.asm │ │ ├── divint.asm │ │ ├── divint.bin │ │ ├── end_newline.asm │ │ ├── end_newline.bin │ │ ├── error_macro.asm │ │ ├── hex_num.asm │ │ ├── hex_num.bin │ │ ├── hex_num1.asm │ │ ├── hex_num1.bin │ │ ├── im0.asm │ │ ├── incbin0.asm │ │ ├── incbin1.asm │ │ ├── incbin1.bin │ │ ├── incbin2.asm │ │ ├── incbin2.bin │ │ ├── incbin3.asm │ │ ├── incbin3.bin │ │ ├── incbin4.asm │ │ ├── incbin4.bin │ │ ├── incbin5.asm │ │ ├── incbin5.bin │ │ ├── incbin6.asm │ │ ├── init_dot.asm │ │ ├── init_dot.bin │ │ ├── jp1f_bad.asm │ │ ├── jp1f_bad.bin │ │ ├── jphl.asm │ │ ├── jphl.bin │ │ ├── jr1.asm │ │ ├── jr2.asm │ │ ├── jr_no_label.asm │ │ ├── ld_hl16_bracket.asm │ │ ├── ld_hl16_bracket.bin │ │ ├── ldix.asm │ │ ├── ldix.bin │ │ ├── ldix1.asm │ │ ├── ldix1.bin │ │ ├── ldix2.asm │ │ ├── ldix3.asm │ │ ├── ldix4.asm │ │ ├── ltee11.asm │ │ ├── ltee11.bin │ │ ├── ltee12.asm │ │ ├── ltee12.bin │ │ ├── namespace00.asm │ │ ├── namespace00.bin │ │ ├── namespace01.asm │ │ ├── namespace01.bin │ │ ├── namespace02.asm │ │ ├── namespace02.bin │ │ ├── namespace_push_pop.asm │ │ ├── namespace_push_pop.bin │ │ ├── neg_par.asm │ │ ├── neg_par.bin │ │ ├── newl.asm │ │ ├── no_zxnext.asm │ │ ├── nop_nop.asm │ │ ├── nop_nop.bin │ │ ├── opers.asm │ │ ├── opers.bin │ │ ├── orgasm.asm │ │ ├── orgasm.bin │ │ ├── orgbad.asm │ │ ├── paren.asm │ │ ├── paren.bin │ │ ├── prepro35.asm │ │ ├── prepro35.bin │ │ ├── preprocerr1.asm │ │ ├── preprocerr2.asm │ │ ├── print42.bin │ │ ├── rst0.asm │ │ ├── shift.asm │ │ ├── shift.bin │ │ ├── tmp_label0.asm │ │ ├── tmp_label0.bin │ │ ├── tmp_label1.asm │ │ ├── tmp_label2.asm │ │ ├── tmp_label3.asm │ │ ├── tmp_label4.asm │ │ ├── tmp_label4.bin │ │ ├── tmp_label5.asm │ │ ├── tmp_label5.bin │ │ ├── tmp_label6.asm │ │ ├── tmp_label6.bin │ │ ├── tmp_label7.asm │ │ ├── tmp_label7.bin │ │ ├── undef_label.asm │ │ ├── undoc.asm │ │ ├── undoc.bin │ │ ├── utf-8-bom-asm.asm │ │ ├── utf-8-bom-asm.bin │ │ ├── zxnext_all.asm │ │ ├── zxnext_all.bin │ │ ├── zxnext_all_brackets.asm │ │ └── zxnext_all_brackets.bin │ ├── cmdline │ │ ├── test_asm.txt │ │ ├── test_cmdline.txt │ │ ├── test_errmsg.txt │ │ ├── test_loop_check.txt │ │ ├── test_prepro.txt │ │ ├── test_read_data.txt │ │ └── test_warning.txt │ ├── test.py │ ├── test_.py │ ├── test_asm.py │ ├── test_basic.py │ ├── test_prepro.py │ └── zxbpp │ │ ├── builtin.bi │ │ ├── builtin.out │ │ ├── emook0.bi │ │ ├── emook0.out │ │ ├── iflogic.bi │ │ ├── iflogic.out │ │ ├── init_dot.bi │ │ ├── init_dot.out │ │ ├── line_asm.bi │ │ ├── line_asm.out │ │ ├── once.bi │ │ ├── once.out │ │ ├── once_base.bi │ │ ├── once_base.out │ │ ├── prepro00.bi │ │ ├── prepro00.out │ │ ├── prepro01.bi │ │ ├── prepro01.out │ │ ├── prepro02.bi │ │ ├── prepro02.out │ │ ├── prepro03.bi │ │ ├── prepro03.out │ │ ├── prepro04.bi │ │ ├── prepro04.out │ │ ├── prepro05.bi │ │ ├── prepro05.out │ │ ├── prepro06.bi │ │ ├── prepro06.out │ │ ├── prepro07.bi │ │ ├── prepro09.bi │ │ ├── prepro09.out │ │ ├── prepro10.bi │ │ ├── prepro10.out │ │ ├── prepro11.bi │ │ ├── prepro11.out │ │ ├── prepro12.bi │ │ ├── prepro12.out │ │ ├── prepro13.bi │ │ ├── prepro13.out │ │ ├── prepro14.bi │ │ ├── prepro14.out │ │ ├── prepro15.bi │ │ ├── prepro15.out │ │ ├── prepro16.bi │ │ ├── prepro16.out │ │ ├── prepro17.bi │ │ ├── prepro17.out │ │ ├── prepro18.bi │ │ ├── prepro18.out │ │ ├── prepro19.bi │ │ ├── prepro19.out │ │ ├── prepro20.bi │ │ ├── prepro20.out │ │ ├── prepro21.bi │ │ ├── prepro21.out │ │ ├── prepro22.bi │ │ ├── prepro23.bi │ │ ├── prepro23.out │ │ ├── prepro24.bi │ │ ├── prepro24.out │ │ ├── prepro25.bi │ │ ├── prepro25.out │ │ ├── prepro26.bi │ │ ├── prepro26.out │ │ ├── prepro27.bi │ │ ├── prepro27.out │ │ ├── prepro28.bi │ │ ├── prepro29.bi │ │ ├── prepro29.out │ │ ├── prepro30.bi │ │ ├── prepro30.out │ │ ├── prepro31.bi │ │ ├── prepro31.out │ │ ├── prepro32.bi │ │ ├── prepro32.out │ │ ├── prepro33.bi │ │ ├── prepro33.out │ │ ├── prepro34.bi │ │ ├── prepro34.out │ │ ├── prepro35.bi │ │ ├── prepro36.bi │ │ ├── prepro36.out │ │ ├── prepro37.bi │ │ ├── prepro37.out │ │ ├── prepro38.bi │ │ ├── prepro38.out │ │ ├── prepro39.bi │ │ ├── prepro39.out │ │ ├── prepro40.bi │ │ ├── prepro40.out │ │ ├── prepro41.bi │ │ ├── prepro41.out │ │ ├── prepro42.bi │ │ ├── prepro42.out │ │ ├── prepro43.bi │ │ ├── prepro43.out │ │ ├── prepro44.bi │ │ ├── prepro44.out │ │ ├── prepro45.bi │ │ ├── prepro45.out │ │ ├── prepro46.bi │ │ ├── prepro46.out │ │ ├── prepro47.bi │ │ ├── prepro47.out │ │ ├── prepro48.bi │ │ ├── prepro48.out │ │ ├── prepro49.bi │ │ ├── prepro49.out │ │ ├── prepro50.bi │ │ ├── prepro50.out │ │ ├── prepro51.bi │ │ ├── prepro51.out │ │ ├── prepro52.bi │ │ ├── prepro52.out │ │ ├── prepro53.bi │ │ ├── prepro53.out │ │ ├── prepro54.bi │ │ ├── prepro54.out │ │ ├── prepro55.bi │ │ ├── prepro55.out │ │ ├── prepro56.bi │ │ ├── prepro56.out │ │ ├── prepro57.bi │ │ ├── prepro57.out │ │ ├── prepro58.bi │ │ ├── prepro58.out │ │ ├── prepro59.bi │ │ ├── prepro59.out │ │ ├── prepro60.bi │ │ ├── prepro60.out │ │ ├── prepro61.bi │ │ ├── prepro61.out │ │ ├── prepro62.bi │ │ ├── prepro62.out │ │ ├── prepro63.bi │ │ ├── prepro63.out │ │ ├── prepro64.bi │ │ ├── prepro64.out │ │ ├── prepro70.bi │ │ ├── prepro70.out │ │ ├── prepro71.bi │ │ ├── prepro71.out │ │ ├── prepro72.bi │ │ ├── prepro72.out │ │ ├── prepro73.bi │ │ ├── prepro73.out │ │ ├── prepro74.bi │ │ ├── prepro74.out │ │ ├── prepro75.bi │ │ ├── prepro75.out │ │ ├── prepro76.bi │ │ ├── prepro77.bi │ │ ├── prepro77.out │ │ ├── prepro80.bi │ │ ├── prepro80.out │ │ ├── prepro81.bi │ │ ├── prepro81.out │ │ ├── prepro82.bi │ │ ├── prepro82.out │ │ ├── prepro90.bi │ │ ├── prepro90.out │ │ ├── prepro91.bi │ │ ├── prepro91.out │ │ ├── prepro92.bi │ │ ├── prepro92.out │ │ ├── prepro93.bi │ │ ├── prepro93.out │ │ ├── prepro94.bi │ │ ├── prepro94.out │ │ ├── prepro95.bi │ │ ├── prepro95.out │ │ ├── spectrum.bi │ │ ├── spectrum.out │ │ ├── stringizing0.bi │ │ ├── stringizing0.out │ │ ├── stringizing1.bi │ │ ├── stringizing1.out │ │ ├── stringizing2.bi │ │ ├── stringizing2.out │ │ ├── token-paste0.bi │ │ ├── token-paste0.out │ │ ├── token-paste1.bi │ │ └── token-paste1.out ├── runtime │ ├── Makefile │ ├── cases │ │ ├── arr_addr.bas │ │ ├── arrbound_check1.bas │ │ ├── arrbound_check2.bas │ │ ├── arrbound_check3.bas │ │ ├── arrcheck1.bas │ │ ├── arrcheck2.bas │ │ ├── bitwise8.bas │ │ ├── drawing_primitives.bas │ │ ├── eq8.bas │ │ ├── gei16.bas │ │ ├── gei8.bas │ │ ├── geu8.bas │ │ ├── gti16.bas │ │ ├── gti8.bas │ │ ├── int_float.bas │ │ ├── lei16.bas │ │ ├── lei8.bas │ │ ├── lib │ │ │ └── tst_framework.bas │ │ ├── lti16.bas │ │ ├── lti8.bas │ │ ├── ltrim_test.bas │ │ ├── maxavail.bas │ │ ├── memavail.bas │ │ ├── memcpytest.bas │ │ ├── norm_bool.bas │ │ ├── ongoto.bas │ │ ├── point.bas │ │ ├── print42.bas │ │ ├── print64.bas │ │ ├── print_color.bas │ │ ├── print_number.bas │ │ ├── print_tab.bas │ │ ├── printchr22.bas │ │ ├── prn_comma.bas │ │ ├── read_coercion.bas │ │ ├── read_float_expr.bas │ │ ├── read_float_expr_into_fixed.bas │ │ ├── read_float_func.bas │ │ ├── readokdown.bas │ │ ├── readokup.bas │ │ ├── rtrim_test.bas │ │ ├── screen_xy_shift.bas │ │ ├── spfill.bas │ │ ├── streq00.bas │ │ ├── usr_str.bas │ │ └── xor.bas │ ├── check_test.py │ ├── expected │ │ ├── arr_addr.tzx.scr │ │ ├── arrbound_check1.tzx.scr │ │ ├── arrbound_check2.tzx.scr │ │ ├── arrbound_check3.tzx.scr │ │ ├── arrcheck1.tzx.scr │ │ ├── arrcheck2.tzx.scr │ │ ├── bitwise8.tzx.scr │ │ ├── drawing_primitives.tzx.scr │ │ ├── eq8.tzx.scr │ │ ├── gei16.tzx.scr │ │ ├── gei8.tzx.scr │ │ ├── geu8.tzx.scr │ │ ├── gti16.tzx.scr │ │ ├── gti8.tzx.scr │ │ ├── int_float.tzx.scr │ │ ├── lei16.tzx.scr │ │ ├── lei8.tzx.scr │ │ ├── lti16.tzx.scr │ │ ├── lti8.tzx.scr │ │ ├── ltrim_test.tzx.scr │ │ ├── maxavail.tzx.scr │ │ ├── memavail.tzx.scr │ │ ├── memcpytest.tzx.scr │ │ ├── norm_bool.tzx.scr │ │ ├── ongoto.tzx.scr │ │ ├── point.tzx.scr │ │ ├── print42.tzx.scr │ │ ├── print64.tzx.scr │ │ ├── print_color.tzx.scr │ │ ├── print_number.tzx.scr │ │ ├── print_tab.tzx.scr │ │ ├── printchr22.tzx.scr │ │ ├── prn_comma.tzx.scr │ │ ├── read_coercion.tzx.scr │ │ ├── read_float_expr.tzx.scr │ │ ├── read_float_expr_into_fixed.tzx.scr │ │ ├── read_float_func.tzx.scr │ │ ├── readokdown.tzx.scr │ │ ├── readokup.tzx.scr │ │ ├── rtrim_test.tzx.scr │ │ ├── screen_xy_shift.tzx.scr │ │ ├── spfill.tzx.scr │ │ ├── streq00.tzx.scr │ │ ├── usr_str.tzx.scr │ │ └── xor.tzx.scr │ ├── gei32.bas │ ├── gti32.bas │ ├── lei32.bas │ ├── lti32.bas │ ├── run │ ├── test_all │ ├── test_case │ ├── update_test.py │ └── update_test.sh ├── symbols │ ├── __init__.py │ ├── test_symbolARGLIST.py │ ├── test_symbolARRAYACCESS.py │ ├── test_symbolBASICTYPE.py │ ├── test_symbolBINARY.py │ ├── test_symbolBLOCK.py │ ├── test_symbolBOUND.py │ ├── test_symbolBOUNDLIST.py │ ├── test_symbolFUNCDECL.py │ ├── test_symbolFUNCTION.py │ ├── test_symbolLABEL.py │ ├── test_symbolNOP.py │ ├── test_symbolNUMBER.py │ ├── test_symbolSENTENCE.py │ ├── test_symbolSTRING.py │ ├── test_symbolSTRSLICE.py │ ├── test_symbolTYPE.py │ ├── test_symbolTYPEALIAS.py │ ├── test_symbolTYPECAST.py │ ├── test_symbolVAR.py │ └── test_symbolVARARRAY.py └── zxbc │ ├── __init__.py │ └── test_build_parsetab.py ├── tools ├── consolidate-libs.py ├── fixed.py ├── mulfix.py ├── nextcreator.py ├── normalize_asm.py ├── normalize_bas.py ├── profile.sh └── scrview.py ├── zxbasm.py ├── zxbc.py └── zxbpp.py /.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | omit = 3 | .tox/* 4 | -------------------------------------------------------------------------------- /.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/.nojekyll -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | docs.boriel-basic.net -------------------------------------------------------------------------------- /docs/architectures/adam.md: -------------------------------------------------------------------------------- 1 | # Adam 2 | 3 | * http://drushel.cwru.edu/atm/atm.html 4 | -------------------------------------------------------------------------------- /docs/architectures/alphatronicpc.md: -------------------------------------------------------------------------------- 1 | # AlphatronicPC 2 | 3 | * http://www.old-computers.com/museum/computer.asp?st=1&c=241 4 | -------------------------------------------------------------------------------- /docs/architectures/apple_ii.md: -------------------------------------------------------------------------------- 1 | # Apple II 2 | 3 | * Applesoft Basic: http://www.txbobsc.com/scsc/scdocumentor/ 4 | -------------------------------------------------------------------------------- /docs/architectures/atarilynx.md: -------------------------------------------------------------------------------- 1 | # AtariLynx 2 | 3 | * http://www.atariage.com/Lynx/archives/developer_docs/index.html?SystemID=LYNX 4 | -------------------------------------------------------------------------------- /docs/architectures/c128.md: -------------------------------------------------------------------------------- 1 | # C128 2 | 3 | * http://rvbelzen.tripod.com/128intpt/index.html 4 | -------------------------------------------------------------------------------- /docs/architectures/c64.md: -------------------------------------------------------------------------------- 1 | # C64 2 | 3 | * http://sta.c64.org/cbm64mem.html 4 | * http://www.villehelin.com/wla.html 5 | -------------------------------------------------------------------------------- /docs/architectures/camputers_lynx.md: -------------------------------------------------------------------------------- 1 | # Camputers Lynx 2 | 3 | * http://camputerslynx.info/ 4 | -------------------------------------------------------------------------------- /docs/architectures/capcom1942.md: -------------------------------------------------------------------------------- 1 | # Capcom1942 2 | 3 | * http://mamedev.org/source/src/mame/drivers/1942.c.html 4 | -------------------------------------------------------------------------------- /docs/architectures/capcom1943.md: -------------------------------------------------------------------------------- 1 | # Capcom1943 2 | 3 | * http://mamedev.org/source/src/mame/drivers/1943.c.html 4 | -------------------------------------------------------------------------------- /docs/architectures/coco2.md: -------------------------------------------------------------------------------- 1 | # CoCo2 2 | 3 | * http://koti.mbnet.fi/~atjs/mc6809/ 4 | -------------------------------------------------------------------------------- /docs/architectures/galeb.md: -------------------------------------------------------------------------------- 1 | # Galeb 2 | 3 | * http://retro.foing-nova.hr/galebemu.htm 4 | -------------------------------------------------------------------------------- /docs/architectures/memotech_mtx.md: -------------------------------------------------------------------------------- 1 | # Memotech MTX 2 | 3 | * http://www.mtxworld.dk/basiccmd.php 4 | * http://www.mtxinfo.de/ 5 | -------------------------------------------------------------------------------- /docs/architectures/namcogalaga.md: -------------------------------------------------------------------------------- 1 | # NamcoGalaga 2 | 3 | * http://mamedev.org/source/src/mame/drivers/galaga.c.html 4 | -------------------------------------------------------------------------------- /docs/architectures/neogeo.md: -------------------------------------------------------------------------------- 1 | # NeoGeo 2 | 3 | * http://wiki.neogeodev.org 4 | -------------------------------------------------------------------------------- /docs/architectures/neogeopocket.md: -------------------------------------------------------------------------------- 1 | # NeoGeoPocket 2 | 3 | * http://www.devrs.com/ngp/ 4 | -------------------------------------------------------------------------------- /docs/architectures/ninjawarriors.md: -------------------------------------------------------------------------------- 1 | # NinjaWarriors 2 | -------------------------------------------------------------------------------- /docs/architectures/pcengine.md: -------------------------------------------------------------------------------- 1 | # PCEngine 2 | 3 | * http://www.villehelin.com/wla.html 4 | -------------------------------------------------------------------------------- /docs/architectures/pmd85.md: -------------------------------------------------------------------------------- 1 | # PMD85 2 | 3 | * http://pmd85.topindex.sk/ 4 | * http://reocities.com/siliconvalley/9723/other.html 5 | -------------------------------------------------------------------------------- /docs/architectures/pv2000.md: -------------------------------------------------------------------------------- 1 | # PV2000 2 | 3 | * https://github.com/mamedev/mame/blob/master/src/mess/drivers/pv2000.c 4 | -------------------------------------------------------------------------------- /docs/architectures/sc3000.md: -------------------------------------------------------------------------------- 1 | # SC3000 2 | 3 | * http://www.sc-3000.com 4 | -------------------------------------------------------------------------------- /docs/architectures/sectionz.md: -------------------------------------------------------------------------------- 1 | # SectionZ 2 | 3 | * http://www.system16.com/hardware.php?id=789&gid=51#51 4 | -------------------------------------------------------------------------------- /docs/architectures/segamodel1.md: -------------------------------------------------------------------------------- 1 | # SegaModel1 2 | 3 | * http://mamedev.org/source/src/mame/drivers/model1.c.html 4 | -------------------------------------------------------------------------------- /docs/architectures/segamodel2.md: -------------------------------------------------------------------------------- 1 | # SegaModel2 2 | 3 | * http://mamedev.org/source/src/mame/drivers/model2.c.html 4 | -------------------------------------------------------------------------------- /docs/architectures/segamodel3.md: -------------------------------------------------------------------------------- 1 | # SegaModel3 2 | 3 | * http://mamedev.org/source/src/mame/drivers/model3.c.html 4 | -------------------------------------------------------------------------------- /docs/architectures/segaoutrun.md: -------------------------------------------------------------------------------- 1 | # SegaOutrun 2 | 3 | * http://www.system16.com/hardware.php?id=697&gid=1843#1843 4 | -------------------------------------------------------------------------------- /docs/architectures/shaolinsroad.md: -------------------------------------------------------------------------------- 1 | # ShaolinsRoad 2 | 3 | * http://mamedev.org/source/src/mame/drivers/shaolins.c.html 4 | -------------------------------------------------------------------------------- /docs/architectures/sharpx1.md: -------------------------------------------------------------------------------- 1 | # SharpX1 2 | 3 | * http://sanchome.oriongate.jp/?page_id=35 4 | -------------------------------------------------------------------------------- /docs/architectures/sp2000.md: -------------------------------------------------------------------------------- 1 | # SP2000 2 | 3 | * http://velesoft.speccy.cz/sprinter-cz.htm 4 | * http://sprinter.winglion.ru/ 5 | -------------------------------------------------------------------------------- /docs/architectures/taitoair.md: -------------------------------------------------------------------------------- 1 | # TaitoAir 2 | 3 | * http://mamedev.org/source/src/mame/drivers/taitoair.c.html 4 | -------------------------------------------------------------------------------- /docs/architectures/taitof1.md: -------------------------------------------------------------------------------- 1 | # TaitoF1 2 | 3 | * http://www.system16.com/hardware.php?id=662 4 | -------------------------------------------------------------------------------- /docs/architectures/taitof2.md: -------------------------------------------------------------------------------- 1 | # TaitoF2 2 | 3 | * http://www.system16.com/hardware.php?id=653&gid=1604#1604 4 | -------------------------------------------------------------------------------- /docs/architectures/taitof3.md: -------------------------------------------------------------------------------- 1 | # TaitoF3 2 | 3 | * http://mamedev.org/source/src/mame/drivers/taito_f3.c.html 4 | -------------------------------------------------------------------------------- /docs/architectures/taitoh.md: -------------------------------------------------------------------------------- 1 | # TaitoH 2 | 3 | * http://mamedev.org/source/src/mame/drivers/taito_h.c.html 4 | -------------------------------------------------------------------------------- /docs/architectures/taitol.md: -------------------------------------------------------------------------------- 1 | # TaitoL 2 | 3 | * http://mamedev.org/source/src/mame/drivers/taito_l.c.html 4 | -------------------------------------------------------------------------------- /docs/architectures/taitox.md: -------------------------------------------------------------------------------- 1 | # TaitoX 2 | 3 | * http://mamedev.org/source/src/mame/drivers/taito_x.c.html 4 | -------------------------------------------------------------------------------- /docs/architectures/taitoz.md: -------------------------------------------------------------------------------- 1 | # TaitoZ 2 | 3 | * http://mamedev.org/source/src/mame/drivers/taito_z.c.html 4 | -------------------------------------------------------------------------------- /docs/img/driver-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/driver-down.png -------------------------------------------------------------------------------- /docs/img/games/9999-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/9999-1.png -------------------------------------------------------------------------------- /docs/img/games/abydos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/abydos.png -------------------------------------------------------------------------------- /docs/img/games/bikers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/bikers.png -------------------------------------------------------------------------------- /docs/img/games/bounty.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/bounty.gif -------------------------------------------------------------------------------- /docs/img/games/coches.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/coches.png -------------------------------------------------------------------------------- /docs/img/games/dex.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/dex.gif -------------------------------------------------------------------------------- /docs/img/games/h7n9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/h7n9.png -------------------------------------------------------------------------------- /docs/img/games/lamega.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/lamega.png -------------------------------------------------------------------------------- /docs/img/games/o-cman.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/o-cman.gif -------------------------------------------------------------------------------- /docs/img/games/o-trix.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/o-trix.gif -------------------------------------------------------------------------------- /docs/img/games/souls.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/souls.gif -------------------------------------------------------------------------------- /docs/img/games/splash.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/splash.gif -------------------------------------------------------------------------------- /docs/img/games/stela.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/stela.gif -------------------------------------------------------------------------------- /docs/img/games/yithm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/yithm.gif -------------------------------------------------------------------------------- /docs/img/games/zen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/zen.png -------------------------------------------------------------------------------- /docs/img/games/zen2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/zen2.png -------------------------------------------------------------------------------- /docs/img/games/zx0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/games/zx0.png -------------------------------------------------------------------------------- /docs/img/linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/linux.png -------------------------------------------------------------------------------- /docs/img/macos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/macos.png -------------------------------------------------------------------------------- /docs/img/win32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/win32.png -------------------------------------------------------------------------------- /docs/img/zip-package.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/docs/img/zip-package.png -------------------------------------------------------------------------------- /img/HobbitEl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/img/HobbitEl.gif -------------------------------------------------------------------------------- /img/KnightsDemonsDX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/img/KnightsDemonsDX.png -------------------------------------------------------------------------------- /img/eleuterio.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/img/eleuterio.gif -------------------------------------------------------------------------------- /img/zxbasic_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/img/zxbasic_logo.png -------------------------------------------------------------------------------- /src/api/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/src/api/__init__.py -------------------------------------------------------------------------------- /src/arch/z80/optimizer/__init__.py: -------------------------------------------------------------------------------- 1 | from .main import Optimizer 2 | 3 | __all__ = ("Optimizer",) 4 | -------------------------------------------------------------------------------- /src/arch/zxnext/optimizer/__init__.py: -------------------------------------------------------------------------------- 1 | from .main import Optimizer 2 | 3 | __all__ = ("Optimizer",) 4 | -------------------------------------------------------------------------------- /src/lib/arch/zx48k/runtime/abs16.asm: -------------------------------------------------------------------------------- 1 | ; 16 bit signed integer abs value 2 | ; HL = value 3 | 4 | #include once 5 | 6 | -------------------------------------------------------------------------------- /src/lib/arch/zx48k/runtime/abs32.asm: -------------------------------------------------------------------------------- 1 | ; 16 bit signed integer abs value 2 | ; HL = value 3 | 4 | #include once 5 | 6 | -------------------------------------------------------------------------------- /src/lib/arch/zx48k/runtime/bool/xor16.asm: -------------------------------------------------------------------------------- 1 | 2 | ; XOR16 implemented in XOR8.ASM file 3 | #include once 4 | -------------------------------------------------------------------------------- /src/lib/arch/zx48k/runtime/cmp/lti8.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | -------------------------------------------------------------------------------- /src/lib/arch/zx48k/runtime/pistore32.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | ; The content of this file has been moved to "store32.asm" 4 | -------------------------------------------------------------------------------- /src/lib/arch/zx48k/runtime/printu16.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | -------------------------------------------------------------------------------- /src/lib/arch/zx48k/runtime/printu32.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | -------------------------------------------------------------------------------- /src/lib/arch/zx48k/runtime/printu8.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | -------------------------------------------------------------------------------- /src/lib/arch/zx48k/runtime/sgnf.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | -------------------------------------------------------------------------------- /src/lib/arch/zx48k/runtime/sgnf16.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | -------------------------------------------------------------------------------- /src/lib/arch/zx48k/runtime/sgni16.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | -------------------------------------------------------------------------------- /src/lib/arch/zx48k/runtime/sgni32.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | -------------------------------------------------------------------------------- /src/lib/arch/zxnext/runtime/abs16.asm: -------------------------------------------------------------------------------- 1 | ; 16 bit signed integer abs value 2 | ; HL = value 3 | 4 | #include once 5 | 6 | -------------------------------------------------------------------------------- /src/lib/arch/zxnext/runtime/abs32.asm: -------------------------------------------------------------------------------- 1 | ; 16 bit signed integer abs value 2 | ; HL = value 3 | 4 | #include once 5 | 6 | -------------------------------------------------------------------------------- /src/lib/arch/zxnext/runtime/bool/xor16.asm: -------------------------------------------------------------------------------- 1 | 2 | ; XOR16 implemented in XOR8.ASM file 3 | #include once 4 | -------------------------------------------------------------------------------- /src/lib/arch/zxnext/runtime/cmp/lti8.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | -------------------------------------------------------------------------------- /src/lib/arch/zxnext/runtime/pistore32.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | ; The content of this file has been moved to "store32.asm" 4 | -------------------------------------------------------------------------------- /src/lib/arch/zxnext/runtime/printu16.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | -------------------------------------------------------------------------------- /src/lib/arch/zxnext/runtime/printu32.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | -------------------------------------------------------------------------------- /src/lib/arch/zxnext/runtime/printu8.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | -------------------------------------------------------------------------------- /src/lib/arch/zxnext/runtime/sgnf.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | -------------------------------------------------------------------------------- /src/lib/arch/zxnext/runtime/sgnf16.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | -------------------------------------------------------------------------------- /src/lib/arch/zxnext/runtime/sgni16.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | -------------------------------------------------------------------------------- /src/lib/arch/zxnext/runtime/sgni32.asm: -------------------------------------------------------------------------------- 1 | #include once 2 | 3 | -------------------------------------------------------------------------------- /src/parsetab/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/src/parsetab/__init__.py -------------------------------------------------------------------------------- /src/parsetab/tabs.dbm.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/src/parsetab/tabs.dbm.dat -------------------------------------------------------------------------------- /src/symbols/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/src/symbols/__init__.py -------------------------------------------------------------------------------- /src/symbols/id_/__init__.py: -------------------------------------------------------------------------------- 1 | from src.symbols.id_._id import SymbolID 2 | 3 | __all__ = ["SymbolID"] 4 | -------------------------------------------------------------------------------- /src/zxbasm/__init__.py: -------------------------------------------------------------------------------- 1 | from .zxbasm import main # noqa 2 | -------------------------------------------------------------------------------- /src/zxbasm/version.py: -------------------------------------------------------------------------------- 1 | VERSION = "1.18.1" 2 | -------------------------------------------------------------------------------- /src/zxbc/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/src/zxbc/py.typed -------------------------------------------------------------------------------- /src/zxbc/version.py: -------------------------------------------------------------------------------- 1 | from typing import Final 2 | 3 | VERSION: Final[str] = "1.18.1" 4 | -------------------------------------------------------------------------------- /src/zxbpp/__init__.py: -------------------------------------------------------------------------------- 1 | from .zxbpp import entry_point # noqa 2 | -------------------------------------------------------------------------------- /tests/api/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/tests/api/__init__.py -------------------------------------------------------------------------------- /tests/cmdline/config_sample.ini: -------------------------------------------------------------------------------- 1 | [zxbc] 2 | optimization_level = 3 3 | org = 31234 4 | -------------------------------------------------------------------------------- /tests/cmdline/empty.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/00.bas: -------------------------------------------------------------------------------- 1 | DIM a 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/01.bas: -------------------------------------------------------------------------------- 1 | DIM a% as Ubyte 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/02.bas: -------------------------------------------------------------------------------- 1 | DIM a% 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/03.bas: -------------------------------------------------------------------------------- 1 | DIM a As UByte 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/04.bas: -------------------------------------------------------------------------------- 1 | DIM a$ 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/05.bas: -------------------------------------------------------------------------------- 1 | DIM a(10) as Ubyte 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/06.bas: -------------------------------------------------------------------------------- 1 | DIM a$(2) 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/07.bas: -------------------------------------------------------------------------------- 1 | DIM a$(2, 3) 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/08.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | DIM x as Ubyte = 5 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/09.bas: -------------------------------------------------------------------------------- 1 | DIM a(1) = {2, 3} 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/10.bas: -------------------------------------------------------------------------------- 1 | DIM a(1) as Ubyte = {2, 3} 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/11.bas: -------------------------------------------------------------------------------- 1 | DIM a(1, 2) = {{3, 2, 1}, {1, 2, 3}} 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/12.bas: -------------------------------------------------------------------------------- 1 | 100 DIM a as Ubyte 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/13.bas: -------------------------------------------------------------------------------- 1 | mylabel: 2 | DIM a as Ubyte 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/15.bas: -------------------------------------------------------------------------------- 1 | LET a = 1 2 | LET a = a + 1 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/16.bas: -------------------------------------------------------------------------------- 1 | LET a = 1 2 | LET b = a + 1 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/17.bas: -------------------------------------------------------------------------------- 1 | LET a = 1 2 | LET b = 1 + a + 2 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/18.bas: -------------------------------------------------------------------------------- 1 | LET a = 1 2 | LET c = 2 3 | LET b = a + 2 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/20.bas: -------------------------------------------------------------------------------- 1 | 2 | LET a = 1 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/21.bas: -------------------------------------------------------------------------------- 1 | LET a = b 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/22.bas: -------------------------------------------------------------------------------- 1 | DIM b as Ubyte 2 | LET a = -b 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/25.bas: -------------------------------------------------------------------------------- 1 | LET a = 5.1 2 | let c = not a 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/26.bas: -------------------------------------------------------------------------------- 1 | 2 | LET a = LEN("ZXBASIC") 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/27.bas: -------------------------------------------------------------------------------- 1 | 2 | LET b$ = "ZXBASIC" 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/28.bas: -------------------------------------------------------------------------------- 1 | LET a$ = "ZXBASIC" 2 | LET c = LEN(a$) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/29.bas: -------------------------------------------------------------------------------- 1 | LET a$ = "ZXBASIC" 2 | LET b = LEN(a$ + a$) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/30.bas: -------------------------------------------------------------------------------- 1 | 2 | Function a() 3 | End Function 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/31.bas: -------------------------------------------------------------------------------- 1 | DIM a as Float 2 | 3 | function test() as float 4 | LET a = a + 1 5 | end function 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/32.bas: -------------------------------------------------------------------------------- 1 | 2 | function test(byval a as uByte) as float 3 | let a = a + 1 4 | end function 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/33.bas: -------------------------------------------------------------------------------- 1 | 2 | function test(byval a as uByte) as float 3 | return 1 4 | end function 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/34.bas: -------------------------------------------------------------------------------- 1 | 2 | function test(byval a as uByte) as float 3 | return a + 1 4 | end function 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/35.bas: -------------------------------------------------------------------------------- 1 | 2 | function test(byval a as uByte) as float 3 | return a + b 4 | end function 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/36.bas: -------------------------------------------------------------------------------- 1 | 2 | function test(byval a as uByte) as float 3 | return a + b 4 | end function 5 | 6 | test(5) 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/37.bas: -------------------------------------------------------------------------------- 1 | 2 | test(5) 3 | function test(byval a as uByte) as float 4 | return a + b 5 | end function 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/41.bas: -------------------------------------------------------------------------------- 1 | DIM b(2) as Ubyte => {0AAh, 0BBh, 0CCh} 2 | LET a = b(1) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/48.bas: -------------------------------------------------------------------------------- 1 | LET a$ = "ZXBASIC" 2 | LET b$ = a$(2) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/49.bas: -------------------------------------------------------------------------------- 1 | LET a$ = "ZXBASIC" 2 | LET b$ = a$(2 TO 3) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/50.bas: -------------------------------------------------------------------------------- 1 | LET a$ = "ZXBASIC" 2 | LET b$ = a$(a TO b) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/51.bas: -------------------------------------------------------------------------------- 1 | LET a$ = "ZXBASIC" 2 | LET b$ = a$(c TO b) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/60.bas: -------------------------------------------------------------------------------- 1 | 2 | Function test as uByte 3 | end Function 4 | 5 | let a = test 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/61.bas: -------------------------------------------------------------------------------- 1 | 2 | Function test as uByte 3 | end Function 4 | 5 | let a = test() 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/62.bas: -------------------------------------------------------------------------------- 1 | 2 | Function test as uByte 3 | end Function 4 | 5 | let a = test(1) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/63.bas: -------------------------------------------------------------------------------- 1 | 2 | Function test(a as Ubyte) as uByte 3 | LET a = a + 1 4 | end Function 5 | 6 | let a = test(1) 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/64.bas: -------------------------------------------------------------------------------- 1 | 2 | Function FASTCALL test as uByte 3 | end Function 4 | 5 | let a = test 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/70.bas: -------------------------------------------------------------------------------- 1 | 2 | LET b = 10 3 | LET a = SIN COS TAN ABS LN EXP SQR b 4 | LET b = a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/abs.bas: -------------------------------------------------------------------------------- 1 | LET a = abs(1) 2 | LET a = -abs(a) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/abs16.bas: -------------------------------------------------------------------------------- 1 | DIM a, b as Integer 2 | 3 | a = ABS(b) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/abs32.bas: -------------------------------------------------------------------------------- 1 | DIM a, b as Fixed 2 | 3 | a = ABS(b) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/add16a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD16 tests 3 | DIM a As Integer 4 | a = a + a + a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/add16b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD16 tests 3 | DIM a As Integer 4 | a = a + a + (a + 2 + a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/add32a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD32 test 3 | DIM a As ULong 4 | a = a + a + a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/add32b.bas: -------------------------------------------------------------------------------- 1 | REM another ADD32 test 2 | DIM a As Long 3 | a = a + a + (a + 2 + a) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/add8a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a + a + a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/add8b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a + a + (a + 2 + a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/addf.bas: -------------------------------------------------------------------------------- 1 | REM another Float test 2 | DIM a As Float 3 | a = a + a + (a + 2 + a) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/addf16a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADDF16 tests 3 | DIM a As Fixed 4 | a = a + a + a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/addf16b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADDF16 test 3 | DIM a As Fixed 4 | a = a + a + (a + 2 + a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/aloadstr0.bas: -------------------------------------------------------------------------------- 1 | REM simple array test 2 | 3 | DIM a$(100) 4 | 5 | b$ = a$(1) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/aloadstr1.bas: -------------------------------------------------------------------------------- 1 | REM simple array test 2 | 3 | DIM c as Ubyte 4 | DIM a$(100) 5 | 6 | b$ = a$(c) 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/alxinho1.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | DIM b = @a(0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/arden2.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM c As Uinteger 3 | DIM result$ 4 | LET result = result + CHR$(c) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/array01.bas: -------------------------------------------------------------------------------- 1 | REM array assignation for Bytes 2 | 3 | DIM a(10) as UByte 4 | 5 | LET a(1) = 5 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/array04.bas: -------------------------------------------------------------------------------- 1 | REM array assignation for Bytes 2 | 3 | DIM a(10) as UInteger 4 | 5 | LET a(1) = 5 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/array07.bas: -------------------------------------------------------------------------------- 1 | DIM a$(10) 2 | DIM b as Uinteger 3 | 4 | sub test(byval s as string) 5 | a$(b) = s 6 | end sub 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/array08.bas: -------------------------------------------------------------------------------- 1 | DIM a$(10) 2 | DIM b as Uinteger 3 | DIM s as String 4 | 5 | a$(b) = s 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/array11.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM A as UInteger = 0 3 | 4 | DIM array(1 TO 3) AS UINTEGER = { A, 0, 0 } 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/array12.bas: -------------------------------------------------------------------------------- 1 | DIM a$(10, 10) 2 | DIM b as Uinteger 3 | DIM s as String 4 | 5 | a$(b, b) = s 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/array_err.bas: -------------------------------------------------------------------------------- 1 | 2 | dim test(10,1) as ubyte => {{0,0,0,0,0,0,0,0,0,0,0}} 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/arraycopy5.bas: -------------------------------------------------------------------------------- 1 | DIM a$(3) 2 | DIM c$(3) 3 | 4 | a$(1) = "Hello world" 5 | c$ = a$ 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/arrconst.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(2, 2) as UInteger 3 | DIM p = @a(0, 0) 4 | p = p 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/arrlabels1.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | DIM a(1 TO 3) as UInteger => _ 4 | {@a, _ 5 | @a, _ 6 | @a + 1} 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/arrlabels2.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | DIM a(1 TO 3) as UInteger => {@a, @a, @a + 1} 4 | POKE a(1), 5 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/asm_error_line.bas: -------------------------------------------------------------------------------- 1 | 2 | ASM 3 | test: dk 10, 20 4 | END ASM 5 | 6 | ASM 7 | dk 10, 20 8 | END ASM 9 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/asm_tokens.bas: -------------------------------------------------------------------------------- 1 | asm 2 | ld a, {{macro_value}} 3 | end asm 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ataddr.bas: -------------------------------------------------------------------------------- 1 | DIM a(10, 10) 2 | LET b = @a(5, 4) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/atfunc0.bas: -------------------------------------------------------------------------------- 1 | 2 | function myfunc() 3 | end function 4 | 5 | LET a = @myfunc 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/atfunc1.bas: -------------------------------------------------------------------------------- 1 | LET a = @myfunc 2 | 3 | function myfunc() 4 | end function 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/atlabel2.bas: -------------------------------------------------------------------------------- 1 | Function test 2 | a = @b 3 | End Function 4 | 5 | b: 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/atlabel3.bas: -------------------------------------------------------------------------------- 1 | Function test 2 | a = @b 3 | End Function 4 | 5 | Function test2 6 | b: 7 | End Function 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/attr.bas: -------------------------------------------------------------------------------- 1 | INK 0: 2 | PAPER 7 3 | FLASH 1 4 | OVER 1 5 | BOLD 1 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/bad_pragma.bas: -------------------------------------------------------------------------------- 1 | 2 | #pragma BAD_PRAGMA = 1 3 | 4 | #pragma PUSH(BAD_PRAGMA) 5 | 6 | #pragma POP(BAD_PRAGMA) 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/bad_sigil.bas: -------------------------------------------------------------------------------- 1 | 2 | sub x(y$ as Float) 3 | y = "5" 4 | end sub 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/baspreprocerr1.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/baspreprocerr2.bas: -------------------------------------------------------------------------------- 1 | #define @ 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/bin00.bas: -------------------------------------------------------------------------------- 1 | 2 | LET c = BIN 00101001 3 | LET d = BIN 11111111111 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/bin01.bas: -------------------------------------------------------------------------------- 1 | REM BIN (alone) is like BIN 0 2 | LET a = BIN 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/bin02.bas: -------------------------------------------------------------------------------- 1 | 2 | LET a = BIN a = a + 1 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/bin03.bas: -------------------------------------------------------------------------------- 1 | 2 | LET a = BIN: a = a + 1 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/bitwise.bas: -------------------------------------------------------------------------------- 1 | ' Simple bitwise syntax test 2 | 3 | LET a = 0 4 | LET a = !a 5 | LET a = a & a | a ~ a 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/bnot32.bas: -------------------------------------------------------------------------------- 1 | DIM a as ULong 2 | 3 | a = bNot a 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/border00_IC.bas: -------------------------------------------------------------------------------- 1 | border 7 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/bound00.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(2 TO 8) as integer 3 | 4 | LET b = Ubound(a) 5 | LET c = Lbound(a) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/britlion0.bas: -------------------------------------------------------------------------------- 1 | DIM num as Fixed 2 | DIM dif AS UBYTE 3 | 4 | dif=num : REM CAST TO BYTE loses decimal 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/byte_neq.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | 3 | IF a <> 5 THEN 4 | LET a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/callable_err.bas: -------------------------------------------------------------------------------- 1 | IF m$(s(1)-vm,s(2)-hm)="\c" THEN REM 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/castF16toF.bas: -------------------------------------------------------------------------------- 1 | DIM a as Fixed = 0 2 | DIM b as Float 3 | 4 | b = a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/cast_ftoi16.bas: -------------------------------------------------------------------------------- 1 | DIM a as Integer 2 | DIM b as Float 3 | 4 | a = b 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/cast_ftoi32.bas: -------------------------------------------------------------------------------- 1 | DIM a as Long 2 | DIM b as Float 3 | 4 | a = b 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/cast_ftoi8.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | DIM b as Float 3 | 4 | a = b 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/cast_i32tof.bas: -------------------------------------------------------------------------------- 1 | DIM CLICK AS LONG 2 | DIM TotalMinutes as Float 3 | 4 | TotalMinutes = CLICK/20 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/cast_i32tou32.bas: -------------------------------------------------------------------------------- 1 | DIM a as ULong 2 | 3 | LET a = INT(a) 4 | 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/cast_u32tof.bas: -------------------------------------------------------------------------------- 1 | DIM CLICK AS ULONG 2 | DIM TotalMinutes as Float 3 | 4 | TotalMinutes = CLICK/20 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/chr.bas: -------------------------------------------------------------------------------- 1 | let a$ = CHR$ 33 2 | let b = 33 3 | let c = CHR$ b 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/chr0.bas: -------------------------------------------------------------------------------- 1 | LET a = 64 2 | LET b = 65 3 | LET c$ = CHR$(a+1, b) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/chr1.bas: -------------------------------------------------------------------------------- 1 | LET a = CHR$(32, 65, 33) 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/co.bas: -------------------------------------------------------------------------------- 1 | : 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/code00.bas: -------------------------------------------------------------------------------- 1 | LOAD "" CODE 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/code01.bas: -------------------------------------------------------------------------------- 1 | LOAD "" CODE 16384 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/code02.bas: -------------------------------------------------------------------------------- 1 | LOAD "" CODE 16384, 6192 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/codecrash1.bas: -------------------------------------------------------------------------------- 1 | a=code(b$) 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/codecrash2.bas: -------------------------------------------------------------------------------- 1 | a = code(b$+b$) 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/codecrash3.bas: -------------------------------------------------------------------------------- 1 | a = code(inkey$) 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/codecrash4.bas: -------------------------------------------------------------------------------- 1 | a=code(b$) 2 | a = code(b$+b$) 3 | a = code(inkey$) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/coercion3.bas: -------------------------------------------------------------------------------- 1 | DIM c as Byte = 4 2 | PAPER c 3 | PAPER CAST(Integer, c) * 2 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/const6.bas: -------------------------------------------------------------------------------- 1 | const A as ubyte = 65 2 | 3 | let b = chr$ (A) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/const8.bas: -------------------------------------------------------------------------------- 1 | 2 | CONST cvalue As UInteger = 12345 3 | CONST caux2 as UInteger = cvalue 4 | a = caux2 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/const_str.bas: -------------------------------------------------------------------------------- 1 | CONST a = "Hello World" 2 | 3 | LET b = a 4 | LET b = "Hello World" 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/const_str1.bas: -------------------------------------------------------------------------------- 1 | CONST xs As String = "Pera" 2 | CONST ys As String = "Pina" 3 | 4 | LET cs = xs + ys(2) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/const_str2.bas: -------------------------------------------------------------------------------- 1 | CONST xs As String = "Pera" 2 | CONST ys As String = "Pina" 3 | 4 | LET cs = xs + ys 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/const_str3.bas: -------------------------------------------------------------------------------- 1 | CONST xs As String = "Pera" 2 | CONST ys As String = "Pina" 3 | 4 | LET cs = xs + ys() 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/const_str4.bas: -------------------------------------------------------------------------------- 1 | CONST xs As String = "Pera" 2 | CONST ys As String = "Pina" 3 | 4 | LET cs = xs + ys(TO 2) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/const_str5.bas: -------------------------------------------------------------------------------- 1 | CONST xs As String = "Pera" 2 | CONST ys As String = "Pina" 3 | 4 | LET cs = xs + ys(2 TO) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/const_str6.bas: -------------------------------------------------------------------------------- 1 | CONST ConstStr As String = "string" 2 | 3 | DIM s As String = ConstStr 4 | 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/data0.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | DATA a, b(2) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/data1.bas: -------------------------------------------------------------------------------- 1 | 2 | READ a 3 | 1010 DATA 0 4 | 4500 RESTORE 5000 5 | 5000 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/def_func_inline.bas: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION f() END FUNCTION 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/def_func_inline_for_next.bas: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION f(): FOR i = 1 TO 5: NEXT: END FUNCTION 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/def_func_inline_ok.bas: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION f(): END FUNCTION 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/defb.bas: -------------------------------------------------------------------------------- 1 | ASM 2 | DEFB "Man(e;@ " 3 | END ASM 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_arr_at_label0.bas: -------------------------------------------------------------------------------- 1 | REM arrat at label 2 | DIM a(5) as Ubyte AT @c 3 | 4 | c: 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_arr_at_label1.bas: -------------------------------------------------------------------------------- 1 | REM Array elements at label c + 1 2 | DIM a(5) as Ubyte AT @c + 1 3 | 4 | c: 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_at0.bas: -------------------------------------------------------------------------------- 1 | sub test1() 2 | DIM dummy as Uinteger = @test2 3 | end sub 4 | 5 | sub test2 6 | end sub 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_at_label0.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | somelabel: 4 | 5 | DIM x as UInteger at @somelabel 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_at_label1.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | somelabel: 4 | 5 | DIM x as UInteger at @somelabel + 1 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_at_label2.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | DIM x as UInteger at @somelabel + 1 6 | 7 | somelabel: 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_at_label3.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | DIM x as UInteger at @somelabel 6 | 7 | somelabel: 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_at_label4.bas: -------------------------------------------------------------------------------- 1 | REM Error: circular dependency 2 | 3 | DIM a at @b 4 | DIM b at @c 5 | DIM c at @a 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_at_label5.bas: -------------------------------------------------------------------------------- 1 | REM Error: circular dependency 2 | 3 | DIM x as Ubyte at @x 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_at_label6.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as Ubyte at @b + 1 3 | DIM b as Ubyte at @c 4 | DIM c as Ubyte at @a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_at_label8.bas: -------------------------------------------------------------------------------- 1 | 2 | const tileStart as uinteger = $4000+384 3 | 4 | dim p as Uinteger at tileStart 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_const0.bas: -------------------------------------------------------------------------------- 1 | CONST xx as UByte = 7 2 | DIM c(1) as Ubyte = {xx, xx} 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_const_crash.bas: -------------------------------------------------------------------------------- 1 | 2 | const MAXMOBS as ubyte = MHEIGHT 3 | dim mobCoords(0 to MAXMOBS, 0 to 1) as ubyte 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_dyn_err.bas: -------------------------------------------------------------------------------- 1 | dim r(0 to r) as ulong => {40000, 35000, 30000, 25000, 20000, 15000, 10000} 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_str_error0.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | DIM a(2) as String => {0, 1, 2} 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_str_error1.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | DIM a$(2) => {0, 1, 2} 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dim_test0.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a AT @c(1, 5) 3 | DIM c(10, 10) as UBYTE 4 | 5 | const q = @c(2, 3) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dimconst2.bas: -------------------------------------------------------------------------------- 1 | 2 | Function q 3 | DIM q as Uinteger = @Map 4 | End Function 5 | 6 | Map: 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dimconst2b.bas: -------------------------------------------------------------------------------- 1 | Function q 2 | DIM q as Uinteger = @Map 3 | Map = 1 4 | End Function 5 | 6 | Map = 2 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dimconst2c.bas: -------------------------------------------------------------------------------- 1 | Function q 2 | DIM q as Uinteger = @Map 3 | End Function 4 | 5 | Let Map = 1 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dimconst2d.bas: -------------------------------------------------------------------------------- 1 | Function q 2 | DIM q as Uinteger = @Map 3 | End Function 4 | 5 | Dim Map = 1 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dimconst2e.bas: -------------------------------------------------------------------------------- 1 | Let Map = 1 2 | Function q 3 | DIM q as Uinteger = @Map 4 | Let Map = 2 5 | End Function 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dimconst3.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a = @Map 3 | 4 | Map: 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dimconst4.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as Ubyte = @Map 3 | 4 | Map: 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dimconst4b.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as UInteger = @Map 3 | 4 | Map: 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dimconst4c.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as ULong = @Map 3 | 4 | Map: 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dimconst5.bas: -------------------------------------------------------------------------------- 1 | CONST b = 0 2 | DIM a as Ubyte = 65534 - b 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dimconst6.bas: -------------------------------------------------------------------------------- 1 | DIM Map As Ubyte = 0x1234 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dimconst7.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM c(3, 3) as UBYTE 3 | DIM a as Uinteger = @c(2, 3) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/div32.bas: -------------------------------------------------------------------------------- 1 | DIM a as Fixed 2 | 3 | LET a = a / -1 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/divf00.bas: -------------------------------------------------------------------------------- 1 | DIM a as FLOAT = 0.5 2 | DIM b as FLOAT = 1 3 | 4 | b = b / 2 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/divf01.bas: -------------------------------------------------------------------------------- 1 | DIM a as FLOAT = 0.5 2 | DIM b as FLOAT = 1 3 | 4 | b = 2 / b 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/divf16a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another DIV Fixed tests 3 | DIM a As Fixed 4 | a = a / a / a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/divf16b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD Fixed tests 3 | DIM a As Fixed 4 | a = a / a / (a / 2 / a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/divi16a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another DIV16 test 3 | DIM a As UInteger 4 | a = a / a / a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/divi16b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another DIV16 test 3 | DIM a As UInteger 4 | a = a / a / (a / 2 / a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/divi8a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a / a / a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/divi8b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a / a / (a / 2 / a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/divu16a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another DIVU16 test 3 | DIM a As UInteger 4 | a = a / a / a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/divu16b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another DIVU16 test 3 | DIM a As UInteger 4 | a = a / a / (a / 2 / a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/divu8a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As UByte 4 | a = a / a / a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/divu8b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As UByte 4 | a = a / a / (a / 2 / a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/do_crash.bas: -------------------------------------------------------------------------------- 1 | DIM A AS UBYTE 2 | DO LOOP WHILE A = "" 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/do_err.bas: -------------------------------------------------------------------------------- 1 | DIM i, c as Ubyte 2 | 3 | DO 4 | LET c = c * 2 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dollar.bas: -------------------------------------------------------------------------------- 1 | ASM 2 | 3 | jr $+2 4 | 5 | End ASM 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/doloop1.bas: -------------------------------------------------------------------------------- 1 | 2 | DO LOOP 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/doloop4.bas: -------------------------------------------------------------------------------- 1 | REM DO..LOOP syntax test 2 | 3 | 4 | 10 DO 5 | 20 LOOP 6 | 7 | GOTO 20 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/doloopuntilsplitted.bas: -------------------------------------------------------------------------------- 1 | 2 | DO 3 | LET M=0: LOOP UNTIL i=1 4 | 5 | DO LET M=0: LOOP UNTIL i=1 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dountil1.bas: -------------------------------------------------------------------------------- 1 | 2 | DO LOOP UNTIL 0 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dountilempty.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM i as Byte 3 | DO UNTIL i > 10 LOOP 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dountilsplitted.bas: -------------------------------------------------------------------------------- 1 | 2 | DO UNTIL i=1: 3 | LET M=0: LOOP 4 | 5 | DO UNTIL i=1: LET M=0: LOOP 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dowhile1.bas: -------------------------------------------------------------------------------- 1 | DO LOOP WHILE 1 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dowhileempty.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM i as Byte 3 | 4 | DO WHILE i < 10 LOOP 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dowhilesplitted.bas: -------------------------------------------------------------------------------- 1 | 2 | DO WHILE i=1: 3 | LET M=0: LOOP 4 | 5 | DO WHILE i=1: LET M=0: LOOP 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/draw.bas: -------------------------------------------------------------------------------- 1 | 2 | DRAW 11,22 3 | DRAW a, 22 4 | DRAW 11, a 5 | DRAW a, b 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/draw3.bas: -------------------------------------------------------------------------------- 1 | 2 | DRAW 11,22,33 3 | DRAW a, 22, 33 4 | DRAW 11, a, 33 5 | DRAW a, b, 33 6 | DRAW a, b, c 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/due_crash.bas: -------------------------------------------------------------------------------- 1 | function test(code as Ubyte) as Ubyte 2 | return 1 3 | end Function 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/due_inc_main.bas: -------------------------------------------------------------------------------- 1 | ' Main.bas 2 | 3 | #include "due_par.bas" 4 | 5 | Test(5) 6 | 7 | pause 0 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/due_par.bas: -------------------------------------------------------------------------------- 1 | SUB test(code as Ubyte) 2 | k=in(12234 3 | END SUB 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/dup_func_decl.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | declare function f() as float 4 | 5 | declare function f() 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/einar01.bas: -------------------------------------------------------------------------------- 1 | DIM score(1 TO 2) AS UBYTE => {1, 2} 2 | LET score(1) = score(2) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/einarshift.bas: -------------------------------------------------------------------------------- 1 | DIM a AS UBYTE = 3 2 | DIM b AS UBYTE = 2 3 | 4 | LET a = a << (3-b) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/elseif1.bas: -------------------------------------------------------------------------------- 1 | DIM a AS Byte 2 | IF a < 0 THEN REM 3 | END IF 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/elseif2.bas: -------------------------------------------------------------------------------- 1 | DIM a AS Byte 2 | IF a < 0 THEN REM 3 | ELSEIF a > 0 THEN 4 | END IF 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/elseif3.bas: -------------------------------------------------------------------------------- 1 | DIM a AS Byte 2 | IF a < 0 THEN REM 3 | ELSEIF a > 0 THEN 4 | LET a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/elseif4.bas: -------------------------------------------------------------------------------- 1 | DIM a AS Byte 2 | IF a < 0 THEN REM 3 | ELSEIF a > 0 THEN 4 | ELSEIF a = 0 THEN 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/emptystrparam.bas: -------------------------------------------------------------------------------- 1 | SUB stringtest (thing as string) 2 | END SUB 3 | 4 | stringtest("") 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/end.bas: -------------------------------------------------------------------------------- 1 | END 35 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/endif.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as UByte 3 | 4 | IF a < 0 THEN 5 | a = a + 1 6 | ENDIF 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/eq0.bas: -------------------------------------------------------------------------------- 1 | 2 | a = b = c 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/equ16.bas: -------------------------------------------------------------------------------- 1 | DIM a as UInteger 2 | 3 | IF a = 5 THEN 4 | LET a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/equ32.bas: -------------------------------------------------------------------------------- 1 | DIM a as ULong 2 | 3 | IF a = 5 THEN 4 | LET a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/equ8.bas: -------------------------------------------------------------------------------- 1 | DIM a as UByte 2 | 3 | IF a = 5 THEN 4 | LET a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/equf.bas: -------------------------------------------------------------------------------- 1 | DIM a as Float 2 | 3 | IF a = 5 THEN 4 | LET a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/errletfunc.bas: -------------------------------------------------------------------------------- 1 | 2 | SUB x 3 | END SUB 4 | 5 | let x = 1 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/error_array.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM z(30) as Ubyte 3 | LET z$="#" 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/explicit0.bas: -------------------------------------------------------------------------------- 1 | #pragma explicit = True 2 | A = 5 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/explicit1.bas: -------------------------------------------------------------------------------- 1 | #pragma explicit = True 2 | DIM a As Ubyte 3 | LET a = b + 1 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/explicit2.bas: -------------------------------------------------------------------------------- 1 | #pragma explicit = True 2 | 3 | FOR a = 1 TO 10: NEXT a 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/explicit3.bas: -------------------------------------------------------------------------------- 1 | #pragma explicit = True 2 | 3 | DIM a as String 4 | LET a = b(TO 5) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/explicit4.bas: -------------------------------------------------------------------------------- 1 | #pragma explicit = True 2 | 3 | LET a(TO 5) = "Test" 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/explicit5.bas: -------------------------------------------------------------------------------- 1 | #pragma explicit = True 2 | 3 | LET a(5) = "5" 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/explicit6.bas: -------------------------------------------------------------------------------- 1 | #pragma explicit = true 2 | 3 | POKE @a, 0 4 | 5 | a: 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/explicit7.bas: -------------------------------------------------------------------------------- 1 | #pragma explicit = true 2 | 3 | POKE @a, 0 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/extra_chars.bas: -------------------------------------------------------------------------------- 1 | 2 | ASM 3 | `mylabel: 4 | ld a, #0 5 | END ASM 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/extra_chars1.bas: -------------------------------------------------------------------------------- 1 | 2 | REM This should fail because it's used in BASIC context 3 | 4 | LET `a = 1 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/file_macro.bas: -------------------------------------------------------------------------------- 1 | 2 | #line 3 "file_macro.bas" 3 | LET a$ = __FILE__ 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/for0.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM x, y as byte 3 | 4 | 5 | for x=-128 to 126 6 | let y = x 7 | next x 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/for_err.bas: -------------------------------------------------------------------------------- 1 | DIM i, c as Ubyte 2 | 3 | FOR i = 1 TO 5 4 | LET c = c * 2 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/forempty.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as Byte 3 | 4 | FOR a = 0 TO 1 STEP 0: NEXT 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/forline.bas: -------------------------------------------------------------------------------- 1 | 2 | FOR i = 1 TO 10 PRINT "HOLA" NEXT 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/fornext3.bas: -------------------------------------------------------------------------------- 1 | FOR i = 0 TO 10000: 2 | NEXT i 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/fornextopt3.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as UByte 3 | 4 | FOR a = 1 TO 0 5 | lbl: 6 | a = a + 1 7 | NEXT a 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/fornextopt4.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as UByte 3 | 4 | FOR a = 10 TO 11 STEP -1 5 | lbl: 6 | a = a + 1 7 | NEXT a 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/forsplitted.bas: -------------------------------------------------------------------------------- 1 | 2 | 30 FOR i=1 TO 8: FOR m=1 TO 6 3 | 40 LET M=0: NEXT m: NEXT i 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/forsplitted0.bas: -------------------------------------------------------------------------------- 1 | 10 DIM i as Byte 2 | 20 FOR i = 1 TO 10 3 | 30 LET i = i + 1: NEXT i 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/forsplitted1.bas: -------------------------------------------------------------------------------- 1 | 2 | FOR i=1 TO 8: FOR m=1 TO 6 3 | LET M=0: NEXT m: NEXT i 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/fp_pow.bas: -------------------------------------------------------------------------------- 1 | DIM x as Float 2 | 3 | LET x = x ^ 2.5 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/fporder.bas: -------------------------------------------------------------------------------- 1 | DIM n as Float = 1 2 | LET n = 10 - COS(n * PI) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/funccall0.bas: -------------------------------------------------------------------------------- 1 | 2 | Function test(x) as Byte 3 | return test(0x100) 4 | End Function 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/funccall3.bas: -------------------------------------------------------------------------------- 1 | 2 | LET a = 5 3 | 4 | a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/funccall4.bas: -------------------------------------------------------------------------------- 1 | 2 | Function a(b, c) 3 | End Function 4 | 5 | a(z, 1) 6 | 7 | Function z 8 | End Function 9 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/gosub_in_func.bas: -------------------------------------------------------------------------------- 1 | 2 | SUB test 3 | GOSUB b: REM Not allowed 4 | b: 5 | END SUB 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/gti8.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | 3 | IF a > 5 THEN 4 | LET a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/gtu8.bas: -------------------------------------------------------------------------------- 1 | DIM a as UByte 2 | 3 | IF a > 5 THEN 4 | LET a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/haplo06.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as UByte 3 | DIM y as Uinteger 4 | 5 | a = a bOR peek(y) bOR peek(y + 1) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/haplo_out.bas: -------------------------------------------------------------------------------- 1 | DIM a as UByte 2 | DIM b as Uinteger 3 | OUT b, a 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/id_substr_eq_expr.bas: -------------------------------------------------------------------------------- 1 | 2 | a$(1 TO 5) = "Hello" 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/idco.bas: -------------------------------------------------------------------------------- 1 | 2 | SUB p() 3 | END sub 4 | 5 | p 6 | 7 | p:p 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifcoendif.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | 3 | IF a < 1 THEN: LET a = a + 1: 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifcoendif1.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | 3 | IF a < 1 THEN: LET a = a + 1: 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifcoendif2.bas: -------------------------------------------------------------------------------- 1 | DIM a as UByte 2 | 3 | IF a < 1 THEN: LET a = a + 1 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifelse0.bas: -------------------------------------------------------------------------------- 1 | if 1 < 2 then 2 | 3 | else 4 | print "Can't happen!" 5 | end if 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifelse3.bas: -------------------------------------------------------------------------------- 1 | DIM i as Byte 2 | 3 | IF i < 0 THEN LET i = i + 1 ELSE i = i - 1 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifelse4.bas: -------------------------------------------------------------------------------- 1 | DIM i as Byte 2 | 3 | IF i < 0 THEN 4 | LET i = i + 1 5 | ELSE 6 | i = i - 1 7 | END IF 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifelse5.bas: -------------------------------------------------------------------------------- 1 | DIM i as Byte 2 | 3 | IF i < 0 THEN LET i = i + 1 ELSE i = i - 1: IF i < 2 THEN i = i + 1 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifempty0.bas: -------------------------------------------------------------------------------- 1 | DIM i as Byte 2 | 3 | IF i < 0 THEN : 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifempty1.bas: -------------------------------------------------------------------------------- 1 | DIM i as Byte 2 | 3 | IF i < 0 THEN : END IF 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifempty2.bas: -------------------------------------------------------------------------------- 1 | DIM i as Byte 2 | 3 | IF i < 0 THEN : ELSE i = i + 1 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifempty3.bas: -------------------------------------------------------------------------------- 1 | DIM i as Byte 2 | 3 | IF i < 0 THEN i = i - 1 ELSE i = i + 1 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifempty4.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM i as UByte 3 | IF i < 0 THEN 4 | END IF 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifempty5.bas: -------------------------------------------------------------------------------- 1 | DIM i as Byte 2 | 3 | IF 1 THEN i = i + 1: END IF 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifempty6.bas: -------------------------------------------------------------------------------- 1 | DIM i as Byte 2 | 3 | IF 0 THEN i = i + 1 ELSE i = i - 1: END IF 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifemptyelse.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as Byte 3 | 4 | IF 0 a = a + 1 ELSE a = a - 1 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifemptyprogelse.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as Byte 3 | 4 | if a < 0 then 5 | elseif a > 0 then 6 | else 7 | end if 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifendif.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as Byte 3 | 4 | IF a < 0 THEN: a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/iffor.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as Byte 3 | 4 | IF a < 10 THEN FOR a = 1 TO 10: NEXT a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/iffor1.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as Byte 3 | 4 | IF a < 10 THEN FOR a = 1 TO 10 5 | NEXT a 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifline.bas: -------------------------------------------------------------------------------- 1 | DIM a as UByte = 1 2 | IF a = 1 THEN a = a + 1 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifthencoendif.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as Byte 3 | 4 | IF a < 0 THEN: 5 | LET a = a + 1 6 | END IF 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifthencosntcoendif.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as UByte 3 | 4 | IF a < 0 THEN 5 | :LET a = a + 1: END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifthenlblsntcoendif.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as UByte 3 | 4 | IF a < 0 THEN 5 | 10 LET a = a + 1: END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifthensntcoendif.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as UByte 3 | 4 | IF a < 0 THEN 5 | LET a = a + 1: END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifwhile.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as Byte = 0 3 | 4 | IF a < 0 THEN WHILE a < 10: a = a + 1: END WHILE 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ifwhile1.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as Byte = 0 3 | 4 | IF a < 0 THEN WHILE a < 10 5 | a = a + 1: END WHILE 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/in0.bas: -------------------------------------------------------------------------------- 1 | a = IN 254 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/init_with_dot.bas: -------------------------------------------------------------------------------- 1 | 2 | ASM 3 | 4 | #init A_LABEL.DOT 5 | 6 | A_LABEL.DOT: 7 | 8 | END ASM 9 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/inkey.bas: -------------------------------------------------------------------------------- 1 | a$ = inkey$ 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/inktemp.bas: -------------------------------------------------------------------------------- 1 | DRAW INK 2; 255, 175 2 | PLOT PAPER 7; 127, 128 3 | CIRCLE FLASH 1; OVER 1; 127, 87, 60 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/keyword_arg0.bas: -------------------------------------------------------------------------------- 1 | 2 | sub test(x as Ubyte = 1, y as Ubyte = 2) 3 | end sub 4 | 5 | test(213) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/keyword_arg1.bas: -------------------------------------------------------------------------------- 1 | 2 | sub test(x as Ubyte = 1, y as Ubyte = 2) 3 | end sub 4 | 5 | test(y:=213, 4) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/keyword_arg2.bas: -------------------------------------------------------------------------------- 1 | 2 | sub test(x as Ubyte = 1, y as Ubyte = 2) 3 | end sub 4 | 5 | test(y:=213) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/keyword_arg3.bas: -------------------------------------------------------------------------------- 1 | 2 | Function test as uByte 3 | end Function 4 | 5 | let a = test(z:=1) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/label_sent.bas: -------------------------------------------------------------------------------- 1 | 0 REM De MicroHOBBY Nº18, pág. 27 :') 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/label_sent1.bas: -------------------------------------------------------------------------------- 1 | 0 REM 2 | 10 BORDER 1 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/label_sent2.bas: -------------------------------------------------------------------------------- 1 | 0 REM 2 | 10 BORDER 1: PAPER 1 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/label_sent3.bas: -------------------------------------------------------------------------------- 1 | 0 REM 2 | 10 BORDER 1: PAPER 1: 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/label_sent4.bas: -------------------------------------------------------------------------------- 1 | 0 REM 2 | 10 :BORDER 1: PAPER 1 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/label_sent5.bas: -------------------------------------------------------------------------------- 1 | 0 REM 2 | 10 :BORDER 1: PAPER 1: 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/labeldecl.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 DIM a as Byte 4 | 20 DIM b as Byte : DIM c as Byte 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/labelsent.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 LET a = a + 1: LET b = b + 1 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/lbound0.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(3 TO 5, 7 TO 9) As UByte 3 | 4 | LET b = LBound(a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/lbound1.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(3 TO 5, 7 TO 9) As UByte 3 | 4 | LET b = LBound(a, 0) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/lbound2.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(3 TO 5, 7 TO 9) As UByte 3 | DIM b as UInteger = 0 4 | 5 | LET c = LBound(a, b) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/lbound3.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(3 TO 5, 7 TO 9) As UByte 3 | 4 | LET c = LBound(a, 1) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/lbound4.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(3 TO 5, 7 TO 9) As UByte 3 | DIM b as UInteger = 1 4 | 5 | LET c = LBound(a, b) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/lbound5.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(3 TO 5, 7 TO 9) As UByte 3 | DIM b as UInteger = 2 4 | 5 | LET c = LBound(a, b) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let0.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as UByte = 1 3 | LET a = 2 4 | LET a = a + 1 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let_array_substr10.bas: -------------------------------------------------------------------------------- 1 | DIM a$(10) 2 | LET a(4) = "0123456789" 3 | LET a(4, TO 3) = "HELLO" 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let_array_substr11.bas: -------------------------------------------------------------------------------- 1 | DIM a$(10) 2 | LET a(3) = "0123456789" 3 | LET a(3, TO) = "HELLO" 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let_array_substr12.bas: -------------------------------------------------------------------------------- 1 | DIM a$(10) 2 | LET a(3) = "0123456789" 3 | LET a(3, 5 TO 5) = "HELLO" 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let_array_substr13.bas: -------------------------------------------------------------------------------- 1 | DIM a$(10) 2 | LET a(3) = "0123456789" 3 | LET a(3, 5) = "HELLO" 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let_array_substr2.bas: -------------------------------------------------------------------------------- 1 | DIM a$(10) 2 | LET a$(3) = "0123456789" 3 | LET a$(3)(1 TO 5) = "HELLO" 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let_array_substr3.bas: -------------------------------------------------------------------------------- 1 | DIM a$(10) 2 | LET a$(3) = "0123456789" 3 | a$(3)(1 TO 5) = "HELLO" 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let_array_substr4.bas: -------------------------------------------------------------------------------- 1 | DIM a(10) as UInteger 2 | LET a(3)(1 TO 5) = 4 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let_array_substr6.bas: -------------------------------------------------------------------------------- 1 | DIM a(10) as UInteger 2 | LET a(3)(5) = 4 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let_array_substr7.bas: -------------------------------------------------------------------------------- 1 | DIM a$(10) 2 | LET a$(3) = "0123456789" 3 | a$(3)(1) = "HELLO" 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let_array_substr8.bas: -------------------------------------------------------------------------------- 1 | DIM a$(10) 2 | LET a(3) = "0123456789" 3 | LET a(3, 4)(1) = "HELLO" 4 | print a$(3) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let_array_substr9.bas: -------------------------------------------------------------------------------- 1 | DIM a$(10) 2 | LET a(3) = "0123456789" 3 | LET a(3, 1 TO) = "HELLO" 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let_array_wrong_dims.bas: -------------------------------------------------------------------------------- 1 | DIM a(10) as Byte 2 | LET a(1, 2) = 0 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let_not_bool.bas: -------------------------------------------------------------------------------- 1 | DIM a As Ubyte 2 | 3 | LET a = NOT (a = a) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/let_uminus_bool.bas: -------------------------------------------------------------------------------- 1 | DIM a As Ubyte 2 | 3 | LET a = -(a = a) 4 | 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/letarrstr_substr0.bas: -------------------------------------------------------------------------------- 1 | DIM a$(5) 2 | 3 | b$ = a$(1)(2 TO 4) 'OK 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/letarrstr_substr1.bas: -------------------------------------------------------------------------------- 1 | DIM a$(5) 2 | 3 | b$ = a$(1)(2) 'OK 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/lexerr.bas: -------------------------------------------------------------------------------- 1 | LET a = a % 1 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/line_macro.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | DIM a as Uinteger 4 | 5 | LET a = __LINE__ 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/llb.bas: -------------------------------------------------------------------------------- 1 | DIM strTemp as String 2 | 3 | If f$(strTemp)="," then 4 | End If 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/llc.bas: -------------------------------------------------------------------------------- 1 | LET r$(1)="." 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/load02.bas: -------------------------------------------------------------------------------- 1 | dim variableToSave as uinteger 2 | load "test1" DATA variableToSave 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/load03.bas: -------------------------------------------------------------------------------- 1 | LOAD "test" DATA 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/loadstr.bas: -------------------------------------------------------------------------------- 1 | b$ = "10" 2 | a$ = str$(val(b$)) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ltee3.bas: -------------------------------------------------------------------------------- 1 | 2 | sub test(a as string) 3 | end sub 4 | 5 | test("a string") 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ltee6.bas: -------------------------------------------------------------------------------- 1 | dim testglobal(5) as string 2 | dim pos as UBYTE 3 | 4 | testglobal(pos) = "global" 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ltee8.bas: -------------------------------------------------------------------------------- 1 | DIM a as UByte 2 | LET a = INT(@a / 256) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/lvalsubstr_nolet.bas: -------------------------------------------------------------------------------- 1 | DIM a$ 2 | a$(1)="." 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/lvalue00.bas: -------------------------------------------------------------------------------- 1 | const num as uByte = 5 2 | 3 | let num = 3 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/lvalue01.bas: -------------------------------------------------------------------------------- 1 | const num as uByte = 5 2 | 3 | for num = 0 to 5 4 | next 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/lvalue02.bas: -------------------------------------------------------------------------------- 1 | function num: 2 | end function 3 | 4 | let num = 3 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/lvalue03.bas: -------------------------------------------------------------------------------- 1 | function num: 2 | end function 3 | 4 | for num = 1 to 2 5 | next 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/macro_under.bas: -------------------------------------------------------------------------------- 1 | #define _x 0 2 | dim x, y as ubyte 3 | y = x 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/math_acs.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = ACS(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/math_asn.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = ASN(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/math_atn.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = ATN(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/math_cos.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = COS(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/math_exp.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = EXP(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/math_ln.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = LN(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/math_sin.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = SIN(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/math_sqr.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = SQR(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/math_tan.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = TAN(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/mcleod.bas: -------------------------------------------------------------------------------- 1 | DIM a = int(rnd * 4) 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/mcleod2.bas: -------------------------------------------------------------------------------- 1 | DIM a as String = "" 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/modf.bas: -------------------------------------------------------------------------------- 1 | DIM a as Float 2 | 3 | LET a = a MOD 1 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/modf16.bas: -------------------------------------------------------------------------------- 1 | DIM a as Fixed 2 | 3 | LET a = a MOD 1 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/modi8a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another MOD8 tests 3 | DIM a As Byte 4 | a = a mod a mod a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/modi8b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a mod a mod (a mod 2 mod a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/modu8a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As UByte 4 | a = a mod a mod a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/modu8b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another MOD8 tests 3 | DIM a As UByte 4 | a = a mod a mod (a mod 2 mod a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/mul16a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another MUL16 test 3 | DIM a As Integer 4 | a = a * a * a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/mul16b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD16 tests 3 | DIM a As Integer 4 | a = a * a * (a * 2 * a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/mul16c.bas: -------------------------------------------------------------------------------- 1 | DIM a as Integer 2 | 3 | a = -1 * a 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/mul8a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a * a * a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/mul8b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a * a * (a * 2 * a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/mulf00.bas: -------------------------------------------------------------------------------- 1 | DIM a as FLOAT = 0.5 2 | DIM b as FLOAT = 1 3 | 4 | b = b * 2 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/mulf01.bas: -------------------------------------------------------------------------------- 1 | DIM a as FLOAT = 0.5 2 | DIM b as FLOAT = 1 3 | 4 | b = 2 * b 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/mulf16a.bas: -------------------------------------------------------------------------------- 1 | DIM a as FIXED = 0.5 2 | DIM b as FIXED = 1 3 | 4 | b = b * 2 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/nef.bas: -------------------------------------------------------------------------------- 1 | DIM t as Float 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/nef16.bas: -------------------------------------------------------------------------------- 1 | DIM t as Fixed 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/nei16.bas: -------------------------------------------------------------------------------- 1 | DIM t as Integer 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/nei32.bas: -------------------------------------------------------------------------------- 1 | DIM t as Long 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/nei8.bas: -------------------------------------------------------------------------------- 1 | DIM t as Byte 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/neu16.bas: -------------------------------------------------------------------------------- 1 | DIM t as UInteger 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/neu32.bas: -------------------------------------------------------------------------------- 1 | DIM t as Ulong 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/neu8.bas: -------------------------------------------------------------------------------- 1 | DIM t as UByte 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/noheap.bas: -------------------------------------------------------------------------------- 1 | PRINT 12345 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/nosub.bas: -------------------------------------------------------------------------------- 1 | declare sub nofunc 2 | 3 | nofunc() 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/octal.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as Ubyte = 75o : REM Octal 3 | DIM b as Ubyte = 61 : REM Decimal 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt1_arr_at_init.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(10, 10) as UInteger 3 | DIM p as UInteger = @a(0, 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt1_beep_const.bas: -------------------------------------------------------------------------------- 1 | ' Beep with constants 2 | 3 | BEEP 1, 0.0 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt1_beep_var.bas: -------------------------------------------------------------------------------- 1 | ' Beep with constants 2 | 3 | DIM a as Float = 1 4 | BEEP a, 0.0 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt1_dim_arr_at5.bas: -------------------------------------------------------------------------------- 1 | DIM a(63, 31) as UByte AT 16384 2 | LET a(0, 0) = 255 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt1_dim_arr_global2.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(5) as UByte => {0, 1, 2, 3, 4, 5} 3 | 4 | POKE 0, a(2) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt1_endtest.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM N as uinteger = 12345 3 | end N 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt1_len.bas: -------------------------------------------------------------------------------- 1 | 2 | LET c = LEN(INKEY$) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt1_shifti16_const.bas: -------------------------------------------------------------------------------- 1 | dim num1, num2 as integer 2 | num2 = num1 >> 3 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt1_shiftli16.bas: -------------------------------------------------------------------------------- 1 | dim num1, num2 as integer 2 | num2 = num1 << 6 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt1_shiftu16_const.bas: -------------------------------------------------------------------------------- 1 | dim num1, num2 as uinteger 2 | num2 = num1 >> 3 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt1_usr.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as UByte 3 | a = USR a 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt2_dim_arr_at1.bas: -------------------------------------------------------------------------------- 1 | DIM a(7, 5) as UInteger AT 30000 2 | DIM c as UInteger 3 | LET a(2, 2) = c 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt2_ifband.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as Ubyte 3 | 4 | IF a bAND 1 a = a + 1 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt2_ifbor.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as Ubyte 3 | 4 | IF a bOR 1 a = a + 1 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt2_ifbor2.bas: -------------------------------------------------------------------------------- 1 | 2 | SUB x 3 | DIM a as Ubyte 4 | IF a bOR 1 THEN a = a + 1 5 | END SUB 6 | 7 | x 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt2_ifbyte.bas: -------------------------------------------------------------------------------- 1 | DIM a as UByte 2 | 3 | if a = 64 then 4 | a = a + 1 5 | end if 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt2_incdec_byte.bas: -------------------------------------------------------------------------------- 1 | DIM a as UByte 2 | 3 | a = a + 1 4 | a = a - 1 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt2_include_unused.bas: -------------------------------------------------------------------------------- 1 | #include "func0.bas" 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt2_labelinfunc.bas: -------------------------------------------------------------------------------- 1 | POKE @label1, 5 2 | 3 | sub procedure 4 | label1: 5 | 6 | end sub 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt2_labelinfunc2.bas: -------------------------------------------------------------------------------- 1 | POKE @label1, 5 2 | 3 | label1: 4 | sub procedure 5 | label1: 6 | 7 | end sub 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt2_labelinfunc3.bas: -------------------------------------------------------------------------------- 1 | 2 | sub procedure 3 | label1: 4 | 5 | end sub 6 | 7 | POKE @label1, 5 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt2_letsubstr_not_used.bas: -------------------------------------------------------------------------------- 1 | DIM a$ 2 | LET a$(1)="." 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt2_nogoto.bas: -------------------------------------------------------------------------------- 1 | 2 | GOTO nolabel 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt2_pstr.bas: -------------------------------------------------------------------------------- 1 | sub PRINT642(c as STRING) 2 | END SUB 3 | 4 | PRINT642("Hola2") 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt2_unused_var1.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as UByte = 1 'should compile nothing and emit a warning 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt3_asmexpr.bas: -------------------------------------------------------------------------------- 1 | asm 2 | ld de,56815-(8*41) 3 | end asm 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt3_endtest.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM N as uinteger = 12345 3 | end N 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt3_fixed.bas: -------------------------------------------------------------------------------- 1 | DIM x, dx as Fixed 2 | 3 | let x = x + dx 4 | POKE x, 0 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt3_gotogoto.bas: -------------------------------------------------------------------------------- 1 | 2 | 10 GOTO 30 3 | 20 LET a = 1 4 | 30 GOTO 50 5 | 40 LET a = 2 6 | 50 LET a = a + 1 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt3_haplo01.bas: -------------------------------------------------------------------------------- 1 | DIM a, b as UInteger 2 | 3 | let a = 19 4 | let a = a + b 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt3_haplo06.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a as UByte 3 | DIM y as Uinteger 4 | 5 | a = a bOR peek(y) bOR peek(y + 1) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt3_ldhlhl.bas: -------------------------------------------------------------------------------- 1 | 2 | ASM 3 | ld hl, 0 4 | ld hl, 0 5 | END ASM 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/opt4_keepix.bas: -------------------------------------------------------------------------------- 1 | 2 | SUB test() 3 | a = RND * 5 4 | a = a + 1 5 | END SUB 6 | 7 | test 8 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/optional_param0.bas: -------------------------------------------------------------------------------- 1 | 2 | sub test(x as Uinteger = 0) 3 | end sub 4 | 5 | test() 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/optional_param4.bas: -------------------------------------------------------------------------------- 1 | 2 | sub test(x as String = "A") 3 | end sub 4 | 5 | test("B") 6 | test() 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/out0.bas: -------------------------------------------------------------------------------- 1 | OUT 254, 1 2 | OUT 254, a 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/paramint3.bas: -------------------------------------------------------------------------------- 1 | DIM a as UInteger 2 | p(a) 3 | 4 | 5 | sub p(a as UInteger) 6 | end sub 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/params_implicit.bas: -------------------------------------------------------------------------------- 1 | REM issues a warning on y type not being explicit 2 | SUB x(y) 3 | y = 5 4 | END SUB 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/paramstr3.bas: -------------------------------------------------------------------------------- 1 | p(a$) 2 | 3 | sub p(q$) 4 | end sub 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/paramstr4.bas: -------------------------------------------------------------------------------- 1 | p(a$) 2 | 3 | sub p(q$) 4 | r(q$) 5 | end sub 6 | 7 | sub r(q$) 8 | end sub 9 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/paramstr5.bas: -------------------------------------------------------------------------------- 1 | p(a$) 2 | 3 | sub p(q$) 4 | r(q$) 5 | 6 | sub r(q$) 7 | end sub 8 | end sub 9 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/plot.bas: -------------------------------------------------------------------------------- 1 | 2 | PLOT 11,22 3 | PLOT a, 22 4 | PLOT 11, a 5 | PLOT a, b 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/poke3.bas: -------------------------------------------------------------------------------- 1 | DIM a(1 TO 3) as UInteger 2 | 3 | 4 | POKE(a, 5) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/poke4.bas: -------------------------------------------------------------------------------- 1 | DIM a(1 TO 3) as UInteger 2 | 3 | 4 | POKE a, 5 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/poke5.bas: -------------------------------------------------------------------------------- 1 | DIM a(1 TO 3) as UInteger 2 | 3 | 4 | POKE(UInteger a, 5) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/poke6.bas: -------------------------------------------------------------------------------- 1 | DIM a(1 TO 3) as UInteger 2 | 3 | POKE(Uinteger, a, 5) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/poke7.bas: -------------------------------------------------------------------------------- 1 | DIM x as ULong 2 | DIM y as UInteger 3 | 4 | POKE ULong y + 1, x 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/pokeref.bas: -------------------------------------------------------------------------------- 1 | Const U as Uinteger = 0 2 | 3 | POKE UInteger U, 0 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/pokeref1.bas: -------------------------------------------------------------------------------- 1 | sub test 2 | Const U as Uinteger = 0 3 | POKE UInteger U, 0 4 | end sub 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print42.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print64.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_arrstr.bas: -------------------------------------------------------------------------------- 1 | DIM a$(10) 2 | LET a$(5) = "HELLO WORLD" 3 | PRINT a$(5) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_at.bas: -------------------------------------------------------------------------------- 1 | PRINT AT 10, 10; " "; 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_bool.bas: -------------------------------------------------------------------------------- 1 | DIM a as UByte 2 | 3 | PRINT (a = a) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_comma.bas: -------------------------------------------------------------------------------- 1 | 2 | PRINT 1, 2 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_eol.bas: -------------------------------------------------------------------------------- 1 | PRINT 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_eol_attr.bas: -------------------------------------------------------------------------------- 1 | PRINT a$ 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_f.bas: -------------------------------------------------------------------------------- 1 | DIM a as Float 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_f16.bas: -------------------------------------------------------------------------------- 1 | DIM a as Fixed 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_i16.bas: -------------------------------------------------------------------------------- 1 | DIM a as Integer 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_i32.bas: -------------------------------------------------------------------------------- 1 | DIM a as Long 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_i8.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_tab.bas: -------------------------------------------------------------------------------- 1 | PRINT TAB 5; 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_u16.bas: -------------------------------------------------------------------------------- 1 | DIM a as UInteger 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_u32.bas: -------------------------------------------------------------------------------- 1 | DIM a as ULong 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/print_u8.bas: -------------------------------------------------------------------------------- 1 | DIM a as Ubyte 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/randomize.bas: -------------------------------------------------------------------------------- 1 | RANDOMIZE 2 | 3 | RANDOMIZE 32 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/read14.bas: -------------------------------------------------------------------------------- 1 | DIM j as Integer 2 | READ j 3 | 4 | DATA 700 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/readbug.bas: -------------------------------------------------------------------------------- 1 | DIM r1 as UByte 2 | READ r1 'Error: No DATA defined 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/recur0.bas: -------------------------------------------------------------------------------- 1 | 2 | Function Test 3 | Test 4 | End Function 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/refconstparam.bas: -------------------------------------------------------------------------------- 1 | 2 | Sub x(a as Uinteger) 3 | x(@a) 4 | End Sub 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/refconstparam2.bas: -------------------------------------------------------------------------------- 1 | 2 | Sub x(ByVal a As Uinteger) 3 | x(@a) 4 | End Sub 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/refconstparam3.bas: -------------------------------------------------------------------------------- 1 | 2 | Sub x(ByRef a As Uinteger) 3 | x(@a) 4 | End Sub 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/refconstparam4.bas: -------------------------------------------------------------------------------- 1 | 2 | Sub x(a as Uinteger) 3 | x(@b) 4 | End Sub 5 | 6 | Let b = 0x1234 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/refconstparam5.bas: -------------------------------------------------------------------------------- 1 | 2 | Sub x(a as Uinteger) 3 | x(@b) 4 | End Sub 5 | 6 | b: 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/refconstparam6.bas: -------------------------------------------------------------------------------- 1 | b: 2 | 3 | Sub x(a as Uinteger) 4 | x(@b) 5 | End Sub 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/restore0.bas: -------------------------------------------------------------------------------- 1 | REM should be ignored since there's no READ sentence 2 | restore 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/restore1.bas: -------------------------------------------------------------------------------- 1 | 1000 RESTORE 1010: READ a 2 | 1010 DATA 85 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/restore2.bas: -------------------------------------------------------------------------------- 1 | REM should be ignored since there's no READ sentence 2 | DATA 10 3 | 4 | restore 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/restore3.bas: -------------------------------------------------------------------------------- 1 | 2 | DATA 10 3 | 4 | restore 5 | 6 | read a 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/restore4.bas: -------------------------------------------------------------------------------- 1 | 2 | 3 | restore 4 | 5 | read a 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/rnd.bas: -------------------------------------------------------------------------------- 1 | 2 | RANDOMIZE 3 | a = RND 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/save.bas: -------------------------------------------------------------------------------- 1 | 2 | SAVE "test" SCREEN$ 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/save01.bas: -------------------------------------------------------------------------------- 1 | const BasePtr as uinteger = 32768 2 | save "Contents"code BasePtr, 25 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/save02.bas: -------------------------------------------------------------------------------- 1 | dim variableToSave as uinteger 2 | save "test1" DATA variableToSave 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/save03.bas: -------------------------------------------------------------------------------- 1 | SAVE "test" DATA 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/save04.bas: -------------------------------------------------------------------------------- 1 | DIM start, length as ULong 2 | 3 | SAVE "scr" CODE start, length 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sgnf.bas: -------------------------------------------------------------------------------- 1 | dim y as Float=1 2 | poke 0, sgn y 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sgnf16.bas: -------------------------------------------------------------------------------- 1 | dim y as Fixed=1 2 | poke 0, sgn y 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sgni16.bas: -------------------------------------------------------------------------------- 1 | dim y as Integer=1 2 | poke 0, sgn y 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sgni32.bas: -------------------------------------------------------------------------------- 1 | dim y as Long=1 2 | poke 0, sgn y 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sgni8.bas: -------------------------------------------------------------------------------- 1 | dim y as Byte=1 2 | poke 0, sgn y 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sgnu16.bas: -------------------------------------------------------------------------------- 1 | dim y as uInteger=1 2 | poke 0, sgn y 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sgnu32.bas: -------------------------------------------------------------------------------- 1 | dim y as uLong=1 2 | poke 0, sgn y 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sgnu8.bas: -------------------------------------------------------------------------------- 1 | dim y as uByte=1 2 | poke 0, sgn y 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/simple.bas: -------------------------------------------------------------------------------- 1 | PRINT "HELLO WORLD" 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sin1.bas: -------------------------------------------------------------------------------- 1 | REM test for lost of precision when constant folding 2 | 3 | DIM a AS FLOAT 4 | LET a = SIN 1 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/slice0.bas: -------------------------------------------------------------------------------- 1 | a$ = a$(10 TO) 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sn_crash.bas: -------------------------------------------------------------------------------- 1 | DIM p(10) AS Ubyte 2 | DIM f as String 3 | 4 | LET p(f) = 0 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sna_00.bas: -------------------------------------------------------------------------------- 1 | PRINT "HELLO WORLD" 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_SP_Fill.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_alloc.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_attr.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_basic.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_clearbox.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_csrlin.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_hex.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_memcopy.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_pos.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_putchars.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_scrbuffer.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_screen.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_scroll.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_spectranet.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stdlib_winscroll.bas: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stoperr.bas: -------------------------------------------------------------------------------- 1 | STOP 2 | ERROR 0 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/storecstr.bas: -------------------------------------------------------------------------------- 1 | 'REM Constant string assignation test 2 | DIM f as String 3 | 4 | f = "hello" 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/storef.bas: -------------------------------------------------------------------------------- 1 | DIM f, miny as Float 2 | 3 | f = miny 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/storestr0.bas: -------------------------------------------------------------------------------- 1 | DIM f, miny as String 2 | 3 | f = miny 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/storeu16.bas: -------------------------------------------------------------------------------- 1 | DIM f, miny as UInteger 2 | 3 | f = miny 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/storeu32.bas: -------------------------------------------------------------------------------- 1 | DIM f, miny as ULong 2 | 3 | f = miny 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/storeu8.bas: -------------------------------------------------------------------------------- 1 | DIM f, miny as UByte 2 | 3 | f = miny 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/str00.bas: -------------------------------------------------------------------------------- 1 | REM STR test 2 | 3 | ' Constant folding. This is compiled as a$ = "52" 4 | LET a$ = STR(50 + 2) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/str01.bas: -------------------------------------------------------------------------------- 1 | REM STR test 2 | 3 | ' Simple STR 4 | LET b = 50 5 | LET a$ = STR(b) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/str02.bas: -------------------------------------------------------------------------------- 1 | 'Simple add str 2 | 3 | DIM b as Uinteger = 2 4 | LET a$ = "Hello " + str$(b) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/str1.bas: -------------------------------------------------------------------------------- 1 | LET a$=STR 1 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/str_base0.bas: -------------------------------------------------------------------------------- 1 | 2 | #pragma string_base=1 3 | 4 | DIM a$(2) 5 | LET a$(2) = "12345" 6 | LET a$(2)(2) = "X" 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/stradd.bas: -------------------------------------------------------------------------------- 1 | LET a$ = "HELLO" 2 | LET a$ = a$ + " WORLD" 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/strbase.bas: -------------------------------------------------------------------------------- 1 | #pragma string_base = 1 2 | LET a$ = "Hola" 3 | LET a$(1) = "o" 4 | 5 | LET b$ = a$(1) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/strict.bas: -------------------------------------------------------------------------------- 1 | #pragma strict=false 2 | DIM b 3 | #pragma strict=true 4 | DIM a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/strict2.bas: -------------------------------------------------------------------------------- 1 | #pragma strict=true 2 | 3 | sub anysub() 4 | end sub 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/strict5.bas: -------------------------------------------------------------------------------- 1 | #pragma strict=true 2 | 3 | DIM a, b as Byte 4 | DIM c 5 | DIM e, f 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/strict6.bas: -------------------------------------------------------------------------------- 1 | 2 | #pragma strict=true 3 | 4 | DIM a = 5 5 | CONST b = 6 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/strict_bool.bas: -------------------------------------------------------------------------------- 1 | 2 | #pragma strict_bool=True 3 | 4 | let a = a < 5 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/string_substr.bas: -------------------------------------------------------------------------------- 1 | DIM i As UByte 2 | LET a$ = "STRING"(i + 1 TO) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/strsigil.bas: -------------------------------------------------------------------------------- 1 | 'Checks undeclared strings used with string slicing 2 | e3=code(character$(i3)) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sub16a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another SUB16 tests 3 | DIM a As Uinteger 4 | a = a - a - a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sub16b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another SUB16 test 3 | DIM a As UInteger 4 | a = a - a - (a - 2 - a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sub8a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a - a - a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sub8b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a - a - (a - 2 - a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sub_data.bas: -------------------------------------------------------------------------------- 1 | Sub Test 2 | DATA "X" 'this should not be allowed 3 | End Sub 4 | 5 | Test 6 | 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/subf00.bas: -------------------------------------------------------------------------------- 1 | DIM a as FLOAT = 0.5 2 | DIM b as FLOAT = 1 3 | 4 | b = b - 2 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/subf01.bas: -------------------------------------------------------------------------------- 1 | DIM a as FLOAT = 0.5 2 | DIM b as FLOAT = 1 3 | 4 | b = 2 - b 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/substr_empty.bas: -------------------------------------------------------------------------------- 1 | 2 | a$=b$(TO) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/substr_empty2.bas: -------------------------------------------------------------------------------- 1 | a$="STRING"() 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/substr_err.bas: -------------------------------------------------------------------------------- 1 | IF k$<>s$ THEN REM 2 | IF m$(s(1),s(2))="\b" THEN LET m$(s(1),s(2))="\c" 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/substr_expr.bas: -------------------------------------------------------------------------------- 1 | 2 | LET b$ = (a$ + ".")(5 TO ) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/substr_expr2.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM i As Uinteger 3 | LET a$ = "STRING"(5 + i) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/substr_expr_err.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | LET c$ = (a)(5 TO ) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/substrlval.bas: -------------------------------------------------------------------------------- 1 | 10 LET a$="Test188" 2 | 30 LET a$(3)="z" 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/swap32.bas: -------------------------------------------------------------------------------- 1 | DIM a as ULong = 65535 2 | 3 | LET a = a / 10 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/syntax1.bas: -------------------------------------------------------------------------------- 1 | REM Syntax Error: Unexpected end of file 2 | BORDER a+ 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sys_letsubstr0.bas: -------------------------------------------------------------------------------- 1 | 2 | LET a$ = "HELLO" 3 | LET a$(1) = "A" 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sys_letsubstr1.bas: -------------------------------------------------------------------------------- 1 | 2 | LET a$ = "HELLO" 3 | LET c$ = "A" 4 | LET a$(1) = c$ 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/sys_letsubstr2.bas: -------------------------------------------------------------------------------- 1 | 2 | LET a$ = "HELLO" 3 | LET c$ = "A" 4 | LET a$(1) = c$ + "A" 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/tap_00.bas: -------------------------------------------------------------------------------- 1 | PRINT "HELLO WORLD" 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/tap_01.bas: -------------------------------------------------------------------------------- 1 | #pragma org=0 2 | 3 | DIM a as UByte = 1 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/tap_asm_error_line.bas: -------------------------------------------------------------------------------- 1 | 2 | ASM 3 | test: dk 10, 20 4 | END ASM 5 | 6 | ASM 7 | dk 10, 20 8 | END ASM 9 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/tap_incbin.bas: -------------------------------------------------------------------------------- 1 | 2 | ASM 3 | incbin "zxuno/haplofnt.bin" 4 | END ASM 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/tap_include_asm_error.bas: -------------------------------------------------------------------------------- 1 | #include "extra_chars.bas" 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/tzx_00.bas: -------------------------------------------------------------------------------- 1 | PRINT "HELLO WORLD" 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ubound0.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(3 TO 5, 7 TO 9) As UByte 3 | 4 | LET b = UBound(a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ubound1.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(3 TO 5, 7 TO 9) As UByte 3 | 4 | LET b = UBound(a, 0) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ubound2.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(3 TO 5, 7 TO 9) As UByte 3 | DIM b as UInteger = 0 4 | 5 | LET c = UBound(a, b) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ubound3.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(3 TO 5, 7 TO 9) As UByte 3 | 4 | LET c = UBound(a, 1) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ubound4.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(3 TO 5, 7 TO 9) As UByte 3 | DIM b as UInteger = 1 4 | 5 | LET c = UBound(a, b) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/ubound5.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(3 TO 5, 7 TO 9) As UByte 3 | DIM b as UInteger = 2 4 | 5 | LET c = UBound(a, b) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/unary_crash.bas: -------------------------------------------------------------------------------- 1 | 2 | a = -b(4) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/usr0.bas: -------------------------------------------------------------------------------- 1 | DIM a AS UInteger 2 | LET a = USR "A" 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/utf-8-bom-bas.bas: -------------------------------------------------------------------------------- 1 | datosniveles: 2 | 3 | REM this file contains an UTF-8 BOM at the beginning 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/valcrash2.bas: -------------------------------------------------------------------------------- 1 | a=val(b$) 2 | a = val(b$+b$) 3 | a = val(inkey$) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/while_err.bas: -------------------------------------------------------------------------------- 1 | DIM i, c as Ubyte 2 | 3 | WHILE i = 1 4 | LET c = c * 2 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/whileempty.bas: -------------------------------------------------------------------------------- 1 | DIM i as Byte 2 | WHILE i < 5 END WHILE 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/whileempty1.bas: -------------------------------------------------------------------------------- 1 | DIM i as Byte 2 | WHILE i < 5 3 | END WHILE 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/whilefalse.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | WHILE 0 3 | a = a + 1 4 | WEND 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/whilefalse1.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | WHILE 0 3 | BAD: 4 | a = a + 1 5 | WEND 6 | GOTO BAD 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/whilesplitted.bas: -------------------------------------------------------------------------------- 1 | 2 | WHILE i=1: 3 | LET M=0: WEND 4 | 5 | WHILE i=1: 6 | LET M=0: END WHILE 7 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/whiletrue.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | WHILE 1 3 | a = a + 1 4 | WEND 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zx48k/z80_00.bas: -------------------------------------------------------------------------------- 1 | PRINT "HELLO WORLD" 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/add16a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD16 tests 3 | DIM a As Integer 4 | a = a + a + a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/add16b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD16 tests 3 | DIM a As Integer 4 | a = a + a + (a + 2 + a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/add32a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD32 test 3 | DIM a As ULong 4 | a = a + a + a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/add32b.bas: -------------------------------------------------------------------------------- 1 | REM another ADD32 test 2 | DIM a As Long 3 | a = a + a + (a + 2 + a) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/add8a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a + a + a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/add8b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a + a + (a + 2 + a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/addf.bas: -------------------------------------------------------------------------------- 1 | REM another Float test 2 | DIM a As Float 3 | a = a + a + (a + 2 + a) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/addf16a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADDF16 tests 3 | DIM a As Fixed 4 | a = a + a + a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/addf16b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADDF16 test 3 | DIM a As Fixed 4 | a = a + a + (a + 2 + a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/array01.bas: -------------------------------------------------------------------------------- 1 | REM array assignation for Bytes 2 | 3 | DIM a(10) as UByte 4 | 5 | LET a(1) = 5 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/array04.bas: -------------------------------------------------------------------------------- 1 | REM array assignation for Bytes 2 | 3 | DIM a(10) as UInteger 4 | 5 | LET a(1) = 5 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/array08.bas: -------------------------------------------------------------------------------- 1 | DIM a$(10) 2 | DIM b as Uinteger 3 | DIM s as String 4 | 5 | a$(b) = s 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/arraycopy5.bas: -------------------------------------------------------------------------------- 1 | DIM a$(3) 2 | DIM c$(3) 3 | 4 | a$(1) = "Hello world" 5 | c$ = a$ 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/bound00.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(2 TO 8) as integer 3 | 4 | LET b = Ubound(a) 5 | LET c = Lbound(a) 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/div32.bas: -------------------------------------------------------------------------------- 1 | DIM a as Fixed 2 | 3 | LET a = a / -1 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/divf00.bas: -------------------------------------------------------------------------------- 1 | DIM a as FLOAT = 0.5 2 | DIM b as FLOAT = 1 3 | 4 | b = b / 2 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/divf01.bas: -------------------------------------------------------------------------------- 1 | DIM a as FLOAT = 0.5 2 | DIM b as FLOAT = 1 3 | 4 | b = 2 / b 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/divf16a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another DIV Fixed tests 3 | DIM a As Fixed 4 | a = a / a / a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/divf16b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD Fixed tests 3 | DIM a As Fixed 4 | a = a / a / (a / 2 / a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/divi16a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another DIV16 test 3 | DIM a As UInteger 4 | a = a / a / a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/divi16b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another DIV16 test 3 | DIM a As UInteger 4 | a = a / a / (a / 2 / a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/divi8a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a / a / a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/divi8b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a / a / (a / 2 / a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/divu16a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another DIVU16 test 3 | DIM a As UInteger 4 | a = a / a / a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/divu16b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another DIVU16 test 3 | DIM a As UInteger 4 | a = a / a / (a / 2 / a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/divu8a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As UByte 4 | a = a / a / a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/divu8b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As UByte 4 | a = a / a / (a / 2 / a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/equ16.bas: -------------------------------------------------------------------------------- 1 | DIM a as UInteger 2 | 3 | IF a = 5 THEN 4 | LET a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/equ32.bas: -------------------------------------------------------------------------------- 1 | DIM a as ULong 2 | 3 | IF a = 5 THEN 4 | LET a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/equ8.bas: -------------------------------------------------------------------------------- 1 | DIM a as UByte 2 | 3 | IF a = 5 THEN 4 | LET a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/equf.bas: -------------------------------------------------------------------------------- 1 | DIM a as Float 2 | 3 | IF a = 5 THEN 4 | LET a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/fp_pow.bas: -------------------------------------------------------------------------------- 1 | DIM x as Float 2 | 3 | LET x = x ^ 2.5 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/gei8.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | 3 | IF a >= 5 THEN 4 | POKE 16384, 255 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/gti8.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | 3 | IF a > 5 THEN 4 | LET a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/gtu8.bas: -------------------------------------------------------------------------------- 1 | DIM a as UByte 2 | 3 | IF a > 5 THEN 4 | LET a = a + 1 5 | END IF 6 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/inkey.bas: -------------------------------------------------------------------------------- 1 | a$ = inkey$ 2 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/math_acs.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = ACS(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/math_asn.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = ASN(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/math_atn.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = ATN(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/math_cos.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = COS(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/math_exp.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = EXP(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/math_ln.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = LN(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/math_sin.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = SIN(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/math_sqr.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = SQR(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/math_tan.bas: -------------------------------------------------------------------------------- 1 | DIM x As Float 2 | LET x = TAN(x) 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/modf.bas: -------------------------------------------------------------------------------- 1 | DIM a as Float 2 | 3 | LET a = a MOD 1 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/modf16.bas: -------------------------------------------------------------------------------- 1 | DIM a as Fixed 2 | 3 | LET a = a MOD 1 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/modi8a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another MOD8 tests 3 | DIM a As Byte 4 | a = a mod a mod a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/modi8b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a mod a mod (a mod 2 mod a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/modu8a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As UByte 4 | a = a mod a mod a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/modu8b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another MOD8 tests 3 | DIM a As UByte 4 | a = a mod a mod (a mod 2 mod a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/mul16a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another MUL16 test 3 | DIM a As Integer 4 | a = a * a * a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/mul16b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD16 tests 3 | DIM a As Integer 4 | a = a * a * (a * 2 * a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/mul16c.bas: -------------------------------------------------------------------------------- 1 | DIM a as Integer 2 | 3 | a = -1 * a 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/mul8a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a * a * a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/mul8b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a * a * (a * 2 * a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/mulf00.bas: -------------------------------------------------------------------------------- 1 | DIM a as FLOAT = 0.5 2 | DIM b as FLOAT = 1 3 | 4 | b = b * 2 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/mulf01.bas: -------------------------------------------------------------------------------- 1 | DIM a as FLOAT = 0.5 2 | DIM b as FLOAT = 1 3 | 4 | b = 2 * b 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/mulf16a.bas: -------------------------------------------------------------------------------- 1 | DIM a as FIXED = 0.5 2 | DIM b as FIXED = 1 3 | 4 | b = b * 2 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/muli8.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | 3 | LET a = a * 3 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/mulu16.bas: -------------------------------------------------------------------------------- 1 | DIM a as UInteger 2 | 3 | LET a = a * 3 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/mulu8.bas: -------------------------------------------------------------------------------- 1 | DIM a as UByte 2 | 3 | LET a = a * 3 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/nef.bas: -------------------------------------------------------------------------------- 1 | DIM t as Float 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/nef16.bas: -------------------------------------------------------------------------------- 1 | DIM t as Fixed 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/nei16.bas: -------------------------------------------------------------------------------- 1 | DIM t as Integer 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/nei32.bas: -------------------------------------------------------------------------------- 1 | DIM t as Long 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/nei8.bas: -------------------------------------------------------------------------------- 1 | DIM t as Byte 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/neu16.bas: -------------------------------------------------------------------------------- 1 | DIM t as UInteger 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/neu32.bas: -------------------------------------------------------------------------------- 1 | DIM t as Ulong 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/neu8.bas: -------------------------------------------------------------------------------- 1 | DIM t as UByte 2 | 3 | POKE 0, (t <> 0) 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/opt1_beep_const.bas: -------------------------------------------------------------------------------- 1 | ' Beep with constants 2 | 3 | BEEP 1, 0.0 4 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/opt1_beep_var.bas: -------------------------------------------------------------------------------- 1 | ' Beep with constants 2 | 3 | DIM a as Float = 1 4 | BEEP a, 0.0 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/opt2_epilogue.bas: -------------------------------------------------------------------------------- 1 | REM Test empty program for prologue and epilogue 2 | REM for ZX Next using O2 optimizer 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/print_f.bas: -------------------------------------------------------------------------------- 1 | DIM a as Float 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/print_i16.bas: -------------------------------------------------------------------------------- 1 | DIM a as Integer 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/print_i32.bas: -------------------------------------------------------------------------------- 1 | DIM a as Long 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/print_i8.bas: -------------------------------------------------------------------------------- 1 | DIM a as Byte 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/print_u16.bas: -------------------------------------------------------------------------------- 1 | DIM a as UInteger 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/print_u32.bas: -------------------------------------------------------------------------------- 1 | DIM a as ULong 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/print_u8.bas: -------------------------------------------------------------------------------- 1 | DIM a as Ubyte 2 | PRINT a; 3 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/sub16a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another SUB16 tests 3 | DIM a As Uinteger 4 | a = a - a - a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/sub16b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another SUB16 test 3 | DIM a As UInteger 4 | a = a - a - (a - 2 - a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/sub8a.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a - a - a 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/sub8b.bas: -------------------------------------------------------------------------------- 1 | 2 | REM another ADD8 tests 3 | DIM a As Byte 4 | a = a - a - (a - 2 - a) 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/subf00.bas: -------------------------------------------------------------------------------- 1 | DIM a as FLOAT = 0.5 2 | DIM b as FLOAT = 1 3 | 4 | b = b - 2 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/subf01.bas: -------------------------------------------------------------------------------- 1 | DIM a as FLOAT = 0.5 2 | DIM b as FLOAT = 1 3 | 4 | b = 2 - b 5 | -------------------------------------------------------------------------------- /tests/functional/arch/zxnext/ubound0.bas: -------------------------------------------------------------------------------- 1 | 2 | DIM a(3 TO 5, 7 TO 9) As UByte 3 | 4 | LET b = UBound(a) 5 | -------------------------------------------------------------------------------- /tests/functional/asm/align.asm: -------------------------------------------------------------------------------- 1 | ;; ALign test 2 | align 256 3 | db 1 4 | align 32 5 | db 2 6 | align 3 7 | db 3 8 | -------------------------------------------------------------------------------- /tests/functional/asm/align.bin: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /tests/functional/asm/align2.asm: -------------------------------------------------------------------------------- 1 | db 0 2 | LABEL0: 3 | db 1 4 | ALIGN 4 5 | 6 | LABEL1: 7 | db 1 8 | ALIGN 4 9 | db 2 10 | -------------------------------------------------------------------------------- /tests/functional/asm/align2.bin: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /tests/functional/asm/align3.asm: -------------------------------------------------------------------------------- 1 | 2 | align 0 3 | nop 4 | -------------------------------------------------------------------------------- /tests/functional/asm/and_err.asm: -------------------------------------------------------------------------------- 1 | and : a, 0 2 | -------------------------------------------------------------------------------- /tests/functional/asm/asm_lb_ix_rb.asm: -------------------------------------------------------------------------------- 1 | 2 | LD a, [ix + 0] 3 | LD [ix + 0], a 4 | 5 | LD a, [iy + 0] 6 | LD [iy + 0], a 7 | -------------------------------------------------------------------------------- /tests/functional/asm/asm_wrong_opcode.asm: -------------------------------------------------------------------------------- 1 | 2 | ld d, [.c] 3 | 4 | .c: 5 | -------------------------------------------------------------------------------- /tests/functional/asm/asmcolon2.asm: -------------------------------------------------------------------------------- 1 | ld e,a : ld d,0 2 | -------------------------------------------------------------------------------- /tests/functional/asm/asmcolon2.bin: -------------------------------------------------------------------------------- 1 | _ -------------------------------------------------------------------------------- /tests/functional/asm/asmcolon4.asm: -------------------------------------------------------------------------------- 1 | ld a, 0 : LOOP : nop : jp LOOP 2 | -------------------------------------------------------------------------------- /tests/functional/asm/asmconst0.asm: -------------------------------------------------------------------------------- 1 | 2 | db 0x10 3 | -------------------------------------------------------------------------------- /tests/functional/asm/asmconst0.bin: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /tests/functional/asm/asmerror0.asm: -------------------------------------------------------------------------------- 1 | PROC 2 | 3 | LOCAL X 4 | LOCAL X 5 | X: 6 | 7 | ENDP 8 | -------------------------------------------------------------------------------- /tests/functional/asm/asmerror1.asm: -------------------------------------------------------------------------------- 1 | PROC 2 | 3 | 4 | ENDP 5 | -------------------------------------------------------------------------------- /tests/functional/asm/asmerror2.asm: -------------------------------------------------------------------------------- 1 | 2 | LD a, @# 3 | -------------------------------------------------------------------------------- /tests/functional/asm/asmlabel1.asm: -------------------------------------------------------------------------------- 1 | 2 | label : 3 | jp label 4 | -------------------------------------------------------------------------------- /tests/functional/asm/asmlabel2.asm: -------------------------------------------------------------------------------- 1 | 2 | ; test label: instruction 3 | 4 | test: jp test 5 | -------------------------------------------------------------------------------- /tests/functional/asm/asmprepro.bin: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/functional/asm/atoloduplbl.asm: -------------------------------------------------------------------------------- 1 | 2 | SetSubScreen: 3 | SetSubScreen: 4 | ld (ix+5), 1 5 | -------------------------------------------------------------------------------- /tests/functional/asm/bitop0.asm: -------------------------------------------------------------------------------- 1 | 2 | set 8, a 3 | -------------------------------------------------------------------------------- /tests/functional/asm/bitop1.asm: -------------------------------------------------------------------------------- 1 | 2 | 3 | set 8, (ix + 3) 4 | -------------------------------------------------------------------------------- /tests/functional/asm/db256.asm: -------------------------------------------------------------------------------- 1 | ORG 32768 2 | 3 | DB 0, 1, 2, 256 4 | DB 1, TEST 5 | DS 10 6 | DS 10, 256 7 | 8 | TEST: 9 | -------------------------------------------------------------------------------- /tests/functional/asm/db256.bin: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /tests/functional/asm/db_multi.asm: -------------------------------------------------------------------------------- 1 | 2 | DB "Hello", 32, "Worl", 'D' + 32 3 | DB 32, "Hello" 4 | -------------------------------------------------------------------------------- /tests/functional/asm/db_multi.bin: -------------------------------------------------------------------------------- 1 | Hello World Hello -------------------------------------------------------------------------------- /tests/functional/asm/dbbad.asm: -------------------------------------------------------------------------------- 1 | 2 | 3 | db 256 4 | -------------------------------------------------------------------------------- /tests/functional/asm/dbbad.bin: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/functional/asm/defsbad.asm: -------------------------------------------------------------------------------- 1 | 2 | DEFS 'a', 2, 3 3 | -------------------------------------------------------------------------------- /tests/functional/asm/divint.asm: -------------------------------------------------------------------------------- 1 | 2 | ld d, $5B00 / 256 3 | -------------------------------------------------------------------------------- /tests/functional/asm/divint.bin: -------------------------------------------------------------------------------- 1 | [ -------------------------------------------------------------------------------- /tests/functional/asm/end_newline.asm: -------------------------------------------------------------------------------- 1 | nop 2 | END 3 | -------------------------------------------------------------------------------- /tests/functional/asm/end_newline.bin: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/functional/asm/error_macro.asm: -------------------------------------------------------------------------------- 1 | #warning this is a warning 2 | #error this is an error 3 | nop 4 | -------------------------------------------------------------------------------- /tests/functional/asm/hex_num.asm: -------------------------------------------------------------------------------- 1 | 2 | 3 | ld a, $1f 4 | ld a, $1e 5 | -------------------------------------------------------------------------------- /tests/functional/asm/hex_num.bin: -------------------------------------------------------------------------------- 1 | >> -------------------------------------------------------------------------------- /tests/functional/asm/hex_num1.asm: -------------------------------------------------------------------------------- 1 | ld a, 0xff 2 | -------------------------------------------------------------------------------- /tests/functional/asm/im0.asm: -------------------------------------------------------------------------------- 1 | 2 | im 3 3 | -------------------------------------------------------------------------------- /tests/functional/asm/incbin0.asm: -------------------------------------------------------------------------------- 1 | 2 | ; Tries to include a non binary file 3 | incbin "nofile.bin" 4 | -------------------------------------------------------------------------------- /tests/functional/asm/incbin1.asm: -------------------------------------------------------------------------------- 1 | 2 | ; Includes a file as binary 3 | incbin "incbin1.asm" 4 | -------------------------------------------------------------------------------- /tests/functional/asm/incbin1.bin: -------------------------------------------------------------------------------- 1 | 2 | ; Includes a file as binary 3 | incbin "incbin1.asm" 4 | -------------------------------------------------------------------------------- /tests/functional/asm/incbin2.asm: -------------------------------------------------------------------------------- 1 | 2 | ; Tries to include a non binary file 3 | incbin "incbin2.asm", 16 4 | -------------------------------------------------------------------------------- /tests/functional/asm/incbin2.bin: -------------------------------------------------------------------------------- 1 | ude a non binary file 2 | incbin "incbin2.asm", 16 3 | -------------------------------------------------------------------------------- /tests/functional/asm/incbin3.asm: -------------------------------------------------------------------------------- 1 | 2 | ; Tries to include a non binary file 3 | incbin "incbin3.asm", 16, 2 4 | -------------------------------------------------------------------------------- /tests/functional/asm/incbin3.bin: -------------------------------------------------------------------------------- 1 | ud -------------------------------------------------------------------------------- /tests/functional/asm/incbin4.asm: -------------------------------------------------------------------------------- 1 | 2 | ; Tries to include a non binary file 3 | incbin "incbin4.asm", -5, 2 4 | -------------------------------------------------------------------------------- /tests/functional/asm/incbin4.bin: -------------------------------------------------------------------------------- 1 | 5, -------------------------------------------------------------------------------- /tests/functional/asm/incbin5.asm: -------------------------------------------------------------------------------- 1 | 2 | ; Tries to include a non binary file 3 | incbin "incbin5.asm", -6 4 | -------------------------------------------------------------------------------- /tests/functional/asm/incbin5.bin: -------------------------------------------------------------------------------- 1 | ", -6 2 | -------------------------------------------------------------------------------- /tests/functional/asm/incbin6.asm: -------------------------------------------------------------------------------- 1 | 2 | incbin "incbin6.asm", -60, 2 3 | -------------------------------------------------------------------------------- /tests/functional/asm/jp1f_bad.asm: -------------------------------------------------------------------------------- 1 | jp 1f 2 | nop 3 | 1: 4 | jp 1f 5 | nop 6 | 1: 7 | -------------------------------------------------------------------------------- /tests/functional/asm/jphl.asm: -------------------------------------------------------------------------------- 1 | 2 | JP (HL) 3 | JP [HL] 4 | 5 | JP (IX) 6 | JP [IX] 7 | 8 | JP (IY) 9 | JP [IY] 10 | -------------------------------------------------------------------------------- /tests/functional/asm/jr_no_label.asm: -------------------------------------------------------------------------------- 1 | jr z,sigPuente 2 | -------------------------------------------------------------------------------- /tests/functional/asm/ldix.asm: -------------------------------------------------------------------------------- 1 | 2 | ld (ix - 12 + 5), 0 3 | ld (ix + (-12 + 5)), 0 4 | -------------------------------------------------------------------------------- /tests/functional/asm/ldix1.asm: -------------------------------------------------------------------------------- 1 | 2 | ld (ix - 12), 0 3 | -------------------------------------------------------------------------------- /tests/functional/asm/ldix2.asm: -------------------------------------------------------------------------------- 1 | 2 | ld (ix (- 12 + 5)), 0 3 | -------------------------------------------------------------------------------- /tests/functional/asm/ldix3.asm: -------------------------------------------------------------------------------- 1 | 2 | ld (ix 12 + 5), 0 3 | -------------------------------------------------------------------------------- /tests/functional/asm/ldix4.asm: -------------------------------------------------------------------------------- 1 | 2 | ld (ix * 12), 0 3 | -------------------------------------------------------------------------------- /tests/functional/asm/ltee11.asm: -------------------------------------------------------------------------------- 1 | label: 2 | ld a, (label) 3 | ld a, [label] 4 | ld a, (label) + 0 5 | -------------------------------------------------------------------------------- /tests/functional/asm/ltee11.bin: -------------------------------------------------------------------------------- 1 | ::> -------------------------------------------------------------------------------- /tests/functional/asm/ltee12.asm: -------------------------------------------------------------------------------- 1 | ld a, (hl) 2 | ld a, [hl] 3 | -------------------------------------------------------------------------------- /tests/functional/asm/ltee12.bin: -------------------------------------------------------------------------------- 1 | ~~ -------------------------------------------------------------------------------- /tests/functional/asm/namespace00.bin: -------------------------------------------------------------------------------- 1 | >!w> -------------------------------------------------------------------------------- /tests/functional/asm/namespace01.bin: -------------------------------------------------------------------------------- 1 | >!w> -------------------------------------------------------------------------------- /tests/functional/asm/namespace_push_pop.bin: -------------------------------------------------------------------------------- 1 | :: -------------------------------------------------------------------------------- /tests/functional/asm/neg_par.asm: -------------------------------------------------------------------------------- 1 | ld a, -(5) 2 | ld a, 0-(5) 3 | ld a, +(5) 4 | ld a, 0+(5) 5 | -------------------------------------------------------------------------------- /tests/functional/asm/nop_nop.asm: -------------------------------------------------------------------------------- 1 | nop:nop 2 | -------------------------------------------------------------------------------- /tests/functional/asm/nop_nop.bin: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/functional/asm/orgbad.asm: -------------------------------------------------------------------------------- 1 | ; Invalid org address 2 | org -1 3 | 4 | nop 5 | -------------------------------------------------------------------------------- /tests/functional/asm/paren.asm: -------------------------------------------------------------------------------- 1 | __LABEL__UDGS: 2 | ld hl, (__LABEL__UDGS) / (256) 3 | ld a, (__LABEL__UDGS) / (256) 4 | -------------------------------------------------------------------------------- /tests/functional/asm/paren.bin: -------------------------------------------------------------------------------- 1 | !> -------------------------------------------------------------------------------- /tests/functional/asm/preprocerr1.asm: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tests/functional/asm/preprocerr2.asm: -------------------------------------------------------------------------------- 1 | #define @ 2 | -------------------------------------------------------------------------------- /tests/functional/asm/rst0.asm: -------------------------------------------------------------------------------- 1 | 2 | rst 1 3 | -------------------------------------------------------------------------------- /tests/functional/asm/shift.asm: -------------------------------------------------------------------------------- 1 | 2 | LD a, 255 >> 1 3 | LD a, 1 << 1 4 | -------------------------------------------------------------------------------- /tests/functional/asm/shift.bin: -------------------------------------------------------------------------------- 1 | >> -------------------------------------------------------------------------------- /tests/functional/asm/tmp_label0.asm: -------------------------------------------------------------------------------- 1 | 1: 2 | ld hl, 1b 3 | ld hl, (1b) 4 | ld hl, 1f 5 | ld hl, (1f) 6 | 1: 7 | -------------------------------------------------------------------------------- /tests/functional/asm/tmp_label0.bin: -------------------------------------------------------------------------------- 1 | !*! * -------------------------------------------------------------------------------- /tests/functional/asm/tmp_label1.asm: -------------------------------------------------------------------------------- 1 | 1: 2 | nop 3 | ld hl, 1f 4 | -------------------------------------------------------------------------------- /tests/functional/asm/tmp_label2.asm: -------------------------------------------------------------------------------- 1 | 2 | ld hl, 1b 3 | 1: 4 | -------------------------------------------------------------------------------- /tests/functional/asm/tmp_label4.asm: -------------------------------------------------------------------------------- 1 | 2 | 1: 3 | push namespace test 4 | nop 5 | 1: 6 | ld hl, 1b 7 | pop namespace 8 | ld hl, 1b 9 | -------------------------------------------------------------------------------- /tests/functional/asm/tmp_label4.bin: -------------------------------------------------------------------------------- 1 | !! -------------------------------------------------------------------------------- /tests/functional/asm/tmp_label5.asm: -------------------------------------------------------------------------------- 1 | 1: 2 | nop 3 | 1: 4 | ld hl, 1b 5 | ld hl, 2f 6 | 1: 7 | nop 8 | 2: 9 | -------------------------------------------------------------------------------- /tests/functional/asm/tmp_label5.bin: -------------------------------------------------------------------------------- 1 | !! -------------------------------------------------------------------------------- /tests/functional/asm/tmp_label6.asm: -------------------------------------------------------------------------------- 1 | ld hl, 1f 2 | PROC 3 | ;; Temporary labels cross PROCs 4 | 1: 5 | 6 | ENDP 7 | ld hl, 1b 8 | -------------------------------------------------------------------------------- /tests/functional/asm/tmp_label6.bin: -------------------------------------------------------------------------------- 1 | !! -------------------------------------------------------------------------------- /tests/functional/asm/tmp_label7.asm: -------------------------------------------------------------------------------- 1 | 2 | 3 | jp 1f 4 | nop 5 | 1: 6 | 7 | #line 1 "another_file.asm" 8 | 1: 9 | 10 | nop 11 | -------------------------------------------------------------------------------- /tests/functional/asm/undef_label.asm: -------------------------------------------------------------------------------- 1 | 2 | LABEL1 EQU LABEL2 + 1 3 | -------------------------------------------------------------------------------- /tests/functional/asm/utf-8-bom-asm.asm: -------------------------------------------------------------------------------- 1 | datosniveles: 2 | nop 3 | ; This file contains an UTF-8 BOM and must be correctly parsed 4 | -------------------------------------------------------------------------------- /tests/functional/asm/utf-8-bom-asm.bin: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/line_asm.bi: -------------------------------------------------------------------------------- 1 | ASM 2 | NOP 3 | #line 25 4 | END ASM 5 | #warning this should be line 26 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/line_asm.out: -------------------------------------------------------------------------------- 1 | #line 1 "line_asm.bi" 2 | ASM 3 | NOP 4 | END ASM 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/once.bi: -------------------------------------------------------------------------------- 1 | 2 | 3 | DIM a as Ubyte 4 | 5 | #pragma once 6 | 7 | DIM b as Ubyte 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/once.out: -------------------------------------------------------------------------------- 1 | #line 1 "once.bi" 2 | 3 | 4 | DIM a as Ubyte 5 | 6 | 7 | 8 | DIM b as Ubyte 9 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/once_base.bi: -------------------------------------------------------------------------------- 1 | 2 | #include "once.bi" 3 | #include "once.bi" 4 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro00.bi: -------------------------------------------------------------------------------- 1 | #include 2 | PRINT "HELLO" 3 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro01.bi: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | PRINT "HOLA" 4 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro02.bi: -------------------------------------------------------------------------------- 1 | #define TEST 2 | 3 | #ifdef TEST 4 | REM This is OK 5 | #endif 6 | 7 | REM End 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro02.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro02.bi" 2 | 3 | 4 | 5 | 6 | #line 6 "prepro02.bi" 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro04.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro04.bi" 2 | 3 | #line 5 "prepro04.bi" 4 | 5 | #line 7 "prepro04.bi" 6 | 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro05.bi: -------------------------------------------------------------------------------- 1 | 2 | #define test x 3 | #define test y 'test should be redefined as y 4 | 5 | test 6 | test2 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro06.bi: -------------------------------------------------------------------------------- 1 | 2 | #define test () 3 | ' Must return parenthesis 4 | 5 | func test 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro06.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro06.bi" 2 | 3 | #line 3 "prepro06.bi" 4 | 5 | 6 | func () 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro07.bi: -------------------------------------------------------------------------------- 1 | 2 | #define test(x,x) (x + x) 3 | 4 | func test (3) 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro09.bi: -------------------------------------------------------------------------------- 1 | #define PI 2 | 3 | PI 4 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro09.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro09.bi" 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro10.bi: -------------------------------------------------------------------------------- 1 | 2 | 3 | function test(byval a as byte) 4 | let test = 0 5 | end function 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro18.bi: -------------------------------------------------------------------------------- 1 | ' Must return 2 | ' PRINT (10, 20); 3 | 4 | #define macro(x) PRINT x; 5 | 6 | macro((10, 20)) 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro18.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro18.bi" 2 | 3 | 4 | 5 | #line 5 "prepro18.bi" 6 | 7 | PRINT (10, 20); 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro19.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro19.bi" 2 | 3 | 4 | 5 | #line 5 "prepro19.bi" 6 | 7 | PRINT (10 + PRINT 20;); 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro20.bi: -------------------------------------------------------------------------------- 1 | ' Must return 2 | ' PRINT ;) 3 | 4 | #define macro(x) PRINT x; 5 | 6 | macro()) 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro20.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro20.bi" 2 | 3 | 4 | 5 | #line 5 "prepro20.bi" 6 | 7 | PRINT ;) 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro21.bi: -------------------------------------------------------------------------------- 1 | ' Must return 2 | ' 10 3 | 4 | #define macro(x) x(10) 5 | #define test(y) y 6 | 7 | macro(test) 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro25.bi: -------------------------------------------------------------------------------- 1 | ' Must return 2 | ' (x + y) * 2 3 | 4 | #define test(x) x * 2 5 | 6 | test((x + y)) 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro25.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro25.bi" 2 | 3 | 4 | 5 | #line 5 "prepro25.bi" 6 | 7 | (x + y) * 2 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro26.bi: -------------------------------------------------------------------------------- 1 | ' Must return 2 | ' (x + y) + 4 * 2 3 | 4 | #define test(x) x * 2 5 | 6 | test((x + y) + 4) 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro26.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro26.bi" 2 | 3 | 4 | 5 | #line 5 "prepro26.bi" 6 | 7 | (x + y) + 4 * 2 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro28.bi: -------------------------------------------------------------------------------- 1 | 'Raises an error with a mistipped directive 2 | 3 | #defien HELLOWORLD "Hello" 4 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro29.bi: -------------------------------------------------------------------------------- 1 | #define X ZZ 2 | 'must return ZZ 3 | X 4 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro29.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro29.bi" 2 | 3 | 4 | ZZ 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro30.bi: -------------------------------------------------------------------------------- 1 | #include once 2 | #include once 3 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro31.bi: -------------------------------------------------------------------------------- 1 | ' Preprocessor bug discovered by LTee 2 | 3 | t(x, (y - 1)) 4 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro31.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro31.bi" 2 | 3 | 4 | t(x, (y - 1)) 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro34.bi: -------------------------------------------------------------------------------- 1 | ' a Single test with continued lines 2 | 3 | LET a = _ REM should be continued 4 | 5 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro34.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro34.bi" 2 | 3 | 4 | LET a = _ 5 | 5 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro35.bi: -------------------------------------------------------------------------------- 1 | asm 2 | ld a, \ ; test 3 | 5 4 | end asm 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro36.bi: -------------------------------------------------------------------------------- 1 | /' 2 | This comment should be removed 3 | '/ 4 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro36.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro36.bi" 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro37.bi: -------------------------------------------------------------------------------- 1 | /' 2 | This comment should be removed 3 | '/ 4 | 5 | PRINT 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro37.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro37.bi" 2 | 3 | 4 | 5 | 6 | PRINT 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro38.bi: -------------------------------------------------------------------------------- 1 | 2 | #define myfunc() \ 3 | Test 4 | 5 | myfunc() 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro38.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro38.bi" 2 | 3 | #line 4 "prepro38.bi" 4 | 5 | 6 | Test 7 | #line 6 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro39.bi: -------------------------------------------------------------------------------- 1 | ' Must return: 2 | ' PRINT , 3 | 4 | #define macro(x, y) \ 5 | PRINT x, y 6 | 7 | macro(,) 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro40.bi: -------------------------------------------------------------------------------- 1 | #define macro() TEST 2 | 3 | macro 4 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro40.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro40.bi" 2 | 3 | 4 | macro 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro42.bi: -------------------------------------------------------------------------------- 1 | #define X 0 2 | 3 | #if X 4 | print X 5 | #endif 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro42.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro42.bi" 2 | 3 | 4 | #line 6 "prepro42.bi" 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro43.bi: -------------------------------------------------------------------------------- 1 | #define X 1 2 | 3 | #if X 4 | print X 5 | #endif 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro43.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro43.bi" 2 | 3 | 4 | 5 | print 1 6 | #line 6 "prepro43.bi" 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro44.bi: -------------------------------------------------------------------------------- 1 | #define X A 2 | 3 | #if X 4 | print X 5 | #endif 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro44.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro44.bi" 2 | 3 | 4 | #line 6 "prepro44.bi" 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro45.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro45.bi" 2 | 3 | 4 | #line 7 "prepro45.bi" 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro46.bi: -------------------------------------------------------------------------------- 1 | #define X(a) a 2 | 3 | #if X(1) 4 | print 1 5 | #endif 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro46.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro46.bi" 2 | 3 | 4 | 5 | print 1 6 | #line 6 "prepro46.bi" 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro47.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro47.bi" 2 | 3 | #line 3 "prepro47.bi" 4 | 5 | #line 8 "prepro47.bi" 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro48.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro48.bi" 2 | 3 | #line 3 "prepro48.bi" 4 | 5 | #line 8 "prepro48.bi" 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro49.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro49.bi" 2 | 3 | #line 3 "prepro49.bi" 4 | 5 | #line 8 "prepro49.bi" 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro51.bi: -------------------------------------------------------------------------------- 1 | #define X A(1) 2 | 3 | X 4 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro51.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro51.bi" 2 | 3 | 4 | A(1) 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro52.bi: -------------------------------------------------------------------------------- 1 | #define X A(1) 2 | #define A(x) x 3 | 4 | X 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro52.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro52.bi" 2 | 3 | #line 3 "prepro52.bi" 4 | 5 | 1 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro53.bi: -------------------------------------------------------------------------------- 1 | #define X(b) A(b) 2 | #define A(x) x 3 | 4 | X(1) 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro53.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro53.bi" 2 | 3 | #line 3 "prepro53.bi" 4 | 5 | 1 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro54.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro54.bi" 2 | 3 | #line 3 "prepro54.bi" 4 | 5 | #line 7 "prepro54.bi" 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro55.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro55.bi" 2 | 3 | #line 3 "prepro55.bi" 4 | 5 | 6 | ok 7 | #line 7 "prepro55.bi" 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro56.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro56.bi" 2 | 3 | #line 3 "prepro56.bi" 4 | 5 | #line 7 "prepro56.bi" 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro57.bi: -------------------------------------------------------------------------------- 1 | #define LANG es 2 | #if LANG==es 3 | PRINT "LANG = es" 4 | #endif 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro57.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro57.bi" 2 | 3 | 4 | PRINT "LANG = es" 5 | #line 5 "prepro57.bi" 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro58.bi: -------------------------------------------------------------------------------- 1 | sub test() 2 | asm 3 | ex af,af' ; A'=player 4 | end asm 5 | end sub 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro59.bi: -------------------------------------------------------------------------------- 1 | 2 | #define ASCIIZ(x) (x + CHR$(0)) 3 | 4 | LET a$ = ASCIIZ(a$) 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro59.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro59.bi" 2 | 3 | #line 3 "prepro59.bi" 4 | 5 | LET a$ = (a$ + CHR$(0)) 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro61.bi: -------------------------------------------------------------------------------- 1 | #define x(b) xx b a(b) 2 | 3 | #define a(b) aa b x(b) 4 | 5 | x(1) 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro61.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro61.bi" 2 | 3 | 4 | #line 4 "prepro61.bi" 5 | 6 | xx 1 aa 1 x(1) 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro62.bi: -------------------------------------------------------------------------------- 1 | 2 | #define q z 3 | #define z(a, b) (a + 1, b + 2) 4 | 5 | z(1, 2) 6 | q(3, 4) 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro63.bi: -------------------------------------------------------------------------------- 1 | 2 | 3 | #define q(a)XX##a 4 | 5 | q(5) 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro63.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro63.bi" 2 | 3 | 4 | #line 4 "prepro63.bi" 5 | 6 | XX5 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro64.bi: -------------------------------------------------------------------------------- 1 | 2 | #define a 3 | 4 | #include a 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro71.bi: -------------------------------------------------------------------------------- 1 | #include "alloc.bas" 2 | 3 | PRINT "HOLA" 4 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro75.bi: -------------------------------------------------------------------------------- 1 | A = 0 2 | #ifndef __TEST__ 3 | #define __TEST__ 4 | #include once "prepro75.bi" 5 | #endif 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro76.bi: -------------------------------------------------------------------------------- 1 | 2 | #error this is an intended error 3 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro77.bi: -------------------------------------------------------------------------------- 1 | 2 | #warning this is an intended warning 3 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro77.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro77.bi" 2 | 3 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro81.bi: -------------------------------------------------------------------------------- 1 | #define SCREEN_W1 5 2 | 3 | #if SCREEN_W == 5 4 | LET a$ = "test" 5 | #endif 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro81.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro81.bi" 2 | 3 | 4 | #line 6 "prepro81.bi" 5 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro82.bi: -------------------------------------------------------------------------------- 1 | #define SCREEN_W "5" 2 | 3 | #if SCREEN_W == "5" 4 | REM testº 5 | PRINT "test" 6 | #endif 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro82.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro82.bi" 2 | 3 | 4 | 5 | 6 | PRINT "test" 7 | #line 7 "prepro82.bi" 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro90.bi: -------------------------------------------------------------------------------- 1 | 2 | #define MACRO YES 3 | 4 | #if MACRO != YES 5 | WRONG 6 | #else 7 | OK 8 | #endif 9 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro91.bi: -------------------------------------------------------------------------------- 1 | 2 | #ifdef MACRO 3 | # if MACRO != VALUE 4 | WRONG 5 | # endif 6 | #else 7 | OK 8 | #endif 9 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro91.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro91.bi" 2 | 3 | #line 7 "prepro91.bi" 4 | OK 5 | #line 9 "prepro91.bi" 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro92.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro92.bi" 2 | 3 | 4 | 5 | #line 7 "prepro92.bi" 6 | OK 7 | #line 9 "prepro92.bi" 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro93.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro93.bi" 2 | 3 | 4 | 5 | #line 9 "prepro93.bi" 6 | OK 7 | #line 11 "prepro93.bi" 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro94.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro94.bi" 2 | 3 | 4 | #line 8 "prepro94.bi" 5 | OK 6 | #line 10 "prepro94.bi" 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/prepro95.out: -------------------------------------------------------------------------------- 1 | #line 1 "prepro95.bi" 2 | 3 | #line 11 "prepro95.bi" 4 | OK 5 | #line 13 "prepro95.bi" 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/spectrum.out: -------------------------------------------------------------------------------- 1 | #line 1 "spectrum.bi" 2 | 3 | 4 | 5 | PRINT "HELLO WORLD!" 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/stringizing0.bi: -------------------------------------------------------------------------------- 1 | 2 | 3 | #define z(x) # x 4 | 5 | z(1) 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/stringizing0.out: -------------------------------------------------------------------------------- 1 | #line 1 "stringizing0.bi" 2 | 3 | 4 | #line 4 "stringizing0.bi" 5 | 6 | "1" 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/stringizing1.bi: -------------------------------------------------------------------------------- 1 | 2 | 3 | #define x(a, b) q(a##b) 4 | #define q(a) #a 5 | 6 | x(a, b) 7 | q(5) 8 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/stringizing2.bi: -------------------------------------------------------------------------------- 1 | 2 | 3 | #define z(x) # x 4 | 5 | z("a "" string") 6 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/stringizing2.out: -------------------------------------------------------------------------------- 1 | #line 1 "stringizing2.bi" 2 | 3 | 4 | #line 4 "stringizing2.bi" 5 | 6 | """a """" string""" 7 | -------------------------------------------------------------------------------- /tests/functional/zxbpp/token-paste1.bi: -------------------------------------------------------------------------------- 1 | 2 | 3 | #define aa(x) (AA x) 4 | 5 | #define x(a, b, c) a##b(c) 6 | 7 | x(a, a, 1) 8 | -------------------------------------------------------------------------------- /tests/runtime/Makefile: -------------------------------------------------------------------------------- 1 | # vim:ts=4:noet: 2 | 3 | .PHONY: test 4 | 5 | test: 6 | ./test_all 7 | 8 | -------------------------------------------------------------------------------- /tests/runtime/test_all: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # run tests in parallel, one per CPU 4 | parallel ./test_case ::: cases/*.bas 5 | -------------------------------------------------------------------------------- /tests/zxbc/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boriel-basic/zxbasic/5c8ad32fc4bd62b421197a9dbb3f0503de93517e/tests/zxbc/__init__.py -------------------------------------------------------------------------------- /tools/profile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | python -m cProfile "$@" 4 | 5 | --------------------------------------------------------------------------------