├── r4asm ├── data64.asm ├── FASM.EXE ├── FASMW.EXE ├── r3ico.png ├── r3icol.ico ├── small.ico ├── r4fasm64.asm ├── r4fasm64.exe ├── Rsrcr3.rc ├── Rsrc.rc ├── include │ ├── PCOUNT │ │ └── COMDLG32.INC │ ├── WIN64W.INC │ ├── WIN64A.INC │ ├── WIN32W.INC │ ├── WIN32A.INC │ ├── ENCODING │ │ ├── WIN1252.INC │ │ ├── WIN874.INC │ │ ├── WIN1253.INC │ │ ├── WIN1251.INC │ │ └── WIN1254.INC │ ├── API │ │ └── COMDLG32.INC │ └── MACRO │ │ └── COM64.INC ├── FASMW.INI └── code64.asm ├── r4.ini ├── r4 ├── r3 │ ├── r3 │ │ ├── main.r3 │ │ ├── lib │ │ │ ├── math.r3 │ │ │ ├── dom.r3 │ │ │ ├── sys.r3 │ │ │ ├── print.r3 │ │ │ └── str.r3 │ │ ├── examples │ │ │ ├── Font-test.r3 │ │ │ ├── Pattern-XOR-in-canvas.r3 │ │ │ ├── XYMOUSE-test.r3 │ │ │ ├── DOM-test.r3 │ │ │ └── SHOW-test.r3 │ │ ├── Pattern-XOR.r3 │ │ ├── XYMOUSE.r3 │ │ └── games │ │ │ └── naves.r3 │ ├── r3parse.txt │ ├── r3c.txt │ └── r3.txt ├── Lib │ ├── gc.txt │ ├── input.txt │ ├── math.txt │ ├── wvkey.txt │ ├── formkit.txt │ ├── key-de1.txt │ ├── key-fr1.txt │ ├── xfb.txt │ ├── loadimg.txt │ ├── system.txt │ ├── font32.txt │ ├── zoom.txt │ ├── icon.txt │ ├── anima.txt │ ├── fontfm.txt │ ├── sortdo.txt │ ├── r4-incprofile.txt │ ├── mouse.txt │ ├── key-us1.txt │ ├── key-es1.txt │ ├── frac.txt │ ├── miniscr.txt │ ├── lists.txt │ ├── vkeyboard.txt │ └── fontm.txt ├── Dev │ ├── tanques.txt │ ├── matematicas │ │ ├── div.txt │ │ ├── sqrt.txt │ │ ├── sin.txt │ │ ├── gcdbin.txt │ │ ├── testbound.txt │ │ ├── testin.txt │ │ └── testmorton.txt │ ├── graficos │ │ ├── convertsvg.txt │ │ ├── quadtree │ │ │ ├── quad1.txt │ │ │ └── quad2.txt │ │ └── grafr4 │ │ │ └── scanline.txt │ ├── impresora │ │ └── formprint.txt │ ├── games │ │ ├── pool.spr │ │ ├── anima.txt │ │ ├── universal-LPC-sprite-sheet.txt │ │ ├── cartas.spr │ │ └── simple.spr │ ├── testk.txt │ ├── rotate.txt │ ├── integerfib.txt │ ├── testfb.txt │ ├── testfloat.txt │ ├── sistema │ │ ├── configure.txt │ │ └── convertifont.txt │ ├── reverse.txt │ ├── simplepiano.txt │ ├── monalisamin.txt │ ├── fontmono │ │ └── testfontm.txt │ ├── monalisa.txt │ └── miniscreen.txt ├── 3d │ ├── voxeditor.txt │ ├── dev │ │ └── testbb.txt │ └── loadvxi.txt ├── Demos │ ├── volcan.txt │ ├── test-dbgui.txt │ ├── dib1.spr │ ├── testdlgcolor.txt │ ├── test-joy.txt │ ├── test-vkeyb.txt │ ├── testimg.txt │ ├── graybars.txt │ ├── test-arit.txt │ ├── mys.txt │ ├── test-mouse.txt │ ├── test-atan.txt │ ├── explode.txt │ ├── cplot.txt │ ├── test-browser.txt │ ├── rotozoom.txt │ ├── mandala.txt │ ├── test-memstat.txt │ ├── particulas3.txt │ ├── planedef.txt │ ├── sprites.spr │ ├── wavei.txt │ ├── test-jul.txt │ ├── mandelbrot1.txt │ ├── particles.txt │ ├── mandelbrot.txt │ ├── test-sprite.txt │ ├── haikus.txt │ ├── test-rand.txt │ ├── test-yuvrgb.txt │ └── test-rmat.txt ├── Games │ ├── relincho.mp3 │ ├── tilegame.txt │ ├── shootparty.txt │ ├── pruebariendas.txt │ ├── tilegame.joy.txt │ ├── teclasdib.spr │ └── flapi.spr ├── IDE │ ├── debug-code.txt │ └── testnewstack.txt ├── System │ ├── r4parse.txt │ ├── edit-form.txt │ ├── Config │ │ ├── fps.txt │ │ └── teclado.txt │ ├── mem-run.txt │ ├── mem-ed.txt │ ├── genera-code.txt │ └── mem-debug.txt ├── Apps │ ├── database │ │ └── agenda.txt │ ├── doodle.txt │ ├── pianomakeymakey.txt │ └── automaton.txt ├── autojuegos │ └── listapalabras.txt ├── curso │ ├── Tutor │ │ ├── 1-hello.txt │ │ ├── clase-2.txt │ │ ├── 9-testcomp.txt │ │ ├── 3-simplegui.txt │ │ ├── 4-gui.txt │ │ ├── clase-1.txt │ │ ├── 2-basicani.txt │ │ ├── 6-bitmap.txt │ │ └── 5-particlesystem.txt │ └── Itinerario │ │ ├── pilas.txt │ │ ├── clase-2.txt │ │ ├── clase-3.txt │ │ ├── clase-1.txt │ │ ├── basico.txt │ │ └── clase-4.txt ├── Compiler │ ├── code.asm │ ├── test2.txt │ └── test3.txt ├── serie │ ├── test1.txt │ └── radar.txt └── milagros │ └── dibujos.spr ├── compilaplain.bat ├── r4.exe ├── compiladebug.bat ├── fmod.dll ├── debug.r4x ├── inc ├── tilemap.vsp ├── gesto │ ├── set1.gst │ └── gesto.mem ├── tilemap.rmt ├── aya.inc ├── 1492.rmt ├── jetpatrol.inc ├── unonuevo.inc ├── tetris.inc ├── snake.spr ├── Vertigo.spr ├── 1492.spr ├── invasion.inc ├── dibu.inc ├── test.inc ├── punteros.inc └── test.vsp ├── media ├── fnt │ ├── test1 │ ├── base.bin │ ├── test.f32 │ ├── base2.bin │ ├── fuente.fnt │ ├── fuente2.fnt │ ├── fuente3.fnt │ └── fuente4.fnt ├── 3do │ ├── bala.3do │ ├── jp1.3do │ ├── jpc1.3do │ ├── jpc2.3do │ ├── jpf1.3do │ ├── jpf2.3do │ ├── jpf3.3do │ ├── map.3do │ ├── pino.3do │ ├── bamboo.3do │ ├── bandera.3do │ ├── horse.3do │ ├── ldhorse.3do │ ├── luigi.3do │ ├── mario.3do │ ├── meteoro.3do │ ├── ovni31.3do │ ├── ovni31c.3do │ ├── ovni32.3do │ ├── ovni33.3do │ ├── shuttle.3do │ ├── tree1.3do │ ├── tree2.3do │ ├── tree3.3do │ ├── voxel.3do │ ├── firstaidkit.3do │ └── SKELLINGTON_SPEAR.3do ├── bmp │ ├── piso.bmp │ ├── cerezop.png │ ├── checkb.png │ ├── julia.png │ ├── mandel.png │ ├── nubes.png │ ├── pasto.png │ ├── smiley.jpg │ ├── animacion.png │ └── free_toolbar_icons_16x16_black.png ├── img │ ├── alt1.png │ ├── hero.png │ ├── map1.png │ ├── 29z861.png │ └── icona32.png ├── obj │ ├── cube.png │ ├── Tex_0036_0.png │ ├── Tex_0037_0.png │ ├── Tex_0038_0.png │ ├── Tex_0039_0.png │ ├── Tex_0040_0.png │ ├── Tex_0041_0.png │ ├── ben10 │ │ └── Ben │ │ │ ├── Body.png │ │ │ └── Ben.mtl │ ├── Mario │ │ ├── Mario_Brow.png │ │ ├── Mario_body.png │ │ ├── Mario_eye.png │ │ └── Mario.mtl │ ├── cube.mtl │ ├── cube.obj │ └── Yumi.mtl ├── ogg │ ├── die.ogg │ ├── jump1.ogg │ ├── jump2.ogg │ └── level.ogg ├── vox │ ├── caza.vox │ ├── jeep.vox │ ├── apache.vox │ ├── clon1.vox │ ├── clon2.vox │ ├── clon3.vox │ ├── kvx │ │ ├── AIM.KVX │ │ ├── CAM.KVX │ │ ├── oil.kvx │ │ ├── BARS3.KVX │ │ ├── CAM2.kvx │ │ ├── WHEEL.KVX │ │ ├── WOODP.KVX │ │ ├── cdriv.kvx │ │ ├── chair.kvx │ │ ├── duke.kvx │ │ ├── grayb.kvx │ │ ├── lamp.kvx │ │ ├── mizu.kvx │ │ ├── paper.kvx │ │ ├── pawn.kvx │ │ ├── phone.kvx │ │ ├── pike.kvx │ │ ├── pike2.kvx │ │ ├── pike3.kvx │ │ ├── pike4.kvx │ │ ├── pike5.kvx │ │ ├── rook.kvx │ │ ├── sakeb.kvx │ │ ├── scast.kvx │ │ ├── silv.kvx │ │ ├── tcan2.kvx │ │ ├── trash.kvx │ │ ├── treea.kvx │ │ ├── treec.kvx │ │ ├── worm.kvx │ │ ├── BLACKS.KVX │ │ ├── BLUEMIS.KVX │ │ ├── GASBOTTL.KVX │ │ ├── GOLDENS.KVX │ │ ├── HANGER.KVX │ │ ├── JOYSTICK.KVX │ │ ├── KETCHUP.KVX │ │ ├── METALSC.KVX │ │ ├── MUSTARD.KVX │ │ ├── PARKING.KVX │ │ ├── POTION.KVX │ │ ├── PRISONB.KVX │ │ ├── STONEL.KVX │ │ ├── YELLOWL.KVX │ │ ├── barrel.kvx │ │ ├── barrel2.kvx │ │ ├── blackbox.kvx │ │ ├── blackcup.kvx │ │ ├── blackr.kvx │ │ ├── bluecup.kvx │ │ ├── bluecup3.kvx │ │ ├── bluestu.kvx │ │ ├── bottle.kvx │ │ ├── candle1.kvx │ │ ├── candle2.kvx │ │ ├── candle3.kvx │ │ ├── coffeec.kvx │ │ ├── condon.kvx │ │ ├── desklamp.kvx │ │ ├── dryersw.kvx │ │ ├── ebuttn.kvx │ │ ├── ebuttn2.kvx │ │ ├── faucet.kvx │ │ ├── handle.kvx │ │ ├── helmet.kvx │ │ ├── knight.kvx │ │ ├── lights1.kvx │ │ ├── lights2.kvx │ │ ├── lockkk.kvx │ │ ├── magnet.kvx │ │ ├── pencil.kvx │ │ ├── ricecup.kvx │ │ ├── shower.kvx │ │ ├── soapdisp.kvx │ │ ├── spring.kvx │ │ ├── staff1.kvx │ │ ├── tcastsw.kvx │ │ ├── teacup.kvx │ │ ├── toiletp.kvx │ │ ├── whanger.kvx │ │ └── strongbad.kvx │ ├── mig29.vox │ ├── shuttle.vox │ ├── tacho.vox │ ├── ambulance.vox │ ├── clon_muerte.vox │ ├── enterprise.vox │ ├── clon_disparando.vox │ └── clon_agachado_disparando.vox ├── 3dm │ └── bamboo.3dm ├── bon │ ├── person.bon │ └── test1.bon └── milagros │ ├── un.ogg │ ├── 1uno.ogg │ ├── 20y.ogg │ ├── 2dos.ogg │ ├── 30y.ogg │ ├── 40y.ogg │ ├── 4402.ogg │ ├── 50y.ogg │ ├── 60y.ogg │ ├── 70y.ogg │ ├── 80y.ogg │ ├── 8802.ogg │ ├── 90y.ogg │ ├── chau.ogg │ ├── coma.ogg │ ├── cua3.ogg │ ├── cubo.ogg │ ├── cus3.ogg │ ├── exit.ogg │ ├── hola.ogg │ ├── leer.ogg │ ├── log.ogg │ ├── mas.ogg │ ├── mil.ogg │ ├── por.ogg │ ├── raiz.ogg │ ├── sie3.ogg │ ├── sin3.ogg │ ├── 0cero.ogg │ ├── 100cien.ogg │ ├── 10diez.ogg │ ├── 11once.ogg │ ├── 12doce.ogg │ ├── 13trece.ogg │ ├── 3tres.ogg │ ├── 4cuatro.ogg │ ├── 5cinco.ogg │ ├── 6seis.ogg │ ├── 7siete.ogg │ ├── 8ocho.ogg │ ├── 9nueve.ogg │ ├── bombo.ogg │ ├── borrar.ogg │ ├── chirp.ogg │ ├── connro.ogg │ ├── cuarta.ogg │ ├── cuerda.ogg │ ├── enter.ogg │ ├── error.ogg │ ├── igual.ogg │ ├── inicio.ogg │ ├── limpiar.ogg │ ├── lugar1.ogg │ ├── lugar2.ogg │ ├── lugar3.ogg │ ├── lugar4.ogg │ ├── lugar5.ogg │ ├── menos.ogg │ ├── numero.ogg │ ├── punto.ogg │ ├── quinta.ogg │ ├── salida.ogg │ ├── salir.ogg │ ├── sobre.ogg │ ├── start.ogg │ ├── 100ciento.ogg │ ├── 14catorce.ogg │ ├── 15quince.ogg │ ├── 20veinte.ogg │ ├── 30treinta.ogg │ ├── 60sesenta.ogg │ ├── 70setenta.ogg │ ├── 80ochenta.ogg │ ├── 90noventa.ogg │ ├── cuadrado.ogg │ ├── dividido.ogg │ ├── elevadoa.ogg │ ├── laberinto.ogg │ ├── millones.ogg │ ├── resultado.ogg │ ├── unmillon.ogg │ ├── 16dieciseis.ogg │ ├── 17diecisiete.ogg │ ├── 18dieciocho.ogg │ ├── 19diecinueve.ogg │ ├── 40cuarenta.ogg │ ├── 50cincuenta.ogg │ ├── browseMode.ogg │ ├── calculadora.ogg │ ├── 200doscientos.ogg │ ├── 300trescientos.ogg │ ├── 500quinientos.ogg │ ├── 600seicientos.ogg │ ├── 700setecientos.ogg │ ├── 800ochocientos.ogg │ ├── 900novecientos.ogg │ └── 400cuatrocientos.ogg ├── doc ├── manual-esp.txt ├── referencia-R4.txt └── readme.txt ├── mem ├── readme.txt └── menu.mem ├── db ├── agenda │ └── agenda.fk ├── test │ ├── localidades.db │ └── paises.db ├── test1 │ ├── localidades.db │ └── paises.db └── multiuser │ └── paises.db ├── r4fasm.bat ├── screenshot ├── debug.png ├── main.png ├── memory.png ├── bvhload.png ├── cartas2.png ├── edit-bmr.png ├── edit-ico.png ├── edit-ves.png ├── gestoset.png ├── icon-ed.png ├── obj2vox.png ├── tilegame.png ├── voxeled.png ├── comanchevox.png ├── memory-game.png ├── bitmap-spr-ed.png ├── vector-spr-ed.png └── viewlorenz3d.png ├── r3asm.bat ├── r4fasmf.bat ├── .gitattributes ├── .gitignore └── LICENSE.md /r4asm/data64.asm: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /r4.ini: -------------------------------------------------------------------------------- 1 | w1024 h600 2 | -------------------------------------------------------------------------------- /r4/r3/r3/main.r3: -------------------------------------------------------------------------------- 1 | | ICO file 2 | -------------------------------------------------------------------------------- /compilaplain.bat: -------------------------------------------------------------------------------- 1 | r4 cplain.txt imain.r4x 2 | -------------------------------------------------------------------------------- /r4.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4.exe -------------------------------------------------------------------------------- /compiladebug.bat: -------------------------------------------------------------------------------- 1 | r4 cr4/system/edit-code.txt idebuga.r4x 2 | -------------------------------------------------------------------------------- /fmod.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/fmod.dll -------------------------------------------------------------------------------- /debug.r4x: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/debug.r4x -------------------------------------------------------------------------------- /inc/tilemap.vsp: -------------------------------------------------------------------------------- 1 | | VSP file 2 | #:new0 3 | 0 4 | #:new1 5 | 0 6 | -------------------------------------------------------------------------------- /r4/Lib/gc.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Lib/gc.txt -------------------------------------------------------------------------------- /media/fnt/test1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/fnt/test1 -------------------------------------------------------------------------------- /r4/Lib/input.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Lib/input.txt -------------------------------------------------------------------------------- /r4/Lib/math.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Lib/math.txt -------------------------------------------------------------------------------- /r4/Lib/wvkey.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Lib/wvkey.txt -------------------------------------------------------------------------------- /r4asm/FASM.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4asm/FASM.EXE -------------------------------------------------------------------------------- /r4asm/FASMW.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4asm/FASMW.EXE -------------------------------------------------------------------------------- /r4asm/r3ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4asm/r3ico.png -------------------------------------------------------------------------------- /r4asm/r3icol.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4asm/r3icol.ico -------------------------------------------------------------------------------- /r4asm/small.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4asm/small.ico -------------------------------------------------------------------------------- /doc/manual-esp.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/doc/manual-esp.txt -------------------------------------------------------------------------------- /inc/gesto/set1.gst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/inc/gesto/set1.gst -------------------------------------------------------------------------------- /media/3do/bala.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/bala.3do -------------------------------------------------------------------------------- /media/3do/jp1.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/jp1.3do -------------------------------------------------------------------------------- /media/3do/jpc1.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/jpc1.3do -------------------------------------------------------------------------------- /media/3do/jpc2.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/jpc2.3do -------------------------------------------------------------------------------- /media/3do/jpf1.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/jpf1.3do -------------------------------------------------------------------------------- /media/3do/jpf2.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/jpf2.3do -------------------------------------------------------------------------------- /media/3do/jpf3.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/jpf3.3do -------------------------------------------------------------------------------- /media/3do/map.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/map.3do -------------------------------------------------------------------------------- /media/3do/pino.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/pino.3do -------------------------------------------------------------------------------- /media/bmp/piso.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/bmp/piso.bmp -------------------------------------------------------------------------------- /media/fnt/base.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/fnt/base.bin -------------------------------------------------------------------------------- /media/fnt/test.f32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/fnt/test.f32 -------------------------------------------------------------------------------- /media/img/alt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/img/alt1.png -------------------------------------------------------------------------------- /media/img/hero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/img/hero.png -------------------------------------------------------------------------------- /media/img/map1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/img/map1.png -------------------------------------------------------------------------------- /media/obj/cube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/obj/cube.png -------------------------------------------------------------------------------- /media/ogg/die.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/ogg/die.ogg -------------------------------------------------------------------------------- /media/vox/caza.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/caza.vox -------------------------------------------------------------------------------- /media/vox/jeep.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/jeep.vox -------------------------------------------------------------------------------- /mem/readme.txt: -------------------------------------------------------------------------------- 1 | This folder store the persistent memory, this is the actual state. -------------------------------------------------------------------------------- /r4/Dev/tanques.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Dev/tanques.txt -------------------------------------------------------------------------------- /r4/Lib/formkit.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Lib/formkit.txt -------------------------------------------------------------------------------- /r4/Lib/key-de1.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Lib/key-de1.txt -------------------------------------------------------------------------------- /r4/Lib/key-fr1.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Lib/key-fr1.txt -------------------------------------------------------------------------------- /r4asm/r4fasm64.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4asm/r4fasm64.asm -------------------------------------------------------------------------------- /r4asm/r4fasm64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4asm/r4fasm64.exe -------------------------------------------------------------------------------- /db/agenda/agenda.fk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/db/agenda/agenda.fk -------------------------------------------------------------------------------- /doc/referencia-R4.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/doc/referencia-R4.txt -------------------------------------------------------------------------------- /inc/gesto/gesto.mem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/inc/gesto/gesto.mem -------------------------------------------------------------------------------- /media/3dm/bamboo.3dm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3dm/bamboo.3dm -------------------------------------------------------------------------------- /media/3do/bamboo.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/bamboo.3do -------------------------------------------------------------------------------- /media/3do/bandera.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/bandera.3do -------------------------------------------------------------------------------- /media/3do/horse.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/horse.3do -------------------------------------------------------------------------------- /media/3do/ldhorse.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/ldhorse.3do -------------------------------------------------------------------------------- /media/3do/luigi.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/luigi.3do -------------------------------------------------------------------------------- /media/3do/mario.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/mario.3do -------------------------------------------------------------------------------- /media/3do/meteoro.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/meteoro.3do -------------------------------------------------------------------------------- /media/3do/ovni31.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/ovni31.3do -------------------------------------------------------------------------------- /media/3do/ovni31c.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/ovni31c.3do -------------------------------------------------------------------------------- /media/3do/ovni32.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/ovni32.3do -------------------------------------------------------------------------------- /media/3do/ovni33.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/ovni33.3do -------------------------------------------------------------------------------- /media/3do/shuttle.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/shuttle.3do -------------------------------------------------------------------------------- /media/3do/tree1.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/tree1.3do -------------------------------------------------------------------------------- /media/3do/tree2.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/tree2.3do -------------------------------------------------------------------------------- /media/3do/tree3.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/tree3.3do -------------------------------------------------------------------------------- /media/3do/voxel.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/voxel.3do -------------------------------------------------------------------------------- /media/bmp/cerezop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/bmp/cerezop.png -------------------------------------------------------------------------------- /media/bmp/checkb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/bmp/checkb.png -------------------------------------------------------------------------------- /media/bmp/julia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/bmp/julia.png -------------------------------------------------------------------------------- /media/bmp/mandel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/bmp/mandel.png -------------------------------------------------------------------------------- /media/bmp/nubes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/bmp/nubes.png -------------------------------------------------------------------------------- /media/bmp/pasto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/bmp/pasto.png -------------------------------------------------------------------------------- /media/bmp/smiley.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/bmp/smiley.jpg -------------------------------------------------------------------------------- /media/bon/person.bon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/bon/person.bon -------------------------------------------------------------------------------- /media/bon/test1.bon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/bon/test1.bon -------------------------------------------------------------------------------- /media/fnt/base2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/fnt/base2.bin -------------------------------------------------------------------------------- /media/fnt/fuente.fnt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/fnt/fuente.fnt -------------------------------------------------------------------------------- /media/fnt/fuente2.fnt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/fnt/fuente2.fnt -------------------------------------------------------------------------------- /media/fnt/fuente3.fnt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/fnt/fuente3.fnt -------------------------------------------------------------------------------- /media/img/29z861.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/img/29z861.png -------------------------------------------------------------------------------- /media/img/icona32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/img/icona32.png -------------------------------------------------------------------------------- /media/milagros/un.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/un.ogg -------------------------------------------------------------------------------- /media/ogg/jump1.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/ogg/jump1.ogg -------------------------------------------------------------------------------- /media/ogg/jump2.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/ogg/jump2.ogg -------------------------------------------------------------------------------- /media/ogg/level.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/ogg/level.ogg -------------------------------------------------------------------------------- /media/vox/apache.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/apache.vox -------------------------------------------------------------------------------- /media/vox/clon1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/clon1.vox -------------------------------------------------------------------------------- /media/vox/clon2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/clon2.vox -------------------------------------------------------------------------------- /media/vox/clon3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/clon3.vox -------------------------------------------------------------------------------- /media/vox/kvx/AIM.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/AIM.KVX -------------------------------------------------------------------------------- /media/vox/kvx/CAM.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/CAM.KVX -------------------------------------------------------------------------------- /media/vox/kvx/oil.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/oil.kvx -------------------------------------------------------------------------------- /media/vox/mig29.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/mig29.vox -------------------------------------------------------------------------------- /media/vox/shuttle.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/shuttle.vox -------------------------------------------------------------------------------- /media/vox/tacho.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/tacho.vox -------------------------------------------------------------------------------- /r4/3d/voxeditor.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/3d/voxeditor.txt -------------------------------------------------------------------------------- /r4/Demos/volcan.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Demos/volcan.txt -------------------------------------------------------------------------------- /r4/Games/relincho.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Games/relincho.mp3 -------------------------------------------------------------------------------- /r4/Games/tilegame.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Games/tilegame.txt -------------------------------------------------------------------------------- /r4/IDE/debug-code.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/IDE/debug-code.txt -------------------------------------------------------------------------------- /r4/System/r4parse.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/System/r4parse.txt -------------------------------------------------------------------------------- /r4/r3/r3/lib/math.r3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/r3/r3/lib/math.r3 -------------------------------------------------------------------------------- /r4fasm.bat: -------------------------------------------------------------------------------- 1 | r4asm\fasm.exe r4asm\r4fasm.asm r4asm\r4fasm.exe 2 | r4asm\r4fasm.exe 3 | -------------------------------------------------------------------------------- /screenshot/debug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/debug.png -------------------------------------------------------------------------------- /screenshot/main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/main.png -------------------------------------------------------------------------------- /screenshot/memory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/memory.png -------------------------------------------------------------------------------- /media/bmp/animacion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/bmp/animacion.png -------------------------------------------------------------------------------- /media/milagros/1uno.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/1uno.ogg -------------------------------------------------------------------------------- /media/milagros/20y.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/20y.ogg -------------------------------------------------------------------------------- /media/milagros/2dos.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/2dos.ogg -------------------------------------------------------------------------------- /media/milagros/30y.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/30y.ogg -------------------------------------------------------------------------------- /media/milagros/40y.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/40y.ogg -------------------------------------------------------------------------------- /media/milagros/4402.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/4402.ogg -------------------------------------------------------------------------------- /media/milagros/50y.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/50y.ogg -------------------------------------------------------------------------------- /media/milagros/60y.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/60y.ogg -------------------------------------------------------------------------------- /media/milagros/70y.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/70y.ogg -------------------------------------------------------------------------------- /media/milagros/80y.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/80y.ogg -------------------------------------------------------------------------------- /media/milagros/8802.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/8802.ogg -------------------------------------------------------------------------------- /media/milagros/90y.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/90y.ogg -------------------------------------------------------------------------------- /media/milagros/chau.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/chau.ogg -------------------------------------------------------------------------------- /media/milagros/coma.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/coma.ogg -------------------------------------------------------------------------------- /media/milagros/cua3.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/cua3.ogg -------------------------------------------------------------------------------- /media/milagros/cubo.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/cubo.ogg -------------------------------------------------------------------------------- /media/milagros/cus3.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/cus3.ogg -------------------------------------------------------------------------------- /media/milagros/exit.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/exit.ogg -------------------------------------------------------------------------------- /media/milagros/hola.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/hola.ogg -------------------------------------------------------------------------------- /media/milagros/leer.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/leer.ogg -------------------------------------------------------------------------------- /media/milagros/log.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/log.ogg -------------------------------------------------------------------------------- /media/milagros/mas.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/mas.ogg -------------------------------------------------------------------------------- /media/milagros/mil.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/mil.ogg -------------------------------------------------------------------------------- /media/milagros/por.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/por.ogg -------------------------------------------------------------------------------- /media/milagros/raiz.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/raiz.ogg -------------------------------------------------------------------------------- /media/milagros/sie3.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/sie3.ogg -------------------------------------------------------------------------------- /media/milagros/sin3.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/sin3.ogg -------------------------------------------------------------------------------- /media/vox/ambulance.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/ambulance.vox -------------------------------------------------------------------------------- /media/vox/kvx/BARS3.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/BARS3.KVX -------------------------------------------------------------------------------- /media/vox/kvx/CAM2.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/CAM2.kvx -------------------------------------------------------------------------------- /media/vox/kvx/WHEEL.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/WHEEL.KVX -------------------------------------------------------------------------------- /media/vox/kvx/WOODP.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/WOODP.KVX -------------------------------------------------------------------------------- /media/vox/kvx/cdriv.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/cdriv.kvx -------------------------------------------------------------------------------- /media/vox/kvx/chair.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/chair.kvx -------------------------------------------------------------------------------- /media/vox/kvx/duke.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/duke.kvx -------------------------------------------------------------------------------- /media/vox/kvx/grayb.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/grayb.kvx -------------------------------------------------------------------------------- /media/vox/kvx/lamp.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/lamp.kvx -------------------------------------------------------------------------------- /media/vox/kvx/mizu.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/mizu.kvx -------------------------------------------------------------------------------- /media/vox/kvx/paper.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/paper.kvx -------------------------------------------------------------------------------- /media/vox/kvx/pawn.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/pawn.kvx -------------------------------------------------------------------------------- /media/vox/kvx/phone.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/phone.kvx -------------------------------------------------------------------------------- /media/vox/kvx/pike.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/pike.kvx -------------------------------------------------------------------------------- /media/vox/kvx/pike2.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/pike2.kvx -------------------------------------------------------------------------------- /media/vox/kvx/pike3.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/pike3.kvx -------------------------------------------------------------------------------- /media/vox/kvx/pike4.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/pike4.kvx -------------------------------------------------------------------------------- /media/vox/kvx/pike5.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/pike5.kvx -------------------------------------------------------------------------------- /media/vox/kvx/rook.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/rook.kvx -------------------------------------------------------------------------------- /media/vox/kvx/sakeb.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/sakeb.kvx -------------------------------------------------------------------------------- /media/vox/kvx/scast.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/scast.kvx -------------------------------------------------------------------------------- /media/vox/kvx/silv.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/silv.kvx -------------------------------------------------------------------------------- /media/vox/kvx/tcan2.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/tcan2.kvx -------------------------------------------------------------------------------- /media/vox/kvx/trash.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/trash.kvx -------------------------------------------------------------------------------- /media/vox/kvx/treea.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/treea.kvx -------------------------------------------------------------------------------- /media/vox/kvx/treec.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/treec.kvx -------------------------------------------------------------------------------- /media/vox/kvx/worm.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/worm.kvx -------------------------------------------------------------------------------- /r3asm.bat: -------------------------------------------------------------------------------- 1 | r4asm\fasm.exe r4asm\r3fasm.asm r4asm\r3fasm.exe 2 | r4asm\r3fasm.exe 3 | pause 4 | -------------------------------------------------------------------------------- /r4/Demos/test-dbgui.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Demos/test-dbgui.txt -------------------------------------------------------------------------------- /r4/Games/shootparty.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Games/shootparty.txt -------------------------------------------------------------------------------- /r4/System/edit-form.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/System/edit-form.txt -------------------------------------------------------------------------------- /r4fasmf.bat: -------------------------------------------------------------------------------- 1 | r4asm\fasm.exe r4asm\r4fasmfull.asm r4asm\r4fasm.exe 2 | r4asm\r4fasm.exe 3 | -------------------------------------------------------------------------------- /screenshot/bvhload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/bvhload.png -------------------------------------------------------------------------------- /screenshot/cartas2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/cartas2.png -------------------------------------------------------------------------------- /screenshot/edit-bmr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/edit-bmr.png -------------------------------------------------------------------------------- /screenshot/edit-ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/edit-ico.png -------------------------------------------------------------------------------- /screenshot/edit-ves.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/edit-ves.png -------------------------------------------------------------------------------- /screenshot/gestoset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/gestoset.png -------------------------------------------------------------------------------- /screenshot/icon-ed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/icon-ed.png -------------------------------------------------------------------------------- /screenshot/obj2vox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/obj2vox.png -------------------------------------------------------------------------------- /screenshot/tilegame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/tilegame.png -------------------------------------------------------------------------------- /screenshot/voxeled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/voxeled.png -------------------------------------------------------------------------------- /media/3do/firstaidkit.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/firstaidkit.3do -------------------------------------------------------------------------------- /media/milagros/0cero.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/0cero.ogg -------------------------------------------------------------------------------- /media/milagros/100cien.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/100cien.ogg -------------------------------------------------------------------------------- /media/milagros/10diez.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/10diez.ogg -------------------------------------------------------------------------------- /media/milagros/11once.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/11once.ogg -------------------------------------------------------------------------------- /media/milagros/12doce.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/12doce.ogg -------------------------------------------------------------------------------- /media/milagros/13trece.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/13trece.ogg -------------------------------------------------------------------------------- /media/milagros/3tres.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/3tres.ogg -------------------------------------------------------------------------------- /media/milagros/4cuatro.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/4cuatro.ogg -------------------------------------------------------------------------------- /media/milagros/5cinco.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/5cinco.ogg -------------------------------------------------------------------------------- /media/milagros/6seis.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/6seis.ogg -------------------------------------------------------------------------------- /media/milagros/7siete.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/7siete.ogg -------------------------------------------------------------------------------- /media/milagros/8ocho.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/8ocho.ogg -------------------------------------------------------------------------------- /media/milagros/9nueve.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/9nueve.ogg -------------------------------------------------------------------------------- /media/milagros/bombo.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/bombo.ogg -------------------------------------------------------------------------------- /media/milagros/borrar.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/borrar.ogg -------------------------------------------------------------------------------- /media/milagros/chirp.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/chirp.ogg -------------------------------------------------------------------------------- /media/milagros/connro.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/connro.ogg -------------------------------------------------------------------------------- /media/milagros/cuarta.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/cuarta.ogg -------------------------------------------------------------------------------- /media/milagros/cuerda.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/cuerda.ogg -------------------------------------------------------------------------------- /media/milagros/enter.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/enter.ogg -------------------------------------------------------------------------------- /media/milagros/error.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/error.ogg -------------------------------------------------------------------------------- /media/milagros/igual.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/igual.ogg -------------------------------------------------------------------------------- /media/milagros/inicio.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/inicio.ogg -------------------------------------------------------------------------------- /media/milagros/limpiar.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/limpiar.ogg -------------------------------------------------------------------------------- /media/milagros/lugar1.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/lugar1.ogg -------------------------------------------------------------------------------- /media/milagros/lugar2.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/lugar2.ogg -------------------------------------------------------------------------------- /media/milagros/lugar3.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/lugar3.ogg -------------------------------------------------------------------------------- /media/milagros/lugar4.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/lugar4.ogg -------------------------------------------------------------------------------- /media/milagros/lugar5.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/lugar5.ogg -------------------------------------------------------------------------------- /media/milagros/menos.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/menos.ogg -------------------------------------------------------------------------------- /media/milagros/numero.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/numero.ogg -------------------------------------------------------------------------------- /media/milagros/punto.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/punto.ogg -------------------------------------------------------------------------------- /media/milagros/quinta.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/quinta.ogg -------------------------------------------------------------------------------- /media/milagros/salida.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/salida.ogg -------------------------------------------------------------------------------- /media/milagros/salir.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/salir.ogg -------------------------------------------------------------------------------- /media/milagros/sobre.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/sobre.ogg -------------------------------------------------------------------------------- /media/milagros/start.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/start.ogg -------------------------------------------------------------------------------- /media/obj/Tex_0036_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/obj/Tex_0036_0.png -------------------------------------------------------------------------------- /media/obj/Tex_0037_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/obj/Tex_0037_0.png -------------------------------------------------------------------------------- /media/obj/Tex_0038_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/obj/Tex_0038_0.png -------------------------------------------------------------------------------- /media/obj/Tex_0039_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/obj/Tex_0039_0.png -------------------------------------------------------------------------------- /media/obj/Tex_0040_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/obj/Tex_0040_0.png -------------------------------------------------------------------------------- /media/obj/Tex_0041_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/obj/Tex_0041_0.png -------------------------------------------------------------------------------- /media/vox/clon_muerte.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/clon_muerte.vox -------------------------------------------------------------------------------- /media/vox/enterprise.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/enterprise.vox -------------------------------------------------------------------------------- /media/vox/kvx/BLACKS.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/BLACKS.KVX -------------------------------------------------------------------------------- /media/vox/kvx/BLUEMIS.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/BLUEMIS.KVX -------------------------------------------------------------------------------- /media/vox/kvx/GASBOTTL.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/GASBOTTL.KVX -------------------------------------------------------------------------------- /media/vox/kvx/GOLDENS.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/GOLDENS.KVX -------------------------------------------------------------------------------- /media/vox/kvx/HANGER.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/HANGER.KVX -------------------------------------------------------------------------------- /media/vox/kvx/JOYSTICK.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/JOYSTICK.KVX -------------------------------------------------------------------------------- /media/vox/kvx/KETCHUP.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/KETCHUP.KVX -------------------------------------------------------------------------------- /media/vox/kvx/METALSC.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/METALSC.KVX -------------------------------------------------------------------------------- /media/vox/kvx/MUSTARD.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/MUSTARD.KVX -------------------------------------------------------------------------------- /media/vox/kvx/PARKING.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/PARKING.KVX -------------------------------------------------------------------------------- /media/vox/kvx/POTION.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/POTION.KVX -------------------------------------------------------------------------------- /media/vox/kvx/PRISONB.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/PRISONB.KVX -------------------------------------------------------------------------------- /media/vox/kvx/STONEL.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/STONEL.KVX -------------------------------------------------------------------------------- /media/vox/kvx/YELLOWL.KVX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/YELLOWL.KVX -------------------------------------------------------------------------------- /media/vox/kvx/barrel.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/barrel.kvx -------------------------------------------------------------------------------- /media/vox/kvx/barrel2.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/barrel2.kvx -------------------------------------------------------------------------------- /media/vox/kvx/blackbox.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/blackbox.kvx -------------------------------------------------------------------------------- /media/vox/kvx/blackcup.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/blackcup.kvx -------------------------------------------------------------------------------- /media/vox/kvx/blackr.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/blackr.kvx -------------------------------------------------------------------------------- /media/vox/kvx/bluecup.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/bluecup.kvx -------------------------------------------------------------------------------- /media/vox/kvx/bluecup3.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/bluecup3.kvx -------------------------------------------------------------------------------- /media/vox/kvx/bluestu.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/bluestu.kvx -------------------------------------------------------------------------------- /media/vox/kvx/bottle.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/bottle.kvx -------------------------------------------------------------------------------- /media/vox/kvx/candle1.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/candle1.kvx -------------------------------------------------------------------------------- /media/vox/kvx/candle2.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/candle2.kvx -------------------------------------------------------------------------------- /media/vox/kvx/candle3.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/candle3.kvx -------------------------------------------------------------------------------- /media/vox/kvx/coffeec.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/coffeec.kvx -------------------------------------------------------------------------------- /media/vox/kvx/condon.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/condon.kvx -------------------------------------------------------------------------------- /media/vox/kvx/desklamp.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/desklamp.kvx -------------------------------------------------------------------------------- /media/vox/kvx/dryersw.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/dryersw.kvx -------------------------------------------------------------------------------- /media/vox/kvx/ebuttn.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/ebuttn.kvx -------------------------------------------------------------------------------- /media/vox/kvx/ebuttn2.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/ebuttn2.kvx -------------------------------------------------------------------------------- /media/vox/kvx/faucet.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/faucet.kvx -------------------------------------------------------------------------------- /media/vox/kvx/handle.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/handle.kvx -------------------------------------------------------------------------------- /media/vox/kvx/helmet.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/helmet.kvx -------------------------------------------------------------------------------- /media/vox/kvx/knight.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/knight.kvx -------------------------------------------------------------------------------- /media/vox/kvx/lights1.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/lights1.kvx -------------------------------------------------------------------------------- /media/vox/kvx/lights2.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/lights2.kvx -------------------------------------------------------------------------------- /media/vox/kvx/lockkk.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/lockkk.kvx -------------------------------------------------------------------------------- /media/vox/kvx/magnet.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/magnet.kvx -------------------------------------------------------------------------------- /media/vox/kvx/pencil.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/pencil.kvx -------------------------------------------------------------------------------- /media/vox/kvx/ricecup.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/ricecup.kvx -------------------------------------------------------------------------------- /media/vox/kvx/shower.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/shower.kvx -------------------------------------------------------------------------------- /media/vox/kvx/soapdisp.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/soapdisp.kvx -------------------------------------------------------------------------------- /media/vox/kvx/spring.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/spring.kvx -------------------------------------------------------------------------------- /media/vox/kvx/staff1.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/staff1.kvx -------------------------------------------------------------------------------- /media/vox/kvx/tcastsw.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/tcastsw.kvx -------------------------------------------------------------------------------- /media/vox/kvx/teacup.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/teacup.kvx -------------------------------------------------------------------------------- /media/vox/kvx/toiletp.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/toiletp.kvx -------------------------------------------------------------------------------- /media/vox/kvx/whanger.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/whanger.kvx -------------------------------------------------------------------------------- /r4/Dev/matematicas/div.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Dev/matematicas/div.txt -------------------------------------------------------------------------------- /r4/Games/pruebariendas.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Games/pruebariendas.txt -------------------------------------------------------------------------------- /r4/Games/tilegame.joy.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Games/tilegame.joy.txt -------------------------------------------------------------------------------- /screenshot/comanchevox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/comanchevox.png -------------------------------------------------------------------------------- /screenshot/memory-game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/memory-game.png -------------------------------------------------------------------------------- /media/milagros/100ciento.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/100ciento.ogg -------------------------------------------------------------------------------- /media/milagros/14catorce.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/14catorce.ogg -------------------------------------------------------------------------------- /media/milagros/15quince.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/15quince.ogg -------------------------------------------------------------------------------- /media/milagros/20veinte.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/20veinte.ogg -------------------------------------------------------------------------------- /media/milagros/30treinta.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/30treinta.ogg -------------------------------------------------------------------------------- /media/milagros/60sesenta.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/60sesenta.ogg -------------------------------------------------------------------------------- /media/milagros/70setenta.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/70setenta.ogg -------------------------------------------------------------------------------- /media/milagros/80ochenta.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/80ochenta.ogg -------------------------------------------------------------------------------- /media/milagros/90noventa.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/90noventa.ogg -------------------------------------------------------------------------------- /media/milagros/cuadrado.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/cuadrado.ogg -------------------------------------------------------------------------------- /media/milagros/dividido.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/dividido.ogg -------------------------------------------------------------------------------- /media/milagros/elevadoa.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/elevadoa.ogg -------------------------------------------------------------------------------- /media/milagros/laberinto.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/laberinto.ogg -------------------------------------------------------------------------------- /media/milagros/millones.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/millones.ogg -------------------------------------------------------------------------------- /media/milagros/resultado.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/resultado.ogg -------------------------------------------------------------------------------- /media/milagros/unmillon.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/unmillon.ogg -------------------------------------------------------------------------------- /media/obj/ben10/Ben/Body.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/obj/ben10/Ben/Body.png -------------------------------------------------------------------------------- /media/vox/kvx/strongbad.kvx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/kvx/strongbad.kvx -------------------------------------------------------------------------------- /r4/Apps/database/agenda.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Apps/database/agenda.txt -------------------------------------------------------------------------------- /screenshot/bitmap-spr-ed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/bitmap-spr-ed.png -------------------------------------------------------------------------------- /screenshot/vector-spr-ed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/vector-spr-ed.png -------------------------------------------------------------------------------- /screenshot/viewlorenz3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/screenshot/viewlorenz3d.png -------------------------------------------------------------------------------- /media/3do/SKELLINGTON_SPEAR.3do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/3do/SKELLINGTON_SPEAR.3do -------------------------------------------------------------------------------- /media/milagros/16dieciseis.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/16dieciseis.ogg -------------------------------------------------------------------------------- /media/milagros/17diecisiete.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/17diecisiete.ogg -------------------------------------------------------------------------------- /media/milagros/18dieciocho.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/18dieciocho.ogg -------------------------------------------------------------------------------- /media/milagros/19diecinueve.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/19diecinueve.ogg -------------------------------------------------------------------------------- /media/milagros/40cuarenta.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/40cuarenta.ogg -------------------------------------------------------------------------------- /media/milagros/50cincuenta.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/50cincuenta.ogg -------------------------------------------------------------------------------- /media/milagros/browseMode.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/browseMode.ogg -------------------------------------------------------------------------------- /media/milagros/calculadora.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/calculadora.ogg -------------------------------------------------------------------------------- /media/obj/Mario/Mario_Brow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/obj/Mario/Mario_Brow.png -------------------------------------------------------------------------------- /media/obj/Mario/Mario_body.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/obj/Mario/Mario_body.png -------------------------------------------------------------------------------- /media/obj/Mario/Mario_eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/obj/Mario/Mario_eye.png -------------------------------------------------------------------------------- /media/vox/clon_disparando.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/clon_disparando.vox -------------------------------------------------------------------------------- /r4/Dev/graficos/convertsvg.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Dev/graficos/convertsvg.txt -------------------------------------------------------------------------------- /r4/Dev/impresora/formprint.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Dev/impresora/formprint.txt -------------------------------------------------------------------------------- /r4/autojuegos/listapalabras.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/autojuegos/listapalabras.txt -------------------------------------------------------------------------------- /media/milagros/200doscientos.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/200doscientos.ogg -------------------------------------------------------------------------------- /media/milagros/300trescientos.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/300trescientos.ogg -------------------------------------------------------------------------------- /media/milagros/500quinientos.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/500quinientos.ogg -------------------------------------------------------------------------------- /media/milagros/600seicientos.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/600seicientos.ogg -------------------------------------------------------------------------------- /media/milagros/700setecientos.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/700setecientos.ogg -------------------------------------------------------------------------------- /media/milagros/800ochocientos.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/800ochocientos.ogg -------------------------------------------------------------------------------- /media/milagros/900novecientos.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/900novecientos.ogg -------------------------------------------------------------------------------- /media/milagros/400cuatrocientos.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/milagros/400cuatrocientos.ogg -------------------------------------------------------------------------------- /r4/Dev/graficos/quadtree/quad1.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Dev/graficos/quadtree/quad1.txt -------------------------------------------------------------------------------- /r4/Dev/graficos/quadtree/quad2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/r4/Dev/graficos/quadtree/quad2.txt -------------------------------------------------------------------------------- /media/vox/clon_agachado_disparando.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/vox/clon_agachado_disparando.vox -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.txt text eol=crlf linguist-language=forth 2 | *.inc text eol=crlf 3 | *.spr text eol=crlf 4 | *.bmr text eol=crlf 5 | -------------------------------------------------------------------------------- /media/bmp/free_toolbar_icons_16x16_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phreda4/r4/HEAD/media/bmp/free_toolbar_icons_16x16_black.png -------------------------------------------------------------------------------- /db/test/localidades.db: -------------------------------------------------------------------------------- 1 | San Cayetano~ 2 | Mar del Plata~ 3 | Quequen~ 4 | Necochea~ 5 | Adolfo G. Chaves~ 6 | Bs. As.~ 7 | La Dulce~ 8 | Balcarce~ 9 | Tandil~ -------------------------------------------------------------------------------- /db/test1/localidades.db: -------------------------------------------------------------------------------- 1 | San Cayetano~ 2 | Mar del Plata~ 3 | Quequen~ 4 | Necochea~ 5 | Adolfo G. Chaves~ 6 | Bs. As.~ 7 | La Dulce~ 8 | Balcarce~ 9 | Tandil~ -------------------------------------------------------------------------------- /r4/curso/Tutor/1-hello.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | 3 | :main 4 | show clrscr 5 | "Hello,World !" print 6 | 'exit >esc< 7 | cminiflecha 8 | ; 9 | 10 | : main ; -------------------------------------------------------------------------------- /r4/curso/Tutor/clase-2.txt: -------------------------------------------------------------------------------- 1 | | Clase 2 Itinerario 1 2 | 3 | ^r4/lib/gui.txt 4 | ^r4/lib/bmr.txt 5 | ^./sprites.bmr 6 | 7 | :main show clrscr 'exit >esc< ; 8 | 9 | : main ; -------------------------------------------------------------------------------- /r4/Demos/dib1.spr: -------------------------------------------------------------------------------- 1 | 2 | #:part 3 | $CA900001 $E43BA863 $F1971B53 $DE77733 $42479303 $278C2013 $22BCC6D3 $FAA84AD3 $CD3C8D13 $DB202893 $CA90000A $31B49527 $D7EF5488 $FFFFFFC $FF6600E 0 -------------------------------------------------------------------------------- /r4/Dev/games/pool.spr: -------------------------------------------------------------------------------- 1 | | Nsprite file 2 | #:sball 3 | $19A1231 $873A1232 $87380444 $8739F662 $199F664 $7BFDF662 $7BFC0444 $7BFE1232 $19A1239 $11A3B0F7 $C6D49C08 $FFFFFFC $FF0000F 0 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | r4asm/r4fasm.fas 2 | r4asm/plain.txt 3 | r4asm/cod.asm 4 | r4asm/r4fasm.exe 5 | r4asm/dat.asm 6 | mem/main.mem 7 | mem/edit-code.mem 8 | r4/Work 9 | r4/rtv 10 | plain.txt -------------------------------------------------------------------------------- /db/test/paises.db: -------------------------------------------------------------------------------- 1 | Argentina~ 2 | Brasil~ 3 | Bolivia~ 4 | Chile~ 5 | Colombia~ 6 | Paraguay~ 7 | Peru~ 8 | Uruguay~ 8 modi 1~ 9 modi 2~ agrgado en 1 10~ agrgado en 2 8~ agrgado en 2 9~ -------------------------------------------------------------------------------- /db/test1/paises.db: -------------------------------------------------------------------------------- 1 | Argentina~ 2 | Brasil~ 3 | Bolivia~ 4 | Chile~ 5 | Colombia~ 6 | Paraguay~ 7 | Peru~ 8 | Uruguay~ 8 modi 1~ 9 modi 2~ agrgado en 1 10~ agrgado en 2 8~ agrgado en 2 9~ -------------------------------------------------------------------------------- /db/multiuser/paises.db: -------------------------------------------------------------------------------- 1 | Argentina~ 2 | Brasil~ 3 | Bolivia~ 4 | Chile~ 5 | Colombia~ 6 | Paraguay~ 7 | Peru~ 8 | Uruguay~ 8 modi 1~ 9 modi 2~ agrgado en 1 10~ agrgado en 2 8~ agrgado en 2 9~ -------------------------------------------------------------------------------- /r4/r3/r3/examples/Font-test.r3: -------------------------------------------------------------------------------- 1 | | Example PRINT 2 | 3 | ^lib/print.r3 4 | 5 | : 6 | cls 7 | $ff0000ff 'ink ! 8 | "Hello Word!" print cr 9 | $ff00ff 'ink ! 10 | "Hola Mundo!" print cr 11 | $ffff 'ink ! 12 | "r3" print cr 13 | ; -------------------------------------------------------------------------------- /inc/tilemap.rmt: -------------------------------------------------------------------------------- 1 | | RMT file 2 | #:new1 3 | $FFFFFF04 $E26CC00A $BE1BC00B $22AB000B $397F000B $14E3400B $C80 $100601 $FC90000A $BC83800B $E879C00B $F772000B $407D000B $C80 $100501 $CE10C00A $EE08800B 4 | $102000B $1402800B $C80 $C80 0 5 | -------------------------------------------------------------------------------- /r4/curso/Tutor/9-testcomp.txt: -------------------------------------------------------------------------------- 1 | #var 2 | 3 | :fillscr 4 | framev >a 5 | sw sh * ( 1? )( 1- 6 | var a!+ 7 | 1 'var +! ) drop ; 8 | 9 | :main 10 | ( fillscr 11 | redraw 12 | 0 update drop 13 | key 1 <>? )( drop ) 14 | ; 15 | 16 | : main ; -------------------------------------------------------------------------------- /r4/Compiler/code.asm: -------------------------------------------------------------------------------- 1 | ;---:r4 compiler code.asm ; -------------------------------- ; vreg:0 ; IN: 0 | 1 | 2 | -97 r: 0 3 | r: 0 ; ---- cells ---- ; 0 | :menosr_98 | | ; menosr_98 | -- R:a-- | rm | len:4 | calls:1 w1: ; 1 | R> | | pop $0 ; 2 | DROP | -97 r: 0 | -97 r: $0 -------------------------------------------------------------------------------- /r4/Dev/testk.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/frac.txt 3 | 4 | 5 | :main 6 | show clrscr 7 | 0.0761 8 | dup "%f " print 9 | fix2f 2dup 10 | swap "%d/%d" print 11 | 16 <esc< 13 | cminiflecha ; 14 | 15 | : main ; 16 | -------------------------------------------------------------------------------- /r4/r3/r3/Pattern-XOR.r3: -------------------------------------------------------------------------------- 1 | | Example 1 2 | 3 | ^lib/gr.r3 4 | 5 | :patternxor 6 | vframe >a 7 | sh ( 1? 1 - 8 | sw ( 1? 1 - 9 | 2dup xor 16 << 10 | $ff or | opacity 11 | a!+ 12 | ) drop 13 | ) drop ; 14 | 15 | : 16 | patternxor 17 | | 'patternxor onshow 18 | ; 19 | -------------------------------------------------------------------------------- /r4/r3/r3/lib/dom.r3: -------------------------------------------------------------------------------- 1 | | r3 lib DOM play 2 | | PHREDA 2018 3 | 4 | ^lib/sys.r3 5 | ^lib/str.r3 6 | 7 | ::
8 | "
" echo ; 9 | 10 | :: | 'exec "label" -- 11 | "" echo ; 15 | 16 | 17 | -------------------------------------------------------------------------------- /r4/r3/r3/XYMOUSE.r3: -------------------------------------------------------------------------------- 1 | | Example 5 DRAW in Canvas 2 | 3 | ^lib/gr.r3 4 | ^lib/rand.r3 5 | 6 | #last 0 7 | 8 | :show 9 | bpen 0? ( 'last ! ; ) drop 10 | last 0? ( drop 1 'last ! xymouse op 11 | rand $ff or 'ink ! 12 | ; ) drop 13 | xymouse line ; 14 | 15 | : 16 | 'show onshow 17 | ; -------------------------------------------------------------------------------- /inc/aya.inc: -------------------------------------------------------------------------------- 1 | #:dib1 $F3434E91 $C39B9053 $E9CC1F43 $342804F3 $F3434E9A $FBE35F07 $CD0804F8 $FFFFFFC $E 2 | $DD833AD1 $CC39043 $EA3C09D3 $C057A403 $DD833ADA $FDF79F17 $D0C79D68 $380BE5C $F32B00E 3 | $C18C4851 $C18CD8F3 $F6F8D8F3 $F6F84853 $C18C485A $DC4090A7 $C18C0008 $FFFF3FC $BC00E 4 | $0 5 | 6 | -------------------------------------------------------------------------------- /media/fnt/fuente4.fnt: -------------------------------------------------------------------------------- 1 | b!a 7 | sh ( 1? 1 - 8 | sw ( 1? 1 - 9 | 2dup xor 16 << 10 | $ff or | opacity 11 | a!+ 12 | ) drop 13 | ) drop ; 14 | 15 | : 16 | patternxor 17 | | 'patternxor onshow 18 | ; 19 | -------------------------------------------------------------------------------- /media/obj/cube.mtl: -------------------------------------------------------------------------------- 1 | newmtl cube 2 | Ns 10.0000 3 | Ni 1.5000 4 | d 1.0000 5 | Tr 0.0000 6 | Tf 1.0000 1.0000 1.0000 7 | illum 2 8 | Ka 0.0000 0.0000 0.0000 9 | Kd 0.5880 0.5880 0.5880 10 | Ks 0.0000 0.0000 0.0000 11 | Ke 0.0000 0.0000 0.0000 12 | map_Ka cube.png 13 | map_Kd cube.png 14 | -------------------------------------------------------------------------------- /r4/Demos/testdlgcolor.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/btn.txt 2 | ^r4/lib/dlg.txt 3 | 4 | #color $ffff 5 | 6 | :main 7 | show clrscr 8 | dup "%d " print 9 | "color: " print 10 | 11 | 'color dlgcolor 12 | cr 13 | 14 | 'exit >esc< 15 | 16 | 17 | cminilapiz 18 | ; 19 | 20 | : 33 main ; 21 | -------------------------------------------------------------------------------- /r4/r3/r3/examples/XYMOUSE-test.r3: -------------------------------------------------------------------------------- 1 | | Example 5 DRAW in Canvas 2 | 3 | ^lib/gr.r3 4 | ^lib/rand.r3 5 | 6 | #last 0 7 | 8 | :show 9 | bmouse 0? ( 'last ! ; ) drop 10 | last 0? ( drop 1 'last ! xymouse op 11 | rand $ff or 'ink ! 12 | ; ) drop 13 | xymouse line ; 14 | 15 | : 16 | 'show onshow 17 | ; -------------------------------------------------------------------------------- /r4asm/Rsrcr3.rc: -------------------------------------------------------------------------------- 1 | ID_ICON = 100 2 | 3 | SECTION '.rsrc' RESOURCE DATA READABLE 4 | 5 | directory RT_ICON,icons,RT_GROUP_ICON,group_icons 6 | resource icons,100,LANG_NEUTRAL,icon_data 7 | resource group_icons,100,LANG_NEUTRAL,icon 8 | icon icon,icon_data,'r4asm/r3ico.ico' 9 | 10 | -------------------------------------------------------------------------------- /r4asm/Rsrc.rc: -------------------------------------------------------------------------------- 1 | ID_ICON = 100 2 | 3 | SECTION '.rsrc' RESOURCE DATA READABLE 4 | 5 | directory RT_ICON,icons,RT_GROUP_ICON,group_icons 6 | resource icons,100,LANG_NEUTRAL,icon_data 7 | resource group_icons,100,LANG_NEUTRAL,icon 8 | icon icon,icon_data,'r4asm/small.ico' 9 | 10 | -------------------------------------------------------------------------------- /media/obj/ben10/Ben/Ben.mtl: -------------------------------------------------------------------------------- 1 | # Blender3D MTL File: Ben.blend 2 | # Material Count: 1 3 | newmtl RefRep.946_Body.png_Body.png 4 | Ns 92.156863 5 | Ka 0.000000 0.000000 0.000000 6 | Kd 0.512000 0.512000 0.512000 7 | Ks 0.250000 0.250000 0.250000 8 | Ni 1.000000 9 | d 0.000000 10 | illum 2 11 | map_Kd Body.png 12 | 13 | 14 | -------------------------------------------------------------------------------- /doc/readme.txt: -------------------------------------------------------------------------------- 1 | :r4 is a programing lenguaje made by Pablo H. Reda in 2005 2 | 3 | inspired in ColorForth (www.colorforth.com) made by Charles Moore in 2001 4 | 5 | This version is a Compiler and a Virtual Machine. 6 | 7 | The Compiler generate a bytecode and then execute. At start r4.exe load and compile main.txt. 8 | 9 | -------------------------------------------------------------------------------- /r4/r3/r3/examples/DOM-test.r3: -------------------------------------------------------------------------------- 1 | | Example 3 2 | 3 | ^lib/dom.r3 4 | 5 | #var 0 6 | 7 | :1+ 1 'var +! ; 8 | :1- -1 'var +! ; 9 | 10 | :dom 11 |
12 | "Hola Mundo" echo
13 | '1- " -1 " 14 | " " echo var .d echo " " echo 15 | '1+ " +1 " 16 |
17 | ; 18 | 19 | : 20 | 'dom ondom 21 | dom 22 | ; -------------------------------------------------------------------------------- /r4/serie/test1.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/trace.txt 3 | 4 | #buffs )( 1024 5 | #buffs> 'buffs 6 | 7 | :scan 8 | buffs> serialr 9 | 0? ( drop ; ) 10 | 'buffs> +! 11 | ; 12 | 13 | :main 14 | show clrscr 15 | msec "%d" print cr 16 | scan 17 | 'buffs print 18 | 'exit >esc< 19 | ; 20 | 21 | : main ; -------------------------------------------------------------------------------- /inc/1492.rmt: -------------------------------------------------------------------------------- 1 | | RMT file 2 | #:nuevo 3 | $FFFFFF04 $A16C400A $B306C00B $3B11400B $136B400B $58D7C00B $6179400B $F769800B $F769800B $F08C2304 $4257400A $FCFD800B $6E88400B $91E400B $2A73C00B $C80 $100301 4 | $C705000A $ED6CC00B $C80 $100301 $E855C00A $1D5F400B $400501 $C973C00B $600901 $1701C00B $AD72000B $AD72000B $B00C01 $B286000B $E00F01 $E07C400B $C80 5 | 0 6 | -------------------------------------------------------------------------------- /r4/r3/r3/lib/sys.r3: -------------------------------------------------------------------------------- 1 | | SYSTEM 2 | | PHREDA 2019 3 | |---------------- 4 | 5 | ::xymouse | -- xmouse ymouse 6 | xypen dup $ffff and swap 16 >> ; 7 | 8 | #.exit 0 9 | 10 | ::onshow | 'word -- 11 | 0 '.exit ! 12 | 0 ( drop 13 | 10 update drop 14 | dup ex 15 | redraw 16 | .exit 1? ) 17 | 2drop 18 | 0 '.exit ! 19 | ; 20 | 21 | ::exit 22 | 1 '.exit ! ; -------------------------------------------------------------------------------- /r4/Dev/rotate.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/bmr.txt 3 | 4 | ^inc/1492.bmr 5 | ^inc/1492.spr 6 | 7 | :main 8 | 33 9 | show clrscr verde 10 | dup "%d img rotate test" print cr 11 | sw 2/ sh 2/ msec 4 << 'avion bmr.drawr 12 | xymouse 32 - swap 32 - swap msec 3 << 'auto bmr.drawr 13 | 14 | | cmano 15 | 'exit >esc< ; 16 | 17 | : main ; 18 | -------------------------------------------------------------------------------- /r4/curso/Tutor/3-simplegui.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/btn.txt 2 | 3 | #value 4 | :main 5 | show clrscr 6 | $ffffff ink 7 | value "value:%d" print cr cr 8 | $ff0000 ink 9 | 'exit dup >esc< "Exit" btnt cr cr 10 | cr 11 | $ff ink 12 | 0 ( 10 framev mxfb fsize MOVE ; 16 | ::>xfb mxfb framev fsize MOVE ; 17 | ::xfb>scr 18 | framev mxfb fsize MOVE 19 | scr home guistart ; 20 | -------------------------------------------------------------------------------- /r4asm/include/PCOUNT/COMDLG32.INC: -------------------------------------------------------------------------------- 1 | 2 | ; COMDLG32 API calls parameters' count 3 | 4 | ChooseColor% = 1 5 | ChooseFont% = 1 6 | CommDlgExtendedError% = 0 7 | FindText% = 1 8 | FormatCharDlgProc% = 4 9 | GetFileTitle% = 3 10 | GetOpenFileName% = 1 11 | GetSaveFileName% = 1 12 | LoadAlterBitmap% = 3 13 | PageSetupDlg% = 1 14 | PrintDlg% = 1 15 | ReplaceText% = 1 16 | WantArrows% = 4 17 | dwLBSubclass% = 4 18 | dwOKSubclass% = 4 19 | -------------------------------------------------------------------------------- /r4/Lib/loadimg.txt: -------------------------------------------------------------------------------- 1 | | load image from diferent sources 2 | | PHREDA 2017 3 | |---------------------------------------- 4 | ^r4/lib/loadjpg.txt 5 | ^r4/lib/loadpng.txt 6 | ^r4/lib/loadbmp.txt 7 | ^r4/lib/loadtga.txt 8 | 9 | ::loadimg | filename -- img 10 | ".jpg" =pos 1? ( drop loadjpg ; ) drop 11 | ".png" =pos 1? ( drop loadpng ; ) drop 12 | ".bmp" =pos 1? ( drop loadbmp ; ) drop 13 | ".tga" =pos 1? ( drop loadtga ; ) 14 | 2drop 0 ; 15 | -------------------------------------------------------------------------------- /r4/r3/r3/examples/SHOW-test.r3: -------------------------------------------------------------------------------- 1 | | Example 4 2 | 3 | ^lib/gr.r3 4 | 5 | |-------------------- 6 | #x 10 #vx 1 7 | #y 10 #vy 1 8 | 9 | :hitx vx neg 'vx ! ; 10 | :hity vy neg 'vy ! ; 11 | 12 | :box 13 | xy>v >a $ff00ff a! ; 14 | 15 | :show 16 | cls 17 | 18 | x sw 4 - >=? ( hitx ) 4 <=? ( hitx ) 19 | y sh 4 - >=? ( hity ) 4 <=? ( hity ) 20 | box 21 | vx 'x +! 22 | vy 'y +! 23 | ; 24 | 25 | |-------------------- 26 | : 27 | 'show onshow 28 | ; 29 | -------------------------------------------------------------------------------- /r4/Demos/test-joy.txt: -------------------------------------------------------------------------------- 1 | | test-joy.txt 2 | | PhReda 2007 3 | |-------------------------- 4 | ^r4/lib/gui.txt 5 | 6 | :main 7 | show clrscr 8 | 9 | 'exit >esc< 10 | 11 | fonti home blanco 12 | cntjoy dup "%d" print cr 13 | ( 1? )( 1- 14 | cr dup "JOY %d " print 15 | dup getjoy dup " (%h) " print 16 | >b 17 | 18 | 10 ( 1? )( 1- b@+ "%h " print ) drop 19 | cr 20 | ) drop 21 | ; 22 | 23 | 24 | : 0 'paper ! 33 main ; -------------------------------------------------------------------------------- /r4/Compiler/test2.txt: -------------------------------------------------------------------------------- 1 | 2 | #array 0 1 2 3 4 5 3 | #v1 4 | #v2 'array 5 | 6 | :menosr 7 | r> drop ; 8 | 9 | :dos 10 | 2 2 + 2 * v1 4 * ; 11 | 12 | :masr 13 | 'dos >r ; 14 | 15 | :usor 16 | 2 dup >r 3 + r> * ; 17 | 18 | #st 19 | :.mseg | seg -- R:X? 20 | msec st - >? ( r> drop ) drop ; 21 | 22 | :uso1 23 | 12 .mseg ; 24 | 25 | :main 26 | 2 0 'v1 ! 27 | 28 | masr 29 | menosr 30 | usor 31 | c@+ 32 | uso1 33 | ; 34 | 35 | : main ; 36 | -------------------------------------------------------------------------------- /r4/Demos/test-vkeyb.txt: -------------------------------------------------------------------------------- 1 | 2 | ^r4/lib/gui.txt 3 | ^r4/lib/vkeyboard.txt 4 | ^r4/lib/rfont.txt 5 | ^inc/rft/gooddog.rft 6 | 7 | :printchar vkey 0 <>? ( "%k" printc )( drop ) ; 8 | 9 | :small.font gooddog 0.05 %s rfont! ; 10 | 11 | :big.font gooddog 0.1 %s rfont! ; 12 | 13 | :screen 14 | show 15 | clrscr 16 | small.font rojo 17 | dup "%d" print 18 | big.font blanco 19 | printchar 20 | vkeyboard 21 | 'exit >esc< cflecha ; 22 | 23 | : 33 screen ; 24 | 25 | -------------------------------------------------------------------------------- /r4/Dev/testfb.txt: -------------------------------------------------------------------------------- 1 | | prueba velocidad de refresco 2 | ^r4/lib/gui.txt 3 | 4 | 5 | #f 6 | #fc 7 | #col 8 | #tn 9 | :fill 10 | 0 0 setxy 11 | sw sh * ( 1? )( 12 | col a!+ 1- ) drop ; 13 | 14 | :calcf 15 | 1 'fc +! 16 | msec tn esc< 30 | ; 31 | 32 | : main ; 33 | -------------------------------------------------------------------------------- /r4/Dev/testfloat.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/parse.txt 3 | 4 | :>>, 5 | trim 6 | dup c@ $2c =? ( drop 1+ ; ) drop ; 7 | 8 | :main 9 | 10 | show clrscr 11 | "Hello Human!" print cr 12 | "4.79013,1.1e-4 9.04393,0.49456" 13 | dup print getfenro " %f" print cr 14 | >>, 15 | dup print getfenro " %f" print cr 16 | >>, 17 | dup print getfenro " %f" print cr 18 | >>, 19 | dup print getfenro " %f" print cr 20 | drop 21 | 'exit >esc< 22 | cminiflecha ; 23 | 24 | : main ; 25 | -------------------------------------------------------------------------------- /r4/Dev/matematicas/sqrt.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | 3 | :nsqrt |n 4 | 0? ( ; ) 5 | 0 $40000000 pick2 clz $fe and >> 6 | ( 1? )( 7 | rot pick2 pick2 + | root bit numb 8 | >=? ( pick2 pick2 + - rot 2/ pick2 + )( rot 2/ ) 9 | rot 2 >> ) drop nip ; 10 | 11 | #vl 12 | #err 13 | :main 14 | 0 'vl ! 15 | 0 'err ! 16 | show clrscr 17 | vl 18 | dup "%d " print 19 | dup sqrt 20 | over nsqrt 21 | <>? ( 1 'err +! ) drop 22 | 1+ 'vl ! 23 | cr err "%d " print 24 | 'exit >esc< 25 | ; 26 | : main ; -------------------------------------------------------------------------------- /r4/curso/Itinerario/pilas.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | 3 | :main 4 | show clrscr 5 | 255 alpha 6 | $ffffff ink 7 | msec "%d" print cr cr 8 | time "%d :) %d :( %d" print 9 | 10 | 128 alpha 11 | 40 40 op 12 | 100 100 pline 13 | xymouse pline 14 | 40 40 pline 15 | 16 | $ff0f0f ink 17 | poli 18 | 19 | $ff ink 20 | 80 80 op 21 | 200 80 pline 22 | 200 200 pline 23 | 80 200 pline 24 | 80 80 pline 25 | poli 26 | 27 | 28 | 29 | 'exit >esc< ; 30 | 31 | : main ; 32 | -------------------------------------------------------------------------------- /r4/Lib/system.txt: -------------------------------------------------------------------------------- 1 | | more sytem word 2 | | PHREDA 2017 3 | |----------------------------- 4 | #:path )( 1024 5 | 6 | | extrat path from string, keep in path var 7 | ::getpath | str -- str 8 | 'path 9 | over ( c@+ $ff and 32 >=? )( rot c!+ swap ) 2drop 10 | 1- ( dup c@ $2f <>? )( drop 11 | 1- 'path <=? ( 0 'path ! drop ; ) 12 | ) drop 13 | 0 swap 1+ c! ; 14 | 15 | | execute a system command and wait for end 16 | ::systemwait | "" -- 17 | system drop 18 | ( -1 system -1 <>? )( drop 30 update drop ) drop 19 | ; 20 | -------------------------------------------------------------------------------- /r4/System/Config/fps.txt: -------------------------------------------------------------------------------- 1 | | test de velocidad de video 2 | | MCORNES/PHREDA - 2009 3 | |----------------------------------- 4 | ^r4/lib/gui.txt 5 | 6 | #frame 7 | #elapsed 8 | 9 | :draw 10 | 0 'frame ! 11 | msec 1000 + ( msec over esc< 20 | 21 | 2 .segs .restart draw 22 | ; 23 | 24 | : draw speed ; 25 | -------------------------------------------------------------------------------- /inc/jetpatrol.inc: -------------------------------------------------------------------------------- 1 | #:dib1 $9B57FCC1 $A9BB4CE3 $B1877943 $B7B36733 $C2CBB2C3 $C8F377A3 $D4779043 $DBDB4CE3 $E54F1503 2 | $EEC2F0D3 $FBEB1843 $3B33C73 $8A39043 $148BCB73 $15C79D73 $1F3B7AE3 $29174CE3 $377BB123 3 | $3D3B6F63 $4ACBAF83 $56B001A3 $55E106F3 $9BC10553 $9B57FCCA $F3B0EFF7 $F20AD348 $1D1D18C 4 | $A9E $0 5 | #:dib2 $FF9B1B91 $EE5B1B92 $EE5B5D54 $EE5B9F12 $FF9B9F14 $10DB9F12 $10DB5D54 $10DB1B92 $FF9B1B94 6 | $FF9B1B9A $E96B5EF7 $17D76248 $FFFFFFC $E $F2DFB7B1 $F2DCC043 $C50C043 $C53B7B3 7 | $F2DFB7BA $F2DC3B27 $EC83CD8 $FFFFFFC $E $0 8 | 9 | -------------------------------------------------------------------------------- /r4/r3/r3/lib/print.r3: -------------------------------------------------------------------------------- 1 | ^lib/sys.r3 2 | ^lib/fontpc.r3 3 | |--------------- 4 | | PRINT LIB 5 | | PHREDA 2018 6 | |--------------- 7 | 8 | ##ccx 0 ##ccy 0 9 | ##cch 16 ##ccw 8 10 | 11 | #_charemit 'char8pc 12 | #_charsize 'size8pc 13 | 14 | ::font! | 'vemit 'vsize -- 15 | '_charsize ! '_charemit ! ; 16 | 17 | ::emit | c -- 18 | $ff and _charemit ex 19 | _charsize ex 'ccx +! ; 20 | 21 | ::home 22 | 0 'ccx ! 0 'ccy ! ; 23 | 24 | ::print | "" -- 25 | ccx ccy xy>v >a 26 | ( c@+ 1? 27 | emit ) 2drop ; 28 | 29 | ::cr 30 | cch 'ccy +! 0 'ccx ! ; -------------------------------------------------------------------------------- /r4/Dev/sistema/configure.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | 3 | :joystick 4 | cntjoy 5 | dup "Joysticks: %d" print cr 6 | ( 1? )( 1- 7 | cr dup "JOY %d " print 8 | dup getjoy dup " (%h) " print 9 | 10 ( 1? )( 1- swap @+ "%h " print swap ) 2drop 10 | cr 11 | ) drop 12 | ; 13 | 14 | :main 15 | fonti2 16 | show clrscr 17 | verde 18 | ":r4 cONFIGURE" print cr cr 19 | sh sw "Resolution: %d x %d" print cr 20 | "Keyboard: " print 21 | 22 | cr 23 | joystick cr 24 | 25 | 'exit >esc< 26 | ; 27 | 28 | : main ; 29 | 30 | -------------------------------------------------------------------------------- /r4/curso/Tutor/4-gui.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/input.txt 2 | 3 | #name )( 64 4 | #adress )( 64 5 | #memo )( 256 6 | #int )( 16 7 | #real )( 16 8 | 9 | :main 10 | show clrscr 11 | $ff00 ink 12 | "form test " print cr cr 13 | "name: " print 'name 64 input cr 14 | "adress: " print 'adress 64 input cr 15 | "integer: " print 'int 200 inputint cr 16 | "float: " print 'real 8 2 inputreal cr 17 | "memo: " print 'memo 256 4 32 inputm cr 18 | cr 19 | $ff0000 ink 20 | 'exit "Exit" sp .btnt 21 | cminiflecha 22 | 'exit >esc< ; 23 | 24 | : main ; -------------------------------------------------------------------------------- /r4/System/mem-run.txt: -------------------------------------------------------------------------------- 1 | |---- memoria persistente para info de debug 2 | 3 | ^r4/system/r4token.txt 4 | 5 | #imagen 6 | 7 | #lasth 8 | 9 | ::run.save 10 | mark 11 | prog> prog - 2 >> , | cnt prog 12 | prog ( prog> cte - 2 >> , | cnt cte 15 | cte ( cte> str - , | cnt str 18 | | str ( str> esc< 19 | cminiflecha 20 | ; 21 | 22 | :init 23 | mark 24 | "media/bmp/animacion.png" loadpng 'img1 ! 25 | "media/bmp/piso.bmp" loadbmp 'img2 ! 26 | "media/bmp/cerezop.png" loadpng 'img3 ! 27 | ; 28 | 29 | : init main ; -------------------------------------------------------------------------------- /r4/Lib/font32.txt: -------------------------------------------------------------------------------- 1 | | Fuente Consola bitmap 32x32 pixels 2 | | phreda - 2009 3 | |------------------------------ 4 | ^r4/lib/fonts/fnt32font.inc 5 | 6 | :charsize32 | byte -- size 7 | 32 nip ; 8 | 9 | :char32 | c -- 10 | 7 << 'fuente32a + 11 | ::char32i | adr -- 12 | ccx ccy setxy 13 | sw 32 - 2 << 14 | 32 ( 1? )( 1- 15 | rot @+ 16 | 32 ( 1? )( 1- >r 17 | 1 and? ( ink@ a!+ )( 4 a+ ) 18 | 2/ r> ) 2drop | x y a 19 | rot dup a+ 20 | rot ) 21 | 3drop ; 22 | 23 | ::font32 | -- 24 | 32 32 fixsize 25 | 'char32 'charsize32 setfont 26 | ; 27 | -------------------------------------------------------------------------------- /r4/System/mem-ed.txt: -------------------------------------------------------------------------------- 1 | |---- memoria persistente de info de edicion 2 | 3 | ^r4/lib/mprint.txt 4 | 5 | #:ed.ncar | lugar del cursor 6 | #:ed.ipan | inicio de pantalla 7 | #:ed.nombre )( 256 8 | #:ed.nlin | numero de linea (old) 9 | 10 | ::ed.load 11 | 'ed.ncar "mem/edit-code.mem" load drop ; 12 | 13 | ::ed.save 14 | 'ed.ncar 268 "mem/edit-code.mem" save ; 15 | 16 | ::ed.path | -- str 17 | mark 18 | 0 'ed.nombre ( c@+ 1? )( 19 | $2f =? ( rot drop here rot rot ) | / 20 | ,c ) ,c drop 21 | 0? ( drop empty here ; ) 22 | 0 swap 1+ c! 23 | empty here ; 24 | 25 | -------------------------------------------------------------------------------- /r4/curso/Tutor/clase-1.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | 3 | #vidas 5 4 | 5 | :perdervida 6 | -1 'vidas +! 7 | ; 8 | 9 | :ganarvida 10 | 1 'vidas +! 11 | ; 12 | 13 | :dibujo 14 | $ff 'paper ! 15 | show clrscr 16 | cr 17 | vidas "vidas : %d" print 18 | 19 | 'perdervida 20 | 'ganarvida 21 | 22 | 23 | vidas 0 esc< 34 | ; 35 | 36 | : dibujo ; -------------------------------------------------------------------------------- /r4/Demos/graybars.txt: -------------------------------------------------------------------------------- 1 | | GALILEOG 2016 2 | ^r4/lib/gui.txt 3 | 4 | #mitad 0 5 | 6 | :mitad? mitad 0? ( drop dup 8 * sw swap / 'mitad ! )( 2 / 'mitad ! ) ; 7 | 8 | :swm sw mitad / ; 9 | 10 | :color dup dup 8 << or 8 << or ink ; 11 | 12 | :selcol 13 | 2dup * pick3 1 and? ( drop 255 xor )( drop ) color ; 14 | 15 | :rectang pick2 1- sh 2 >> * >r dup mitad * >r pick2 sh 2 >> * >r dup 1+ mitad * 16 | r> r> r> cajaf ; 17 | 18 | :barras 0 ( swm esc< ; -------------------------------------------------------------------------------- /r4/curso/Itinerario/clase-2.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/bmr.txt 3 | 4 | ^./dibujos.bmr 5 | 6 | #xj 300 7 | #yj 300 8 | 9 | :jugador 10 | xj yj 11 | 'prin 12 | 64 64 13 | bmr.drawscale ; 14 | 15 | :jugador2 16 | xymouse 17 | 'prin 18 | 90 90 19 | bmr.drawscale ; 20 | 21 | :teclado 22 | [ -4 'yj +! ; ] 23 | [ 4 'yj +! ; ] 24 | [ -4 'xj +! ; ] 25 | [ 4 'xj +! ; ] 26 | 'exit >esc< 27 | ; 28 | 29 | :main 30 | show clrscr 31 | 32 | xj yj "%d %d" print 33 | jugador 34 | jugador2 35 | 36 | teclado 37 | ; 38 | 39 | : main ; 40 | -------------------------------------------------------------------------------- /r4/r3/r3/lib/str.r3: -------------------------------------------------------------------------------- 1 | | r3 lib string 2 | | PHREDA 2018 3 | 4 | #mbuff * 48 5 | 6 | :mbuffi | -- adr 7 | 'mbuff 47 + 0 over c! 1 - ; 8 | 9 | :sign | adr sign -- adr' 10 | -? ( drop $2d over c! ; ) drop 1 + ; 11 | 12 | ::.d | val -- str 13 | dup abs mbuffi swap 14 | ( 10 /mod $30 + pick2 c! swap 1 - swap 1? ) drop 15 | swap sign ; 16 | 17 | ::.b | bin -- str 18 | mbuffi swap 19 | ( dup $1 and $30 + pick2 c! swap 1 - swap 1 >>> 1? ) drop 20 | 1 + ; 21 | 22 | ::.h | hex -- str 23 | mbuffi swap 24 | ( dup $f and $30 + $39 >? ( 8 + ) pick2 c! swap 1 - swap 4 >>> 1? ) drop 25 | 1 + ; 26 | 27 | -------------------------------------------------------------------------------- /r4/curso/Itinerario/clase-3.txt: -------------------------------------------------------------------------------- 1 | | Clase 2 Itinerario 1 2 | 3 | ^r4/lib/gui.txt 4 | ^r4/lib/bmr.txt 5 | ^./sprites.bmr 6 | 7 | #xj 200 8 | #yj 400 9 | #vy 0 10 | 11 | 12 | :jugador 13 | | dibujo 14 | xj yj 15 | 'spr1 16 | 64 dup bmr.drawscale 17 | | movimiento 18 | 19 | yj vy + 20 | 400 >=? ( drop 400 'yj ! 0 'vy ! ; ) 21 | 'yj ! 22 | 1 'vy +! 23 | ; 24 | 25 | :teclado 26 | [ -20 'vy ! ; ] 27 | 28 | 'exit >esc< ; 29 | 30 | :main 31 | show clrscr 32 | vy "%d" print cr 33 | yj "%d" print 34 | jugador 35 | 36 | teclado 37 | ; 38 | 39 | 40 | : main ; -------------------------------------------------------------------------------- /r4/Lib/zoom.txt: -------------------------------------------------------------------------------- 1 | | zoom lib 2 | | PHREDA 2017 3 | | uso: 4 | | size xdest ydest xorig yorig zoomx4 5 | |------------------------------- 6 | 7 | :dot4 | col -- 8 | dup a!+ dup a!+ dup a!+ dup a!+ sw 4 - 2 << a+ 9 | dup a!+ dup a!+ dup a!+ dup a!+ sw 4 - 2 << a+ 10 | dup a!+ dup a!+ dup a!+ dup a!+ sw 4 - 2 << a+ 11 | dup a!+ dup a!+ dup a!+ a!+ 12 | sw 3* neg 2 << a+ ; 13 | 14 | ::zoomx4 | size x y x0 y0 -- 15 | sw * + 2 << framev + >b 16 | setxy 17 | dup 1+ ( 1? )( 1- 18 | over 1+ ( 1? )( 1- 19 | b@+ dot4 20 | ) drop 21 | sw pick2 - 2 << 4 - 22 | dup 2 << a+ b+ 23 | ) 2drop ; 24 | -------------------------------------------------------------------------------- /r4/curso/Tutor/2-basicani.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/vesprite.txt 3 | ^./draws.vsp 4 | 5 | #xp #yp | position 6 | #xv #yv | velocity 7 | 8 | :keyboard 9 | [ 0.01 'yv ! ; ] 10 | [ -0.01 'yv ! ; ] 11 | [ 0 'yv ! ; ] dup >dn< >up< 12 | [ -0.01 'xv ! ; ] 13 | [ 0.01 'xv ! ; ] 14 | [ 0 'xv ! ; ] dup >le< >ri< 15 | 'exit >esc< 16 | ; 17 | 18 | :draws 19 | xp yp fpos 20 | 200 qdim 21 | 'd1 vesprite 22 | xv 'xp +! yv 'yp +! 23 | ; 24 | 25 | :main 26 | 0 'xp ! 0 'yp ! 27 | 0 'xv ! 0 'yv ! 28 | show clrscr 29 | keyboard 30 | draws 31 | ; 32 | 33 | : main ; -------------------------------------------------------------------------------- /r4/Demos/test-arit.txt: -------------------------------------------------------------------------------- 1 | | test aritmetico 2 | |-------------------- 3 | ^r4/lib/gui.txt 4 | ^r4/lib/parse.txt 5 | 6 | :basico 7 | show clrscr 8 | 32 fonti blanco home 9 | 8 4 2 */ "8 4 2 */ = %d%." print 10 | 8 2 4 */ "8 2 4 */ = %d%." print 11 | 8 16 2 *>> "8 16 2 *>> = %d%." print 12 | -8 4 2 */ "-8 4 2 */ = %d%." print 13 | -8 4 * "-8 4 * = %d%." print 14 | -8 3 / "-8 3 / = %d%." print 15 | -86 13 3 *>> "-86 13 3 *>> = %d%." print 16 | -13 5 mod "%d%." print cr 17 | "-1.51632e-14" dup "%s " print 18 | getfenro "%f" print drop 19 | 'exit >esc< 20 | ; 21 | 22 | : 0 'paper ! 33 basico ; -------------------------------------------------------------------------------- /r4/Dev/matematicas/sin.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | 3 | 4 | :sinp 5 | $7fff and $3fff - 6 | 6.2831 *. | radianes->bangle 7 | dup dup *. | f sqr 8 | dup 498 *. | f sqr resul 9 | 10882 - *. 10 | 1.0 + 11 | *. ; 12 | 13 | : 14 | :sinp2 15 | $7fff and $3fff - 16 | | 6.2831 *. | radianes->bangle 17 | dup dup *. | f sqr 18 | dup 498 *. | f sqr resul 19 | 10882 - *. 20 | 1.0 + 21 | *. ; 22 | 23 | :main 24 | show clrscr chome! 25 | 0 ( 0.5 esc< ; 32 | 33 | : main ; -------------------------------------------------------------------------------- /inc/unonuevo.inc: -------------------------------------------------------------------------------- 1 | #:dib1 $D32711 $C1272712 $BFE80004 $C124DF82 $D0DF84 $4080DF82 $40800344 $40832712 $D32714 2 | $D3271A $22EC98D7 $C6E744A8 $7A00C $FFFFFFE $0 3 | #:dib2 $A2509731 $A2C2F283 $2E2DD23 $C507B43 $A250973A $AA270B37 $D8C6788 $15FF00C $1E00F5E 4 | $C74F8B51 $CF1D03B3 $4D40EE53 $47EB47F3 $C74F8B5A $55E0EB07 $C74F8188 $FF00C $FF0000E 5 | $0 6 | #:dib3 $A2509731 $A2C2F283 $2E2DD23 $C507B43 $A250973A $AA270B37 $D8C6788 $15FF00C $1E00F5E 7 | $C263F2E1 $4D40EE53 $47EB47F3 $C263F2EA $55E0EB07 $C74F8188 $FF00C $FF0000E $D7541D91 8 | $D754E473 $2B8CE473 $2B8C1D93 $D7541D9A $1708107 $D7540008 $FF00C $FF0000E $0 9 | 10 | 11 | -------------------------------------------------------------------------------- /r4/Demos/mys.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/sprites.txt 3 | ^inc/fidel.inc 4 | 5 | #x 0.0 6 | #y 0.0 7 | #vx 0.0 8 | #vy 0.0 9 | 10 | :main 11 | show clrscr 12 | 13 | 'exit >esc< 14 | [ 0.01 'vx ! ; ] 15 | [ -0.01 'vx ! ; ] 16 | [ -0.01 'vy ! ; ] 17 | [ 0.01 'vy ! ; ] 18 | 19 | 0.0 0.0 fpos 20 | 1.0 1.0 fdim 21 | 'dibu4 sprite | fondo 22 | 0.2 0.2 fdim 23 | x y fpos 24 | 'dibu3 sprite 25 | vx 'x +! 26 | vy 'y +! 27 | x abs 1.0 >? ( vx neg 'vx ! ) drop 28 | y abs 1.0 >? ( vy neg 'vy ! ) drop 29 | 32 font home azul 30 | y x "%f %f" print 31 | ; 32 | 33 | : main ; -------------------------------------------------------------------------------- /r4/Dev/games/anima.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/part16.txt 3 | 4 | ^r4/lib/trace.txt 5 | 6 | ^r4/dev/games/anima.spr 7 | 8 | 9 | #scamina 0 0 a1 10 a2 10 a3 10 a4 10 a5 10 a6 10 a7 10 a8 10 0 10 | 11 | :secani | 'secani -- 'spr 12 | >a a@ 0? ( a> 8 + a!+ a!+ a@ ; ) 13 | a> 4+ @ 1+ over 4+ @ | 'spr cnt max 14 | 4+ ! @ ; ) drop 15 | 8 + dup @ 0? ( 2drop a> 8 + dup @ ) | adr spr 16 | swap a!+ 0 a! ; 17 | 18 | 19 | #xp #yp 400 20 | :main 21 | $8800 'paper ! 22 | show clrscr 23 | 200 dup dim 24 | xp yp pos 25 | 'scamina secani nsprite 26 | 1 'xp +! 27 | 'exit >esc< ; 28 | 29 | : mark main ; -------------------------------------------------------------------------------- /r4/Lib/icon.txt: -------------------------------------------------------------------------------- 1 | | Iconos 64x64*32bits 2 | | PHREDA 2011 3 | |------------------------- 4 | ::icon.clear | 'icon -- 5 | 4096 ( 1? )( 1- 0 rot !+ swap ) 2drop ; 6 | 7 | ::icon.shoot | 'icon -- 8 | dup icon.clear 9 | 0 ( sw 23 | 'ganarvida 24 | 25 | 26 | vidas 0 esc< 37 | ; 38 | 39 | : dibujo ; -------------------------------------------------------------------------------- /inc/tetris.inc: -------------------------------------------------------------------------------- 1 | #:dib1 $A0480121 $87A1EC01 $83F611E3 $7B021403 $506ECAF3 $A7B6CD13 $AE014803 $87A1EC0A $64F96E7 2 | $847A1408 $C $FF0000E $83F5EE21 $AF113513 $4B293733 $4DCED143 $78E61403 $796DEE23 3 | $83F5EE2A $F79BF587 $7299D6F8 $C $FF0000E $A37EB5E1 $4FE6B803 $4D454A13 $A72D43C3 4 | $A37EB5EA $4AA57427 $F1D278F8 $FFFFFFC $FF0000E $0 5 | #:dib2 $A0480121 $87A1EC01 $83F611E3 $7B021403 $506ECAF3 $A7B6CD13 $AE014803 $87A1EC0A $64F96E7 6 | $847A1408 $C $FF00E $83F5EE21 $AF113513 $4B293733 $4DCED143 $78E61403 $796DEE23 7 | $83F5EE2A $F79BF587 $7299D6F8 $C $FF00E $A512B1B1 $517AB3D3 $4ED945E3 $A8C13F93 8 | $A512B1BA $52016137 $DFF33418 $FFFFFFC $FF00E $0 9 | 10 | -------------------------------------------------------------------------------- /r4/Demos/test-mouse.txt: -------------------------------------------------------------------------------- 1 | | MC 2013 - test mouse routines 2 | 3 | ^r4/lib/gui.txt 4 | ^r4/lib/rfont.txt 5 | ^r4/lib/math.txt 6 | ^r4/lib/mouse.txt 7 | ^inc/rft/robotoregular.rft 8 | 9 | :main 10 | 0 'paper ! 11 | rojo robotoregular 0.1 %s rfont! 12 | show 13 | handle.mouse 14 | clrscr 15 | dup "debug: %d" print cr 16 | "mouse library" print cr 17 | mdown "Mouse down: %d" print cr 18 | mdown 1? ( dragsy dragsx "Down : %d, %d" print mdrag "[%d]" print ) drop 19 | mdrag 1? ( dragsx dragsy 2dup dragdx dragdy 2d+ op line dragdy dragdx "%d,%d" print cr ) drop 20 | cflecha 21 | 'exit >esc< ; 22 | 23 | : 33 main ; 24 | 25 | -------------------------------------------------------------------------------- /r4/serie/radar.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/trace.txt 3 | 4 | #radar )( 1024 5 | 6 | #buffs )( 64 7 | #buffs> 'buffs 8 | 9 | :scan 10 | buffs> serialr 11 | 0? ( drop ; ) 12 | 'buffs> +! 13 | buffs> 1- c@ $2e | . 14 | <>? ( drop ; ) 15 | 'buffs 16 | ?sint 17 | swap 1+ 18 | ?sint nip 19 | | grad dist 20 | swap 2 << 'radar + ! 21 | 'buffs 'buffs> ! 22 | ; 23 | 24 | :drawradar 25 | verde 26 | 0 200 op 27 | 0 ( 180 esc< 39 | ; 40 | 41 | : main ; -------------------------------------------------------------------------------- /r4/System/genera-code.txt: -------------------------------------------------------------------------------- 1 | | debug-code.txt 2 | | PHREDA 2010 3 | |--------------------------------------- 4 | ^r4/lib/gui.txt 5 | ^r4/lib/parse.txt 6 | ^r4/lib/codecolor.txt 7 | ^r4/lib/fontt.txt 8 | ^r4/lib/dlgfile.txt 9 | ^r4/lib/trace.txt 10 | 11 | ^r4/lib/sort.txt 12 | 13 | ^r4/system/mem-ed.txt 14 | ^r4/system/mem-dic.txt 15 | ^r4/system/mem-run.txt 16 | 17 | ^r4/system/r4code.txt 18 | 19 | :main 20 | ed.load 21 | 'ed.nombre tokencomp 22 | msg 1? ( drop saverror ; ) drop 23 | tokenpost 24 | msg 1? ( drop saverror ; ) drop 25 | startvm 26 | 27 | dic.save 28 | 29 | run.save 30 | ; 31 | 32 | : 0 'paper ! 33 | mark 34 | 4 main 35 | empty ; 36 | -------------------------------------------------------------------------------- /r4asm/include/WIN64W.INC: -------------------------------------------------------------------------------- 1 | 2 | ; Win64 programming headers (WideChar) 3 | 4 | include 'macro/struct.inc' 5 | include 'macro/proc64.inc' 6 | include 'macro/com64.inc' 7 | include 'macro/import64.inc' 8 | include 'macro/export.inc' 9 | include 'macro/resource.inc' 10 | 11 | struc TCHAR [val] { common match any, val \{ . du val \} 12 | match , val \{ . du ? \} } 13 | sizeof.TCHAR = 2 14 | 15 | include 'equates/kernel64.inc' 16 | include 'equates/user64.inc' 17 | include 'equates/gdi32.inc' 18 | include 'equates/comctl64.inc' 19 | include 'equates/comdlg64.inc' 20 | include 'equates/shell64.inc' 21 | 22 | macro api [name] { if used name 23 | label name qword at name#W 24 | end if } -------------------------------------------------------------------------------- /r4asm/include/WIN64A.INC: -------------------------------------------------------------------------------- 1 | 2 | ; Win64 programming headers (ASCII) 3 | 4 | include 'macro/struct.inc' 5 | include 'macro/proc64.inc' 6 | include 'macro/com64.inc' 7 | include 'macro/import64.inc' 8 | include 'macro/export.inc' 9 | include 'macro/resource.inc' 10 | 11 | struc TCHAR [val] { common match any, val \{ . db val \} 12 | match , val \{ . db ? \} } 13 | sizeof.TCHAR = 1 14 | 15 | include 'equates/kernel64.inc' 16 | include 'equates/user64.inc' 17 | include 'equates/gdi32.inc' 18 | include 'equates/comctl64.inc' 19 | include 'equates/comdlg64.inc' 20 | include 'equates/shell64.inc' 21 | 22 | macro api [name] { if used name 23 | label name qword at name#A 24 | end if } 25 | 26 | -------------------------------------------------------------------------------- /r4asm/FASMW.INI: -------------------------------------------------------------------------------- 1 | [Environment] 2 | Include=D:\work\r4\r4\r4asm\INCLUDE 3 | [Compiler] 4 | Memory=65536 5 | Priority=0 6 | [Options] 7 | SecureSelection=0 8 | AutoBrackets=0 9 | AutoIndent=1 10 | SmartTabs=1 11 | OptimalFill=0 12 | ReviveDeadKeys=0 13 | ConsoleCaret=1 14 | TimeScroll=0 15 | [Colors] 16 | Text=0,0,0 17 | Background=255,255,255 18 | SelectionText=255,255,255 19 | SelectionBackground=0,0,128 20 | Symbols=48,48,240 21 | Numbers=0,144,0 22 | Strings=176,0,0 23 | Comments=128,128,128 24 | [Font] 25 | Face=Courier New 26 | Height=16 27 | Width=0 28 | Weight=0 29 | Italic=0 30 | CharSet=1 31 | [Window] 32 | Top=47 33 | Left=434 34 | Right=945 35 | Bottom=691 36 | Maximized=0 37 | [Help] 38 | Path= 39 | -------------------------------------------------------------------------------- /r4/Demos/test-atan.txt: -------------------------------------------------------------------------------- 1 | | test-atan 2 | | PhReda 2007 3 | |-------------------------- 4 | ^r4/lib/gui.txt 5 | ^r4/lib/polygr.txt 6 | ^r4/lib/trace.txt 7 | 8 | #x1 #y1 9 | #x2 #y2 10 | 11 | :main 12 | show clrscr 13 | 14 | 'exit >esc< 15 | 16 | rojo msec $1f and linegr! x1 y1 gop msec 6 >> $1f and linegr! x2 y2 gline 17 | azul x1 y1 op x2 y2 line 18 | verde x1 y1 2dup op 19 | x1 x2 - y1 y2 - atan2 dup "%f " print 100 xy+polar line 20 | 21 | 0.1 dup fdim 22 | -0.9 0.9 fpos 23 | 0.8 dup fdim 24 | 0 dup fpos 25 | [ xymouse 'y1 ! 'x1 ! ; ] |onDn 26 | [ xymouse 'y2 ! 'x2 ! ; ] |onMove 27 | guiDnMove 28 | cflecha 29 | ; 30 | 31 | 32 | : 0 'paper ! 33 main ; -------------------------------------------------------------------------------- /r4/Dev/reverse.txt: -------------------------------------------------------------------------------- 1 | | from Ehud Tamir 2 | | https://medium.com/@ehudt/reversing-an-n-bit-number-in-o-log-n-time-9bf69363d452 3 | | 4 | |unsigned long reverse(unsigned long num) { 5 | | unsigned long s = 8 * sizeof(num); // bit size; must be power of 2 6 | | unsigned long mask = ~0; 7 | | while ((s >>= 1) > 0) { 8 | | mask ^= (mask << s); 9 | | num = ((num >> s) & mask) | ((num << s) & ~mask); 10 | | } 11 | | return num; 12 | |} 13 | 14 | ::reverse | n -- rn 15 | $ffffffff 32 | n mask s 16 | ( 2/ 1? )( 17 | 2dup << | n mask s m<> over and >r 20 | rot pick2 << over not and r> 21 | or | s mask n 22 | swap rot 23 | ) 2drop ; 24 | 25 | -------------------------------------------------------------------------------- /r4/Dev/matematicas/gcdbin.txt: -------------------------------------------------------------------------------- 1 | u64b gcd3(u64b u, u64b v) 2 | { 3 | int shift; 4 | 5 | if (!u || !v) return u | v; 6 | 7 | shift = ffsq(u | v); 8 | u >>= ffsq(u); 9 | 10 | 11 | while (v) 12 | { 13 | v >>= ffsq(v); 14 | 15 | if (u < v) 16 | { 17 | v -= u; 18 | } 19 | else 20 | { 21 | u64b t = u - v; 22 | u = v; 23 | v = t; 24 | } 25 | } 26 | 27 | return u << shift; 28 | } 29 | 30 | :gcdbin | u v -- gcd 31 | 0? ( drop ; ) swap 0? ( drop ; ) 32 | 2dup or clz | v u shift 33 | swap dup clz >> | v shift u 34 | rot | shift u v 35 | ( 1? )( 36 | dup clz >> | shift u v 37 | over >? ( over - )( swap over - swap ) 38 | ) drop 39 | swap << ; -------------------------------------------------------------------------------- /r4/Dev/simplepiano.txt: -------------------------------------------------------------------------------- 1 | | simple piano 2 | | PHREDA 2013 3 | |-------------------------------- 4 | ^r4/lib/gui.txt 5 | ^r4/lib/btn.txt 6 | ^r4/lib/input.txt 7 | 8 | #samplef 8363 9 | #sample 10 | 11 | 12 | :tono | n -- 13 | | // pan vol frec mm -- 14 | -1 -1 rot sample sset 15 | sample splay ; 16 | 17 | :main 18 | 33 19 | show clrscr 20 | dup "%d" print cr 21 | 22 | cr 23 | [ samplef tono ; ] dup " " sp btnt 24 | [ samplef 2* tono ; ] dup " " sp btnt 25 | [ samplef 3 * tono ; ] dup " " sp btnt 26 | 27 | 'exit >esc< 28 | cminiflecha 29 | ; 30 | 31 | 32 | :sonidos 33 | "media/ogg/piano.wav" sload 'sample ! 34 | ; 35 | 36 | 37 | : sonidos main ; 38 | -------------------------------------------------------------------------------- /r4/milagros/dibujos.spr: -------------------------------------------------------------------------------- 1 | | Nsprite file 2 | #:izc 3 | $80D20121 $C28F05F3 $C314FC43 $8269FEE3 $80D2012A $BF59F217 $EA1BB988 $FFFFFFC $E 0 4 | #:iza 5 | $804AFF81 $C17EFF83 $C20502A3 $804902A3 $804AFF8A $E90991E7 $E5D36EB8 $FFFFFFC $E 0 6 | #:dec 7 | $7FBA0561 $3E870813 $3E84FE63 $7F31F883 $7FBA056A $4579EFF7 $CD3B0F8 $FFFFFFC $E 0 8 | #:dea 9 | $7FBAFD61 $3E86FF83 $3F990083 $7FB90083 $7FBAFD6A $18959857 $16735958 $FFFFFFC $E 0 10 | #:fondo 11 | $82F40441 $7E200443 $7EA9FAA3 $82F5FEE3 $82F4044A $2AC0AB7 $445EBB8 $A1900C $A601E $82F60BD1 $82680663 $7EA80443 $7EAA0DF3 $82F60BDA $E2140CD7 $E10638B8 $1419C 12 | $C8FFE 0 13 | #:pared 14 | $BFE301A1 $413301A3 $402102A3 $C06902A3 $BFE301AA $FDE1AB87 $FDE370D8 $FFFFFFC $E 0 15 | -------------------------------------------------------------------------------- /r4asm/include/WIN32W.INC: -------------------------------------------------------------------------------- 1 | 2 | ; Win32 programming headers (WideChar) 3 | 4 | include 'macro/struct.inc' 5 | include 'macro/proc32.inc' 6 | include 'macro/com32.inc' 7 | include 'macro/import32.inc' 8 | include 'macro/export.inc' 9 | include 'macro/resource.inc' 10 | 11 | struc TCHAR [val] { common match any, val \{ . du val \} 12 | match , val \{ . du ? \} } 13 | sizeof.TCHAR = 2 14 | 15 | include 'equates/kernel32.inc' 16 | include 'equates/user32.inc' 17 | include 'equates/gdi32.inc' 18 | include 'equates/comctl32.inc' 19 | include 'equates/comdlg32.inc' 20 | include 'equates/shell32.inc' 21 | include 'equates/wsock32.inc' 22 | 23 | macro api [name] { if used name 24 | label name dword at name#W 25 | end if } 26 | -------------------------------------------------------------------------------- /r4/Demos/explode.txt: -------------------------------------------------------------------------------- 1 | ^r4/demos/dib1.spr 2 | ^r4/lib/gui.txt 3 | 4 | | use in this form X Y VX VY 5 | #particles )( 8192 | 8kb ok mem 6 | #cnt 0 7 | 8 | :main 9 | 100 'cnt ! 10 | 'particles >a 11 | cnt ( 1? )( 1- | better count to 0 12 | 0 a!+ 0 a!+ | center of screen 13 | rand 0.01 mod a!+ 14 | rand 0.01 mod a!+ | vel x y 15 | ) drop 16 | 17 | show clrscr 18 | 19 | 'particles >b | for traverse the array 20 | 100 100 dim 21 | cnt ( 1? )( 1- 22 | b@+ b@+ fpos 23 | 'part nsprite 24 | b@+ b> 12 - +! | sum the vel 25 | -0.0001 b> +! | gravity 26 | b@+ b> 12 - +! 27 | ) drop 28 | 29 | 'exit >esc< | hang if not have this line!! 30 | ; 31 | 32 | : main ; 33 | 34 | -------------------------------------------------------------------------------- /r4/Dev/matematicas/testbound.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | 3 | :nsqrt | v -- r 4 | 0? ( ; ) 5 | 0 $40000000 | op res one 6 | ( pick2 >? )( 2 >> ) 7 | ( 1? )( 8 | 2dup + 9 | pick3 <=? ( 10 | >r rot r> - | res one op 11 | rot pick2 2* + | one op res 12 | 2/ rot 2 >> 13 | )( drop 2 >> swap 2/ swap ) 14 | ) 15 | drop nip ; 16 | 17 | :power2 | v -- v^2 18 | abs 19 | 0 1 rot | t m a 20 | ( 1? )( 21 | 1 and? ( rot pick2 xor rot rot ) 22 | swap 2 << swap 2/ ) 23 | 2drop ; 24 | 25 | :main 26 | mark 27 | show clrscr verde 28 | 1 ( 10 esc< ; 33 | 34 | : main ; -------------------------------------------------------------------------------- /r4/Lib/anima.txt: -------------------------------------------------------------------------------- 1 | | words animation 2 | | PHREDA 2012 3 | |--------------------------------- 4 | 5 | | n1&n2 != 0 6 | |#secani 0 0 n1 time1 n2 time2 0 7 | | uso: 'correr seqAnima nsprite 8 | 9 | ::seqAnima | 'secani -- n1 10 | >a a@ 0? ( a> 8 + a!+ a!+ a> @ ; ) 11 | a> 4+ @ 1+ over 4+ @ | 'spr cnt max 12 | 4+ ! @ ; ) drop 13 | 8 + dup @ 0? ( 2drop a> 8 + dup @ ) | adr spr 14 | swap a!+ 0 a> ! ; 15 | 16 | | n1&n2 != 0 17 | |#secanix 0 0 n1 time1 n2 time2 0 'exec 18 | |uso: 'golpe seqAnima 19 | ::seqAnimaX | 'secanix -- n1 20 | >a a@ 0? ( a> 8 + a!+ a!+ a> @ ; ) 21 | a> 4+ @ 1+ over 4+ @ | 'spr cnt max 22 | 4+ ! @ ; ) drop 23 | 8 + dup @ 0? ( drop 4+ @ exec a> 8 + dup @ ) | adr spr 24 | swap a!+ 0 a> ! ; 25 | -------------------------------------------------------------------------------- /r4/curso/Itinerario/basico.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/bmr.txt 3 | ^./dibujos.bmr 4 | 5 | #x 400.0 6 | #y 100.0 7 | 8 | #vx 2.9 9 | #vy 2.7 10 | 11 | :dibujo 12 | x int y int 'd1 bmr.draw 13 | ; 14 | 15 | :rebotex vx neg 'vx ! ; 16 | :rebotey vy neg 'vy ! ; 17 | 18 | :movimiento 19 | x vx + 'x ! 20 | y vy + 'y ! 21 | | 0.5 'vy +! 22 | x int 23 | sw >? ( rebotex ) 24 | 0 ? ( rebotey ) 28 | 0 esc< 34 | [ 1.2 'vx +! ; ] 35 | ; 36 | 37 | :jugador 38 | dibujo 39 | movimiento 40 | teclas 41 | ; 42 | 43 | :main 44 | show 45 | clrscr 46 | jugador ; 47 | 48 | : main ; 49 | -------------------------------------------------------------------------------- /r4/Demos/cplot.txt: -------------------------------------------------------------------------------- 1 | | GALILEOG 2016 2 | ^r4/lib/gui.txt 3 | 4 | :colorin2 | n -- 5 | dup 256 / swap 256 mod | azul 6 | swap dup 256 / swap 256 mod | verde 7 | swap 256 mod | rojo 8 | 8 << or 8 << or 9 | ink ; 10 | 11 | :colorin | 12 | dup 8 >> swap $ff and | azul 13 | swap dup 8 >> swap $ff and | verde 14 | swap $ff and | rojo 15 | 8 << or 8 << or 16 | ink ; 17 | 18 | | Probar diferentes formulas para obtener otros efectos 19 | 20 | :p1 over 300 - dup * over 300 - dup * + 3 * ; 21 | 22 | :p2 over 300 - over 300 - 0? ( 0.1 + ) /. abs 300 *. ; 23 | 24 | :p3 over 1 + over 0.01 - /. ; 25 | 26 | :rutina 27 | 1 ( 600 esc< ; -------------------------------------------------------------------------------- /r4/r3/r3/games/naves.r3: -------------------------------------------------------------------------------- 1 | | NAVES GAME 2 | | PHREDA 2018 3 | 4 | ^lib/sprite.r3 5 | 6 | #nav4 $2008008 | pal-0 type-2 8x8 7 | $........ 8 | $...1.... 9 | $...1.... 10 | $..111... 11 | $..121... 12 | $.11111.. 13 | $...5.... 14 | $....5... 15 | 16 | #nav32 $008008 | 8x8 32bits 17 | $. $. $. $ffff $. $. $. $. 18 | $. $. $. $ffff $. $. $. $. 19 | $. $. $ffff $ffff $ffff $. $. $. 20 | $. $. $ffff $ffff $ffff $. $. $. 21 | $. $ffff $ffff $ffff $ffff $ffff $. $. 22 | $. $ffff $ffff $ffff $ffff $ffff $. $. 23 | $. $. $. $. $. $. $. $. 24 | $. $. $. $. $. $. $. $. 25 | 26 | #lives 27 | #pnts 28 | #xn 100 #yn 100 29 | #xv #yv 30 | 31 | :player 32 | xn yn 'nav32 spr 33 | xymouse 'nav4 spr 34 | ; 35 | 36 | :ongame 37 | cls 38 | player 39 | ; 40 | 41 | 'ongame onshow 42 | 43 | -------------------------------------------------------------------------------- /r4asm/include/WIN32A.INC: -------------------------------------------------------------------------------- 1 | 2 | ; Win32 programming headers (ASCII) 3 | 4 | include 'macro/struct.inc' 5 | include 'macro/proc32.inc' 6 | include 'macro/com32.inc' 7 | include 'macro/import32.inc' 8 | include 'macro/export.inc' 9 | include 'macro/resource.inc' 10 | 11 | struc TCHAR [val] { common match any, val \{ . db val \} 12 | match , val \{ . db ? \} } 13 | sizeof.TCHAR = 1 14 | 15 | include 'equates/kernel32.inc' 16 | include 'equates/user32.inc' 17 | include 'equates/gdi32.inc' 18 | include 'equates/comctl32.inc' 19 | include 'equates/comdlg32.inc' 20 | include 'equates/shell32.inc' 21 | include 'equates/wsock32.inc' 22 | 23 | macro api [name] { if used name 24 | label name dword at name#A 25 | end if } 26 | -------------------------------------------------------------------------------- /r4/Dev/matematicas/testin.txt: -------------------------------------------------------------------------------- 1 | | test de solapamiento de intervalo 2 | | PHREDA 2014 3 | ^r4/lib/gui.txt 4 | 5 | #e1 #s1 6 | #e2 #s2 7 | 8 | :in1 9 | s1 e2 >? ( drop 0 ; ) drop 10 | s2 e1 >? ( drop 0 ; ) drop 11 | 1 12 | ; 13 | 14 | :in2 15 | s2 e1 - s1 e2 - and | $80000000 and? es suficiente 16 | 31 >> ; 17 | 18 | :main 19 | 33 20 | show clrscr 21 | blanco 22 | dup "%d" print cr 23 | e2 s2 e1 s1 "%d %d %d %d " print cr 24 | in1 "in1:%d" print cr 25 | in2 "in2:%d" print cr 26 | 27 | verde 28 | e1 100 op s1 100 line 29 | rojo 30 | e2 101 op s2 101 line 31 | 32 | [ xymouse drop dup 's2 ! 40 + 'e2 ! ; ] guiMove 33 | [ e2 'e1 ! s2 's1 ! ; ] 34 | 'exit >esc< 35 | cminiflecha 36 | ; 37 | 38 | : main ; 39 | -------------------------------------------------------------------------------- /r4/Dev/monalisamin.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | #c $FFE289 $E99E45 $A55A00 $000000 3 | #b $37BE030A $072B2F9B $F59B0E3C $1B0B8A91 $93780EBD $B05AB83E $028070B5 $9CD2D0B1 $209C2093 $26D63D11 $97F5DF19 $A34790A3 $08598AF7 $A32C29AD $0D7D7DFC $3051D57A $542BD431 $B114B242 $29148A96 $532CB0F1 $0A090413 $E9163EBB $B8E21877 $80C7AC72 $8D3C5240 $AD633EAF $B23D1E14 $C07B238F $312EAF9D $25A796CE $2C449E37 $21392BB9 4 | :m pick2 + $7f7f and dup $7f and over 8 >> 96 >? ( 2drop ; ) setxy ink@ a! ; 5 | :s +? ( 2* ; ) 2* $4c11db7 xor rot drop dup 24 << 31 >> 1 or over $2 and 2 << 8 xor << rot rot ; 6 | :d $100 $7ec80000 0 ( 64 r 2* 'b + w@ $ffff and swap $ffff0000 and over or 64 r@ - 5 << ( 1? )( >r s swap m swap r> 1- ) drop nip r> 1+ ) 3drop ; 7 | : cls d show 'exit >esc< ; -------------------------------------------------------------------------------- /r4asm/include/ENCODING/WIN1252.INC: -------------------------------------------------------------------------------- 1 | 2 | ; Windows 1252 3 | 4 | macro du [arg] 5 | { local offset,char 6 | offset = $-$$ 7 | du arg 8 | if arg eqtype '' 9 | repeat ($-offset-$$)/2 10 | load char byte from $$+offset+(%-1)*2 11 | if char > 7Fh & char < 0A0h 12 | virtual at 0 13 | if char < 90h 14 | dw 20ACh,?,201Ah,192h,201Eh,2026h,2020h,2021h,2C6h,2030h,160h,2039h,152h,?,17D,? 15 | else 16 | dw ?,2018h,2019h,201Ch,201Dh,2022h,2013h,2014h,2DCh,2122h,161h,203Ah,153h,?,17Eh,178h 17 | end if 18 | load char word from (char and 0Fh)*2 19 | end virtual 20 | store word char at $$+offset+(%-1)*2 21 | end if 22 | end repeat 23 | end if } 24 | 25 | struc du [args] 26 | { common label . word 27 | du args } 28 | -------------------------------------------------------------------------------- /r4/Lib/fontfm.txt: -------------------------------------------------------------------------------- 1 | | font monospace 2 | | PHREDA 2014 3 | |------------------------------- 4 | ^r4/lib/grpix.txt 5 | ^r4/lib/print.txt 6 | 7 | 8 | #col 0 $555555 $aaaaaa $ffffff 9 | 10 | 11 | :charsizem | byte -- size 12 | ccw nip ; 13 | 14 | :charline | sx n bit -- 15 | ccw ( 1? )( 1- swap dup $3 and 2 << 'col + @ px!+ 2 >> swap ) 2drop ; 16 | 17 | :charm | c -- 18 | ccx ccy setxy 19 | charlin * charrom + >b 20 | sw ccw - 21 | cch ( 1? )( 1- 22 | b@+ charline 23 | over px+! 24 | ) 2drop ; 25 | 26 | ::fontm | 'fontm -- 27 | >a a@+ dup 2 << 'charlin ! 28 | a@+ swap fixsize 29 | a> 'charrom ! 30 | 'charm 'charsizem setfont ; 31 | 32 | ::setcolor | front back -- 33 | 'col >b 34 | dup b!+ 35 | 2dup color33% b!+ 36 | over color33% b!+ 37 | b! ; 38 | -------------------------------------------------------------------------------- /r4/Lib/sortdo.txt: -------------------------------------------------------------------------------- 1 | | sort doble 2 | | phreda 2012 3 | |---------------------------------- 4 | 5 | :xch | aj ai -- 6 | dup >r 7 | @ over @ r!+ swap !+ 8 | r @ over @ r> ! swap ! ; 9 | 10 | 11 | #mine #minp 12 | #maxe #maxp 13 | 14 | :searchminmax | amax amin -- amin amax 15 | 2dup 16 | ( over ? ( dup 'maxe ! over 'maxp ) 20 | 8 + ) 2drop 21 | minp over =? ( drop )( over xch ) 22 | swap 23 | maxp over =? ( dop )( over xch ) 24 | ; 25 | 26 | ::sortdo | len lista -- 27 | swap 3 << over + | l1 l2 28 | ( over 8 + >? )( drop 29 | over @ over @ | l1 l2 30 | over 7Fh 12 | if char < 0A0h 13 | virtual at 0 14 | if char < 90h 15 | dw 20ACh,?,?,?,?,2026h,?,?,?,?,?,?,?,?,?,? 16 | else 17 | dw ?,2018h,2019h,201Ch,201Dh,2022h,2013h,2014h,?,?,?,?,?,?,?,? 18 | end if 19 | load char word from (char and 0Fh)*2 20 | end virtual 21 | else if char > 0A0h 22 | char = 0E00h+char-0A0h 23 | end if 24 | store word char at $$+offset+(%-1)*2 25 | end if 26 | end repeat 27 | end if } 28 | 29 | struc du [args] 30 | { common label . word 31 | du args } 32 | -------------------------------------------------------------------------------- /r4/Lib/r4-incprofile.txt: -------------------------------------------------------------------------------- 1 | | r4-include profile 2 | | PHREDA 2015 3 | |------------------ 4 | ^r4/lib/mprint.txt 5 | 6 | | tabla profile 7 | | mseca amsec calls 8 | #profile_ini 9 | #profile_table 10 | #profile_fin 11 | 12 | :12* | n -- n*12 13 | 2 << dup 2* + ; 14 | 15 | ::profile_start | nrow -- 16 | 12* profile_table + msec swap ! ; 17 | 18 | ::profile_end | nrow -- 19 | 12* profile_table + 20 | msec over @ - over 4+ +! 21 | 1 swap 8 + +! ; 22 | 23 | |------------------------------------------ 24 | ::profile_save | -- 25 | profile_ini profile_fin over - "mem/profile.mem" save ; 26 | 27 | ::profile_mem | cntw "" -- 28 | mark 29 | here 'profile_ini ! 30 | over , ,s 0 ,c | cnt "nombre" 31 | here 'profile_table ! 32 | ( 1? )( 0 , 0 , 0 , 1- ) drop 33 | here 'profile_fin ! ; 34 | -------------------------------------------------------------------------------- /r4/Demos/test-browser.txt: -------------------------------------------------------------------------------- 1 | | test-browser.txt 2 | | PhReda 2010 3 | |-------------------------- 4 | ^r4/lib/gui.txt 5 | ^r4/lib/input.txt 6 | ^r4/lib/parse.txt 7 | ^r4/lib/trace.txt 8 | ^r4/lib/fonta.txt 9 | 10 | #direccion "http://www.google.com" )( 64 11 | #sizepag 0 12 | 13 | :cargapagina 14 | 'direccion 0 mem openurl mem - 15 | -? ( 0 nip ) 16 | 'sizepag ! 17 | 0 mem sizepag + c! 18 | mem lfcr 19 | ; 20 | 21 | :muestrapagina 22 | sizepag 0? ( drop ; ) drop 23 | | sizepag "%d" print 24 | mem printx 25 | ; 26 | 27 | :main 28 | mark 29 | fonta-dejavu14b 30 | show clrscr home blanco 31 | msec "%d" print cr 32 | cr sp 'direccion 32 input cr 33 | 'cargapagina lostfoco cr 34 | muestrapagina 35 | cmano 36 | 37 | 'exit >esc< 38 | ; 39 | 40 | 41 | : 0 'paper ! mark 33 main ; -------------------------------------------------------------------------------- /inc/snake.spr: -------------------------------------------------------------------------------- 1 | | Nsprite file 2 | #:dib1 3 | $5A2EB31 $FD5A87C1 $905287C2 $9053F104 $90515A42 $FD595A44 $6A595A42 $6A5BF104 $6A5A87C2 $FD5A87C9 $50F8F4C7 $AD72D6E8 $FF00C $5900F $5473C421 $F8301A3 $12B7BBA3 4 | $5583C653 $3A437953 $31B79B93 $2DF75723 $5473C42A $40AFCB27 $C2F37A8 $FFFFFFC $FFFFFFF $2F075B61 $39B77953 $31B39FD3 $2F075FB3 $2F075B6A $2BB3AED7 $23AF7B78 $C 5 | $F $80448A1 $66142223 $9D241333 $80448AA $2F93FBA7 $B647FB38 $C $F 0 6 | #:dib2 7 | $C5C310A1 $C39CF5D3 $3AC8F5D3 $3C6710A3 $C5C310AA $4AF4BD37 $B1734488 $A601C $5900E 0 8 | #:dib3 9 | $8A4BF1 $AB0A4BF2 $AB080224 $AB09B862 $89B864 $5609B862 $56080224 $560A4BF2 $8A4BF9 $40894A57 $C04AB908 $A600C $5900E $B533D101 $DC36B6D3 $E217D543 $B757D323 10 | $B533D10A $FFFFFFD $C8F75B71 $D1874A53 $CA0B3713 $C64B5723 $C8F75B7A $D $FEF24581 $FF782CE3 $3BE4BF3 $FEF24583 $FEF2458A $D 0 11 | -------------------------------------------------------------------------------- /r4/System/mem-debug.txt: -------------------------------------------------------------------------------- 1 | |---- memoria persistente para info de debug 2 | 3 | #rcode.n 0 4 | #rcode.nom )( 64 5 | #rcode.cnti 0 | cantidad de includes 6 | #rcode.cntw 0 | cantidad de palabras 7 | 8 | |-------- imagen en disco 9 | #memdebug 10 | #memincludes 11 | 12 | :memdebug.cntwor | -- cnt 13 | memdebug 64 + @ ; 14 | :memdebug.cntinc | -- cnt 15 | memdebug 68 + @ ; 16 | 17 | :memdebug.inc | nro -- valor 18 | 3 << 19 | memdebug 72 + + ; 20 | 21 | :memdebug.wor | nro -- dir 22 | 4 << 23 | memdebug 68 + @ 3 << + 24 | memdebug 72 + + ; 25 | 26 | :memdebug.cntloc | -- cnt 27 | memdebug 68 + @ ; 28 | 29 | 30 | ::debug.here | here -- here 31 | dup 'memdebug ! 32 | "mem/genera-code.mem" load 33 | | here 4+ 34 | dup 'memincludes ! 35 | 36 | ; 37 | 38 | ::dumpdebug 39 | "Analisis del Codigo:" print cr 40 | ; -------------------------------------------------------------------------------- /r4/Demos/rotozoom.txt: -------------------------------------------------------------------------------- 1 | | rotozoom 2 | | GALILEOG 2016 3 | |--------------- 4 | ^r4/lib/gui.txt 5 | ^r4/lib/trace.txt 6 | 7 | :dot | c x y -- 8 | 0 =? ( 3drop ; ) | Esta linea y la siguiente comprueba que no se salga 9 | swap 0 =? ( 3drop ; ) swap 10 | setxy a!+ ; 11 | 12 | #ang 13 | #cs 14 | #ss 15 | 16 | :angulo 17 | 0.002 'ang +! 18 | ang cos ang sin abs *. 128 *. 'cs ! 19 | ang sin dup abs *. 128 *. 'ss ! ; 20 | 21 | :color | y x -- color 22 | dup cs * pick2 ss * - >r 23 | over cs * over ss * + r> and 8 >> abs 24 | dup 8 << or dup 8 << or ; 25 | 26 | :rotozoom 27 | -100 ( 28 | -160 ( 159 ? ) drop ; 33 | 34 | 35 | : show 36 | clrscr 37 | angulo 38 | rotozoom 39 | 'exit >esc< ; -------------------------------------------------------------------------------- /r4/Dev/matematicas/testmorton.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/morton.txt 3 | 4 | :testprog 5 | 0 ( 5 r 28 | pick2 pick2 pick2 "%d %d %d" print cr 29 | | m3dnext 30 | r> ) 4drop 31 | ; 32 | 33 | :main 34 | show clrscr |chome! 35 | | testproy 36 | testnext 37 | 'exit >esc< 38 | ; 39 | 40 | : mark main ; -------------------------------------------------------------------------------- /inc/Vertigo.spr: -------------------------------------------------------------------------------- 1 | #:dib1 $1132601 $CD3F2602 $CD3C0004 $CD3CDA02 $110DA04 $34E8DA02 $34E80004 $34EB2602 $1132609 2 | $EF7B317 $E65C68C8 $FFFFFFC $FF0000F 0 3 | #:dib2 $C17D0081 $C06AFF83 $3F9B03C3 $3F990083 $C17D008A $2FB4C067 $D12342D8 $C8FFC $62FFE 4 | 0 5 | #:dib3 $BFE106F1 $C06AFF83 $402303C3 $40A90083 $BFE106FA $3018B6D7 $D0B747B8 $FF00C $A601E 6 | 0 7 | #:dib4 $C17CFC41 $C17F05F3 $40AB05F3 $40A8FC43 $C17CFC4A $D 0 8 | #:dib5 $C17CFC41 $C17F0813 $3E870813 $3E84FC43 $C17CFC4A $2EE4BD37 $D1234618 $592400C $FF0000E 9 | $F5DFB531 $19B7B81 $E3277732 $E3240004 $E32488D2 $8888D4 $1DEC88D2 $1DEC0004 $1DEF7732 10 | $19B7B89 $167466A7 $EA5F9978 $592400C $FFFFFFE 0 11 | #:dib6 $C17D0081 $C17F03C3 $3E8703C3 $3E850083 $C17D008A $2EE4C067 $D12342D8 $AAAAAAC $555555F 12 | 0 13 | #:dib7 $1132601 $CD3F2602 $CD3C0004 $CD3CDA02 $110DA04 $34E8DA02 $34E80004 $34EB2602 $1132609 14 | $D 0 15 | 16 | -------------------------------------------------------------------------------- /r4/Demos/mandala.txt: -------------------------------------------------------------------------------- 1 | | GALILEOG 2016 2 | ^r4/lib/gui.txt 3 | 4 | #radio 180 5 | #esqu 18 6 | #a )( 36 | 18 * 2 bytes 7 | #b )( 36 8 | 9 | :rsk | n -- m 10 | dup esqu 2/ /. 2/ ; 11 | 12 | :getxy | n -- xy 13 | 2* dup 'a + w@ 14 | swap 'b + w@ ; 15 | 16 | :lineas 17 | 0 ( esqu 1- r 'b 'a 0 ( esqu r 2over w@ swap w@ op 24 | | w@+ rot w@+ rot swap line 25 | | swap r> 1+ ) 3drop 2 + swap 2 + swap r> 1+ ) 3drop ; 26 | 27 | :puntos 28 | 'a 'b 0 ( esqu r 30 | sin radio *. 320 + >r 31 | rot r> swap w!+ 32 | rot r> swap w!+ 33 | rot 34 | ) 3drop ; 35 | 36 | :mandala puntos lineas ; 37 | 38 | : $ffffff 'paper ! negro clrscr mandala show 'exit >esc< ; -------------------------------------------------------------------------------- /r4/Lib/mouse.txt: -------------------------------------------------------------------------------- 1 | | MC 2013 - mouse routines 2 | | dragging = mouse kept down + *moved* since first mouse down 3 | 4 | ^r4/lib/math.txt 5 | 6 | #:dragdx 0 #:dragdy 0 | delta from click that started the dragging 7 | #:dragsx 0 #:dragsy 0 | first click that started the dragging 8 | #:mdown 0 | mouse down ? 0/1 9 | #:mdrag 0 | mouse being dragged ? 0/1 10 | 11 | :ini.mouse 12 | 0 'mdown ! 0 'mdrag ! 0 dup 'dragdx ! 'dragdy ! ; 13 | 14 | :update.dx.dy 15 | xymouse dragsy - 'dragdy ! dragsx - 'dragdx ! ; 16 | 17 | :dragging? 18 | xymouse dragsy - swap dragsx - max 0? ( )( 1 'mdrag ! update.dx.dy ) drop ; 19 | 20 | ::mouse.on.rect? | ( w h x y -- 0/1 ) 21 | 2dup xymouse 2d<=? >r 2d+ xymouse 2d>=? r> and ; 22 | 23 | ::handle.mouse 24 | bmouse 0? ( ini.mouse drop ; ) drop 25 | mdown 0? ( 1 'mdown ! xymouse 'dragsy ! 'dragsx ! drop ; ) drop 26 | mdown 1? ( dragging? ) drop ; 27 | 28 | 29 | -------------------------------------------------------------------------------- /r4/Demos/test-memstat.txt: -------------------------------------------------------------------------------- 1 | | fill and stat 256MB 2 | | PHREDA 2016 3 | | test for forum 4 | |---------------------- 5 | ^r4/lib/gui.txt 6 | ^r4/lib/trace.txt 7 | 8 | #size $ffff | 256MB 9 | #data 10 | 11 | :randata 12 | data >a 13 | size 2 >> 14 | ( 1? )( rnd a!+ 1- ) drop ; 15 | 16 | #statd )( 1024 17 | 18 | :+stat | n -- 19 | $ff and 2 << 'statd + 1 swap +! ; 20 | 21 | :stat 22 | 0 'statd 1024 fill 23 | data size 2 >> ( 1? )( swap 24 | @+ dup +stat dup 8 >> +stat dup 16 >> +stat 24 >> +stat 25 | swap 1- ) 2drop ; 26 | 27 | #lapse 28 | 29 | :printstat 30 | show clrscr verde 31 | lapse "%d msec" print cr 32 | 'statd >b 33 | 256 ( 1? )( 34 | b@+ "%d " allowcr print 35 | 1- ) drop 36 | 'exit >esc< ; 37 | 38 | :main 39 | msec 'lapse ! 40 | mem 'data ! | free mem 41 | randata 42 | stat 43 | msec lapse - 'lapse ! 44 | printstat 45 | ; 46 | 47 | : main ; -------------------------------------------------------------------------------- /r4/Demos/particulas3.txt: -------------------------------------------------------------------------------- 1 | | sistema de particulas 2d 2 | | V3.0 idea de Aspirina 3 | | solo datos estaticos 4 | |----------------- 5 | 6 | ^r4/lib/gui.txt 7 | ^r4/demos/simple.spr 8 | 9 | | tabla 10 | | 'd lt x y s r 11 | | dibujo tiempodevida x y tamanio rotacion 12 | #spr1 13 | 'coso1 0 0.0 0.0 0.3 0.0 14 | 'coso2 0.2 0.0 0.0 0.2 0.0 15 | 0 16 | 17 | :draw1part | dir spr -- dir+ 18 | swap >b 19 | | calculo aqui 20 | b@ 1+ 21 | dup 7 << sincos 2 >> b> 4+ ! 2 >> b> 8 + ! | movimiento en circulo 22 | 0.01 b> 16 + +! 23 | b!+ 24 | b@+ b@+ fpos 25 | b@+ dup fdim 26 | b@+ rnsprite 27 | b> ; 28 | 29 | :drawpart | tabla -- 30 | ( @+ 1? )( draw1part ) 2drop ; 31 | 32 | :main 33 | show clrscr 34 | 35 | 'exit >esc< 36 | 37 | blanco fonti home 38 | dup "%d" print cr 39 | 40 | 'spr1 drawpart 41 | |---------- debug + cursor 42 | cflecha 43 | ; 44 | 45 | : mark 33 main ; 46 | -------------------------------------------------------------------------------- /inc/1492.spr: -------------------------------------------------------------------------------- 1 | | Nsprite file 2 | #:avion2 3 | $C5BFDFF1 $21200893 $DA0D0B23 $3BFACA3 $C5BFDFFA $F2A87377 $CD3F8EB8 $C $FF0000E $BCAD4D71 $ECC4D7D3 $EF718503 $ADB5B403 $BCAD4D7A $D7656B67 $A618C638 $FFFFFFC 4 | $E $D42CB161 $99ECA043 $E1881113 $E65B5713 $370B5D73 $14D45BE3 $4464F183 $F994DC23 $D42CB16A $EF3C1F7 $E6585138 $FFFF00C $475900E $A48E9441 $D896F2E3 $DAB24463 5 | $4BAD143 $23BE2D43 $2CAF0E43 $5FAAD363 $43CF6EF3 $729BD3E3 $40202C23 $6464F1C3 $2900BB23 $1DF5A483 $F3ECD243 $C49D95D3 $CBF89113 $8DF0CE03 $C49FF9C3 $882B9093 $C2836693 6 | $A48E944A $5F252657 $8EFF4928 $FF0000C $E $8EB43561 $C8F2FD53 $FE66A393 $803BFE3 $D5C8CD33 $8EB4356A $F2A02127 $97AAF3C8 $FFFFFFC $E $F5D12071 $3B4D0B23 7 | $23380643 $ECB82653 $F5D1207A $2EFCD597 $F9F45C58 $FF0000C $FF02E 0 8 | #:new1 9 | $EEEB14F1 $CE4C48B3 $245419B3 $EEEB14FA $1E103477 $DD8B4DA8 $FFFFFFC $E $FC46EE71 $D87BE443 $9187153 $FC46EE7A $3A050C7 $DF2B2E98 $FFFFFFC $E 0 10 | #:prueba 11 | 0 12 | -------------------------------------------------------------------------------- /inc/invasion.inc: -------------------------------------------------------------------------------- 1 | #:dibu1 $3F3F3F4 $858B01A5 $976A1E86 $976A1E86 $C0EE1C76 $D0B703B6 $E642FF86 $F4721C76 $1E7E1A56 2 | $26E6FD66 $3CFAFB56 $4CBE1836 $69AA1836 $7EAF01A6 $7B018716 $83F58936 0 3 | #:dibu2 $FF004 $83F5EE25 $860C4776 $93300646 $E9F00006 $EAFF7DB6 $193B7DB6 $18B7FDF6 $6BC00006 4 | $7D184566 $7B01EC06 0 5 | #:dibu3 $FF00004 $8DF32DC5 $C30A5966 $3F165756 $3F165536 $76CF2BB6 $6FF504B6 $50F1E9E6 $33810D26 6 | $182DD4E6 $FE7106D6 $E3A1D2C6 $CAED17A6 $AC6DDB36 $93B8FA36 $8DF37326 $FF7F004 $A05B3415 7 | $A8C307F6 $D91F07F6 $FD634B36 $C41794D6 $4374925 $244707F6 $552B03B6 $613F2996 $3ADF8E86 8 | 0 9 | #:dibu4 $FF007F4 $191D4E5 $71049B96 $6F724896 $3E8E4896 $1DF6DFF6 $1924036 $DE5ED796 $C17639E6 10 | $8F864246 $91A09DB6 $3F1F4 $B5E703B5 $FEF76AC6 $E427CFB6 $3F1F4 $32768A5 $44DF07F6 11 | $1F8BCB76 0 12 | #:dibu5 $FFFF004 $1D6E1E85 $C49F9B26 $4BBF376 $C3909546 $FF7CFA36 $CAEDACF6 $1A49B556 $488902A6 13 | $13709116 $4673EF36 $7E37546 0 14 | #:dibu6 15 | -------------------------------------------------------------------------------- /r4/Apps/doodle.txt: -------------------------------------------------------------------------------- 1 | | Doodle - Idea -> http://mrdoob.com/lab/javascript/scribbler/ 2 | 3 | ^r4/lib/gui.txt 4 | ^r4/lib/xfb.txt 5 | 6 | #lastxy $DEADBEEF 7 | #index 0 8 | #buffer )( 100000 9 | 10 | :sqdif - dup * ; 11 | 12 | :sqdist >uv rot >uv rot sqdif >r sqdif r> + ; 13 | 14 | :uvline >uv op >uv line ; 15 | 16 | :effect 2dup sqdist 2500 b 'buffer ( @+ 1? )( b> effect ) 2drop ; 19 | 20 | :dwarr!++ dup >r @ 4 * + ! 1 r> +! ; 21 | 22 | :np negro dup draw dup 'lastxy ! 'buffer 'index dwarr!++ >xfb ; 23 | 24 | :md xymouse uv> $DEADBEEF lastxy =? ( drop 'lastxy ! )( drop lastxy =? ( drop )( np ) ) ; 25 | 26 | :mu $DEADBEEF 'lastxy ! ; 27 | 28 | :main 29 | $FFFFFF 'paper ! 30 | inixfb 31 | clrscr >xfb 32 | show 33 | xfb> 34 | bmouse 1 =? ( md )( mu ) drop 35 | cflecha 36 | 'exit >esc< ; 37 | 38 | : main ; 39 | -------------------------------------------------------------------------------- /r4/Dev/games/universal-LPC-sprite-sheet.txt: -------------------------------------------------------------------------------- 1 | | Sprite from http://gaurav.munjal.us/Universal-LPC-Spritesheet-Character-Generator/ 2 | | TODO: build .bmr file from the PNG file 3 | 4 | ^r4/lib/gui.txt 5 | ^r4/lib/loadpng.txt 6 | ^r4/lib/img.txt 7 | ^r4/lib/bmr.txt 8 | 9 | #img 0 #bmrm #bmrw #bmrh #bmrww #bmrhh #zoom 2 10 | 11 | :go show60 clrscr 12 | dup "%d" print cr img "%x" print cr 150 150 bmr.drawi 13 | 'exit >esc< ; 14 | 15 | :carga mark 16 | "media/img/hero.png" loadpng 17 | 'img ! 18 | mark 19 | "mem/notepad.bmr" bmr.load 20 | $fffff here +! ; 21 | 22 | :init 64 dup bmr.wh! ; 23 | 24 | #xa #xb #ya #yb 25 | 26 | :getsprite 27 | 64 dup 'xa ! 'ya ! 28 | 128 dup 'xb ! 'yb ! 29 | xa ( xb > 17 | $ff and 18 | "%k" mprint 19 | btnt sp ; 20 | 21 | :botonl | str -- 22 | 'click 23 | over 24 | @ 25 | $ff and 26 | " %k " mprint 27 | btnt sp ; 28 | 29 | :showTA1 30 | 1 31 | 'teclasAlpha1 cr 32 | @+ ( swap boton 4+ swap 1- 0? ) drop 33 | cr cr sp 34 | @+ ( swap boton 4+ swap 1- 0? ) drop 35 | cr cr sp sp sp 36 | @+ ( swap boton 4+ swap 1- 0? ) drop 37 | cr cr sp sp sp sp 38 | @+ ( swap botonl 4+ swap 1- 0? ) drop 39 | 2drop ; 40 | 41 | 42 | :main 43 | fonti 44 | show clrscr 45 | showTA1 46 | 'exit >esc< 47 | cminiflecha ; 48 | 49 | : main ; -------------------------------------------------------------------------------- /r4/Demos/planedef.txt: -------------------------------------------------------------------------------- 1 | | planedef.txt 2 | | from demoscene 3 | |------------------ 4 | 5 | ^r4/lib/gui.txt 6 | 7 | #textura )( $fffff 8 | 9 | :llenatext 10 | 'textura >a 11 | 512 ( 1? )( 12 | 512 ( 1? )( 13 | 2dup xor 14 | dup 16 << or 15 | a!+ 16 | 1- ) drop 17 | 1- ) drop 18 | ; 19 | 20 | :llenalut2 21 | mem >a 22 | 0 ( sh > a!+ 25 | over sh - over * 7 >> a!+ 26 | 1+ ) drop 27 | 1+ ) drop 28 | ; 29 | 30 | :render 31 | 0 0 setxy 32 | mem >b 33 | msec 4 >> 34 | 0 ( sh esc< 53 | 54 | render 55 | fonti home 56 | dup "%d" print 57 | ; 58 | 59 | : 33 main ; 60 | -------------------------------------------------------------------------------- /r4/Lib/key-us1.txt: -------------------------------------------------------------------------------- 1 | #:k2asc ( 0 0 49 50 51 52 53 54 55 56 57 48 45 61 0 0 113 119 101 114 116 121 117 105 111 112 91 93 0 0 97 115 100 102 103 104 106 107 108 59 39 96 0 92 122 120 99 118 98 110 109 44 46 47 0 0 0 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) #:k2ascs ( 0 0 33 64 35 36 37 94 38 42 40 41 95 43 32 32 81 87 69 82 84 89 85 73 79 80 123 125 32 32 65 83 68 70 71 72 74 75 76 58 34 126 0 124 90 88 67 86 66 78 77 60 62 63 0 0 0 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) #:k2alt ( 0 0 33 64 35 36 37 94 38 42 40 41 95 43 0 0 81 87 69 82 84 89 85 73 79 80 123 125 0 0 65 83 68 70 71 72 74 75 76 58 34 126 0 124 90 88 67 86 66 78 77 60 62 63 0 0 0 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) -------------------------------------------------------------------------------- /r4/curso/Tutor/6-bitmap.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/bmr.txt 3 | ^r4/lib/part16.txt 4 | ^r4/lib/anima.txt 5 | ^./draws.bmr 6 | 7 | #nubes 0 0 8 | 9 | :r.1 rand 1.0 mod ; 10 | :r.001 rand 0.001 mod ; 11 | 12 | :nub | adr -- adr/0-delete 13 | >b 14 | b@+ 15 | 1.5 >? ( dup 3.0 - b> 4 - ! r.1 b! ) 16 | b@+ 17 | b@+ b> 12 - +! | vel 18 | fpos 19 | xc yc 'nube 20 | b@+ dup 2/ 21 | bmr.drawscale 22 | ; 23 | 24 | :+nube 25 | 'nub 'nubes p!+ >a 26 | r.1 a!+ r.1 a!+ | x y 27 | r.001 0.02 + a!+ | vx 28 | rand 160 mod abs 32 + a! | size 29 | ; 30 | 31 | :ininubes 32 | mark 33 | 20 'nubes p.ini 34 | 20 ( 1? )( +nube 1- ) drop 35 | ; 36 | 37 | #ave 0 0 ave1 30 ave2 20 0 38 | 39 | :main 40 | ininubes 41 | $aa 'paper ! 42 | show clrscr 43 | 44 | 50 50 msec 2 << 'sol bmr.drawr 45 | 46 | 'nubes p.draw 47 | 48 | xymouse 49 | 'ave seqAnima 50 | 128 64 bmr.drawscale 51 | 52 | 'exit >esc< 53 | ; 54 | 55 | : main ; -------------------------------------------------------------------------------- /r4/r3/r3parse.txt: -------------------------------------------------------------------------------- 1 | | Parse words 2 | | PHREDA 2018 3 | |----------------- 4 | ^r4/lib/mem.txt 5 | 6 | ::>>0 | adr -- adr' ; pasa 0 7 | ( c@+ 1? )( drop ) drop ; 8 | 9 | ::>>cr | adr -- adr' 10 | ( c@+ 1? )( 10 =? ( drop 1- ; ) 13 =? ( drop 1- ; ) drop ) drop 1- ; 11 | 12 | ::>>sp | adr -- adr' 13 | ( c@+ 1? )( $ff and 33 >" | adr -- adr' 16 | ( c@+ 1? )( 34 =? ( drop c@+ 34 <>? ( drop 1- ; ) ) drop ) drop 1- ; 17 | 18 | ::trim | adr -- adr' c 19 | ( c@+ $ff and 33 ? ( 3drop 0 ; ) 27 | drop swap ) 3drop 28 | 1 ; 29 | 30 | ::=s | s1 s2 -- 0/1 31 | ( c@+ $ff and 32 >? )( toupp >r | s1 s2 r:c2 32 | swap c@+ $ff and toupp r> | s2 s1 c1 c2 33 | <>? ( 3drop 0 ; ) drop 34 | swap ) drop 35 | swap c@ $ff and 32 >? ( 0 )( 1 ) 36 | nip nip ; 37 | -------------------------------------------------------------------------------- /r4/Apps/pianomakeymakey.txt: -------------------------------------------------------------------------------- 1 | | Piano para MaKay-MaKey 2 | | PHREDA 2019 3 | |------------------------------------ 4 | ^r4/lib/gui.txt 5 | ^r4/lib/btn.txt 6 | 7 | #snd1 8 | #snd2 9 | #snd3 10 | #snd4 11 | #snd5 12 | 13 | :loads 14 | mark 15 | 16 | | "media/gato.wav" sload 'snd1 ! 17 | | "media/lobo.wav" sload 'snd2 ! 18 | | "media/oveja.wav" sload 'snd3 ! 19 | | "media/perro.wav" sload 'snd4 ! 20 | | "media/pimeo.wav" sload 'snd5 ! 21 | 22 | "media/pa.wav" sload 'snd1 ! 23 | "media/silvido.wav" sload 'snd2 ! 24 | "media/shhh.wav" sload 'snd3 ! 25 | "media/pum.wav" sload 'snd4 ! 26 | "media/listo.wav" sload 'snd5 ! 27 | 28 | ; 29 | 30 | 31 | |----------------------------------------------------- 32 | :main 33 | show clrscr 34 | "piano" print 35 | [ snd1 splay ; ] 36 | [ snd2 splay ; ] 37 | [ snd3 splay ; ] 38 | [ snd4 splay ; ] 39 | [ snd5 splay ; ] 40 | 41 | 'exit >esc< 42 | cminiflecha 43 | ; 44 | 45 | 46 | 47 | : loads main ; -------------------------------------------------------------------------------- /r4/Compiler/test3.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | 3 | :testdiv 4 | -7 ( 7 > " print 37 | 256 $fffffff pick2 *>> "=%h" print 38 | cr 39 | 1+ ) drop ; 40 | 41 | 42 | :main 43 | show clrscr 44 | | testdiv cr 45 | test/mod cr 46 | | test/ cr 47 | | testmod cr 48 | | testsh cr 49 | test* 50 | 'exit >esc< 51 | ; 52 | 53 | : main ; 54 | -------------------------------------------------------------------------------- /media/obj/Mario/Mario.mtl: -------------------------------------------------------------------------------- 1 | # 3ds Max Wavefront OBJ Exporter v0.94b - (c)2007 guruware 2 | # File Created: 26.09.2013 15:05:16 3 | 4 | newmtl 01___Default 5 | Ns 10.0000 6 | Ni 1.5000 7 | d 1.0000 8 | Tr 1.0000 9 | Tf 1.0000 1.0000 1.0000 10 | illum 2 11 | Ka 0.0000 0.0000 0.0000 12 | Kd 0.5882 0.5882 0.5882 13 | Ks 0.0000 0.0000 0.0000 14 | Ke 0.0000 0.0000 0.0000 15 | map_Ka Mario_body.png 16 | map_Kd Mario_body.png 17 | 18 | newmtl 03___Default 19 | Ns 10.0000 20 | Ni 1.5000 21 | d 1.0000 22 | Tr 1.0000 23 | Tf 1.0000 1.0000 1.0000 24 | illum 2 25 | Ka 0.0000 0.0000 0.0000 26 | Kd 0.5882 0.5882 0.5882 27 | Ks 0.0000 0.0000 0.0000 28 | Ke 0.0000 0.0000 0.0000 29 | map_Ka Mario_eye.png 30 | map_Kd Mario_eye.png 31 | 32 | newmtl 02___Default 33 | Ns 10.0000 34 | Ni 1.5000 35 | d 1.0000 36 | Tr 1.0000 37 | Tf 1.0000 1.0000 1.0000 38 | illum 2 39 | Ka 0.0000 0.0000 0.0000 40 | Kd 0.5882 0.5882 0.5882 41 | Ks 0.0000 0.0000 0.0000 42 | Ke 0.0000 0.0000 0.0000 43 | map_Ka Mario_Brow.png 44 | map_Kd Mario_Brow.png 45 | -------------------------------------------------------------------------------- /r4/Demos/sprites.spr: -------------------------------------------------------------------------------- 1 | | Nsprite file 2 | #:ship 3 | $C75CF7F1 $D0F888D3 $F8888483 $FB3439B3 $7783BD3 $B388D13 $292486A3 $39B8F193 $C75CF7FA $55924E7 $4CC6038 $400FFC $4659E 0 4 | #:bull 5 | $FAAFE661 $FAAC19A3 $80419A3 $807E663 $FAAFE66A $5C01097 $FBC3EA28 $FFFFFFC $64FF00D 0 6 | #:salien 7 | $C648DC31 $C5C01563 $DE5B7733 $278F7DA3 $3DFC2F03 $3794F193 $2234B9F3 $F7CF193 $AF43 $E65CE903 $D988B393 $CF60F7F3 $C648DC3A $2E80BA07 $D4539978 $FFFFFFC $FF6600D 8 | $F5502891 $D8742233 $E18FC213 $F550289A $F7FC1E77 $E25BD198 $FFFFFFC $FFFFFFD $10902451 $2B482013 $2237CCC3 $1090245A $20781B47 $C6FD998 $FFFFFFC $FFFFFFE 0 9 | #:explo 10 | $DA9BB761 $CDC6FD63 $F10F70D3 $8AF913 $122B7513 $381F01A3 $1E77ECD3 $5583EAA3 $22BC97C3 $37951803 $D5CCB13 $FBBD4B53 $F7FCAB03 $C2052093 $E2145BE3 $A85FECD3 $DA9BB76A 11 | $4020F887 $BE4B3AD8 $FFFFFFC $FF0000D $F7741DE1 $CA93F553 $FAABE443 $EBB7A1F3 $223B533 $3BF9303 $EF7BBA3 $21239DB3 $D5C0CD3 $36802233 $12B45353 $18949E33 $9146473 12 | $FEF0B393 $FDE05133 $E1048F33 $F7741DEA $28E086B7 $D7EFAE48 $FFFFFFC $FFCD00D 0 13 | -------------------------------------------------------------------------------- /media/obj/cube.obj: -------------------------------------------------------------------------------- 1 | # cube.obj 2 | # 3 | 4 | o cube 5 | mtllib cube.mtl 6 | 7 | v -0.500000 -0.500000 0.500000 8 | v 0.500000 -0.500000 0.500000 9 | v -0.500000 0.500000 0.500000 10 | v 0.500000 0.500000 0.500000 11 | v -0.500000 0.500000 -0.500000 12 | v 0.500000 0.500000 -0.500000 13 | v -0.500000 -0.500000 -0.500000 14 | v 0.500000 -0.500000 -0.500000 15 | 16 | vt 0.000000 0.000000 17 | vt 1.000000 0.000000 18 | vt 0.000000 1.000000 19 | vt 1.000000 1.000000 20 | 21 | vn 0.000000 0.000000 1.000000 22 | vn 0.000000 1.000000 0.000000 23 | vn 0.000000 0.000000 -1.000000 24 | vn 0.000000 -1.000000 0.000000 25 | vn 1.000000 0.000000 0.000000 26 | vn -1.000000 0.000000 0.000000 27 | 28 | g cube 29 | usemtl cube 30 | s 1 31 | f 1/1/1 2/2/1 3/3/1 32 | f 3/3/1 2/2/1 4/4/1 33 | s 2 34 | f 3/1/2 4/2/2 5/3/2 35 | f 5/3/2 4/2/2 6/4/2 36 | s 3 37 | f 5/4/3 6/3/3 7/2/3 38 | f 7/2/3 6/3/3 8/1/3 39 | s 4 40 | f 7/1/4 8/2/4 1/3/4 41 | f 1/3/4 8/2/4 2/4/4 42 | s 5 43 | f 2/1/5 8/2/5 4/3/5 44 | f 4/3/5 8/2/5 6/4/5 45 | s 6 46 | f 7/1/6 1/2/6 5/3/6 47 | f 5/3/6 1/2/6 3/4/6 48 | -------------------------------------------------------------------------------- /mem/menu.mem: -------------------------------------------------------------------------------- 1 | r4 -------------------------------------------------------------------------------- /r4asm/include/ENCODING/WIN1253.INC: -------------------------------------------------------------------------------- 1 | 2 | ; Windows 1253 3 | 4 | macro du [arg] 5 | { local offset,char 6 | offset = $-$$ 7 | du arg 8 | if arg eqtype '' 9 | repeat ($-offset-$$)/2 10 | load char byte from $$+offset+(%-1)*2 11 | if char > 7Fh 12 | if char < 0C0h 13 | virtual at 0 14 | if char < 90h 15 | dw 20ACh,?,201Ah,192h,201Eh,2026h,2020h,2021h,?,2030h,?,2039h,?,?,?,? 16 | else if char < 0A0h 17 | dw ?,2018h,2019h,201Ch,201Dh,2022h,2013h,2014h,?,2122h,?,203Ah,?,?,?,? 18 | else if char < 0B0h 19 | dw 0A0h,385h,386h,0A3h,0A4h,0A5h,0A6h,0A7h,0A8h,0A9h,?,0ABh,0ACh,0ADh,0AEh,2015h 20 | else 21 | dw 0B0h,0B1h,0B2h,0B3h,384h,0B5h,0B6h,0B7h,288h,389h,38Ah,0BBh,38Ch,0BDh,38Eh,38Fh 22 | end if 23 | load char word from (char and 0Fh)*2 24 | end virtual 25 | else 26 | char = 390h+char-0C0h 27 | end if 28 | store word char at $$+offset+(%-1)*2 29 | end if 30 | end repeat 31 | end if } 32 | 33 | struc du [args] 34 | { common label . word 35 | du args } 36 | -------------------------------------------------------------------------------- /r4/Demos/wavei.txt: -------------------------------------------------------------------------------- 1 | | Wave interferences - Interferencia de ondas 2 | | Adaptacion de Galileo (2016) 3 | 4 | ^r4/lib/gui.txt 5 | 6 | | Coordenadas de origen de las ondas 7 | #x1 150 8 | #y1 300 9 | #x2 0 10 | #y2 0 11 | #d1 #d2 #s1 #s2 12 | 13 | :color | c -- 14 | 16 >> dup dup 8 << or 8 << or ink ; 15 | 16 | :calcula | n x y -- 17 | over x1 - dup * over y1 - dup * + sqrt 16 << 'd1 ! 18 | over x2 - dup * over y2 - dup * + sqrt 16 << 'd2 ! 19 | pick2 20 | dup d1 5.0 /. swap - 6.2832 /. sin 60.0 *. 's1 ! 21 | dup d2 5.0 /. swap - 6.2832 /. sin 60.0 *. 's2 ! 22 | 5.0 *. 23 | d2 >=? ( 122.0 s2 + color )( 122.0 s1 + color ) 24 | d1 >=? ( d2 >=? ( 122.0 s1 s2 + + color ) ) 25 | d1 <=? ( d2 <=? ( 128.0 color ) ) 26 | drop 27 | 2dup 3 fcircle 28 | ; 29 | 30 | :bucley | n x -- 31 | 0 ( 300 esc< ; -------------------------------------------------------------------------------- /r4/Demos/test-jul.txt: -------------------------------------------------------------------------------- 1 | | Julian dates library tests 2 | | MC 2011 3 | |--------------------------------------- 4 | 5 | ^r4/lib/gui.txt 6 | ^r4/lib/fonti.txt 7 | ^r4/lib/jul.txt 8 | 9 | :inv3 swap rot ; | ( a b c -- c b a ) 10 | 11 | :dateinv date inv3 ; | ( d m a ) 12 | 13 | :printdatecr jul2date inv3 "%d-%d-%d" print cr ; 14 | 15 | :main 16 | show 17 | 'exit >esc< 18 | clrscr home 19 | fonti blanco 20 | 21 | "julian library tests" print cr cr 22 | 23 | dateinv date2jul dup jul2daystr "Today : %s " print printdatecr cr 24 | 25 | dateinv date2jul 5 - dup jul2daystr "Today-5 : %s " print printdatecr 26 | dateinv date2jul 5 + dup jul2daystr "Today+5 : %s " print printdatecr cr 27 | 28 | dateinv date2jul 20 - dup jul2daystr "Today-20 : %s " print printdatecr 29 | dateinv date2jul 20 + dup jul2daystr "Today+20 : %s " print printdatecr cr 30 | 31 | dateinv date2jul 30 - dup jul2daystr "Today-30 : %s " print printdatecr 32 | dateinv date2jul 30 + dup jul2daystr "Today+30 : %s " print printdatecr ; 33 | 34 | : main ; 35 | -------------------------------------------------------------------------------- /r4/Dev/games/cartas.spr: -------------------------------------------------------------------------------- 1 | | Nsprite file 2 | #:oro 3 | $F99BC431 $E90B7513 $F3BBD543 $DE5B9303 $EEEBECD3 $D7EFECD3 $ECC419A3 $DA104AD3 $F21C4683 $E7F499E3 $FA206253 $FF78B9F3 $6F06033 $191CA6D3 $12B448A3 $289C4AD3 $15601783 4 | $2A380AB3 $122BECD3 $22BFAA83 $CD3C433 $DE77963 $3BFC213 $FCCF6623 $F99BC43A $20546E37 $E30765B8 $FFFFFFC $FFCD00D 0 5 | #:espada 6 | $1A08D11 $CFEB6843 $D3A71923 $E6E73933 $91879D3 $1A08D1A $B5C78D7 $DFAF5B78 $FFFFFFC $AAAAAAD $F10CAB01 $16F85353 $209868B3 $1E748483 $15E88043 $E6C99E3 $1B40DA03 7 | $19A506F3 $F7CF7F3 $448A6B3 $FAA8C283 $F774DE53 $EF70D7E3 $F10CAB0A $1740C6D7 $F5984B68 $FFFFFFC $400FFD 0 8 | #:carta 9 | $C20678D1 $C20571D3 $3DFD71D3 $3DFE78D3 $C20678DA $2E811567 $D186DAA8 $FFFFFFC $FFFFFFD 0 10 | #:basto 11 | $8F6611 $22BF01A3 $446B1F93 $468B8EB3 $32C41333 $DB20F3B3 $CCB4F5D3 $C178C4A3 $D0F85133 $8F661A $3840AC17 $D4771CE8 $FFFFFFC $A601D 0 12 | #:copa 13 | $C06B03C1 $C8F7C213 $F4401BC3 $F5DCCD33 $C86D02A3 $2F0902A3 $778CD33 $6F01DE3 $323FC873 $40AB03C3 $16731923 $E87F1703 $C06B03CA $2BD4DCC7 $CB3F48C8 $FFFFFFC $FF0000D 14 | 0 15 | -------------------------------------------------------------------------------- /r4/Demos/mandelbrot1.txt: -------------------------------------------------------------------------------- 1 | | simple mandelbrot viewer 2 | | PHREDA 2010 3 | |--------------------------------- 4 | ^r4/lib/btn.txt 5 | 6 | #xmax #ymax #xmin #ymin 7 | 8 | :calc | p q cx cy -- p q cx cy xn yn r 9 | over dup *. over dup *. - pick4 + | xn 10 | pick2 pick2 *. 2* pick4 + | xn yn 11 | over dup *. over dup *. + | xn yn r 12 | ; 13 | 14 | :mandel | x y -- x y v 15 | over xmax xmin - sw */ xmin + | x y p 16 | over ymax ymin - sh */ ymin + | x y p q 17 | 0 0 0 | cx cy it 18 | ( 255 r | x y p q cx cy 19 | calc | x y p q cx cy xn yn r 20 | 4.0 >? ( 4drop 3drop r> ; ) 21 | drop rot drop rot drop 22 | r> 1+ ) 23 | nip nip nip nip 24 | ; 25 | 26 | :scrman 27 | 0 ( sh esc< 44 | ; 45 | 46 | : main ; 47 | 48 | -------------------------------------------------------------------------------- /r4/Games/teclasdib.spr: -------------------------------------------------------------------------------- 1 | | Nsprite file 2 | #:d1 3 | $19AD901 $AB92D902 $AB900664 $AB9133D2 $19933D4 $57A533D2 $57A40664 $57A6D902 $19AD909 $41BCE6E7 $C0AF22C8 $FFFFFFC $D $19B30B1 $C42B30B2 $C4280224 $C428D3A2 4 | $198D3A4 $3F10D3A2 $3F100224 $3F1330B2 $19B30B9 $2F4C9EC7 $D3236498 $FFFFFFC $FF02D 0 5 | #:d2 6 | $19AD901 $AB92D902 $AB900664 $AB9133D2 $19933D4 $57A533D2 $57A40664 $57A6D902 $19AD909 $41BCE6E7 $C0AF22C8 $FFFFFFC $D $19B30B1 $C42B30B2 $C4280224 $C428D3A2 7 | $198D3A4 $3F10D3A2 $3F100224 $3F1330B2 $19B30B9 $2F4C9EC7 $D3236498 $FFFFFFC $FF0000D 0 8 | #:d3 9 | $19AD901 $AB92D902 $AB900664 $AB9133D2 $19933D4 $57A533D2 $57A40664 $57A6D902 $19AD909 $41BCE6E7 $C0AF22C8 $FFFFFFC $D $19B30B1 $C42B30B2 $C4280224 $C428D3A2 10 | $198D3A4 $3F10D3A2 $3F100224 $3F1330B2 $19B30B9 $2F4C9EC7 $D3236498 $FFFFFFC $400FFD 0 11 | #:d4 12 | $19AD901 $AB92D902 $AB900664 $AB9133D2 $19933D4 $57A533D2 $57A40664 $57A6D902 $19AD909 $41BCE6E7 $C0AF22C8 $FFFFFFC $D $19B30B1 $C42B30B2 $C4280224 $C428D3A2 13 | $198D3A4 $3F10D3A2 $3F100224 $3F1330B2 $19B30B9 $2F4C9EC7 $D3236498 $FFFFFFC $FF00C6D 0 14 | -------------------------------------------------------------------------------- /inc/dibu.inc: -------------------------------------------------------------------------------- 1 | #:dib1 $B838801 $D79A11 $CC43BFD2 $CC405714 $CC3C5702 $705714 $35045C02 $33C85714 $33CBBFD2 2 | $1439BB4 $D79A1A $C966C1D $E6F7E751 $DDEBE752 $DDE80684 $DDE825C2 $E6F425C4 $EFFC25C2 3 | $EFFC0684 $EFFFE752 $E6F7E754 $E6F7E75A $F7F400D $1E03E271 $1563E272 $15600694 $15602AC2 4 | $1F3C2774 $26A02AC2 $26A00694 $26A3E272 $1E03E274 $1E03E27A $F7F400D $20BE271 $F9D3E272 5 | $F9D00354 $F9D02412 $2082414 $A3C2412 $9D40694 $A3FE272 $20BE279 $FFF700D 0 6 | 7 | #:dib2 $FF97E261 $FF942283 $2E01A43 $3B3E263 $FF97E26A $F00000D 0 8 | #:dib3 $F277D6F1 $F27432F3 $E6032F3 $E63D6F3 $F277D6FA $FD0300D 0 9 | #:dib4 $3B3EDF1 $7CFEDF3 $3B3FE63 $5541213 $FE5C0D23 $F6F81063 $FA43FE63 $F973E763 $FDF7EDF3 10 | $FF9BDF33 $20FEC53 $34BEFA3 $20FF633 $3B3EDFA $F6FC00D 0 11 | #:dib5 $FB7FF631 $396D3 $4EFF973 $18A44013 $4EC2423 $E6077F3 $F2DC7653 $FB7C1F33 $FAAC2423 12 | $E4784013 $FA43FE63 $FB7FF63A $138A2B7 $3AF88 $FF81EBC $11FDE $F3B09A81 $F2DC7653 13 | $EA3CBB63 $FA4079A3 $F834DA93 $6881D3 $D0D263 $4EC77F3 $A44D0B3 $9707B43 $14F4B4C3 14 | $E6077F3 $F2DC74B3 $F3449733 $F3B09A8A $F31101D 0 15 | 16 | -------------------------------------------------------------------------------- /r4/Demos/particles.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/demos/sprites.spr 3 | 4 | | now store x y vx vy 5 | #part 6 | #part> 7 | 8 | :p!+ | vy vx y x -- 9 | part> !+ !+ !+ !+ 'part> ! ; | store and save last 10 | 11 | :drawp 12 | part ( part> b 14 | b@+ dup abs 1.0 >? ( b> 4+ dup @ neg swap ! ) drop | neg vel if border.. 15 | b@+ dup abs 1.0 >? ( b> 4+ dup @ neg swap ! ) drop 16 | fpos | pos sprite 17 | 'salien nsprite 18 | 19 | b@+ b> 12 - +! | add velocity to pos 20 | b@+ b> 12 - +! | add velocity to pos 21 | b> ) drop ; 22 | 23 | :dumpp 24 | part ( part> 42 | 43 | 'exit >esc< 44 | cflecha 45 | ; 46 | 47 | :ini 48 | mark | set here en first free memory 49 | here dup 'part ! 'part> ! 50 | $ffff 'here +! | reserve 64kb 51 | ; 52 | 53 | : ini main ; -------------------------------------------------------------------------------- /r4asm/code64.asm: -------------------------------------------------------------------------------- 1 | ;---------- INICIO 2 | inicio: 3 | ; call test1 4 | call test2 5 | jmp SYSEND 6 | 7 | ;--- ejemplo 1 llena la pantalla 8 | test1: 9 | xor ebx,ebx 10 | loopi: 11 | inc edx 12 | mov [SYSFRAME+ebx*4],edx 13 | add ebx,1 14 | cmp ebx,XRES*YRES 15 | jl loopi 16 | add edx,1 17 | call SYSREDRAW 18 | call SYSUPDATE 19 | cmp [SYSKEY],1 20 | jne test1 21 | 22 | ret 23 | ;---ejemplo 2 uso de mouse 24 | test2: 25 | call SYSCLS 26 | loop2: 27 | mov eax, dword[SYSXYM] 28 | mov ebx,eax 29 | shr eax,16 30 | and ebx,$ffff 31 | imul eax,XRES 32 | add eax,ebx 33 | mov [SYSFRAME+eax*4],$ffffff 34 | 35 | call SYSREDRAW 36 | call SYSUPDATE 37 | cmp [SYSKEY],1 38 | jne loop2 39 | ret 40 | 41 | SYSCLS: ; ( -- ) 42 | push rax 43 | mov rax,0 44 | lea rdi,dword [SYSFRAME] 45 | mov rcx,(XRES*YRES)/2 46 | rep stosq 47 | pop rax 48 | ret 49 | -------------------------------------------------------------------------------- /r4asm/include/ENCODING/WIN1251.INC: -------------------------------------------------------------------------------- 1 | 2 | ; Windows 1251 3 | 4 | macro du [arg] 5 | { local offset,char 6 | offset = $-$$ 7 | du arg 8 | if arg eqtype '' 9 | repeat ($-offset-$$)/2 10 | load char byte from $$+offset+(%-1)*2 11 | if char > 7Fh 12 | if char < 0C0h 13 | virtual at 0 14 | if char < 90h 15 | dw 401h,403h,201Ah,453h,201Eh,2026h,2020h,2021h,20ACh,2030h,409h,2039h,40Ah,40Ch,40Bh,40Fh 16 | else if char < 0A0h 17 | dw 452h,2018h,2019h,201Ch,201Dh,2022h,2013h,2014h,?,2122h,459h,203Ah,45Ah,45Ch,45Bh,45Fh 18 | else if char < 0B0h 19 | dw 0A0h,40Eh,45Eh,408h,0A4h,490h,0A6h,0A7h,401h,0A9h,404h,0ABh,0ACh,0ADh,0AEh,407h 20 | else 21 | dw 0B0h,0B1h,406h,456h,491h,0B5h,0B6h,0B7h,451h,2116h,454h,0BBh,458h,405h,455h,457h 22 | end if 23 | load char word from (char and 0Fh)*2 24 | end virtual 25 | else 26 | char = 410h+char-0C0h 27 | end if 28 | store word char at $$+offset+(%-1)*2 29 | end if 30 | end repeat 31 | end if } 32 | 33 | struc du [args] 34 | { common label . word 35 | du args } 36 | -------------------------------------------------------------------------------- /r4/Demos/mandelbrot.txt: -------------------------------------------------------------------------------- 1 | | Fractal como prueba de rendimiento 2 | | Programa original de Markus Hoffman (2007) para la maquina virtual X11-basic 3 | | Adaptacion de Galileo (2016) 4 | 5 | ^r4/lib/gui.txt 6 | 7 | #bx 0 | Ubicacion 8 | #by 0 9 | #bw 512 | Dimensiones de la ventana 10 | #bh 480 11 | #sx -1.5 | Desplazamiento de la imagen 12 | #sy -1.0 13 | #tw 2.0 | Escala 14 | #th 2.0 15 | 16 | :color | c -- 17 | dup dup 3 << $ff and rot 2 << $ff and rot 2* $ff and 8 << or 8 << or ink ; 18 | 19 | :calcula | x y gx gy -- zx zy c 20 | 2dup 0 ( 256 r 21 | over dup *. over dup *. - pick4 + | zx 22 | rot 2* rot *. pick2 + | zy 23 | over dup *. over dup *. + 4.0 >? ( drop r> ; ) 24 | drop r> ) ; 25 | 26 | :mandel "Se esta dibujando un fractal. Paciencia ..." print redraw 27 | 0 0 ( bh r 4drop r> 31 | color 2dup pix! swap 1+ bw =? ( drop 1+ 0 ) swap 32 | ) 2drop ; 33 | 34 | : msec clrscr mandel msec swap - blanco "Se ha tardado %d ms" print show 'exit >esc< ; 35 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Pablo Hugo Reda 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /r4/Dev/graficos/grafr4/scanline.txt: -------------------------------------------------------------------------------- 1 | | scanline 2 | | PHREDA 2012 3 | |------------------------ 4 | 5 | | forma de los scanelementos 6 | | inicio|largo|tipo|shader 7 | ^r4/lib/gui.txt 8 | 9 | :drawscan 10 | ; 11 | 12 | #scanline )( 8192 13 | #scanline> 14 | 15 | :scan- 'scanline 'scanline> ! ; 16 | :,scan scanline> !+ 'scanline> ! ; 17 | 18 | :,fadein | x1 x2 19 | :,fadeout | x1 x2 20 | :,fillln | x1 x2 21 | 22 | | 'a+ x v 23 | :t0 24 | :t1 25 | :t2 26 | :t3 27 | $fff and swap over + | a+ c x+ 28 | swap 29 | ( 1? )( 1- ink@ px!+ ) drop 30 | swap 31 | ; 32 | 33 | #decodel t0 t1 t2 t3 34 | 35 | :decode 36 | 0 'scanline 37 | ( scanline> > | 'a v 39 | swap - px+! | 'a+ v 40 | dup 16 >> swap 41 | dup 12 >> $c and 'decodel + @ exec 42 | 43 | ) 2drop 44 | ; 45 | 46 | :drawbitmap 47 | rojo 48 | 0 ( 20 esc< ; 63 | 64 | : main ; -------------------------------------------------------------------------------- /r4/Demos/test-sprite.txt: -------------------------------------------------------------------------------- 1 | 2 | ^r4/lib/gui.txt 3 | ^r4/lib/lists.txt 4 | ^r4/lib/sprites.txt 5 | ^inc/pablo.inc 6 | 7 | 8 | | x y w h r 'dib 9 | #spelota 0.0 0.0 0.1 0.1 0.0 'dibu1 10 | #vx 0.011 #vy 0.018 11 | #spiedra 0.0 0.5 0.1 0.1 0.0 'dibua 12 | #vpx 0 #vpy 0 13 | #spez 0.0 0.0 0.1 0.1 0.0 'dibu2 14 | #stomate 0.5 0.0 0.2 0.2 0.0 'dibu8 15 | #sbrillo -0.5 0.0 0.2 0.2 0.0 'dibue 16 | 17 | #slayer1 spez stomate sbrillo spelota spiedra 0 18 | 19 | :main 20 | show clrscr 21 | 'slayer1 sdrawlayer 22 | 0.001 'sbrillo srot! 23 | | 0.001 'spiedra sscale! 24 | 25 | vx vy 'spelota smove! 26 | vpx vpy 'spiedra smove! 27 | 28 | 'spelota 'slayer1 sHitlayer 29 | 1? ( 0.001 over srot! ) drop 30 | 'spiedra 'slayer1 sHitlayer 31 | 1? ( -0.001 over srot! ) drop 32 | 'spelota 33 | @+ abs 1.0 >? ( vx neg 'vx ! ) drop 34 | @ abs 1.0 >? ( vy neg 'vy ! ) drop 35 | 36 | 'exit >esc< 37 | [ 0.01 'vpx ! ; ] 38 | [ -0.01 'vpx ! ; ] 39 | [ 0 'vpx ! ; ] dup >ri< >le< 40 | [ 0.01 'vpy ! ; ] 41 | [ -0.01 'vpy ! ; ] 42 | [ 0 'vpy ! ; ] dup >up< >dn< 43 | ; 44 | 45 | : main ; -------------------------------------------------------------------------------- /r4/Apps/automaton.txt: -------------------------------------------------------------------------------- 1 | | cellular automaton - rule 110 starting with a single black pixel 2 | | for more details : http://en.wikipedia.org/wiki/Rule_110 3 | 4 | ^r4/lib/gui.txt 5 | 6 | #rule 110 | <- the rule number can be changed here 7 | #rulebits )( 32 8 | #y 1 9 | 10 | :calcbit | n -- 11 | >r rule 1 r@ << and 12 | 0? ( drop $ffffff )( drop 0 ) 13 | 'rulebits r> 4 * + ! 14 | ; 15 | 16 | :precalc | produces rulebits data from the value of rule 17 | 0 ( 8 a 26 | above 27 | dup 4 - @ 0? ( 4 a+ ) drop 28 | dup @ 0? ( 2 a+ ) drop 29 | dup 4 + @ 0? ( 1 a+ ) drop 30 | sw 4 * + | current pixel 31 | a> 4 * 'rulebits + @ swap ! ; 32 | 33 | :procy y 2* 1+ sw >? ( drop ; ) drop 34 | 1 ( sw esc< ; 44 | 45 | : main ; 46 | -------------------------------------------------------------------------------- /r4/Lib/key-es1.txt: -------------------------------------------------------------------------------- 1 | #:k2asc ( 0 0 49 50 51 52 53 54 55 56 57 48 39 124 0 0 2 | 113 119 101 114 116 121 117 105 111 112 34 43 0 0 97 115 3 | 100 102 103 104 106 107 108 -15 123 92 0 125 122 120 99 118 4 | 98 110 109 44 46 45 0 42 0 32 0 0 0 0 0 0 5 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 | 0 0 0 0 0 0 $3c 0 0 0 0 0 0 0 0 0 7 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 | ) 10 | #:k2ascs ( 0 0 33 64 35 36 37 38 47 40 41 61 63 96 0 0 11 | 81 87 69 82 84 89 85 73 79 80 94 42 0 0 65 83 12 | 68 70 71 72 74 75 76 -47 91 126 0 93 90 88 67 86 13 | 66 78 77 59 58 95 0 42 0 32 0 0 0 0 0 0 14 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 | 0 0 0 0 0 0 $3e 0 0 0 0 0 0 0 0 0 16 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 | ) 19 | #:k2alt ( 0 0 49 50 51 52 53 54 55 56 57 48 39 124 0 0 20 | 113 119 101 114 116 121 117 105 111 112 34 43 0 0 97 115 21 | 100 102 103 104 106 107 108 -15 123 92 0 125 122 120 99 118 22 | 98 110 109 44 46 45 0 42 0 32 0 0 0 0 0 0 23 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 26 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 | ) 28 | -------------------------------------------------------------------------------- /r4/Demos/haikus.txt: -------------------------------------------------------------------------------- 1 | | haikus.txt - 2011 phreda 2 | | from http://forthsalon.appspot.com/ 3 | |-------------------------------- 4 | ^r4/lib/gui.txt 5 | ^r4/lib/math.txt 6 | ^r4/lib/trace.txt 7 | 8 | #x #y 9 | 10 | |--- insert haiku HERE 11 | |--- burn - BradN 12 | :square dup *. ; 13 | :len square swap square + sqrt ; 14 | :spiral 15 | x - swap y - 16 | 2dup len >r atan2 r> + 20.0 *. sin ; 17 | 18 | :haiku | -- r g b 19 | msec $ffff and | time 20 | |0.2 21 | 0.2 spiral 22 | 0.7 0.3 spiral 23 | 0.4 0.6 spiral *. *. 24 | dup x *. 25 | 1.0 x - 1.0 y - + 0.25 *. 26 | ; 27 | |--------------------- 28 | 29 | :rgb>c | r g b -- c 30 | -? ( 0 nip ) 31 | 8 >> $ff and swap 32 | -? ( 0 nip ) 33 | $ff00 and or swap 34 | -? ( 0 nip ) 35 | 8 << $ff0000 and or 36 | ; 37 | 38 | :frame 39 | 0 0 setxy 40 | 0 ( 256 > 'y ! 43 | 0 over setxy 44 | 0 ( 256 > 'x ! 47 | haiku rgb>c a!+ 48 | 1+ ) drop 49 | 1+ ) drop 50 | ; 51 | 52 | :main 53 | show clrscr 54 | frame 55 | cmano 56 | 'exit >esc< ; 57 | 58 | : main ; 59 | -------------------------------------------------------------------------------- /r4/Dev/fontmono/testfontm.txt: -------------------------------------------------------------------------------- 1 | | test fontm 2 | | PHREDA 2014 3 | |------------------- 4 | ^r4/lib/gui.txt 5 | ^r4/lib/fontm.txt 6 | ^inc/fntm/sourcecode13.txt 7 | ^inc/fntm/inconsolata13.txt 8 | ^inc/fntm/ubuntumon13.txt 9 | ^inc/fntm/droidsans13.txt 10 | 11 | :main 12 | show clrscr 13 | 'fontSourceCode13 fontm 14 | VERDE 15 | "#xy 23 :dibuja show dup ;" print cr 16 | blanco 17 | " 10 goto 10! " print cr 18 | ":define dup * ;" print cr 19 | 'fontInconsolata13 fontm 20 | verde 21 | "#xy 23 :dibuja show dup ;" print cr 22 | blanco 23 | " 10 goto 10! " print cr 24 | ":define dup * ;" print cr 25 | 'fontUbuntuMon13 fontm 26 | verde 27 | "#xy 23 :dibuja show dup ;" print cr 28 | blanco 29 | " 10 goto 10! " print cr 30 | ":define dup * ;" print cr 31 | 'fontDroidSans13 fontm 32 | verde 33 | "#xy 23 :dibuja show dup ;" print cr 34 | blanco 35 | " 10 goto 10! " print cr 36 | ":define dup * ;" print cr 37 | fonti 38 | verde 39 | "#xy 23 :dibuja show dup ;" print cr 40 | blanco 41 | " 10 goto 10! " print cr 42 | ":define dup * ;" print cr 43 | 44 | 'exit >esc< 45 | cminiflecha ; 46 | 47 | : main ; -------------------------------------------------------------------------------- /inc/test.inc: -------------------------------------------------------------------------------- 1 | #:dib1 $64C2A01 $E07ABC43 $3F9AB1B3 $A6A44BB3 $64C2A0F $F31F7EB7 $DF6F4F78 $FF00C $FF0000A 2 | 0 3 | #:dib2 $82EA0DB1 $82E9F463 $7B89F463 $7C960FD3 $82EA0DBF $FEF5B987 $10E0DB8 $FFC $A 4 | 0 5 | #:dib3 $FF7E6601 $F4FB96E3 $C1770A03 $EA77D603 $976BF373 $E8E02C23 $C0ED04B3 $F2588043 $FF7D9E33 6 | $EB473A3 $3E04F1C3 $22282E43 $6D540003 $1CEBCFB3 $40AB01A3 $C1792B3 $FF7E660F $25FF147 7 | $98FE63F8 $C $FFFFFFB 0 8 | #:dib4 $BBAC1931 $E96B2773 $1CEBC0F3 $5202DFF3 $7C97DA33 $7B89F033 $83F5F033 $836F2993 $BBAC193F 9 | $859A07 $FD6344E8 $FF7F00C $A 0 10 | #:dib5 $53E8561 $C7BF2753 $E423C933 $C9D8CBC3 $C957403 $3838F7F3 $EB3D1A3 $36A71243 $53E856F 11 | $FFFBFCB7 $1930E48 $FF00C $FF0000A 0 12 | #:dib6 $BE4EE861 $BAA37113 $1ACF4B33 $2096CF23 $BE4EE86F $ED9B2017 $DEE6BE58 $FF00C $FF0000A 13 | $C417C0F1 $BFE04343 $28783493 $25539093 $C417C0FF $F6041937 $F8236CE8 $FF00C $FF0000A 14 | $C49C6921 $C308E313 $27F0DEE3 $276C6F73 $C49C692F $F57CA617 $E9F0F608 $FF00C $FF0000A 15 | 0 16 | #:dib7 $BC37A7C1 $C73EE863 $1482D573 $1D6FC313 $BC37A7CF $ECD34C47 $BC36D578 $FF00C $FF0000A 17 | $E18742D1 $D67C1D63 $349023B3 $340B5183 $E18742DF $587B347 $D67F42D8 $FF00C $FF0000A 18 | 0 19 | #:dib8 20 | -------------------------------------------------------------------------------- /r4/Lib/frac.txt: -------------------------------------------------------------------------------- 1 | | fracciones 2 | | PHREDA 2014 3 | | 4 | | #f 1 3 | 1/3 5 | 6 | ^r4/lib/math.txt 7 | 8 | ::f@ | 'var -- n d 9 | @+ swap @ ; 10 | 11 | ::f! | n d 'var -- 12 | >a swap a!+ a! ; 13 | 14 | ::gcd | n1 n2 -- gcd 15 | ( 1? )( swap over mod ) drop ; 16 | 17 | ::fsimp | n1 n2 -- n1 n2 18 | 2dup gcd 0? ( drop ; ) 19 | >a a> / swap a> / swap 20 | -? ( swap neg swap neg ) ; 21 | 22 | ::f+ | n1 d1 n2 d2 -- n3 d3 23 | >a rot a> * | d1 n2 n1*d2 24 | swap pick2 * + | d1 n1*d2+n2*d1 25 | swap a> * 26 | fsimp ; 27 | 28 | ::f- | n1 d1 n2 d2 -- n3 d3 29 | >a rot a> * | d1 n2 n1*d2 30 | swap pick2 * - | d1 n1*d2-n2*d1 31 | swap a> * 32 | fsimp ; 33 | 34 | ::f* | n1 d1 n2 d2 -- n3 d3 35 | >r rot * swap r> * fsimp ; 36 | 37 | ::f/ | n1 d1 n2 d2 -- n3 d3 38 | swap f* ; 39 | 40 | ::fpow | n1 d1 p -- n2 d2 41 | rot over pow rot rot pow fsimp ; 42 | 43 | ::froot | n1 d1 r -- n2 d2 44 | rot 16 << over 16 << root. 0.5 + 16 >> rot 16 << rot 16 << root. 0.5 + 16 >> fsimp ; 45 | 46 | ::f2fix | n1 d1 -- fix 47 | 1 <=? ( drop 16 << ; ) 16 <> swap $ffff and $10000 fsimp rot over * rot + swap ; 51 | -------------------------------------------------------------------------------- /r4/curso/Tutor/5-particlesystem.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/vesprite.txt 3 | ^./draws.vsp 4 | 5 | |--- particle 6 | :p.create | size 'fx -- 7 | here over 4+ ! 8 | swap 6 << 'here +! | 16 values 9 | :p.clear | 'fx -- 10 | dup 4+ @ swap ! ; 11 | 12 | :p.cnt | 'fx -- cnt 13 | @+ swap @ - 6 >> ; 14 | 15 | :p!+ | 'fx -- adr 16 | dup @ 64 rot +! ; 17 | 18 | :p.map | vec 'fx -- 19 | dup @+ swap @ 20 | ( over a 30 | 64 a!+ 31 | 0 a!+ 0 a!+ | x y 32 | r0.01 a!+ r0.01 a!+ | vx vy 33 | ; 34 | 35 | :show&move | adr -- adr 36 | dup >a 37 | a@+ qdim 38 | a@+ 39 | dup abs 1.0 >? ( a> 4+ dup @ neg swap ! ) drop 40 | a@+ 41 | dup abs 1.0 >? ( a> 4+ dup @ neg swap ! ) drop 42 | fpos 43 | a@+ a> 12 - +! 44 | a@+ a> 12 - +! 45 | -0.001 a> 4 - +! 46 | 'd1 vesprite 47 | ; 48 | 49 | :main 50 | show clrscr 51 | 'show&move 'particles p.map 52 | 'addp 53 | 54 | 'exit >esc< 55 | ; 56 | 57 | :memory 58 | mark 59 | 1024 'particles p.create | 1024 particles 60 | ; 61 | 62 | : memory main ; 63 | -------------------------------------------------------------------------------- /r4/Lib/miniscr.txt: -------------------------------------------------------------------------------- 1 | | Mini Screen 2 | | PHREDA 2019 3 | ^r4/lib/grpix.txt 4 | 5 | #inish #steph #hsh 6 | #inisw #stepw #wsw 7 | #sumDa #sumDb 8 | #sumAa #sumAb 9 | #va #vb 10 | 11 | ::miniscreen | w h -- 12 | sh over / 2dup * sh swap - 13 | 1+ 2/ 'inish ! 'steph ! 'hsh ! 14 | sw over / 2dup * sw swap - 15 | 1+ 2/ 'inisw ! 'stepw ! 'wsw ! 16 | 17 | sw stepw - 2 << 'sumda ! 18 | sw steph * 19 | dup stepw + 2 << neg 'sumdb ! 20 | stepw wsw * - 2 << neg 'sumaa ! 21 | sw wsw - 2 << neg 'sumab ! 22 | 23 | sw inisw - stepw - 24 | sh inish - steph - 25 | xy>v 'va ! 26 | wsw 1- hsh 1- 27 | xy>v 'vb ! 28 | ; 29 | 30 | :shaderdot | col -- 31 | steph ( 1? )( 32 | stepw ( 1? )( 33 | pick2 a!+ 34 | 1- ) drop 35 | sumda a+ 36 | 1- ) 2drop 37 | sumdb a+ ; 38 | 39 | ::minidraw 40 | va >a vb >b 41 | hsh ( 1? )( 42 | wsw ( 1? )( 43 | b@ shaderdot 44 | -4 b+ 45 | 1- ) drop 46 | sumaa a+ 47 | sumab b+ 48 | 1- ) drop 49 | | clear 50 | paper 51 | dup framev inish sw * fill 52 | ink 53 | inisw 2* sh 1- sw inisw - 0 bmfill 54 | ; 55 | 56 | ::minixy | x y -- mx my 57 | inish - steph / swap 58 | inisw - stepw / swap 59 | ; 60 | 61 | -------------------------------------------------------------------------------- /r4asm/include/ENCODING/WIN1254.INC: -------------------------------------------------------------------------------- 1 | 2 | ; Windows 1254 3 | 4 | macro du [arg] 5 | { local offset,char 6 | offset = $-$$ 7 | du arg 8 | if arg eqtype '' 9 | repeat ($-offset-$$)/2 10 | load char byte from $$+offset+(%-1)*2 11 | if char > 7Fh & char < 0A0h 12 | virtual at 0 13 | if char < 90h 14 | dw 20ACh,?,201Ah,192h,201Eh,2026h,2020h,2021h,2C6h,2030h,160h,2039h,152h,?,?,? 15 | else 16 | dw ?,2018h,2019h,201Ch,201Dh,2022h,2013h,2014h,2DCh,2122h,161h,203Ah,153h,?,?,178h 17 | end if 18 | load char word from (char and 0Fh)*2 19 | end virtual 20 | store word char at $$+offset+(%-1)*2 21 | else if char = 0D0h 22 | store word 11Eh at $$+offset+(%-1)*2 23 | else if char = 0DDh 24 | store word 130h at $$+offset+(%-1)*2 25 | else if char = 0DEh 26 | store word 15Eh at $$+offset+(%-1)*2 27 | else if char = 0F0h 28 | store word 11Fh at $$+offset+(%-1)*2 29 | else if char = 0FDh 30 | store word 131h at $$+offset+(%-1)*2 31 | else if char = 0FEh 32 | store word 15Fh at $$+offset+(%-1)*2 33 | end if 34 | end repeat 35 | end if } 36 | 37 | struc du [args] 38 | { common label . word 39 | du args } 40 | -------------------------------------------------------------------------------- /r4/3d/dev/testbb.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/bbuffer.txt 3 | ^r4/lib/trace.txt 4 | 5 | :tz 6 | bb.clear 7 | 8 | 9 | 100 70 bop 30 200 bline 90 300 bline 100 70 bline $ff ink bpoly 10 | 100 70 bop 90 300 bline 300 80 bline 100 70 bline $ff0000 ink bpoly 11 | 50 60 bop 100 380 bline xymouse bline 50 60 bline $ff00 ink bpoly 12 | 13 | $ff00ff ink 14 | | 30 30 90 80 maskfpxy 15 | 100 40 120 maskfpx 16 | 100 41 120 maskfpx 17 | 100 42 120 maskfpx 18 | cyan 19 | 110 41 130 maskfpx 20 | 110 42 130 maskfpx 21 | 110 43 130 maskfpx 22 | 23 | $ff0000 bo! 24 | 400 100 300 bbh! 25 | 401 100 300 bbh! 26 | 27 | $ff bo! 28 | 300 200 500 bbw! 29 | 300 201 500 bbw! 30 | 300 202 500 bbw! 31 | 300 203 500 bbw! 32 | 300 204 500 bbw! 33 | 300 205 500 bbw! 34 | 35 | ; 36 | 37 | #x 500 #y 200 38 | :main 39 | mark 40 | 33 41 | sw sh bb.ini 42 | verde 43 | show clrscr 44 | tz 45 | x y over 40 + over 40 + bb.occ "%d " print cr 46 | azul x y op x 40 + y line x 40 + y 40 + line x y 40 + line x y line 47 | 48 | [ 1 'x +! ; ] 49 | [ -1 'x +! ; ] 50 | [ -1 'y +! ; ] 51 | [ 1 'y +! ; ] 52 | 53 | dup "%d" print cr 54 | 'exit >esc< ; 55 | 56 | : main ; -------------------------------------------------------------------------------- /inc/punteros.inc: -------------------------------------------------------------------------------- 1 | #:dib1 $9B8FEFC1 $FA3BEC91 $19C1B2B3 $2F4D1B43 $5839C8D3 $74B160B3 $4560BA93 $6DDC7533 $FA3BEC9A 2 | $D $7102111 $51DC7753 $35F0AD43 $65995A93 $56A18D03 $2A84DAF3 $1CBD42F3 $710211A 3 | $FFFFFFD $0 4 | #:dib2 $F693F031 $8ABAE12 $27C43714 $32041922 $3BDC3EF4 $428C2422 $4B9C4864 $53E03712 $5D586334 5 | $716D0D63 $75C1EEA2 $4619D0B4 $32CD7ED2 $19995124 $FA1D0712 $B6CBB74 $EBEC28F2 $F693F039 6 | $D $FF3BF9C1 $5EBEB92 $D640B04 $22A861A3 $2B5038B2 $39E464D4 $409843C2 $4A706CB4 7 | $4F8C51F2 $57D477C4 $6AB919F3 $6CB1C422 $4619AAE4 $32CD5442 $1FE537F4 $8450F02 $D64DE24 8 | $12E4C672 $21DCE464 $F6282DA2 $FF3BF9C9 $FFFFFFD $0 9 | #:dib3 $191 $6B05833 $BD03A43 $16D428F3 $19A $D $6B05371 $9D83263 $167028F3 10 | $300C4EC3 $1EB86E43 $11B8BE93 $6B0537A $FFFF00D $1154BB71 $18686663 $2EDC4D33 $69293B13 11 | $4D31B2C3 $1154BB7A $FF7F00D $47AD73C1 $4B3934C2 $5AF929B4 $6D192372 $6B8568C4 $6B21AC82 12 | $54ADB914 $4551B5F2 $47AD73C9 $FFFF00D $0 13 | #:dib4 $F17017A1 $90FE543 $2AFBFF63 $3FB06B83 $2734A873 $111C36C3 $F17017AA $7D7E7ED $F1A017F1 14 | $121C3593 $2708A513 $1B64F063 $F1A017FA $9E9D9FD $26FCA3D1 $3F0067F3 $61AD29B3 $4B396A43 15 | $26FCA3DA $434344D $1AD8F031 $2708A303 $4BAD6B13 $29D13BD3 $1AD8F03A $787877D $0 16 | 17 | 18 | -------------------------------------------------------------------------------- /r4/IDE/testnewstack.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/ide/r4-stack.txt 3 | |^r4/ide/vstack.txt 4 | 5 | 6 | :shuffle 7 | | d.pop r.push d.rot r.pop d.push d.rot 8 | | 0 pushVAR 1 pushVAR 9 | 10 | 11 | d.2dup 12 | 33 pushNRO 13 | d.swap 14 | | 1 pushREG 15 | ; 16 | 17 | #norm1 18 | :tonorm 19 | here 'norm1 ! 20 | printddvtack ,cr 21 | vpila2normal 22 | ,cr 23 | printddvtack 24 | 0 ,c 25 | ; 26 | 27 | #norm2 28 | :tonorm2 29 | here 'norm2 ! 30 | printddvtack 31 | | 3 vpila2fix 32 | printddvtack 33 | 0 ,c 34 | ; 35 | 36 | #norm3 37 | :tonorm3 38 | here 'norm2 ! 39 | printddvtack 40 | | 3 vpila2Reg 41 | printddvtack 42 | 0 ,c 43 | ; 44 | 45 | :main 46 | 33 verde 47 | here 0 over ! dup 'norm1 ! dup 'norm2 ! 'norm3 ! 48 | show clrscr 49 | dup "%d" print cr cr 50 | mark printddvtack ,eol empty here print cr cr 51 | mark dumpcells, ,eol empty here print cr 52 | 53 | norm1 print 54 | 55 | [ 4 inivpila ; ] 56 | 'shuffle 57 | | [ 3 d.tos cell+! ; ] 58 | | [ 3 d.tos cell<< ; ] 59 | | [ d.tos cell[] ; ] 60 | 61 | 'tonorm 62 | | 'tonorm2 63 | | 'tonorm3 64 | 'exit >esc< 65 | ; 66 | 67 | 68 | : mark main ; 69 | 70 | -------------------------------------------------------------------------------- /r4/curso/Itinerario/clase-4.txt: -------------------------------------------------------------------------------- 1 | | Clase 2 Itinerario 1 2 | 3 | ^r4/lib/gui.txt 4 | ^r4/lib/bmr.txt 5 | ^r4/lib/trace.txt 6 | 7 | ^r4/lib/miniscr.txt 8 | ^./sprites.bmr 9 | 10 | #xj 80 11 | #yj 40 12 | 13 | #tiempo 0 14 | 15 | #listspr 'spr1 'spr2 'spr3 'spr4 'spr5 'spr6 'spr7 'spr8 0 16 | #listspr> 'listspr 17 | 18 | :nextspr 19 | 4 'listspr> +! 20 | listspr> @ 0? ( 'listspr 'listspr> ! ) drop 21 | ; 22 | 23 | :nextspr 24 | listspr> 25 | 4+ dup @ 0? ( nip 'listspr swap ) drop 26 | 'listspr> ! ; 27 | 28 | :reloj 29 | 1 'tiempo +! 30 | tiempo 4 @ 39 | bmr.draw 40 | ; 41 | 42 | | 240 136 |tic 80 43 | #wres 240 44 | #hres 121 45 | 46 | :main 47 | wres hres miniscreen 48 | show clrscr 49 | 50 | | wres hres 0 0 bmnoiseb 51 | 52 | [ 1 'hres +! wres hres miniscreen ; ] 53 | [ -1 'hres +! wres hres miniscreen ; ] 54 | [ 1 'wres +! wres hres miniscreen ; ] 55 | [ -1 'wres +! wres hres miniscreen ; ] 56 | 57 | blanco 58 | 59 | reloj 60 | jugador 61 | minidraw 62 | 63 | 64 | 'exit >esc< ; 65 | 66 | : main ; -------------------------------------------------------------------------------- /inc/test.vsp: -------------------------------------------------------------------------------- 1 | | VSP file 2 | #:new0 3 | $CDD5800E $CD55800F $CC56000F $B155800F $C8DA000F $C5DC400F $C45E000F $C261000F $BEE3800F $BA68000F $B56C400F $B0F0000F $ABF3800F $A877000F $A3F9C00F $A0FC400F $9E7E000F 4 | $9C00400F $9B01400F $9982800F $9904400F $9805C00F $9686C00F $9687800F $9608400F $960A400F $968A800F $CD0A800F $D50AC00F $DE0AC00F $E70B400F $FA0B400F $FE8B800F $20C000F 5 | $40C400F $58C400F $68C800F $88C800F $98CC00F $98D400F $A0D400F $A8D800F $A8E000F $B0D800F $B0B400F $B88000F $C04C00F $D01800F $DFE000F $F7AC00F $10F8000F 6 | $11F5000F $11F2000F $1270000F $12ED800F $12E9800F $1268400F $11E7400F $10E7000F $1066400F $EE6000F $E65C00F $C65800F $B65400F $365400F $65C00F $FE65C00F $FCE6000F 7 | $F355400F $F5050505 $3654000E $35D4400F $33D4400F $31D4C00F $3055400F $2ED5800F $2DD6400F $2C56C00F $2AD8800F $28DA000F $275C000F $265E000F $2660400F $26E2400F $28E4800F 8 | $2B66000F $2DE7800F $3169000F $35EA000F $3A6AC00F $3F6B400F $43EB800F $476C000F $50EC000F $51EB800F $53EB800F $546C000F $556C000F $566C400F $56EC400F $576C000F $586C000F 9 | $596B400F $5AE9C00F $5B68000F $5BE6400F $5C64400F $5C60400F $5B5E800F $59DD000F $575B800F $555A800F $52D9800F $50D8800F $4DD7800F $4BD6C00F $4955C00F $46D5000F $45D4C00F 10 | $4554800F $4554000F $F5050505 0 11 | -------------------------------------------------------------------------------- /r4/Dev/sistema/convertifont.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | ^r4/lib/trace.txt 3 | 4 | :convfonts 5 | mark 6 | 'rom8x12 7 | 0 ( 256 ? ( swap rot ) | xM y xm 24 | rot over - 0? ( 1+ ) swap rot hline ; 25 | 26 | :toline | x y xn -- xn y 27 | swap rot 16 >> | xn y x 28 | over pick3 16 >> | xn y x y xn 29 | tohor ; 30 | 31 | :linea 32 | pick2 =? ( drop tohor ; ) 33 | pick2 >? ( 2swap ) | xM yM xm ym 34 | swap 16 << 2swap swap | ym xm YM XM 35 | 16 << pick2 - | ym xm YM Dx 36 | over pick4 - 1+ / | ym xm YM DX 37 | >r 38 | swap $7fff + rot | YM xm ym 39 | ( pick2 <=? )( 40 | over r + | yM xm ym X2 41 | toline 42 | 1+ ) 3drop 43 | rdrop ; 44 | 45 | :main 46 | | convfonts 47 | show clrscr 48 | "conviertiendo" print 49 | 50 | 60 60 xymouse linea 51 | 60 60 setxy $ffffff px!+ 52 | xymouse setxy $ffffff px!+ 53 | 54 | 'exit >esc< 55 | ; 56 | 57 | : main ; -------------------------------------------------------------------------------- /r4/Dev/monalisa.txt: -------------------------------------------------------------------------------- 1 | | PHREDA 2017 2 | | https://codegolf.stackexchange.com/questions/126738/lets-draw-mona-lisa 3 | ^r4/lib/gui.txt 4 | 5 | #color $FFE289 $E99E45 $A55A00 $000000 6 | #brush 7 | $37BE030A $072B2F9B $F59B0E3C $1B0B8A91 8 | $93780EBD $B05AB83E $028070B5 $9CD2D0B1 9 | $209C2093 $26D63D11 $97F5DF19 $A34790A3 10 | $08598AF7 $A32C29AD $0D7D7DFC $3051D57A 11 | $542BD431 $B114B242 $29148A96 $532CB0F1 12 | $0A090413 $E9163EBB $B8E21877 $80C7AC72 13 | $8D3C5240 $AD633EAF $B23D1E14 $C07B238F 14 | $312EAF9D $25A796CE $2C449E37 $21392BB9 15 | 16 | :movxy | dir bxy seed -- dir bxy seed 17 | pick2 + $7f7f and 18 | dup $7f and 19 | over 8 >> 20 | 96 >? ( 2drop ; ) 21 | setxy ink@ a! ; 22 | 23 | :step | dir bxy seed -- dir bxy seed 24 | +? ( 2* ; ) 25 | 2* $4c11db7 xor 26 | rot drop 27 | dup 24 << 31 >> 1 or 28 | over $2 and 2 << 8 xor << 29 | rot rot ; 30 | 31 | :draw 32 | $100 | dir 33 | $7ec80000 | seed 34 | 0 ( 64 r 2* 'brush + w@ $ffff and | dir seed brush 37 | swap $ffff0000 and over or | dir bxy seed 38 | 64 r@ - 5 << ( 1? )( >r | dir bxy seed 39 | step swap movxy swap r> 1- ) drop nip 40 | r> 1+ ) 3drop ; 41 | 42 | : cls draw show 'exit >esc< ; -------------------------------------------------------------------------------- /r4/Demos/test-rand.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/gui.txt 2 | 3 | 4 | :bmnoise1 |ancho alto x y 5 | ( 2swap 1? )( 1- 6 | 2over setxy 7 | over ( 1? )( 1- rand a!+ ) drop 8 | 2swap 1+ ) 9 | 4drop ; 10 | 11 | :bmnoise2 |ancho alto x y 12 | ( 2swap 1? )( 1- 13 | 2over setxy 14 | over ( 1? )( 1- mrand a!+ ) drop 15 | 2swap 1+ ) 16 | 4drop ; 17 | 18 | :bmnoise3 |ancho alto x y 19 | ( 2swap 1? )( 1- 20 | 2over setxy 21 | over ( 1? )( 1- rand8 dup 8 << over 16 << or or a!+ ) drop 22 | 2swap 1+ ) 23 | 4drop ; 24 | 25 | :bmnoise4 |ancho alto x y 26 | ( 2swap 1? )( 1- 27 | 2over setxy 28 | over ( 1? )( 1- random a!+ ) drop 29 | 2swap 1+ ) 30 | 4drop ; 31 | 32 | :bmnoise5 |ancho alto x y 33 | ( 2swap 1? )( 1- 34 | 2over setxy 35 | over ( 1? )( 1- rnd a!+ ) drop 36 | 2swap 1+ ) 37 | 4drop ; 38 | 39 | :bmnoise6 |ancho alto x y 40 | ( 2swap 1? )( 1- 41 | 2over setxy 42 | over ( 1? )( 1- rnd128 a!+ ) drop 43 | 2swap 1+ ) 44 | 4drop ; 45 | 46 | :main 47 | 100 mseed 48 | show clrscr 49 | 50 | 'exit >esc< 51 | 52 | 100 100 0 0 bmnoise1 53 | 100 100 110 0 bmnoise2 54 | 100 100 220 0 bmnoise3 55 | 100 100 330 0 bmnoise4 56 | 100 100 440 0 bmnoise5 57 | 100 100 0 110 bmnoise6 58 | 59 | cmano ; 60 | 61 | : main ; -------------------------------------------------------------------------------- /r4/Dev/games/simple.spr: -------------------------------------------------------------------------------- 1 | | Nsprite file 2 | #:nave 3 | $B1FCF5D1 $112EA23 $42450083 $B1FCF5DA $31B4C067 $C5832FA8 $FFFFFFC $E 0 4 | #:alien 5 | $30E71 $C6D70E72 $C39F9524 $FEF39FD3 $3F139973 $392F0E72 $30E79 $2E7EFB47 $FBBF90E8 $FFFFFFC $CBFF00E $2AF8411 $9C9B8412 $9C980004 $9C987BF2 $2AC7BF4 $68C07BF2 6 | $68C00004 $68C38412 $2AF8419 $10089387 $5E330B8 $C8FFC $E 0 7 | #:disparo 8 | $EF73C651 $EF703793 $10903793 $1093C653 $EF73C65A $C6C29B7 $F397D4C8 $FFFFFFC $64FF00D 0 9 | #:coso1 10 | $11323D1 $C53B23D2 $C53BFDE4 $C538D7E2 $110D7E4 $3CECD7E2 $3CEFFDE4 $3CEF23D2 $11323D9 $19A44CF7 $F10FAED8 $FF0000C $FFCD00E 0 11 | #:coso2 12 | $11323D1 $C53B23D2 $C53BFDE4 $C538D7E2 $110D7E4 $3CECD7E2 $3CEFFDE4 $3CEF23D2 $11323D9 $19A44CF7 $F10FAED8 $FF02C $400FFE 0 13 | #:ball 14 | $113BDC1 $EEEBBDC2 $EEE80004 $EEE84242 $1104244 $133C4242 $133C0004 $133FBDC2 $113BDC9 $E7031B7 $F333CE58 $FFFFFFC $FF02D 0 15 | #:frag 16 | $CCB4B391 $E54BF333 $AE3F9B93 $FF7B8C93 $3ACAF093 $10082673 $167124E3 $F2A45BE3 $CCB4B39A $2C18DBB7 $C2B33478 $FFFFFFC $FF0000D $D3A819A1 $FD541113 $F7FCA273 $100BE663 17 | $468FA423 $F6EFACB3 $D3A819AA $34EC79E7 $DEC3BB28 $FFFFFFC $CBFF00D 0 18 | #:burbuja 19 | $19A1451 $85A21452 $85A00444 $85A1F432 $199F434 $7D99F432 $7D980444 $7D9A1452 $19A1459 $29AF61D7 $3BF9978 $FFFFFFC $400FFF 0 20 | -------------------------------------------------------------------------------- /r4asm/include/API/COMDLG32.INC: -------------------------------------------------------------------------------- 1 | 2 | ; COMDLG32 API calls 3 | 4 | import comdlg32,\ 5 | ChooseColorA,'ChooseColorA',\ 6 | ChooseColorW,'ChooseColorW',\ 7 | ChooseFontA,'ChooseFontA',\ 8 | ChooseFontW,'ChooseFontW',\ 9 | CommDlgExtendedError,'CommDlgExtendedError',\ 10 | FindTextA,'FindTextA',\ 11 | FindTextW,'FindTextW',\ 12 | FormatCharDlgProc,'FormatCharDlgProc',\ 13 | GetFileTitleA,'GetFileTitleA',\ 14 | GetFileTitleW,'GetFileTitleW',\ 15 | GetOpenFileNameA,'GetOpenFileNameA',\ 16 | GetOpenFileNameW,'GetOpenFileNameW',\ 17 | GetSaveFileNameA,'GetSaveFileNameA',\ 18 | GetSaveFileNameW,'GetSaveFileNameW',\ 19 | LoadAlterBitmap,'LoadAlterBitmap',\ 20 | PageSetupDlgA,'PageSetupDlgA',\ 21 | PageSetupDlgW,'PageSetupDlgW',\ 22 | PrintDlgA,'PrintDlgA',\ 23 | PrintDlgW,'PrintDlgW',\ 24 | ReplaceTextA,'ReplaceTextA',\ 25 | ReplaceTextW,'ReplaceTextW',\ 26 | WantArrows,'WantArrows',\ 27 | dwLBSubclass,'dwLBSubclass',\ 28 | dwOKSubclass,'dwOKSubclass' 29 | 30 | api ChooseColor,\ 31 | ChooseFont,\ 32 | FindText,\ 33 | GetFileTitle,\ 34 | GetOpenFileName,\ 35 | GetSaveFileName,\ 36 | PageSetupDlg,\ 37 | PrintDlg,\ 38 | ReplaceText 39 | -------------------------------------------------------------------------------- /r4/3d/loadvxi.txt: -------------------------------------------------------------------------------- 1 | | read voxie files 2 | | PHREDA 2017 3 | |----------------- 4 | ^r4/lib/gui.txt 5 | ^r4/lib/trace.txt 6 | 7 | #xsize #ysize #zsize 8 | #data 9 | #paleta 10 | 11 | ::loadvxi | "fn" -- 12 | here dup rot load 'here ! 13 | @+ 'xsize ! @+ 'ysize ! @+ 'zsize ! 14 | 12 + | xyz offset 15 | dup 'data ! 16 | xsize ysize * zsize * + 17 | 'paleta ! 18 | ; 19 | 20 | :bswapc 21 | dup 16 >> $ff and 22 | over 16 << $ff0000 and 23 | or swap $ff00 and or ; 24 | 25 | :getpal dup 2* + paleta + @ bswapc ; 26 | 27 | ::mapvxi32 | 'vector -- 28 | >r data >r 29 | xsize ( 1? )( 30 | ysize ( 1? )( 31 | zsize ( 1? )( 32 | r> c@+ 33 | $ff and $ff <>? ( getpal pick4 pick4 pick4 r@ exec )( drop ) 34 | >r 1- ) drop 35 | 1- ) drop 36 | 1- ) drop 37 | r> drop r> drop ; 38 | 39 | ::mapvox8 | 'vector -- 40 | >r data >r 41 | xsize ( 1? )( 42 | ysize ( 1? )( 43 | zsize ( 1? )( 44 | r> c@+ 45 | $ff and $ff <>? ( pick4 pick4 pick4 r@ exec )( drop ) 46 | >r 1- ) drop 47 | 1- ) drop 48 | 1- ) drop 49 | r> drop r> drop ; 50 | 51 | :apow 52 | 0 swap ( 1? )( 2/ swap 1+ swap ) drop 1- ; 53 | 54 | ::vxiqsize | -- qsize 55 | zsize ysize max xsize max 56 | 1 ( 1024 =? ( nip apow ; ) 58 | 2* ) nip apow ; 59 | -------------------------------------------------------------------------------- /r4/Lib/lists.txt: -------------------------------------------------------------------------------- 1 | |----------------------------------------------------------- 2 | | lista de sprites 3 | | c/sprite tiene 4 | | x y s r 'adr 5 | |----------------------------------------------------------- 6 | 7 | | x y r 'adr 8 | |----------------------------------------------------------- 9 | ::spos! | x y 'adr -- 10 | !+ ! ; 11 | ::smove! | x y 'adr -- 12 | >b swap b@ + b!+ b@ + b! ; 13 | ::srot! | a 'adr -- 14 | 16 + >b b@ + b! ; 15 | ::sscale! | z 'adr -- 16 | 8 + >b dup b@ + b!+ b@ + b! ; 17 | ::sdib! | 'n 'adr -- 18 | 20 + ! ; 19 | 20 | :hit? | s1 s2 -- 0/s1 21 | over =? ( 2drop 0 ; ) | s1=s2? 22 | >b 23 | dup @+ b@+ - | s1 s1y dx 24 | swap @ b@+ - | s1 dx dy 25 | distfast | s1 dist 26 | over 8 + @ b@+ + | s1 dist dw 27 | pick2 12 + @ b@ + 28 | distfast 2/ - | s1 dd 29 | +? ( 2drop 0 ; ) 30 | drop ; 31 | 32 | ::sHitLayer | 'spr 'adr -- 0/'otro 33 | ( @+ 1? )( pick2 | 'spr 'adr 'nesp 'spr 34 | hit? 1? ( nip nip ; ) 35 | drop ) 3drop 0 ; 36 | 37 | ::sMapLayer | 'func 'layer -- 38 | ( @+ 1? )( pick2 exec ) 3drop ; 39 | 40 | ::sDropLayer | 'spr 'layer -- 41 | ( @+ 0? ( 3drop ; ) pick2 <>? )( drop ) drop nip 42 | ( dup @ 1? )( swap 4 - !+ 4+ ) swap 4 - ! 43 | ; 44 | 45 | ::sAddLayer | 'sprit 'layer -- 46 | ( @+ 1? )( drop ) 47 | rot rot 4 - !+ ! ; 48 | -------------------------------------------------------------------------------- /r4asm/include/MACRO/COM64.INC: -------------------------------------------------------------------------------- 1 | 2 | ; Macroinstructions for interfacing the COM (Component Object Model) classes 3 | 4 | macro cominvk object,proc,[arg] 5 | { common 6 | assert defined com.object.#object ; must be a COM object 7 | macro call dummy 8 | \{ mov rax,[object] 9 | mov rax,[rax] 10 | call [rax+object#.#proc] \} 11 | fastcall ,[object],arg 12 | purge call } 13 | 14 | macro comcall handle,interface,proc,[arg] 15 | { common 16 | assert defined com.interface.#interface ; must be a COM interface 17 | macro call dummy 18 | \{ if handle eqtype rax | handle eqtype 0 19 | local ..handle 20 | label ..handle at handle 21 | mov rax,[..handle] 22 | else 23 | mov rax,handle 24 | mov rax,[rax] 25 | end if 26 | call [rax+interface#.#proc] \} 27 | fastcall ,handle,arg 28 | purge call } 29 | 30 | macro interface name,[proc] 31 | { common 32 | struc name \{ 33 | match any, fields@struct \\{ fields@struct equ fields@struct,.,name, \\} 34 | match , fields@struct \\{ . dq ? 35 | virtual at 0 36 | forward 37 | .#proc dq ? 38 | common 39 | com.object.\#. = com.interface.#name 40 | end virtual \\} \} 41 | virtual at 0 42 | forward 43 | name#.#proc dq ? 44 | common 45 | com.interface.#name = $ shr 2 46 | end virtual } 47 | 48 | -------------------------------------------------------------------------------- /r4/Lib/vkeyboard.txt: -------------------------------------------------------------------------------- 1 | ^r4/lib/btn.txt 2 | 3 | #teclasAlpha1 4 | "Qq1" "Ww2" "Ee3" "Rr4" "Tt5" "Yy6" "Uu7" "Ii8" "Oo9" "Pp0" 5 | "Aa!" "Ss@" "Dd#" "Ff$" "Gg""" "Hh&" "Jj*" "Kk?" "Ll/" "^_\" 6 | "Zz_" "Xx%" "Cc'" "Vv(" "Bb)" "Nn-" "Mm+" "[{." "|=;" "]}," 7 | ",;<" " " ".:>" " " " " " " "AAA" "123" ">!" "<--" 8 | 9 | #modo 0 10 | #:vkey 0 11 | 12 | :kbac 1 'vkey ! ; 13 | :kdel 2 'vkey ! ; 14 | :kins 3 'vkey ! ; 15 | :kenter 13 'vkey ! ; 16 | :ktab 9 'vkey ! ; 17 | :kcambio modo 1 xor 1 and 'modo ! ; 18 | :kcambion 2 'modo ! ; 19 | 20 | #especial kbac kdel kins kcambion kcambio ktab kenter 21 | 22 | :tecesp 23 | dup 2 << 'especial + @ exec ; 24 | 25 | #icons "BAC" "DEL" "INS" "123" "aBc" "->|" "<--" 26 | 27 | :teclaesp 28 | 33 - 29 | home azul 30 | 'tecesp btn 31 | blanco 2 << 'icons + printc ; 32 | 33 | :tec 34 | dup 2 << 'teclasAlpha1 + modo + c@ 'vkey ! ; 35 | 36 | :tecla 37 | 32 >? ( teclaesp ; ) 38 | home negro 39 | 'tec btn 40 | blanco 2 << 'teclasAlpha1 + 41 | modo + c@ "%k" printc ; 42 | 43 | #bw #bh 44 | ::vkeyboard 45 | sw 10 / sh 12 / 2dup dim 46 | 'bh ! 'bw ! 47 | 0 48 | 0 ( 4 a 16 | 0 ( 256 > 'yy ! 33 | ; 34 | 35 | :drawhsv 36 | 1.0 w / 'sx ! 37 | 1.0 h / 'sy ! 38 | xc w 2/ - yc h 2/ - 39 | 0 ( 1.0 esc< 74 | ; 75 | 76 | : 0 'paper ! inicio ; 77 | 78 | -------------------------------------------------------------------------------- /r4/Games/flapi.spr: -------------------------------------------------------------------------------- 1 | | Nsprite file 2 | #:Bird1 3 | $D9039521 $DB2468B3 $17846463 $180F92F3 $D903952A $19CA8D7 $EDDB9FD8 $FF0000C $FFCD00E $16FBB541 $2D6BD333 $38A7F113 $2013F113 $16F83133 $16FBB54A $2C142027 $FA3B7F8 4 | $FFCD00C $FF6600E $FE6B9FD1 $F7779742 $F667BFE4 $F5DFF9A2 $FDE3FBC4 $7780002 $55BBFE4 $6F3A642 $FE6B9FD9 $40404D7 $FCCFAA88 $62FFC $E $FB341DE1 $D297A1E3 5 | $D7EFBFD3 $CFEBCCA3 $D0FBD862 $D297EA94 $CFEBF313 $D31C1333 $D5404CE3 $EB2868A2 $FB341DE4 $FE8C50A7 $DF4BAB88 $62FFC $E 0 6 | #:Cosodeabajo 7 | $D7EDFEE1 $D5C82893 $C6D42673 $C75C0003 $2CE40443 $2E7C2893 $20982893 $1EFDFEE3 $D7EDFEEA $BC10D57 $FF78EB28 $64FF00C $A601E 0 8 | #:Cosodearriba 9 | $D3AA0781 $D433D993 $C0F3DDD3 $C0680003 $34E80003 $34EBDBB3 $2013D993 $209A0783 $D3AA078A $EC3E5F37 $109312C8 $64FF00C $A601E 0 10 | #:pasto1 11 | $82F5FAA1 $82F5C533 $7EA9BEC3 $7EA9F883 $82F5FAAA $F889F437 $F889C538 $A68500C $592400E 0 12 | #:Bird2 13 | $D9039521 $DB2468B3 $17846463 $180F92F3 $D903952A $19CA8D7 $EDDB9FD8 $FF0000C $FFCD00E $16FBB541 $2D6BD333 $38A7F113 $2233E673 $16F83133 $16FBB54A $2C142027 $FA3B7F8 14 | $FFCD00C $FF6600E $FE6B9FD1 $F7779742 $F667BFE4 $F5DFF9A2 $FDE3FBC4 $7780002 $55BBFE4 $6F3A642 $FE6B9FD9 $40404D7 $FCCFAA88 $62FFC $E $E76BCCB1 $DEDFCCB2 15 | $E18C1564 $D070D7E2 $E65C6474 $FA20E4B2 $EC3C0CD4 $EFF7CCB2 $E76BCCB9 $F14C48A7 $E47BE218 $62FFC $E 0 16 | -------------------------------------------------------------------------------- /r4/Lib/fontm.txt: -------------------------------------------------------------------------------- 1 | | font monospace 2 | | PHREDA 2014 3 | |------------------------------- 4 | ^r4/lib/grpix.txt 5 | ^r4/lib/print.txt 6 | 7 | :a00 4 a+ ; 8 | :a01 a@ ink@ color33% a!+ ; 9 | :a10 ink@ a@ color33% a!+ ; 10 | :a11 ink@ a!+ ; 11 | 12 | #acc a00 a01 a10 a11 13 | #acn a11 a10 a01 a00 14 | 15 | :charsizem | byte -- size 16 | ccw nip ; 17 | 18 | :charline | sx n bit -- 19 | 0? ( drop ccw 2 << a+ ; ) 20 | ccw ( 1? )( 1- swap dup $3 and 2 << 'acc + @ exec 2 >> swap ) 2drop ; 21 | 22 | :charm | c -- 23 | charlin * charrom + 24 | ccx ccy setxy 25 | sw ccw - 2 << 26 | cch ( 1? )( 1- 27 | rot @+ charline rot rot 28 | over a+ 29 | ) 3drop ; 30 | 31 | ::charmt | c -- 32 | $ff and charlin * charrom + 33 | sw ccw - 2 << 34 | cch ( 1? )( 1- 35 | rot @+ charline rot rot 36 | over a+ 37 | ) 3drop ; 38 | 39 | :charlinen | sx n bit -- 40 | 0? ( drop ccw ( 1? )( 1- ink@ a!+ ) drop ; ) 41 | ccw ( 1? )( 1- swap dup $3 and 2 << 'acn + @ exec 2 >> swap ) 2drop ; 42 | 43 | ::charmtn | c -- 44 | $ff and charlin * charrom + 45 | sw ccw - 2 << 46 | cch ( 1? )( 1- 47 | rot @+ charlinen rot rot 48 | over a+ 49 | ) 3drop ; 50 | 51 | 52 | ::fontm | 'fontm -- 53 | >a a@+ dup 2 << 'charlin ! 54 | a@+ swap fixsize 55 | a> 'charrom ! 56 | 'charm 'charsizem setfont ; 57 | -------------------------------------------------------------------------------- /r4/r3/r3c.txt: -------------------------------------------------------------------------------- 1 | | r3 compiler 2 | | PHREDA 2018 3 | |------------------ 4 | ^r4/lib/gui.txt 5 | ^r4/lib/trace.txt 6 | 7 | ^./r3base.txt 8 | ^./r3pass1.txt 9 | ^./r3pass2.txt 10 | ^./r3pass3.txt 11 | ^./r3pass4.txt 12 | ^./r3gencod.txt 13 | ^./r3gendat.txt 14 | 15 | ::r3name | "" -- 16 | dup 17 | 'r3filename strcpy 18 | 'r3path strcpyl 19 | ( 'r3path >? )( 1- 20 | dup c@ $2f | / 21 | =? ( drop 0 swap c! ; ) 22 | drop ) drop 23 | 0 'r3path ! 24 | ; 25 | 26 | ::r3c | str -- 27 | r3name 28 | 29 | "load" slog 30 | here dup 'src ! 31 | 'r3filename 32 | 2dup load | "fn" mem 33 | here =? ( "no src" slog ; ) 34 | 0 swap c!+ 'here ! 35 | 36 | 0 'error ! 37 | 0 'cnttokens ! 38 | 0 'cntdef ! 39 | 'inc 'inc> ! 40 | 41 | "pass1" slog 42 | swap r3-stage-1 43 | 44 | cnttokens "..toks:%d" slog 45 | cntdef "..def:%d" slog 46 | 47 | "pass2" slog 48 | r3-stage-2 49 | 50 | 1? ( "error ** %d" slog ; ) drop 51 | code> code - 2 >> "..code:%d" slog 52 | 53 | | debugdicc 54 | 55 | "pass3" slog 56 | r3-stage-3 57 | 58 | "pass4" slog 59 | r3-stage-4 60 | 61 | "gencode" slog 62 | r3-gencode 63 | r3-gendata 64 | 65 | ; 66 | 67 | : mark 68 | clrscr 69 | "r4/r3/r3/main.r3" 70 | | "r4/r3/r3/pattern-XOR.r3" 71 | | "r4/r3/r3/XYMOUSE.r3" 72 | r3c 73 | spause 74 | ; 75 | 76 | -------------------------------------------------------------------------------- /media/obj/Yumi.mtl: -------------------------------------------------------------------------------- 1 | # 2 | # Yumi.mtl 3 | # 4 | 5 | newmtl Material12 6 | illum 2 7 | Kd 0.800000 0.800000 0.800000 8 | Ka 0.200000 0.200000 0.200000 9 | Ks 0.000000 0.000000 0.000000 10 | Ke 0.000000 0.000000 0.000000 11 | Ns 0.000000 12 | map_Kd Tex_0036_0.png 13 | 14 | newmtl Material13 15 | illum 2 16 | Kd 0.800000 0.800000 0.800000 17 | Ka 0.200000 0.200000 0.200000 18 | Ks 0.000000 0.000000 0.000000 19 | Ke 0.000000 0.000000 0.000000 20 | Ns 0.000000 21 | map_Kd Tex_0037_0.png 22 | 23 | newmtl Material14 24 | illum 2 25 | Kd 0.800000 0.800000 0.800000 26 | Ka 0.200000 0.200000 0.200000 27 | Ks 0.000000 0.000000 0.000000 28 | Ke 0.000000 0.000000 0.000000 29 | Ns 0.000000 30 | map_Kd Tex_0038_0.png 31 | 32 | newmtl Material15 33 | illum 2 34 | Kd 0.800000 0.800000 0.800000 35 | Ka 0.200000 0.200000 0.200000 36 | Ks 0.000000 0.000000 0.000000 37 | Ke 0.000000 0.000000 0.000000 38 | Ns 0.000000 39 | map_Kd Tex_0039_0.png 40 | 41 | newmtl Material16 42 | illum 2 43 | Kd 0.800000 0.800000 0.800000 44 | Ka 0.200000 0.200000 0.200000 45 | Ks 0.000000 0.000000 0.000000 46 | Ke 0.000000 0.000000 0.000000 47 | Ns 0.000000 48 | map_Kd Tex_0040_0.png 49 | 50 | newmtl Material17 51 | illum 2 52 | Kd 0.800000 0.800000 0.800000 53 | Ka 0.200000 0.200000 0.200000 54 | Ks 0.000000 0.000000 0.000000 55 | Ke 0.000000 0.000000 0.000000 56 | Ns 0.000000 57 | map_Kd Tex_0041_0.png 58 | -------------------------------------------------------------------------------- /r4/Dev/miniscreen.txt: -------------------------------------------------------------------------------- 1 | | miniscreen 2 | | PHREDA 2019 3 | |------------- 4 | ^r4/lib/gui.txt 5 | 6 | #inish #steph #hsh 7 | #inisw #stepw #wsw 8 | #sumDa #sumDb 9 | #sumAa #sumAb 10 | 11 | :miniscreen | w h -- 12 | sh over /mod 2/ 'inish ! 'steph ! 'hsh ! 13 | sw over /mod 2/ 'inisw ! 'stepw ! 'wsw ! 14 | sw stepw - 2 << 'sumda ! 15 | sw stepw * steph + 2 << neg 'sumdb ! 16 | sw steph 1- * 2 << neg 'sumaa ! 17 | sw wsw - 2 << neg 'sumab ! 18 | ; 19 | 20 | :shaderdot | col -- 21 | steph ( 1? )( 22 | stepw ( 1? )( 23 | pick2 a!+ 24 | 1- ) drop 25 | sumda a+ 26 | 1- ) 2drop 27 | sumdb a+ ; 28 | 29 | :minidraw 30 | sw inisw - stepw - 31 | sh inish - steph - 32 | xy>v >a 33 | wsw 1- hsh 1- xy>v >b 34 | hsh ( 1? )( 35 | wsw ( 1? )( 36 | b@ shaderdot 37 | -4 b+ 38 | 1- ) drop 39 | sumaa a+ 40 | sumab b+ 41 | 1- ) drop 42 | paper framev inish sw * FILL 43 | ; 44 | 45 | :draw 46 | msec ink 47 | 255 127 0 0 caja 48 | verde 49 | 10 10 op 50 | 200 100 line 51 | rojo 52 | 10 110 op 53 | 180 30 line 54 | azul 55 | 255 128 op 56 | 40 10 line 57 | violeta 58 | 254 128 op 59 | 200 10 line 60 | blanco 61 | 180 110 atxy 62 | msec "%d" print 63 | ; 64 | 65 | :main 66 | 256 128 miniscreen 67 | show clrscr 68 | draw 69 | minidraw 70 | 'exit >esc< 71 | ; 72 | 73 | : main ; -------------------------------------------------------------------------------- /r4/r3/r3.txt: -------------------------------------------------------------------------------- 1 | | r3d4 erretresdecuatro 2 | | 2018 PHREDA 3 | |------------------- 4 | ^r4/lib/gui.txt 5 | ^r4/lib/input.txt 6 | ^r4/lib/fontpc.txt 7 | 8 | ^r4/lib/trace.txt 9 | ^r4/r3/r3c.txt 10 | 11 | #nivel 0 12 | #pad )( 256 13 | 14 | #tokens )( 1024 15 | #tokens> 'tokens 16 | 17 | |#testtok $2071107 $87 $103b3a 0 18 | 19 | :tokeniza | adr -- 0/err 20 | | ( r3token 21 | | -? ( ; ) 22 | | 0? ) ; 23 | 24 | :enter 25 | 'pad tokeniza drop 26 | | 'testtok 27 | | 'tokens vmrun 28 | 0 'pad ! refreshfoco ; 29 | 30 | 31 | :padin 32 | blanco ": " print 33 | 'pad 256 inputcr 34 | 'enter 35 | ; 36 | 37 | |------------------------------------------- 38 | :header 39 | rojo " r" print verde "3D" print azul "4" print 40 | blanco " Future Retro Computer" print cr 41 | ; 42 | 43 | :scrachpad2 44 | cr 45 | cr 46 | ; 47 | 48 | :stacks 49 | cr 50 | "d) " print 51 | | dumpDstack 52 | ; 53 | 54 | :load&comp | str -- 55 | here swap load 56 | here memmap 57 | 58 | ; 59 | 60 | :testcompila 61 | "r4/r3/r3/" r3path 62 | "main.r3" load&comp 63 | ; 64 | 65 | :inicio 66 | | $ffffff 'paper ! 67 | | 'tokens iniToken 68 | | IniSTACK 69 | fontpc 70 | show clrscr 71 | header |cr 72 | padin cr 73 | | scrachpad cr 74 | stacks 75 | [ testcompila ; ] 76 | 'exit >esc< 77 | ; 78 | 79 | 80 | : mark inicio ; 81 | -------------------------------------------------------------------------------- /r4/Demos/test-rmat.txt: -------------------------------------------------------------------------------- 1 | | test rmation 2 | | PHREDA 3 | |------------------- 4 | ^r4/lib/gui.txt 5 | ^r4/lib/vsprite.txt 6 | ^r4/lib/bmr.txt 7 | ^r4/lib/fontj.txt 8 | 9 | ^inc/dibujos.rmt 10 | ^inc/pelea.spr 11 | |^inc/pelea.vsp 12 | ^inc/pablo.bmr 13 | 14 | #cntrn 64 15 | #rn 0 16 | 17 | 18 | :rnmap | 'vector -- 19 | rn cntrn ( 1? )( 1- swap pick2 exec 32 + swap ) 3drop ; 20 | 21 | :freeze 22 | show 'exit 23 | ; 24 | 25 | |-------------------------- 26 | #act new0 new1 new2 new3 new4 new5 new6 new7 0 27 | 28 | #actv 'act 29 | :vala 30 | actv @+ 0? ( 2drop 'act @+ ) 31 | swap 'actv ! ; 32 | 33 | :initr 34 | dup >a 35 | 0 0 0 0 0 0 'new7 |vala 36 | 1.0 a!+ a!+ a!+ a!+ a!+ a!+ a!+ a! 37 | | rand 8 >> $ff and 1+ ( 1? )( 1- over rstep ) drop 38 | ; 39 | |---------------------------- 40 | 41 | :drawplane 42 | mpush 43 | over $7 and 3 - 0.9 * 44 | pick2 3 >> $7 and 3 - 0.9 * 45 | | 2dup "%d %d" print cr 46 | 0 mtransi 47 | dup rplay 48 | mpop ; 49 | 50 | :main 51 | here dup 'rn ! 52 | cntrn 5 << + 'here ! 53 | 54 | 'initr rnmap 55 | 56 | fontj 57 | show clrscr 58 | dup "%d" print cr 59 | omode 60 | msec 2/ mrotx 61 | msec 3 >> mrotz 62 | 63 | 0 0 5.0 mtrans 64 | 65 | 'drawplane rnmap 66 | | [ dup rplay 0.26 0 0 mtransi ; ] rnmap 67 | 'exit >esc< 68 | 'freeze 69 | ; 70 | 71 | 72 | : mark 33 main ; --------------------------------------------------------------------------------