├── index.html
├── _config.yml
├── www
└── zxspectrum
│ ├── input
│ ├── scr
│ │ ├── rpg
│ │ │ └── nada.txt
│ │ ├── war
│ │ │ └── nada.txt
│ │ ├── arcade
│ │ │ └── nada.txt
│ │ ├── board
│ │ │ └── nada.txt
│ │ ├── card
│ │ │ └── nada.txt
│ │ ├── chess
│ │ │ └── nada.txt
│ │ ├── combat
│ │ │ └── nada.txt
│ │ ├── dungeon
│ │ │ └── nada.txt
│ │ ├── fight
│ │ │ └── nada.txt
│ │ ├── pinball
│ │ │ └── nada.txt
│ │ ├── pong
│ │ │ └── nada.txt
│ │ ├── puzzle
│ │ │ └── nada.txt
│ │ ├── scene
│ │ │ └── nada.txt
│ │ ├── strategy
│ │ │ └── nada.txt
│ │ ├── maze
│ │ │ ├── MadMix.scr
│ │ │ ├── FnMatrix.scr
│ │ │ ├── MadMix2.scr
│ │ │ └── MsPacMan.scr
│ │ ├── race
│ │ │ ├── 4x4Off.scr
│ │ │ ├── scr4x4.scr
│ │ │ └── TestDri2.scr
│ │ ├── action
│ │ │ ├── Batman.scr
│ │ │ ├── Goody.scr
│ │ │ ├── Rampage.scr
│ │ │ └── RoboCop.scr
│ │ ├── shoot
│ │ │ ├── JetPac.scr
│ │ │ ├── Platoon.scr
│ │ │ ├── RamboIII.scr
│ │ │ └── gameover.scr
│ │ ├── platform
│ │ │ ├── Bobble.scr
│ │ │ ├── Cobra.scr
│ │ │ └── RType.scr
│ │ ├── simul
│ │ │ └── AceOfAce.scr
│ │ ├── sport
│ │ │ └── Californ.scr
│ │ └── venture
│ │ │ └── BestialW.scr
│ └── sna
│ │ ├── 128k
│ │ └── nada.txt
│ │ └── 48k
│ │ ├── app
│ │ └── nada.txt
│ │ ├── card
│ │ └── nada.txt
│ │ ├── quiz
│ │ └── nada.txt
│ │ ├── rpg
│ │ └── nada.txt
│ │ ├── war
│ │ └── nada.txt
│ │ ├── board
│ │ └── nada.txt
│ │ ├── chess
│ │ └── nada.txt
│ │ ├── combat
│ │ └── nada.txt
│ │ ├── dungeon
│ │ └── nada.txt
│ │ ├── fight
│ │ └── nada.txt
│ │ ├── gambling
│ │ └── nada.txt
│ │ ├── pinball
│ │ └── nada.txt
│ │ ├── school
│ │ └── nada.txt
│ │ ├── strategy
│ │ └── nada.txt
│ │ ├── tactical
│ │ └── nada.txt
│ │ ├── action
│ │ ├── amc1.sna
│ │ ├── goody.sna
│ │ ├── ThePunk.sna
│ │ ├── batman.sna
│ │ └── robocop.sna
│ │ ├── arcade
│ │ ├── 1942.sna
│ │ ├── 1943.sna
│ │ ├── Bumpy.sna
│ │ ├── Motos.sna
│ │ ├── Nstar.sna
│ │ ├── Pippo.sna
│ │ ├── Pssst.sna
│ │ ├── manic.sna
│ │ ├── panic.sna
│ │ ├── Cookie.sna
│ │ ├── Ghosts.sna
│ │ ├── Karnov.sna
│ │ ├── PacMan.sna
│ │ ├── Packrat.sna
│ │ ├── Pheenix.sna
│ │ ├── Seymour.sna
│ │ ├── Targetr.sna
│ │ ├── Uridium.sna
│ │ ├── Zynaps.sna
│ │ ├── bombman.sna
│ │ ├── fantasy.sna
│ │ ├── greenb.sna
│ │ ├── zaxxon.sna
│ │ ├── AticAtac.sna
│ │ ├── BountBob.sna
│ │ ├── FlyShark.sna
│ │ ├── GlugGlug.sna
│ │ ├── Humphrey.sna
│ │ ├── Hyperact.sna
│ │ ├── NiftyLif.sna
│ │ ├── OrcAtack.sna
│ │ ├── Penetrat.sna
│ │ ├── PercyPot.sna
│ │ ├── Solomons.sna
│ │ ├── bombjack.sna
│ │ ├── rainerbe.sna
│ │ ├── robotron.sna
│ │ ├── saboteu1.sna
│ │ └── 1942Megalargodenarices.sna
│ │ ├── maze
│ │ ├── Bubble.sna
│ │ ├── madmix.sna
│ │ ├── madmix2.sna
│ │ ├── FnMatrix.sna
│ │ └── MsPacMan.sna
│ │ ├── mouse
│ │ ├── fire.sna
│ │ ├── sipka.sna
│ │ ├── 3Dcoolkm.sna
│ │ ├── 4openKM.sna
│ │ ├── Silkworm.sna
│ │ ├── editorKM.sna
│ │ └── mouseTes.sna
│ │ ├── pong
│ │ └── sppong.sna
│ │ ├── puzzle
│ │ ├── simon.sna
│ │ └── tetris.sna
│ │ ├── scene
│ │ ├── Wicked.sna
│ │ ├── scroll.sna
│ │ ├── 1stDemo.sna
│ │ ├── BabyInot.sna
│ │ ├── BartDemo.sna
│ │ ├── BlueSky.sna
│ │ ├── ESIDemo.sna
│ │ ├── PeteJuke.sna
│ │ ├── Tunnel4K.sna
│ │ ├── Zer0Demo.sna
│ │ ├── diashow.sna
│ │ └── DreamWalker48.sna
│ │ ├── shoot
│ │ ├── jetPac.sna
│ │ ├── gameover.sna
│ │ ├── platoon.sna
│ │ └── ramboIII.sna
│ │ ├── tools
│ │ ├── diag.sna
│ │ └── 48z80ful.sna
│ │ ├── platform
│ │ ├── cobra.sna
│ │ └── booble.sna
│ │ ├── race
│ │ └── TestDri2.sna
│ │ ├── simul
│ │ └── AceOfAce.sna
│ │ ├── sport
│ │ └── californ.sna
│ │ └── venture
│ │ ├── BestialW.sna
│ │ ├── ConQuest.sna
│ │ └── WizLair2.sna
│ ├── output
│ ├── outlist
│ │ ├── scr
│ │ │ ├── card.txt
│ │ │ ├── pong.txt
│ │ │ ├── rpg.txt
│ │ │ ├── war.txt
│ │ │ ├── arcade.txt
│ │ │ ├── board.txt
│ │ │ ├── chess.txt
│ │ │ ├── combat.txt
│ │ │ ├── dungeon.txt
│ │ │ ├── fight.txt
│ │ │ ├── nada.txt
│ │ │ ├── pinball.txt
│ │ │ ├── puzzle.txt
│ │ │ ├── scene.txt
│ │ │ ├── strategy.txt
│ │ │ ├── simul.txt
│ │ │ ├── sport.txt
│ │ │ ├── venture.txt
│ │ │ ├── race.txt
│ │ │ ├── platform.txt
│ │ │ ├── action.txt
│ │ │ ├── maze.txt
│ │ │ └── shoot.txt
│ │ └── sna
│ │ │ ├── 48k
│ │ │ ├── app.txt
│ │ │ ├── board.txt
│ │ │ ├── card.txt
│ │ │ ├── chess.txt
│ │ │ ├── fight.txt
│ │ │ ├── quiz.txt
│ │ │ ├── rpg.txt
│ │ │ ├── war.txt
│ │ │ ├── combat.txt
│ │ │ ├── dungeon.txt
│ │ │ ├── gambling.txt
│ │ │ ├── pinball.txt
│ │ │ ├── school.txt
│ │ │ ├── strategy.txt
│ │ │ ├── tactical.txt
│ │ │ ├── pong.txt
│ │ │ ├── race.txt
│ │ │ ├── simul.txt
│ │ │ ├── sport.txt
│ │ │ ├── tools.txt
│ │ │ ├── platform.txt
│ │ │ ├── puzzle.txt
│ │ │ ├── venture.txt
│ │ │ ├── shoot.txt
│ │ │ ├── action.txt
│ │ │ ├── maze.txt
│ │ │ ├── mouse.txt
│ │ │ ├── scene.txt
│ │ │ └── arcade.txt
│ │ │ └── 128k
│ │ │ └── nada.txt
│ └── outdat
│ │ ├── scr
│ │ ├── fight
│ │ │ └── nada.txt
│ │ ├── pong
│ │ │ └── nada.txt
│ │ ├── rpg
│ │ │ └── nada.txt
│ │ ├── scene
│ │ │ └── nada.txt
│ │ ├── war
│ │ │ └── nada.txt
│ │ ├── arcade
│ │ │ └── nada.txt
│ │ ├── board
│ │ │ └── nada.txt
│ │ ├── card
│ │ │ └── nada.txt
│ │ ├── chess
│ │ │ └── nada.txt
│ │ ├── combat
│ │ │ └── nada.txt
│ │ ├── dungeon
│ │ │ └── nada.txt
│ │ ├── pinball
│ │ │ └── nada.txt
│ │ ├── puzzle
│ │ │ └── nada.txt
│ │ ├── strategy
│ │ │ └── nada.txt
│ │ ├── action
│ │ │ ├── Batman.scr
│ │ │ ├── Goody.scr
│ │ │ ├── Rampage.scr
│ │ │ └── RoboCop.scr
│ │ ├── maze
│ │ │ ├── FnMatrix.scr
│ │ │ ├── MadMix.scr
│ │ │ ├── MadMix2.scr
│ │ │ └── MsPacMan.scr
│ │ ├── race
│ │ │ ├── 4x4Off.scr
│ │ │ ├── TestDri2.scr
│ │ │ └── scr4x4.scr
│ │ ├── shoot
│ │ │ ├── JetPac.scr
│ │ │ ├── Platoon.scr
│ │ │ ├── RamboIII.scr
│ │ │ └── gameover.scr
│ │ ├── platform
│ │ │ ├── Bobble.scr
│ │ │ ├── Cobra.scr
│ │ │ └── RType.scr
│ │ ├── simul
│ │ │ └── AceOfAce.scr
│ │ ├── sport
│ │ │ └── Californ.scr
│ │ └── venture
│ │ │ └── BestialW.scr
│ │ └── sna
│ │ ├── 128k
│ │ └── nada.txt
│ │ └── 48k
│ │ ├── app
│ │ └── nada.txt
│ │ ├── board
│ │ └── nada.txt
│ │ ├── card
│ │ └── nada.txt
│ │ ├── chess
│ │ └── nada.txt
│ │ ├── combat
│ │ └── nada.txt
│ │ ├── fight
│ │ └── nada.txt
│ │ ├── quiz
│ │ └── nada.txt
│ │ ├── rpg
│ │ └── nada.txt
│ │ ├── school
│ │ └── nada.txt
│ │ ├── war
│ │ └── nada.txt
│ │ ├── dungeon
│ │ └── nada.txt
│ │ ├── gambling
│ │ └── nada.txt
│ │ ├── pinball
│ │ └── nada.txt
│ │ ├── strategy
│ │ └── nada.txt
│ │ ├── tactical
│ │ └── nada.txt
│ │ ├── action
│ │ ├── amc1.sna
│ │ ├── ThePunk.sna
│ │ ├── batman.sna
│ │ ├── goody.sna
│ │ └── robocop.sna
│ │ ├── arcade
│ │ ├── 1942.sna
│ │ ├── 1943.sna
│ │ ├── Bumpy.sna
│ │ ├── Cookie.sna
│ │ ├── Ghosts.sna
│ │ ├── Karnov.sna
│ │ ├── Motos.sna
│ │ ├── Nstar.sna
│ │ ├── PacMan.sna
│ │ ├── Packrat.sna
│ │ ├── Pheenix.sna
│ │ ├── Pippo.sna
│ │ ├── Pssst.sna
│ │ ├── Seymour.sna
│ │ ├── Targetr.sna
│ │ ├── Uridium.sna
│ │ ├── Zynaps.sna
│ │ ├── bombman.sna
│ │ ├── fantasy.sna
│ │ ├── greenb.sna
│ │ ├── manic.sna
│ │ ├── panic.sna
│ │ ├── zaxxon.sna
│ │ ├── 1942ME~1.sna
│ │ ├── AticAtac.sna
│ │ ├── BountBob.sna
│ │ ├── FlyShark.sna
│ │ ├── GlugGlug.sna
│ │ ├── Humphrey.sna
│ │ ├── Hyperact.sna
│ │ ├── NiftyLif.sna
│ │ ├── OrcAtack.sna
│ │ ├── Penetrat.sna
│ │ ├── PercyPot.sna
│ │ ├── Solomons.sna
│ │ ├── bombjack.sna
│ │ ├── rainerbe.sna
│ │ ├── robotron.sna
│ │ └── saboteu1.sna
│ │ ├── maze
│ │ ├── Bubble.sna
│ │ ├── madmix.sna
│ │ ├── FnMatrix.sna
│ │ ├── MsPacMan.sna
│ │ └── madmix2.sna
│ │ ├── mouse
│ │ ├── fire.sna
│ │ ├── sipka.sna
│ │ ├── 3Dcoolkm.sna
│ │ ├── 4openKM.sna
│ │ ├── Silkworm.sna
│ │ ├── editorKM.sna
│ │ └── mouseTes.sna
│ │ ├── pong
│ │ └── sppong.sna
│ │ ├── tools
│ │ ├── diag.sna
│ │ └── 48z80ful.sna
│ │ ├── platform
│ │ ├── cobra.sna
│ │ └── booble.sna
│ │ ├── puzzle
│ │ ├── simon.sna
│ │ └── tetris.sna
│ │ ├── race
│ │ └── TestDri2.sna
│ │ ├── scene
│ │ ├── 1stDemo.sna
│ │ ├── BabyInot.sna
│ │ ├── BartDemo.sna
│ │ ├── BlueSky.sna
│ │ ├── DREAMW~1.sna
│ │ ├── ESIDemo.sna
│ │ ├── PeteJuke.sna
│ │ ├── Tunnel4K.sna
│ │ ├── Wicked.sna
│ │ ├── Zer0Demo.sna
│ │ ├── diashow.sna
│ │ └── scroll.sna
│ │ ├── shoot
│ │ ├── gameover.sna
│ │ ├── jetPac.sna
│ │ ├── platoon.sna
│ │ └── ramboIII.sna
│ │ ├── simul
│ │ └── AceOfAce.sna
│ │ ├── sport
│ │ └── californ.sna
│ │ └── venture
│ │ ├── BestialW.sna
│ │ ├── ConQuest.sna
│ │ └── WizLair2.sna
│ ├── build.bat
│ ├── dsk.exe
│ ├── data83.bat
│ ├── lowerscr.bat
│ ├── lowersna.bat
│ └── list.bat
├── tools
└── data2h
│ ├── input
│ ├── tape
│ │ ├── 128k
│ │ │ └── nada.txt
│ │ └── 48k
│ │ │ ├── 3DLunattack.tap
│ │ │ └── Kingdom19xx.tap
│ ├── scr
│ │ ├── trixs01.scr
│ │ ├── trixs02.scr
│ │ └── trixs03.scr
│ ├── sna
│ │ ├── 48k
│ │ │ ├── GDC.sna
│ │ │ └── coloristic.sna
│ │ └── 128k
│ │ │ └── MusicDemo128.sna
│ └── roms
│ │ ├── 48k
│ │ ├── jupiter
│ │ │ └── 0.rom
│ │ └── sinclair
│ │ │ └── 0.rom
│ │ └── 128k
│ │ ├── 305zx80IF2
│ │ └── 0.rom
│ │ ├── 308zx81IF2
│ │ └── 0.rom
│ │ └── SINCLAIR128
│ │ ├── 0.rom
│ │ └── 1.rom
│ ├── output
│ └── dataFlash
│ │ ├── roms
│ │ └── nada.txt
│ │ ├── scr
│ │ └── nada.txt
│ │ ├── sna
│ │ └── nada.txt
│ │ └── tape
│ │ └── nada.txt
│ └── data.exe
├── esp32
├── TinyZXESPectrumttgovga32
│ ├── doc
│ │ └── nada.txt
│ ├── lib
│ │ └── nada.txt
│ ├── .pio
│ │ ├── build
│ │ │ └── nada
│ │ └── libdeps
│ │ │ └── lolin32
│ │ │ └── nada.txt
│ ├── .vscode
│ │ └── nada.txt
│ ├── data
│ │ ├── nada.txt
│ │ ├── rom
│ │ │ └── nada.txt
│ │ ├── sna
│ │ │ └── nada.txt
│ │ └── persist
│ │ │ └── nada.txt
│ ├── include
│ │ └── nada.txt
│ ├── .gitattributes
│ ├── ZXESPectrum
│ │ ├── fart.exe
│ │ ├── gb_sdl_font8x8.h
│ │ ├── clock.h
│ │ ├── startup.h
│ │ ├── speed.h
│ │ ├── ulactrl.cpp
│ │ ├── clock.cpp
│ │ ├── dataFlash
│ │ │ ├── gbscr.h
│ │ │ ├── gbtape.h
│ │ │ ├── gbrom.h
│ │ │ └── gbsna.h
│ │ ├── gbWifi.h
│ │ ├── gbOptimice.cpp
│ │ ├── PS2Kbd.h
│ │ ├── gbOptimice.h
│ │ ├── ZXESPectrum.h
│ │ ├── keys.h
│ │ ├── gbWifiConfig.h
│ │ ├── Disk.h
│ │ ├── z80Input.h
│ │ ├── PS2Mouse.h
│ │ ├── jsanchezv_z80operations.h
│ │ ├── Memory.h
│ │ ├── fabglconf.h
│ │ ├── sna.cpp
│ │ ├── fabgl.h
│ │ ├── vga_6bit.h
│ │ ├── osd.h
│ │ ├── makeandroid.bat
│ │ ├── z80main.h
│ │ ├── Memory.cpp
│ │ ├── jsanchezv_z80sim.h
│ │ ├── z80config.h
│ │ ├── PS2Kbd.cpp
│ │ ├── hardware.h
│ │ ├── gbWifi.cpp
│ │ ├── swgenerator.h
│ │ ├── fabutils.h
│ │ ├── z80emu.h
│ │ ├── instructions.h
│ │ ├── z80user.h
│ │ └── gbConfig.h
│ ├── .gitignore
│ ├── platformio.ini.osx
│ ├── platformio.ini.linux
│ ├── platformio.ini
│ └── .clang-format
└── precompile
│ ├── JLS320x200
│ ├── boot_app0-0xE000.bin
│ ├── bootloader_dio_40m-0x1000.bin
│ ├── ZXESPectrumJLS320x200.ino-0x8000.bin
│ └── ZXESPectrumJLS320x200.ino.partitions-0x8000.bin
│ ├── LKF320x200
│ ├── boot_app0-0xE000.bin
│ ├── bootloader_dio_40m-0x1000.bin
│ ├── ZXESPectrumLKF320x200.ino-0x10000.bin
│ └── ZXESPectrumLKF320x200.ino.partitions-0x8000.bin
│ ├── JLS320x200AY8912
│ ├── boot_app0-0xE000.bin
│ ├── bootloader_dio_40m-0x1000.bin
│ ├── ZXESPectrumJLS320x200AY8912.ino-0x8000.bin
│ └── ZXESPectrumJLS320x200AY8912.ino.partitions-0x8000.bin
│ ├── LKF320x200AY8912
│ ├── boot_app0-0xE000.bin
│ ├── bootloader_dio_40m-0x1000.bin
│ ├── ZXESPectrumLKF320x200AY8912.ino-0x10000.bin
│ └── ZXESPectrumLKF320x200AY8912.partitions-0x8000.bin
│ ├── LKF320x200FixDouble
│ ├── boot_app0-0xE000.bin
│ ├── bootloader_dio_40m-0x1000.bin
│ ├── ZXESPectrumLKF320x200FixDouble-ino-0x10000.bin
│ └── ZXESPectrumLKF320x200FixDouble-ino-partitions-0x8000.bin
│ └── LKF320x200x70hzfabglFixDouble
│ ├── boot_app0-0xE000.bin
│ ├── bootloader_dio_40m-0x1000.bin
│ ├── ZXESPectrumLKF320x200x70hzfabglFixDouble-ino-0x10000.bin
│ └── ZXESPectrumLKF320x200x70hzfabglFixDouble-ino-partitions-0x8000.bin
├── preview
├── flash00.gif
├── flash01.gif
├── previewOSD.gif
├── tooltomeko.gif
├── previewZx128k.gif
├── previewzx48k.gif
├── puttyconfig.gif
├── ttgovga32v12.jpg
├── previewFantasy.gif
├── previewPlatformIO.gif
├── previewArduinoIDElibrary.gif
├── previewPlatformIOinstall.gif
└── previewArduinoIDEpreferences.gif
├── LICENSE
└── README.md
/index.html:
--------------------------------------------------------------------------------
1 | Test
2 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-hacker
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/rpg/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/war/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/tools/data2h/input/tape/128k/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/arcade/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/board/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/card/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/chess/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/combat/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/dungeon/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/fight/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/pinball/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/pong/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/puzzle/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/scene/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/strategy/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/128k/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/app/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/card/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/quiz/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/rpg/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/war/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/card.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/pong.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/rpg.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/war.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/doc/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/lib/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/tools/data2h/output/dataFlash/roms/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/tools/data2h/output/dataFlash/scr/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/tools/data2h/output/dataFlash/sna/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/tools/data2h/output/dataFlash/tape/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/board/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/chess/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/combat/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/dungeon/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/fight/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/gambling/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/pinball/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/school/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/strategy/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/tactical/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/fight/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/pong/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/rpg/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/scene/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/war/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/128k/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/arcade.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/board.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/chess.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/combat.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/dungeon.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/fight.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/pinball.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/puzzle.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/scene.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/strategy.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/app.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/board.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/card.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/chess.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/fight.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/quiz.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/rpg.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/war.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/.pio/build/nada:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/.vscode/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/data/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/data/rom/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/data/sna/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/include/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/arcade/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/board/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/card/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/chess/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/combat/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/dungeon/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/pinball/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/puzzle/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/strategy/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/app/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/board/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/card/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/chess/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/combat/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/fight/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/quiz/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/rpg/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/school/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/war/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/simul.txt:
--------------------------------------------------------------------------------
1 | AceOfAce
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/sport.txt:
--------------------------------------------------------------------------------
1 | Californ
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/venture.txt:
--------------------------------------------------------------------------------
1 | BestialW
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/128k/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/combat.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/dungeon.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/gambling.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/pinball.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/school.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/strategy.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/tactical.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/data/persist/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/dungeon/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/gambling/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/pinball/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/strategy/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/tactical/nada.txt:
--------------------------------------------------------------------------------
1 | n
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/pong.txt:
--------------------------------------------------------------------------------
1 | sppong
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/race.txt:
--------------------------------------------------------------------------------
1 | TestDri2
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/simul.txt:
--------------------------------------------------------------------------------
1 | AceOfAce
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/sport.txt:
--------------------------------------------------------------------------------
1 | californ
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/tools.txt:
--------------------------------------------------------------------------------
1 | 48z80fuldiag
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/.pio/libdeps/lolin32/nada.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/race.txt:
--------------------------------------------------------------------------------
1 | 4x4Off scr4x4 TestDri2
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/platform.txt:
--------------------------------------------------------------------------------
1 | booble cobra
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/puzzle.txt:
--------------------------------------------------------------------------------
1 | simon tetris
--------------------------------------------------------------------------------
/www/zxspectrum/build.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call data83.bat
3 | call list.bat
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/platform.txt:
--------------------------------------------------------------------------------
1 | Bobble Cobra RType
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/venture.txt:
--------------------------------------------------------------------------------
1 | BestialWConQuestWizLair2
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/action.txt:
--------------------------------------------------------------------------------
1 | Batman Goody Rampage RoboCop
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/maze.txt:
--------------------------------------------------------------------------------
1 | FnMatrixMadMix MadMix2 MsPacMan
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/scr/shoot.txt:
--------------------------------------------------------------------------------
1 | gameoverJetPac Platoon RamboIII
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/shoot.txt:
--------------------------------------------------------------------------------
1 | gameoverjetPac platoon ramboIII
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/action.txt:
--------------------------------------------------------------------------------
1 | amc1 batman goody robocop ThePunk
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/maze.txt:
--------------------------------------------------------------------------------
1 | Bubble FnMatrixmadmix madmix2 MsPacMan
--------------------------------------------------------------------------------
/preview/flash00.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/preview/flash00.gif
--------------------------------------------------------------------------------
/preview/flash01.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/preview/flash01.gif
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/mouse.txt:
--------------------------------------------------------------------------------
1 | 3Dcoolkm4openKM editorKMfire mouseTesSilkwormsipka
--------------------------------------------------------------------------------
/preview/previewOSD.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/preview/previewOSD.gif
--------------------------------------------------------------------------------
/preview/tooltomeko.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/preview/tooltomeko.gif
--------------------------------------------------------------------------------
/tools/data2h/data.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/data.exe
--------------------------------------------------------------------------------
/www/zxspectrum/dsk.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/dsk.exe
--------------------------------------------------------------------------------
/preview/previewZx128k.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/preview/previewZx128k.gif
--------------------------------------------------------------------------------
/preview/previewzx48k.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/preview/previewzx48k.gif
--------------------------------------------------------------------------------
/preview/puttyconfig.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/preview/puttyconfig.gif
--------------------------------------------------------------------------------
/preview/ttgovga32v12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/preview/ttgovga32v12.jpg
--------------------------------------------------------------------------------
/preview/previewFantasy.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/preview/previewFantasy.gif
--------------------------------------------------------------------------------
/preview/previewPlatformIO.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/preview/previewPlatformIO.gif
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.cfg text eol=lf
3 | persist.txt text eol=lf
4 |
--------------------------------------------------------------------------------
/tools/data2h/input/scr/trixs01.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/input/scr/trixs01.scr
--------------------------------------------------------------------------------
/tools/data2h/input/scr/trixs02.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/input/scr/trixs02.scr
--------------------------------------------------------------------------------
/tools/data2h/input/scr/trixs03.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/input/scr/trixs03.scr
--------------------------------------------------------------------------------
/tools/data2h/input/sna/48k/GDC.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/input/sna/48k/GDC.sna
--------------------------------------------------------------------------------
/preview/previewArduinoIDElibrary.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/preview/previewArduinoIDElibrary.gif
--------------------------------------------------------------------------------
/preview/previewPlatformIOinstall.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/preview/previewPlatformIOinstall.gif
--------------------------------------------------------------------------------
/preview/previewArduinoIDEpreferences.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/preview/previewArduinoIDEpreferences.gif
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/maze/MadMix.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/maze/MadMix.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/race/4x4Off.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/race/4x4Off.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/race/scr4x4.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/race/scr4x4.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/scene.txt:
--------------------------------------------------------------------------------
1 | 1stDemo BabyInotBartDemoBlueSky diashow DREAMW~1ESIDemo PeteJukescroll Tunnel4KWicked Zer0Demo
--------------------------------------------------------------------------------
/tools/data2h/input/roms/48k/jupiter/0.rom:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/input/roms/48k/jupiter/0.rom
--------------------------------------------------------------------------------
/tools/data2h/input/roms/48k/sinclair/0.rom:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/input/roms/48k/sinclair/0.rom
--------------------------------------------------------------------------------
/tools/data2h/input/sna/48k/coloristic.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/input/sna/48k/coloristic.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/action/Batman.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/action/Batman.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/action/Goody.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/action/Goody.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/maze/FnMatrix.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/maze/FnMatrix.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/maze/MadMix2.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/maze/MadMix2.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/maze/MsPacMan.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/maze/MsPacMan.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/race/TestDri2.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/race/TestDri2.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/shoot/JetPac.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/shoot/JetPac.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/shoot/Platoon.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/shoot/Platoon.scr
--------------------------------------------------------------------------------
/tools/data2h/input/roms/128k/305zx80IF2/0.rom:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/input/roms/128k/305zx80IF2/0.rom
--------------------------------------------------------------------------------
/tools/data2h/input/roms/128k/308zx81IF2/0.rom:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/input/roms/128k/308zx81IF2/0.rom
--------------------------------------------------------------------------------
/tools/data2h/input/sna/128k/MusicDemo128.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/input/sna/128k/MusicDemo128.sna
--------------------------------------------------------------------------------
/tools/data2h/input/tape/48k/3DLunattack.tap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/input/tape/48k/3DLunattack.tap
--------------------------------------------------------------------------------
/tools/data2h/input/tape/48k/Kingdom19xx.tap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/input/tape/48k/Kingdom19xx.tap
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/action/Rampage.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/action/Rampage.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/action/RoboCop.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/action/RoboCop.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/platform/Bobble.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/platform/Bobble.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/platform/Cobra.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/platform/Cobra.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/platform/RType.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/platform/RType.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/shoot/RamboIII.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/shoot/RamboIII.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/shoot/gameover.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/shoot/gameover.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/simul/AceOfAce.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/simul/AceOfAce.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/sport/Californ.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/sport/Californ.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/scr/venture/BestialW.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/scr/venture/BestialW.scr
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/action/amc1.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/action/amc1.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/action/goody.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/action/goody.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/1942.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/1942.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/1943.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/1943.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Bumpy.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Bumpy.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Motos.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Motos.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Nstar.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Nstar.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Pippo.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Pippo.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Pssst.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Pssst.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/manic.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/manic.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/panic.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/panic.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/maze/Bubble.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/maze/Bubble.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/maze/madmix.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/maze/madmix.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/maze/madmix2.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/maze/madmix2.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/mouse/fire.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/mouse/fire.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/mouse/sipka.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/mouse/sipka.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/pong/sppong.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/pong/sppong.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/puzzle/simon.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/puzzle/simon.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/scene/Wicked.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/scene/Wicked.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/scene/scroll.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/scene/scroll.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/shoot/jetPac.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/shoot/jetPac.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/tools/diag.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/tools/diag.sna
--------------------------------------------------------------------------------
/tools/data2h/input/roms/128k/SINCLAIR128/0.rom:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/input/roms/128k/SINCLAIR128/0.rom
--------------------------------------------------------------------------------
/tools/data2h/input/roms/128k/SINCLAIR128/1.rom:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/tools/data2h/input/roms/128k/SINCLAIR128/1.rom
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/action/ThePunk.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/action/ThePunk.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/action/batman.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/action/batman.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/action/robocop.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/action/robocop.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Cookie.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Cookie.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Ghosts.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Ghosts.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Karnov.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Karnov.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/PacMan.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/PacMan.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Packrat.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Packrat.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Pheenix.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Pheenix.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Seymour.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Seymour.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Targetr.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Targetr.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Uridium.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Uridium.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Zynaps.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Zynaps.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/bombman.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/bombman.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/fantasy.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/fantasy.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/greenb.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/greenb.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/zaxxon.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/zaxxon.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/maze/FnMatrix.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/maze/FnMatrix.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/maze/MsPacMan.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/maze/MsPacMan.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/mouse/3Dcoolkm.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/mouse/3Dcoolkm.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/mouse/4openKM.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/mouse/4openKM.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/mouse/Silkworm.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/mouse/Silkworm.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/mouse/editorKM.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/mouse/editorKM.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/mouse/mouseTes.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/mouse/mouseTes.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/platform/cobra.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/platform/cobra.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/puzzle/tetris.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/puzzle/tetris.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/race/TestDri2.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/race/TestDri2.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/scene/1stDemo.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/scene/1stDemo.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/scene/BabyInot.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/scene/BabyInot.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/scene/BartDemo.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/scene/BartDemo.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/scene/BlueSky.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/scene/BlueSky.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/scene/ESIDemo.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/scene/ESIDemo.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/scene/PeteJuke.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/scene/PeteJuke.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/scene/Tunnel4K.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/scene/Tunnel4K.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/scene/Zer0Demo.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/scene/Zer0Demo.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/scene/diashow.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/scene/diashow.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/shoot/gameover.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/shoot/gameover.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/shoot/platoon.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/shoot/platoon.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/shoot/ramboIII.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/shoot/ramboIII.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/simul/AceOfAce.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/simul/AceOfAce.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/sport/californ.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/sport/californ.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/tools/48z80ful.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/tools/48z80ful.sna
--------------------------------------------------------------------------------
/esp32/precompile/JLS320x200/boot_app0-0xE000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/JLS320x200/boot_app0-0xE000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200/boot_app0-0xE000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200/boot_app0-0xE000.bin
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/AticAtac.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/AticAtac.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/BountBob.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/BountBob.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/FlyShark.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/FlyShark.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/GlugGlug.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/GlugGlug.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Humphrey.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Humphrey.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Hyperact.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Hyperact.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/NiftyLif.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/NiftyLif.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/OrcAtack.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/OrcAtack.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Penetrat.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Penetrat.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/PercyPot.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/PercyPot.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/Solomons.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/Solomons.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/bombjack.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/bombjack.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/rainerbe.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/rainerbe.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/robotron.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/robotron.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/saboteu1.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/saboteu1.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/platform/booble.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/platform/booble.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/venture/BestialW.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/venture/BestialW.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/venture/ConQuest.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/venture/ConQuest.sna
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/venture/WizLair2.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/venture/WizLair2.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/action/Batman.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/action/Batman.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/action/Goody.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/action/Goody.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/maze/FnMatrix.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/maze/FnMatrix.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/maze/MadMix.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/maze/MadMix.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/maze/MadMix2.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/maze/MadMix2.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/maze/MsPacMan.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/maze/MsPacMan.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/race/4x4Off.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/race/4x4Off.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/race/TestDri2.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/race/TestDri2.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/race/scr4x4.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/race/scr4x4.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/shoot/JetPac.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/shoot/JetPac.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/shoot/Platoon.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/shoot/Platoon.scr
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/fart.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/fart.exe
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/scene/DreamWalker48.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/scene/DreamWalker48.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/action/Rampage.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/action/Rampage.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/action/RoboCop.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/action/RoboCop.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/platform/Bobble.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/platform/Bobble.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/platform/Cobra.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/platform/Cobra.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/platform/RType.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/platform/RType.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/shoot/RamboIII.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/shoot/RamboIII.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/shoot/gameover.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/shoot/gameover.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/simul/AceOfAce.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/simul/AceOfAce.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/sport/Californ.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/sport/Californ.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/action/amc1.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/action/amc1.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/1942.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/1942.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/1943.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/1943.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/maze/Bubble.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/maze/Bubble.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/maze/madmix.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/maze/madmix.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/mouse/fire.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/mouse/fire.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/mouse/sipka.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/mouse/sipka.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/pong/sppong.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/pong/sppong.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/tools/diag.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/tools/diag.sna
--------------------------------------------------------------------------------
/esp32/precompile/JLS320x200AY8912/boot_app0-0xE000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/JLS320x200AY8912/boot_app0-0xE000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200AY8912/boot_app0-0xE000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200AY8912/boot_app0-0xE000.bin
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/scr/venture/BestialW.scr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/scr/venture/BestialW.scr
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/action/ThePunk.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/action/ThePunk.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/action/batman.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/action/batman.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/action/goody.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/action/goody.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/action/robocop.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/action/robocop.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Bumpy.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Bumpy.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Cookie.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Cookie.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Ghosts.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Ghosts.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Karnov.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Karnov.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Motos.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Motos.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Nstar.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Nstar.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/PacMan.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/PacMan.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Packrat.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Packrat.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Pheenix.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Pheenix.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Pippo.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Pippo.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Pssst.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Pssst.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Seymour.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Seymour.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Targetr.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Targetr.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Uridium.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Uridium.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Zynaps.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Zynaps.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/bombman.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/bombman.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/fantasy.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/fantasy.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/greenb.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/greenb.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/manic.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/manic.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/panic.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/panic.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/zaxxon.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/zaxxon.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/maze/FnMatrix.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/maze/FnMatrix.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/maze/MsPacMan.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/maze/MsPacMan.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/maze/madmix2.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/maze/madmix2.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/mouse/3Dcoolkm.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/mouse/3Dcoolkm.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/mouse/4openKM.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/mouse/4openKM.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/mouse/Silkworm.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/mouse/Silkworm.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/mouse/editorKM.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/mouse/editorKM.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/mouse/mouseTes.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/mouse/mouseTes.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/platform/cobra.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/platform/cobra.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/puzzle/simon.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/puzzle/simon.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/puzzle/tetris.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/puzzle/tetris.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/race/TestDri2.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/race/TestDri2.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/scene/1stDemo.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/scene/1stDemo.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/scene/BabyInot.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/scene/BabyInot.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/scene/BartDemo.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/scene/BartDemo.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/scene/BlueSky.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/scene/BlueSky.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/scene/DREAMW~1.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/scene/DREAMW~1.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/scene/ESIDemo.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/scene/ESIDemo.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/scene/PeteJuke.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/scene/PeteJuke.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/scene/Tunnel4K.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/scene/Tunnel4K.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/scene/Wicked.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/scene/Wicked.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/scene/Zer0Demo.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/scene/Zer0Demo.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/scene/diashow.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/scene/diashow.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/scene/scroll.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/scene/scroll.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/shoot/gameover.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/shoot/gameover.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/shoot/jetPac.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/shoot/jetPac.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/shoot/platoon.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/shoot/platoon.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/shoot/ramboIII.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/shoot/ramboIII.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/simul/AceOfAce.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/simul/AceOfAce.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/sport/californ.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/sport/californ.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/tools/48z80ful.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/tools/48z80ful.sna
--------------------------------------------------------------------------------
/esp32/precompile/JLS320x200/bootloader_dio_40m-0x1000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/JLS320x200/bootloader_dio_40m-0x1000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200/bootloader_dio_40m-0x1000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200/bootloader_dio_40m-0x1000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200FixDouble/boot_app0-0xE000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200FixDouble/boot_app0-0xE000.bin
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/1942ME~1.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/1942ME~1.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/AticAtac.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/AticAtac.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/BountBob.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/BountBob.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/FlyShark.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/FlyShark.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/GlugGlug.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/GlugGlug.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Humphrey.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Humphrey.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Hyperact.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Hyperact.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/NiftyLif.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/NiftyLif.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/OrcAtack.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/OrcAtack.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Penetrat.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Penetrat.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/PercyPot.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/PercyPot.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/Solomons.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/Solomons.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/bombjack.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/bombjack.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/rainerbe.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/rainerbe.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/robotron.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/robotron.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/arcade/saboteu1.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/arcade/saboteu1.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/platform/booble.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/platform/booble.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/venture/BestialW.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/venture/BestialW.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/venture/ConQuest.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/venture/ConQuest.sna
--------------------------------------------------------------------------------
/www/zxspectrum/output/outdat/sna/48k/venture/WizLair2.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/output/outdat/sna/48k/venture/WizLair2.sna
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/gb_sdl_font8x8.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/gb_sdl_font8x8.h
--------------------------------------------------------------------------------
/www/zxspectrum/input/sna/48k/arcade/1942Megalargodenarices.sna:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/www/zxspectrum/input/sna/48k/arcade/1942Megalargodenarices.sna
--------------------------------------------------------------------------------
/esp32/precompile/JLS320x200/ZXESPectrumJLS320x200.ino-0x8000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/JLS320x200/ZXESPectrumJLS320x200.ino-0x8000.bin
--------------------------------------------------------------------------------
/esp32/precompile/JLS320x200AY8912/bootloader_dio_40m-0x1000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/JLS320x200AY8912/bootloader_dio_40m-0x1000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200/ZXESPectrumLKF320x200.ino-0x10000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200/ZXESPectrumLKF320x200.ino-0x10000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200AY8912/bootloader_dio_40m-0x1000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200AY8912/bootloader_dio_40m-0x1000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200FixDouble/bootloader_dio_40m-0x1000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200FixDouble/bootloader_dio_40m-0x1000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200x70hzfabglFixDouble/boot_app0-0xE000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200x70hzfabglFixDouble/boot_app0-0xE000.bin
--------------------------------------------------------------------------------
/esp32/precompile/JLS320x200/ZXESPectrumJLS320x200.ino.partitions-0x8000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/JLS320x200/ZXESPectrumJLS320x200.ino.partitions-0x8000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200/ZXESPectrumLKF320x200.ino.partitions-0x8000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200/ZXESPectrumLKF320x200.ino.partitions-0x8000.bin
--------------------------------------------------------------------------------
/esp32/precompile/JLS320x200AY8912/ZXESPectrumJLS320x200AY8912.ino-0x8000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/JLS320x200AY8912/ZXESPectrumJLS320x200AY8912.ino-0x8000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200AY8912/ZXESPectrumLKF320x200AY8912.ino-0x10000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200AY8912/ZXESPectrumLKF320x200AY8912.ino-0x10000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200x70hzfabglFixDouble/bootloader_dio_40m-0x1000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200x70hzfabglFixDouble/bootloader_dio_40m-0x1000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200AY8912/ZXESPectrumLKF320x200AY8912.partitions-0x8000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200AY8912/ZXESPectrumLKF320x200AY8912.partitions-0x8000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200FixDouble/ZXESPectrumLKF320x200FixDouble-ino-0x10000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200FixDouble/ZXESPectrumLKF320x200FixDouble-ino-0x10000.bin
--------------------------------------------------------------------------------
/esp32/precompile/JLS320x200AY8912/ZXESPectrumJLS320x200AY8912.ino.partitions-0x8000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/JLS320x200AY8912/ZXESPectrumJLS320x200AY8912.ino.partitions-0x8000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200FixDouble/ZXESPectrumLKF320x200FixDouble-ino-partitions-0x8000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200FixDouble/ZXESPectrumLKF320x200FixDouble-ino-partitions-0x8000.bin
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200x70hzfabglFixDouble/ZXESPectrumLKF320x200x70hzfabglFixDouble-ino-0x10000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200x70hzfabglFixDouble/ZXESPectrumLKF320x200x70hzfabglFixDouble-ino-0x10000.bin
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/clock.h:
--------------------------------------------------------------------------------
1 | #ifndef _CLOCK_H
2 | #define _CLOCK_H
3 |
4 | #include "gbConfig.h"
5 | #ifdef use_lib_core_linkefong
6 |
7 | //CPU Clock by architecture
8 |
9 | int CalcTStates();
10 |
11 | #endif
12 |
13 | #endif
14 |
15 |
--------------------------------------------------------------------------------
/esp32/precompile/LKF320x200x70hzfabglFixDouble/ZXESPectrumLKF320x200x70hzfabglFixDouble-ino-partitions-0x8000.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rpsubc8/ESP32TinyZXSpectrum/HEAD/esp32/precompile/LKF320x200x70hzfabglFixDouble/ZXESPectrumLKF320x200x70hzfabglFixDouble-ino-partitions-0x8000.bin
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/startup.h:
--------------------------------------------------------------------------------
1 | #ifndef __STARTUP_H__
2 | #define __STARTUP_H__
3 |
4 | #ifdef __cplusplus
5 | extern "C"
6 | {
7 | #endif
8 |
9 | void initialize();
10 | void setup();
11 | void loop();
12 |
13 | #ifdef __cplusplus
14 | }
15 | #endif
16 |
17 | #endif /* __STARTUP_H__ */
18 |
--------------------------------------------------------------------------------
/www/zxspectrum/output/outlist/sna/48k/arcade.txt:
--------------------------------------------------------------------------------
1 | 1942 1942ME~11943 AticAtacbombjackbombman BountBobBumpy Cookie fantasy FlySharkGhosts GlugGluggreenb HumphreyHyperactKarnov manic Motos NiftyLifNstar OrcAtackPackrat PacMan panic PenetratPercyPotPheenix Pippo Pssst rainerberobotronsaboteu1Seymour SolomonsTargetr Uridium zaxxon Zynaps
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/.gitignore:
--------------------------------------------------------------------------------
1 | *~
2 | .DS_Store
3 | !.keep
4 | .pioenvs/
5 | .pio/
6 | .clang_complete
7 | .gcc-flags.json
8 | /work
9 | .piolibdeps/
10 | .vscode
11 | data/sna/**
12 | !data/sna/sppong.sna
13 | !data/sna/sppong.txt
14 | !data/sna/diag.sna
15 | !data/sna/fantasy.sna
16 | !data/sna/fantasy.txt
17 | !data/sna/ManicMiner.txt
18 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/speed.h:
--------------------------------------------------------------------------------
1 | #ifndef _SPEED_H
2 | #define _SPEED_H
3 |
4 | #include "gbConfig.h"
5 | #ifdef use_lib_core_linkefong
6 |
7 | //CPU Clock by architecture
8 | #define FRAME_PERIOD_MS 20
9 | #define CPU_SPEED_MHZ_ZX48 3.5
10 | #define CPU_SPEED_MHZ_ZX128 3.5469
11 |
12 | #endif
13 |
14 | #endif
15 |
16 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/ulactrl.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | extern QueueHandle_t vidQueue;
4 | extern TaskHandle_t videoTaskHandle;
5 | extern volatile bool videoTaskIsRunning;
6 | extern uint16_t *param;
7 |
8 | //void stepULA()
9 | //{
10 | // xQueueSend(vidQueue, ¶m, portMAX_DELAY);
11 | // // Wait while ULA loop is finishing
12 | // delay(45);
13 | //}
14 |
--------------------------------------------------------------------------------
/www/zxspectrum/data83.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | rem remove prev directory files dat output
3 | rmdir/S/Q output\outdat
4 |
5 | rem copy input to output convert name 8:3
6 | xcopy/N/E/Y/I input output\outdat
7 |
8 | rem remove nada.txt empty
9 | del/S output\outdat\nada.txt
10 |
11 | rem lowercase convert extension SCR
12 | rem ren output\outdat\scr\*.SCR *.scr
13 | call lowerscr.bat
14 |
15 | rem lowercase convert extension SNA
16 | rem ren output\outdat\SNA\*.SNA *.sna
17 | call lowersna.bat
18 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/clock.cpp:
--------------------------------------------------------------------------------
1 | #include "gbConfig.h"
2 | #ifdef use_lib_core_linkefong
3 |
4 |
5 | #include "gbGlobals.h"
6 | #include "Disk.h"
7 | #include "speed.h"
8 | #include
9 |
10 | int CalcTStates()
11 | {
12 | //if (cfg_arch == "48K")
13 | if (gb_cfg_arch_is48K == 1)
14 | {
15 | return CPU_SPEED_MHZ_ZX48 * FRAME_PERIOD_MS * 1000;
16 | }
17 | else
18 | {
19 | return CPU_SPEED_MHZ_ZX128 * FRAME_PERIOD_MS * 1000;
20 | }
21 | }
22 |
23 | #endif
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
2 | Version 2, December 2004
3 |
4 | Copyright (C) 2004 Sam Hocevar
5 |
6 | Everyone is permitted to copy and distribute verbatim or modified
7 | copies of this license document, and changing it is allowed as long
8 | as the name is changed.
9 |
10 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
11 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
12 |
13 | 0. You just DO WHAT THE FUCK YOU WANT TO.
14 |
15 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/dataFlash/gbscr.h:
--------------------------------------------------------------------------------
1 | #ifndef GB_SCR_H
2 | #define GB_SCR_H
3 |
4 | #include
5 |
6 | #include "scr/scr4x4Screen48k.h"
7 |
8 |
9 |
10 | #define max_list_scr_48 1
11 |
12 | //#define max_list_scr_48 0
13 |
14 |
15 | //screen 48K
16 | //Titulos
17 | static const char * gb_list_scr_48k_title[max_list_scr_48]={
18 | "4x4"
19 | };
20 |
21 | //Datos 48K
22 | static const unsigned char * gb_list_scr_48k_data[max_list_scr_48]={
23 | gb_scr_4x4_48k
24 | };
25 |
26 | #endif
27 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/platformio.ini.osx:
--------------------------------------------------------------------------------
1 | [platformio]
2 | src_dir = ZXESPectrum/
3 |
4 | [env:lolin32]
5 | platform = espressif32
6 | board = lolin32
7 | framework = arduino
8 | ; change microcontroller
9 | board_build.mcu = esp32
10 |
11 | ; change MCU frequency
12 | board_build.f_cpu = 240000000L
13 |
14 | ;upload_port = /dev/cu.SLAB_USBtoUART
15 | upload_protocol = esptool
16 |
17 | monitor_speed = 115200
18 | board_build.partitions = huge_app.csv
19 | build_flags =
20 | -w -O2
21 | ; -O2
22 | ; -DBOARD_HAS_PSRAM
23 | ; -mfix-esp32-psram-cache-issue
24 |
25 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/gbWifi.h:
--------------------------------------------------------------------------------
1 | #ifndef GB_WIFI_H
2 | #define GB_WIFI_H
3 |
4 | #include "gbConfig.h"
5 |
6 | #ifdef use_lib_wifi
7 | #include
8 | #include
9 |
10 | void Asignar_WIFI(HTTPClient * ptr_http, WiFiClient * ptr_stream);
11 | bool Check_WIFI(void);
12 | void Asignar_URL_stream_WIFI(char const * URL);
13 | bool Leer_url_stream_WIFI(int * returnC);
14 | void PreparaURL(char *destURL,char *pathType,char *nameType, char *cadFile, char * fileExt);
15 | void FlushStreamWIFI(void);
16 |
17 | #endif
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/platformio.ini.linux:
--------------------------------------------------------------------------------
1 | [platformio]
2 | src_dir = ZXESPectrum/
3 |
4 | [env:lolin32]
5 | platform = espressif32
6 | board = lolin32
7 | framework = arduino
8 | ; change microcontroller
9 | board_build.mcu = esp32
10 |
11 | ; change MCU frequency
12 | board_build.f_cpu = 240000000L
13 | ; set frequency to 40MHz
14 | board_build.f_flash = 40000000L
15 |
16 |
17 | ;upload_port = /dev/ttyUSB0
18 | upload_protocol = esptool
19 |
20 | monitor_speed = 115200
21 | board_build.partitions = huge_app.csv
22 | build_flags =
23 | -w
24 | -O2
25 | ; -DBOARD_HAS_PSRAM
26 | ; -mfix-esp32-psram-cache-issue
27 |
28 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Tiny ZX Spectrum port ESP32
2 |
3 |
8 |
9 |
10 | Documentation (Help)
11 |
15 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/gbOptimice.cpp:
--------------------------------------------------------------------------------
1 | #include "gbOptimice.h"
2 | #include "hardware.h"
3 | #include
4 |
5 | //extern unsigned char gb_cache_zxcolor[8];
6 |
7 | unsigned char gb_cache_zxcolor[8]=
8 | {//cache de colores optimizado
9 | BLACK, BLUE, RED, MAGENTA, GREEN, CYAN, YELLOW, WHITE
10 | };
11 |
12 | #ifdef use_lib_use_bright
13 | unsigned char gb_cache_zxcolor_bright[8]=
14 | {//cache de colores optimizado
15 | BRI_BLACK, BRI_BLUE, BRI_RED, BRI_MAGENTA, BRI_GREEN, BRI_CYAN, BRI_YELLOW, BRI_WHITE
16 | };
17 | #endif
18 |
19 | //unsigned char gb_cache_zxcolor[8]=
20 | //{//cache de colores optimizado
21 | // BLACK, BLUE, RED, MAGENTA, GREEN, CYAN, YELLOW, WHITE
22 | //};
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/PS2Kbd.h:
--------------------------------------------------------------------------------
1 | #ifndef _TECLADO_PS2KBD_H
2 | #define _TECLADO_PS2KBD_H
3 |
4 | #include "gbConfig.h"
5 | #include "hardware.h"
6 | #include "keys.h"
7 | #include
8 |
9 | #define KB_INT_START attachInterrupt(digitalPinToInterrupt(KEYBOARD_CLK), kb_interruptHandler, FALLING)
10 | #define KB_INT_STOP detachInterrupt(digitalPinToInterrupt(KEYBOARD_CLK))
11 |
12 | extern byte lastcode;
13 |
14 | void IRAM_ATTR kb_interruptHandler(void);
15 | void kb_begin();
16 | boolean isKeymapChanged();
17 | boolean checkAndCleanKey(uint8_t scancode);
18 | boolean checkKey(uint8_t scancode);
19 |
20 | // inject key from wiimote, for not modifying OSD code
21 | void emulateKeyChange(uint8_t scancode, uint8_t isdown);
22 |
23 | #endif
24 |
25 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/gbOptimice.h:
--------------------------------------------------------------------------------
1 | #ifndef GB_OPTIMICE_H
2 | #define GB_OPTIMICE_H
3 |
4 | #include "hardware.h"
5 | //extern char gb_cache_zxcolor[8];
6 |
7 | #define id_cache_BLACK 0
8 | #define id_cache_BLUE 1
9 | #define id_cache_CYAN 5
10 | #define id_cache_WHITE 7
11 |
12 | extern unsigned char gb_cache_zxcolor[8];
13 | #ifdef use_lib_use_bright
14 | extern unsigned char gb_cache_zxcolor_bright[8];
15 | #endif
16 |
17 | //static unsigned char gb_cache_zxcolor[8]=
18 | //{//cache de colores optimizado
19 | // BLACK, BLUE, RED, MAGENTA, GREEN, CYAN, YELLOW, WHITE
20 | //};
21 |
22 | //Original video Tiempo 18503
23 | //Medio Tiempo 17295
24 | //Optimizado Tiempo 10649
25 | //Optimizado final Tiempo 8340
26 | #endif
27 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/ZXESPectrum.h:
--------------------------------------------------------------------------------
1 | //#pragma once
2 | #ifndef ZXESPetrum_h
3 | #define ZXESPetrum_h
4 |
5 | #include
6 | #include "hardware.h"
7 | //#include "MartianVGA.h"
8 |
9 | // Declared vars
10 | //#ifdef COLOR_3B
11 | //extern VGA3Bit vga;
12 | //#endif
13 |
14 | //#ifdef COLOR_6B
15 | //extern VGA6Bit vga;
16 | //#endif
17 |
18 | //#ifdef COLOR_14B
19 | //extern VGA14Bit vga;
20 | //#endif
21 |
22 |
23 | //extern unsigned char gb_lookup_calcY[6400];//200*32
24 |
25 | // ULA Task
26 | extern QueueHandle_t vidQueue;
27 | extern TaskHandle_t videoTaskHandle;
28 | extern volatile bool videoTaskIsRunning;
29 |
30 | // Declared methods
31 | //unsigned int zxcolor(int c, int bright);
32 | void do_keyboard();
33 | //extern void SDL_Generate_lookup_calcY(void);
34 | #endif
35 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/keys.h:
--------------------------------------------------------------------------------
1 | #ifndef _TECLADO_KEYS_H
2 | #define _TECLADO_KEYS_H
3 |
4 | #define KEY_F1 0x05
5 | #define KEY_F2 0x06
6 | #define KEY_F3 0x04
7 | #define KEY_F4 0x0C
8 | #define KEY_F5 0x03
9 | #define KEY_F6 0x0B
10 | #define KEY_F7 0x83
11 | #define KEY_F8 0x0A
12 | #define KEY_F9 0x01
13 | #define KEY_F10 0x09
14 | #define KEY_F11 0x78
15 | #define KEY_F12 0x07
16 | #define KEY_ESC 0x76
17 | #define KEY_CURSOR_LEFT 0x6B
18 | #define KEY_CURSOR_DOWN 0x72
19 | #define KEY_CURSOR_RIGHT 0x74
20 | #define KEY_CURSOR_UP 0x75
21 | #define KEY_ALT_GR 0x11
22 | #define KEY_ENTER 0x5A
23 | #define KEY_HOME 0xE06C
24 | #define KEY_END 0xE069
25 | #define KEY_PAGE_UP 0xE07D
26 | #define KEY_PAGE_DOWN 0xE07A
27 | #define KEY_PAUSE 0xE11477E1F014E077
28 | #define KEY_BACKSPACE 0x66
29 | #define KEY_DELETE 0x71
30 |
31 | #endif
32 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/gbWifiConfig.h:
--------------------------------------------------------------------------------
1 | #ifndef _GB_WIFI_CONFIG_H
2 | #define _GB_WIFI_CONFIG_H
3 |
4 | #define gb_wifi_ssd "nombreDeNuestraRedWIFIdelRooter"
5 | #define gb_wifi_pass "passwordDeNuestraRedWIFIdelRooter"
6 |
7 | //#define gb_wifi_url_base_path "http://192.168.0.36/zxspectrum/output"
8 | #define gb_wifi_url_base_path "https://rpsubc8.github.io/ESP32TinyZXSpectrum/www/zxspectrum/output"
9 |
10 |
11 | //Delay check wifi connect
12 | #define gb_wifi_delay_check 500
13 |
14 | //Delay millis asign http and read data
15 | #define gb_wifi_delay_asign_read 500
16 |
17 | //Delay millis in check available buffer
18 | #define gb_wifi_delay_check_available 100
19 |
20 | //millisecons delay stream read
21 | #define gb_wifi_delay_available 0
22 |
23 |
24 | //#define use_lib_wifi_debug
25 |
26 | #endif
27 |
28 |
--------------------------------------------------------------------------------
/www/zxspectrum/lowerscr.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | ren output\outdat\scr\action\*.SCR *.scr
3 | ren output\outdat\scr\arcade\*.SCR *.scr
4 | ren output\outdat\scr\board\*.SCR *.scr
5 | ren output\outdat\scr\card\*.SCR *.scr
6 | ren output\outdat\scr\chess\*.SCR *.scr
7 | ren output\outdat\scr\combat\*.SCR *.scr
8 | ren output\outdat\scr\dungeon\*.SCR *.scr
9 | ren output\outdat\scr\fight\*.SCR *.scr
10 | ren output\outdat\scr\maze\*.SCR *.scr
11 | ren output\outdat\scr\pinball\*.SCR *.scr
12 | ren output\outdat\scr\platform\*.SCR *.scr
13 | ren output\outdat\scr\pong\*.SCR *.scr
14 | ren output\outdat\scr\puzzle\*.SCR *.scr
15 | ren output\outdat\scr\race\*.SCR *.scr
16 | ren output\outdat\scr\rpg\*.SCR *.scr
17 | ren output\outdat\scr\scene\*.SCR *.scr
18 | ren output\outdat\scr\shoot\*.SCR *.scr
19 | ren output\outdat\scr\simul\*.SCR *.scr
20 | ren output\outdat\scr\sport\*.SCR *.scr
21 | ren output\outdat\scr\strategy\*.SCR *.scr
22 | ren output\outdat\scr\venture\*.SCR *.scr
23 | ren output\outdat\scr\war\*.SCR *.scr
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/Disk.h:
--------------------------------------------------------------------------------
1 | #ifndef DISK_H
2 | #define DISK_H
3 |
4 | #include "gbConfig.h"
5 |
6 | // Defines
7 | #define ASCII_NL 10
8 | #define ON true
9 | #define OFF false
10 |
11 | // Headers
12 | #include
13 |
14 |
15 | // Declared vars
16 | //extern unsigned char gb_cfg_arch_is48K;
17 |
18 | // Declared methods
19 | void load_rom2flash(unsigned char is48k,unsigned char id); //Para cargar rom de flash
20 | #ifdef use_lib_wifi
21 | #else
22 | void load_ram2Flash(unsigned char id,unsigned char isSNA48K);
23 | #endif
24 |
25 | #ifdef use_lib_sna_uart
26 | void load_ram2FlashFromUART(unsigned char isSNA48K);
27 | unsigned char LoadWriteMemUARTBlock(unsigned char *ptrDst,unsigned short int tope);
28 | #endif
29 |
30 | #ifdef use_lib_wifi
31 | void load_ram2FlashFromWIFI(char * cadUrl,unsigned char isSNA48K);
32 | #endif
33 | #ifdef use_lib_core_linkefong
34 | void load_tape2Flash(unsigned char id);
35 | #endif
36 |
37 | #ifdef use_lib_wifi
38 | #else
39 | void load_scr2Flash(unsigned char id);
40 | #endif
41 |
42 | #endif
43 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/platformio.ini:
--------------------------------------------------------------------------------
1 | ; PlatformIO Project Configuration File
2 | ;
3 | ; Build options: build flags, source filter
4 | ; Upload options: custom upload port, speed and extra flags
5 | ; Library options: dependencies, extra library storages
6 | ; Advanced options: extra scripting
7 | ;
8 | ; Please visit documentation for the other options and examples
9 | ; https://docs.platformio.org/page/projectconf.html
10 |
11 | [platformio]
12 | src_dir = ZXESPectrum/
13 |
14 | [env:lolin32]
15 | platform = espressif32
16 | board = lolin32
17 | framework = arduino
18 | ; change microcontroller
19 | board_build.mcu = esp32
20 | ; change MCU frequency
21 | board_build.f_cpu = 240000000L
22 | ; set frequency to 40MHz
23 | board_build.f_flash = 40000000L
24 |
25 | ;upload_port = COM44
26 | ;upload_port = COM26
27 | upload_protocol = esptool
28 |
29 | monitor_speed = 115200
30 | board_build.partitions = huge_app.csv
31 | ;board_build.partitions = noota_3g.csv
32 | build_flags =
33 | -s -O2
34 | ; -w
35 | ; -O2
36 | ; -DBOARD_HAS_PSRAM
37 | ; -mfix-esp32-psram-cache-issue
38 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/z80Input.h:
--------------------------------------------------------------------------------
1 | #ifndef _Z80INPUT_H_
2 | #define _Z80INPUT_H_
3 |
4 | #include "gbConfig.h"
5 | #ifdef use_lib_core_linkefong
6 |
7 | #include
8 |
9 | extern uint8_t indata[];
10 |
11 | enum {
12 | ZX_KEY_SHIFT = 0,
13 | ZX_KEY_Z,
14 | ZX_KEY_X,
15 | ZX_KEY_C,
16 | ZX_KEY_V,
17 |
18 | ZX_KEY_A,
19 | ZX_KEY_S,
20 | ZX_KEY_D,
21 | ZX_KEY_F,
22 | ZX_KEY_G,
23 |
24 | ZX_KEY_Q,
25 | ZX_KEY_W,
26 | ZX_KEY_E,
27 | ZX_KEY_R,
28 | ZX_KEY_T,
29 |
30 | ZX_KEY_1,
31 | ZX_KEY_2,
32 | ZX_KEY_3,
33 | ZX_KEY_4,
34 | ZX_KEY_5,
35 |
36 | ZX_KEY_0,
37 | ZX_KEY_9,
38 | ZX_KEY_8,
39 | ZX_KEY_7,
40 | ZX_KEY_6,
41 |
42 | ZX_KEY_P,
43 | ZX_KEY_O,
44 | ZX_KEY_I,
45 | ZX_KEY_U,
46 | ZX_KEY_Y,
47 |
48 | ZX_KEY_ENTER,
49 | ZX_KEY_L,
50 | ZX_KEY_K,
51 | ZX_KEY_J,
52 | ZX_KEY_H,
53 |
54 | ZX_KEY_SPACE,
55 | ZX_KEY_SYM,
56 | ZX_KEY_M,
57 | ZX_KEY_N,
58 | ZX_KEY_B,
59 |
60 | ZX_KEY_LAST
61 | };
62 |
63 | extern const uint8_t keyaddr[ZX_KEY_LAST];
64 | extern const uint8_t keybuf[ZX_KEY_LAST];
65 |
66 | bool OnKey(uint32_t scanCode, bool isKeyUp);
67 |
68 | #endif
69 |
70 |
71 | #endif
72 |
73 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/PS2Mouse.h:
--------------------------------------------------------------------------------
1 | #ifndef _GB_PS2MOUSE_H
2 | #define _GB_PS2MOUSE_H
3 |
4 | #include "gbConfig.h"
5 |
6 | #ifdef use_lib_mouse_kempston
7 |
8 | //#include
9 |
10 | inline void PS2Mouse_golo(unsigned char pin);
11 | inline void PS2Mouse_gohi(unsigned char pin);
12 | //int PS2Mouse_twos(unsigned char value, bool sign);
13 |
14 | void PS2Mouse_Init(unsigned char clk, unsigned char data);
15 | void PS2Mouse_write(unsigned char data);
16 | unsigned char PS2Mouse_read(void);
17 |
18 | void PS2Mouse_begin(void);
19 | void PS2Mouse_getPosition(unsigned char &stat, signed short int &x, signed short int &y);
20 |
21 | #endif
22 |
23 |
24 | //class PS2Mouse
25 | //{
26 | // public:
27 | // PS2Mouse(int data, int clk);
28 | // void write(uint8_t data);
29 | // uint8_t read(void);
30 | //
31 | // void begin(void);
32 | // void getPosition(uint8_t &stat, int &x, int &y);
33 | //
34 | // private:
35 | // int _ps2clk;
36 | // int _ps2data;
37 | // void golo(int pin);
38 | // void gohi(int pin);
39 | // int twos(uint8_t value, bool sign);
40 | //};
41 |
42 |
43 | #endif // _GB_PS2MOUSE_H
44 |
--------------------------------------------------------------------------------
/www/zxspectrum/lowersna.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | ren output\outdat\sna\48k\app\*.SNA *.sna
3 | ren output\outdat\sna\48k\arcade\*.SNA *.sna
4 | ren output\outdat\sna\48k\action\*.SNA *.sna
5 | ren output\outdat\sna\48k\board\*.SNA *.sna
6 | ren output\outdat\sna\48k\card\*.SNA *.sna
7 | ren output\outdat\sna\48k\chess\*.SNA *.sna
8 | ren output\outdat\sna\48k\combat\*.SNA *.sna
9 | ren output\outdat\sna\48k\dungeon\*.SNA *.sna
10 | ren output\outdat\sna\48k\gambling\*.SNA *.sna
11 | ren output\outdat\sna\48k\maze\*.SNA *.sna
12 | ren output\outdat\sna\48k\mouse\*.SNA *.sna
13 | ren output\outdat\sna\48k\pinball\*.SNA *.sna
14 | ren output\outdat\sna\48k\platform\*.SNA *.sna
15 | ren output\outdat\sna\48k\pong\*.SNA *.sna
16 | ren output\outdat\sna\48k\puzzle\*.SNA *.sna
17 | ren output\outdat\sna\48k\quiz\*.SNA *.sna
18 | ren output\outdat\sna\48k\race\*.SNA *.sna
19 | ren output\outdat\sna\48k\rpg\*.SNA *.sna
20 | ren output\outdat\sna\48k\scene\*.SNA *.sna
21 | ren output\outdat\sna\48k\school\*.SNA *.sna
22 | ren output\outdat\sna\48k\shoot\*.SNA *.sna
23 | ren output\outdat\sna\48k\simul\*.SNA *.sna
24 | ren output\outdat\sna\48k\sport\*.SNA *.sna
25 | ren output\outdat\sna\48k\strategy\*.SNA *.sna
26 | ren output\outdat\sna\48k\tactical\*.SNA *.sna
27 | ren output\outdat\sna\48k\venture\*.SNA *.sna
28 | ren output\outdat\sna\48k\war\*.SNA *.sna
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/dataFlash/gbtape.h:
--------------------------------------------------------------------------------
1 | #ifndef GB_TAPE_H
2 | #define GB_TAPE_H
3 |
4 | #include
5 |
6 | #include "tape/tape3dgraph19xx48k.h"
7 | #include "tape/tape4x4Screen48k.h"
8 |
9 |
10 | //#include "tape/tape1942game48k.h"
11 | //#include "tape/tape3dlunagame.h"
12 |
13 | //#define max_list_tape_48 4
14 |
15 | #define max_list_tape_48 2
16 | #define max_list_tape_128 2
17 |
18 |
19 |
20 | //#define max_list_tape_48 0
21 | //#define max_list_tape_128 0
22 |
23 |
24 |
25 | //tapes 48K
26 | //Titulos
27 | static const char * gb_list_tapes_48k_title[max_list_tape_48]={
28 |
29 | "3D",
30 | "4x4"//,
31 | //"1942",
32 | //"Luna Attack"
33 |
34 | };
35 |
36 | //Tamanio en bytes
37 | static const int gb_list_tapes_48k_size[max_list_tape_48]={
38 |
39 | 2272,
40 | 7167//,
41 | //47378,
42 | //21776
43 |
44 | };
45 |
46 | //Datos 48K
47 | static const unsigned char * gb_list_tapes_48k_data[max_list_tape_48]={
48 |
49 | gb_tape_3dgraph19xx_48k,
50 | gb_tape_4x4screen_48k//,
51 | //gb_tape_game1942_48k,
52 | //gb_tape_game3dlunaAttack_48k
53 |
54 | };
55 |
56 | //Datos 128K
57 | static const char * gb_list_tapes_128k_title[max_list_tape_128]={
58 |
59 | "3D",
60 | "4x4"
61 |
62 | };
63 |
64 | //Datos 128K
65 | static const unsigned char * gb_list_tapes_128k_data[max_list_tape_128]={
66 |
67 | gb_tape_3dgraph19xx_48k,
68 | gb_tape_4x4screen_48k
69 |
70 | };
71 |
72 | #endif
73 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/jsanchezv_z80operations.h:
--------------------------------------------------------------------------------
1 | #ifndef Z80OPERATIONS_H
2 | #define Z80OPERATIONS_H
3 |
4 | #include "gbConfig.h"
5 | #ifdef use_lib_core_jsanchezv
6 |
7 | #include
8 |
9 | class Z80operations {
10 | public:
11 | Z80operations(void) {};
12 |
13 | virtual ~Z80operations() {};
14 |
15 | /* Read opcode from RAM */
16 | virtual uint8_t fetchOpcode(uint16_t address) = 0;
17 |
18 | /* Read/Write byte from/to RAM */
19 | virtual uint8_t peek8(uint16_t address) = 0;
20 | virtual void poke8(uint16_t address, uint8_t value) = 0;
21 |
22 | /* Read/Write word from/to RAM */
23 | virtual uint16_t peek16(uint16_t adddress) = 0;
24 | virtual void poke16(uint16_t address, RegisterPair word) = 0;
25 |
26 | /* In/Out byte from/to IO Bus */
27 | virtual uint8_t inPort(uint16_t port) = 0;
28 | virtual void outPort(uint16_t port, uint8_t value) = 0;
29 |
30 | /* Put an address on bus lasting 'tstates' cycles */
31 | virtual void addressOnBus(uint16_t address, int32_t wstates) = 0;
32 |
33 | /* Clocks needed for processing INT and NMI */
34 | virtual void interruptHandlingTime(int32_t wstates) = 0;
35 |
36 | /* Callback to know when the INT signal is active */
37 | virtual bool isActiveINT(void) = 0;
38 |
39 | #ifdef WITH_BREAKPOINT_SUPPORT
40 | /* Callback for notify at PC address */
41 | virtual uint8_t breakpoint(uint16_t address, uint8_t opcode) = 0;
42 | #endif
43 |
44 | #ifdef WITH_EXEC_DONE
45 | /* Callback to notify that one instruction has ended */
46 | virtual void execDone(void) = 0;
47 | #endif
48 | };
49 |
50 | #endif // Z80OPERATIONS_H
51 |
52 | #endif
53 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/Memory.h:
--------------------------------------------------------------------------------
1 | #ifndef _MEMORY_H
2 | #define _MEMORY_H
3 | #include //No lo necesito
4 |
5 | #include "gbConfig.h"
6 | #ifdef use_lib_core_jsanchezv
7 | extern unsigned char * rom0_inRAM_jsanchezv;
8 | extern unsigned char * rom0_jsanchezv;
9 | extern unsigned char * rom1_jsanchezv;
10 | extern unsigned char * rom2_jsanchezv;
11 | extern unsigned char * rom3_jsanchezv;
12 | #endif
13 |
14 | #ifdef use_lib_core_linkefong
15 | extern unsigned char *rom0;
16 | extern unsigned char *rom1;
17 | extern unsigned char *rom2;
18 | extern unsigned char *rom3;
19 |
20 | extern unsigned char *ram0;
21 | extern unsigned char *ram1;
22 | extern unsigned char *ram2;
23 | extern unsigned char *ram3;
24 | extern unsigned char *ram4;
25 | #ifdef use_lib_iram_video
26 | #ifdef use_lib_only_48k
27 | extern unsigned char ram5[16384]; //Solo 48K
28 | extern unsigned char *ram7;
29 | #else
30 | extern unsigned char ram5[16384];
31 | extern unsigned char ram7[16384];
32 | #endif
33 | #else
34 | extern unsigned char *ram5;
35 | extern unsigned char *ram7;
36 | #endif
37 | extern unsigned char *ram6;
38 |
39 |
40 | extern unsigned char rom_latch, bank_latch, video_latch, paging_lock;
41 | extern unsigned char sp3_mode, sp3_rom, rom_in_use;
42 | //extern volatile boolean writeScreen;
43 | #endif
44 |
45 | #ifdef use_lib_core_jsanchezv
46 | void ReloadLocalCacheROMram_jsanchezv(void);
47 | #ifdef use_lib_48k_iram_jsanchezv
48 | void AssignStaticRam_jsanchezv(unsigned char *ptr_ram0,unsigned char *ptr_ram2,unsigned char *ptr_ram5);
49 | #else
50 | #endif
51 | #endif
52 | #endif
53 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/fabglconf.h:
--------------------------------------------------------------------------------
1 | #ifndef _FABGL_CONF_H
2 | #define _FABGL_CONF_H
3 | #include "gbConfig.h"
4 | #ifdef use_lib_sound_ay8912
5 |
6 | // Created by Fabrizio Di Vittorio (fdivitto2013@gmail.com) -
7 | // Copyright (c) 2019-2020 Fabrizio Di Vittorio.
8 | // All rights reserved.
9 | //
10 | // This file is part of FabGL Library.
11 | //
12 | // FabGL is free software: you can redistribute it and/or modify
13 | // it under the terms of the GNU General Public License as published by
14 | // the Free Software Foundation, either version 3 of the License, or
15 | // (at your option) any later version.
16 | //
17 | // FabGL is distributed in the hope that it will be useful,
18 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
19 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 | // GNU General Public License for more details.
21 | //
22 | // You should have received a copy of the GNU General Public License
23 | // along with FabGL. If not, see .
24 |
25 |
26 | //*****************************************************************************
27 | //*******************************************************************************
28 | // FabGL aggressively trimmed down by David Crespo
29 | // https://github.com/dcrespo3d
30 | // for using only its SoundGen and SwGenerator components
31 | // in ZX-ESPectrum emulator project
32 | // for emulating AY-3-8912 chip
33 | //*******************************************************************************
34 | //*****************************************************************************
35 |
36 | #pragma once
37 |
38 | //Defines ESP32 XTAL frequency in Hz.
39 | #define FABGLIB_XTAL 40000000
40 |
41 | #endif
42 | #endif
43 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/sna.cpp:
--------------------------------------------------------------------------------
1 | #include "gbConfig.h"
2 | #include "gbGlobals.h"
3 | //#include "dataFlash/gbsna.h" //No se usa
4 | #include "Disk.h"
5 | #include "PS2Kbd.h"
6 | #include "z80main.h"
7 | #include "ZXESPectrum.h"
8 | #include "osd.h"
9 |
10 | #ifdef use_lib_core_jsanchezv
11 | #include "jsanchezv_z80sim.h"
12 | #endif
13 |
14 |
15 | #ifdef use_lib_wifi
16 | #else
17 | //Carga SNA desde FLASH
18 | void changeSna2Flash(unsigned char id,unsigned char isSNA48K)
19 | {
20 | #ifdef use_lib_core_jsanchezv
21 | zx_reset_jsanchezv();
22 | gb_ptrSim->load_ram2Flash_jsanchezv(id,isSNA48K);
23 | #else
24 | //osdCenteredMsg((String)MSG_LOADING + ": " + (String)gb_list_sna_48k_title[id], LEVEL_INFO);
25 | zx_reset();
26 | //Serial.printf("FLASH SNA: %s\n", );
27 | //load_ram((String)DISK_SNA_DIR + "/" + sna_filename);
28 | load_ram2Flash(id,isSNA48K);
29 | //JJ osdCenteredMsg(MSG_SAVE_CONFIG, LEVEL_WARN);
30 | //JJ cfg_ram_file = (String)gb_list_sna_48k_title[id];
31 | #endif
32 | }
33 | #endif
34 |
35 | #ifdef use_lib_wifi
36 | void changeSna2FlashFromWIFI(char * cadUrl,unsigned char isSNA48K)
37 | {
38 | #ifdef use_lib_core_jsanchezv
39 | zx_reset_jsanchezv();
40 | //gb_ptrSim->load_ram2Flash_jsanchezv(id,isSNA48K);
41 | gb_ptrSim->load_ram2Flash_jsanchezvFromWIFI(cadUrl,isSNA48K);
42 | #else
43 | zx_reset();
44 | load_ram2FlashFromWIFI(cadUrl,isSNA48K);
45 | #endif
46 | }
47 | #endif
48 |
49 | #ifdef use_lib_sna_uart
50 | void changeSna2UART(unsigned char isSNA48K)
51 | {
52 | #ifdef use_lib_core_jsanchezv
53 | zx_reset_jsanchezv();
54 | gb_ptrSim->load_ram2FlashFromUART_jsanchezv(isSNA48K);
55 | #else
56 | zx_reset();
57 | load_ram2FlashFromUART(isSNA48K);
58 | #endif
59 | }
60 | #endif
61 |
62 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/fabgl.h:
--------------------------------------------------------------------------------
1 | #ifndef _FABGL_H
2 | #define _FABGL_H
3 | #include "gbConfig.h"
4 | #ifdef use_lib_sound_ay8912
5 | // Created by Fabrizio Di Vittorio (fdivitto2013@gmail.com) -
6 | // Copyright (c) 2019-2020 Fabrizio Di Vittorio.
7 | // All rights reserved.
8 | //
9 | // This file is part of FabGL Library.
10 | //
11 | // FabGL is free software: you can redistribute it and/or modify
12 | // it under the terms of the GNU General Public License as published by
13 | // the Free Software Foundation, either version 3 of the License, or
14 | // (at your option) any later version.
15 | //
16 | // FabGL is distributed in the hope that it will be useful,
17 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | // GNU General Public License for more details.
20 | //
21 | // You should have received a copy of the GNU General Public License
22 | // along with FabGL. If not, see .
23 |
24 | //******************************************************************************
25 | //*******************************************************************************
26 | // FabGL aggressively trimmed down by David Crespo
27 | // https://github.com/dcrespo3d
28 | // for using only its SoundGen and SwGenerator components
29 | // in ZX-ESPectrum emulator project
30 | // for emulating AY-3-8912 chip
31 | //*******************************************************************************
32 | //*****************************************************************************
33 | #pragma once
34 |
35 | #include "fabutils.h"
36 | #include "soundgen.h"
37 |
38 | using fabgl::SoundGenerator;
39 | using fabgl::SineWaveformGenerator;
40 | using fabgl::SquareWaveformGenerator;
41 | using fabgl::NoiseWaveformGenerator;
42 | using fabgl::VICNoiseGenerator;
43 | using fabgl::TriangleWaveformGenerator;
44 | using fabgl::SawtoothWaveformGenerator;
45 | using fabgl::SamplesGenerator;
46 | using fabgl::WaveformGenerator;
47 |
48 |
49 | #endif
50 | #endif
51 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/vga_6bit.h:
--------------------------------------------------------------------------------
1 |
2 | #ifndef VGA_6BIT_H_FILE
3 | #define VGA_6BIT_H_FILE
4 |
5 | #include "gbConfig.h"
6 | #ifdef use_lib_tinybitluni_fast
7 |
8 | #include
9 |
10 | //JJ class VgaMode;
11 | //JJ extern const VgaMode vga_mode_320x240;
12 | //JJ extern const VgaMode vga_mode_288x240;
13 | //JJ extern const VgaMode vga_mode_240x240;
14 |
15 | //JJ aniadido
16 | //JJ extern const VgaMode vga_mode_320x200;
17 | //JJ extern const VgaMode vga_mode_200x150;
18 |
19 | //hfront hsync hback pixels vfront vsync vback lines divy pixelclock hpolaritynegative vpolaritynegative
20 | const int VgaMode_vga_mode_200x150[12]={
21 | 6,18,32,200, 1,2,22,600,4,9000000, 0,0
22 | };
23 |
24 | const int VgaMode_vga_mode_320x200[12]={
25 | 8,48,24,320,12,2,35,400,2,12587500,0,1 //funciona con 0,1
26 | };
27 |
28 | const int VgaMode_vga_mode_320x240[12]={
29 | 8,48,24,320,11,2,31,480,2,12587500,1,1
30 | //const Mode VGA::MODE320x240(8, 48, 24, 320, 11, 2, 31, 480, 2, 12587500, 1, 1);
31 | };
32 |
33 | const int VgaMode_vga_mode_360x200[12]={
34 | 8,54,28,360,11,2,32,400,2,14161000,0,1 //funciona con 0,1
35 | //const Mode VGA::MODE360x200(8, 54, 28, 360, 11, 2, 32, 400, 2, 14161000, 1, 0);
36 | };
37 |
38 | const int VgaMode_vga_mode_400x300[12]={
39 | 12,36,64,400,1,2,22,600,2,18000000,0,0
40 | };
41 |
42 |
43 | //extern const int VgaMode_vga_mode_200x150[12];
44 |
45 |
46 | //JJ void vga_init(const int *vga_pins, const VgaMode &mode = vga_mode_320x240, bool double_buffered = true);
47 | //void vga_init(const unsigned char *vga_pins, const VgaMode &mode = vga_mode_320x240, bool double_buffered = true);
48 |
49 | void vga_init(const unsigned char *pin_map, const int *mode, bool double_buffered);
50 |
51 | void vga_swap_buffers(bool wait_vsync = true);
52 | void vga_clear_screen(uint8_t color);
53 | unsigned char **vga_get_framebuffer();
54 | unsigned char vga_get_sync_bits();
55 | int vga_get_xres();
56 | int vga_get_yres();
57 |
58 | unsigned char vga_get_vsync_inv_bit(void);
59 | unsigned char vga_get_hsync_inv_bit(void);
60 |
61 | void SetVideoInterrupt(unsigned char auxState);
62 |
63 | #endif
64 |
65 | #endif //VGA_6BIT_H_FILE
66 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/osd.h:
--------------------------------------------------------------------------------
1 | #ifndef OSDFILE_H
2 | #define OSDFILE_H
3 |
4 | #include "gbConfig.h"
5 |
6 | #ifdef use_lib_wifi
7 | #include
8 | // #include
9 | #include
10 | #endif
11 | // OSD Headers
12 | #include
13 |
14 | // Defines
15 |
16 | // SNA Management
17 |
18 | //void changeSna(String sna_filename); //No se usa
19 | #ifdef use_lib_wifi
20 | #else
21 | void changeSna2Flash(unsigned char id,unsigned char isSNA48K);
22 | #endif
23 | #ifdef use_lib_sna_uart
24 | unsigned short int Leer_stream_UART(unsigned short int topeLeer, unsigned short int topeTimeOut,unsigned char *isTimeOut);
25 | void changeSna2UART(unsigned char isSNA48K);
26 | #endif
27 | #ifdef use_lib_wifi
28 | void changeSna2FlashFromWIFI(char *cadUrl,unsigned char isSNA48K);
29 | #endif
30 | // ULA
31 | //void stepULA();
32 | void do_tinyOSD(void);
33 | void SDLActivarOSDMainMenu();
34 | void SDLOSDClear(void);
35 | //void SDLEsperaTeclado(void);
36 | void SDLClear(void);
37 | void jj_fast_putpixel(int x,int y,unsigned char c);
38 | int LoadBlocksTape(unsigned char idTape,int *arrayTape);
39 | void Z80EmuSelectTape(unsigned char aux);
40 |
41 | void SetMode48K(void);
42 | void SetMode128K(void);
43 |
44 | void ResetSound(void);
45 |
46 | unsigned char ShowTinyMenu(const char *cadTitle,const char **ptrValue,unsigned char aMax);
47 | #ifdef use_lib_wifi
48 | void OSDMenuRowsDisplayScrollFromWIFI(unsigned char *ptrBuffer,unsigned char currentId,unsigned char aMax);
49 | unsigned char ShowTinyMenuFromWIFI(const char *cadTitle,unsigned char *ptrBuffer,unsigned char aMax);
50 | //bool downloadURL(char const * URL, char const * filename);
51 | //bool downloadURL(char const * URL, unsigned char * ptrDest, unsigned char isPtrDest);
52 | //void AsignarOSD_WIFI(WiFiMulti * ptr);
53 | //void AsignarOSD_WIFI(WiFiMulti * ptr, HTTPClient * ptr_http, WiFiClient * ptr_stream);
54 | //void AsignarOSD_WIFI(HTTPClient * ptr_http, WiFiClient * ptr_stream);
55 | #endif
56 |
57 |
58 | #ifdef use_lib_keyboard_uart
59 | void keyboard_uart_poll(void);
60 | #endif
61 |
62 | void SDLprintText(const char *cad,int x, int y, unsigned char color,unsigned char backcolor);
63 |
64 | #endif
65 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/makeandroid.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | echo Convert ANDROID PROJECT DATA (WIN32)
3 | echo Delete dataFlash (Borrar dataFlash)
4 | pause
5 |
6 | echo Process gbrom.h (Procesar gbrom.h)
7 | fart dataFlash\gbrom.h "roms/rom" "rom"
8 | ping -n 2 127.0.0.1>nul
9 |
10 | echo Process gbscr.h (Procesar gbscr.h)
11 | fart dataFlash\gbscr.h "scr/scr" "scr"
12 | ping -n 2 127.0.0.1>nul
13 |
14 | echo Process gbsna.h (Procesar gbsna.h)
15 | fart dataFlash\gbsna.h "sna/sna" "sna"
16 | ping -n 2 127.0.0.1>nul
17 |
18 | echo Process gbtape.h (Procesar gbtape.h)
19 | fart dataFlash\gbtape.h "tape/tape" "tape"
20 | ping -n 2 127.0.0.1>nul
21 |
22 |
23 |
24 | echo Process ZXESPectrum.ino gbrom (Procesar ZXESPectrum.ino)
25 | fart ZXESPectrum.ino "dataFlash/gbrom.h" "gbrom.h"
26 | ping -n 2 127.0.0.1>nul
27 |
28 | echo Process ZXESPectrum.ino gbscr (Procesar ZXESPectrum.ino)
29 | fart ZXESPectrum.ino "dataFlash/gbscr.h" "gbscr.h"
30 | ping -n 2 127.0.0.1>nul
31 |
32 | echo Process ZXESPectrum.ino gbsna (Procesar ZXESPectrum.ino)
33 | fart ZXESPectrum.ino "dataFlash/gbsna.h" "gbsna.h"
34 | ping -n 2 127.0.0.1>nul
35 |
36 | echo Process ZXESPectrum.ino gbtape (Procesar ZXESPectrum.ino)
37 | fart ZXESPectrum.ino "dataFlash/gbtape.h" "gbtape.h"
38 | ping -n 2 127.0.0.1>nul
39 |
40 |
41 |
42 |
43 | echo Copy gbrom.h (Copiar gbrom.h)
44 | copy/Y dataFlash\gbrom.h
45 | ping -n 2 127.0.0.1>nul
46 |
47 | echo Copy gbscr.h (Copiar gbscr.h)
48 | copy/Y dataFlash\gbscr.h
49 | ping -n 2 127.0.0.1>nul
50 |
51 | echo Copy gbsna.h (Copiar gbsna.h)
52 | copy/Y dataFlash\gbsna.h
53 | ping -n 2 127.0.0.1>nul
54 |
55 | echo Copy gbtape.h (Copiar gbtape.h)
56 | copy/Y dataFlash\gbtape.h
57 | ping -n 2 127.0.0.1>nul
58 |
59 |
60 |
61 | echo Copy roms (Copiar roms)
62 | copy/Y dataFlash\roms\*.h
63 | ping -n 2 127.0.0.1>nul
64 |
65 | echo Copy scr (Copiar scr)
66 | copy/Y dataFlash\scr\*.h
67 | ping -n 2 127.0.0.1>nul
68 |
69 | echo Copy sna (Copiar sna)
70 | copy/Y dataFlash\sna\*.h
71 | ping -n 2 127.0.0.1>nul
72 |
73 | echo Copy tape (Copiar tape)
74 | copy/Y dataFlash\tape\*.h
75 | ping -n 2 127.0.0.1>nul
76 |
77 |
78 | echo Delete dataFlash (Borrar dataFlash)
79 | rmdir /S /Q dataFlash
80 |
81 | pause
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/z80main.h:
--------------------------------------------------------------------------------
1 | #ifndef __ZXMAIN_INCLUDED__
2 | #define __ZXMAIN_INCLUDED__
3 |
4 |
5 | #include "gbConfig.h"
6 | #ifdef use_lib_core_linkefong
7 |
8 | #include "z80user.h"
9 |
10 | extern Z80_STATE _zxCpu;
11 |
12 | //extern int gb_screen_xIni;
13 | //extern int gb_screen_yIni;
14 | extern unsigned char gbSoundSpeaker;
15 | extern unsigned char gbSoundSpeakerBefore;
16 | extern unsigned int gbContSPKChangeSamples;
17 | //extern unsigned int gbContSPKSamples;
18 |
19 | //#ifdef use_lib_sound_ay8912
20 | // extern int gb_ay8912_reg_select;
21 | // extern int gb_ay8912_reg_value;
22 | // extern int gb_ay8912_A_frec_fine;
23 | // extern int gb_ay8912_B_frec_fine;
24 | // extern int gb_ay8912_C_frec_fine;
25 | // extern int gb_ay8912_A_frec_course;
26 | // extern int gb_ay8912_B_frec_course;
27 | // extern int gb_ay8912_C_frec_course;
28 | // extern int gb_ay8912_noise_pitch;
29 | // extern int gb_ay8912_A_frec;
30 | // extern int gb_ay8912_B_frec;
31 | // extern int gb_ay8912_C_frec;
32 | // extern int gb_ay8912_A_vol;
33 | // extern int gb_ay8912_B_vol;
34 | // extern int gb_ay8912_C_vol;
35 | // extern int gb_ay8912_mixer;
36 | // extern unsigned char gb_silence_all_channels;
37 | // #define gb_frecuencia_ini 220
38 | //#endif
39 |
40 | //#ifdef use_lib_mouse_kempston
41 | // extern int gb_z80_mouse_x;
42 | // extern int gb_z80_mouse_y;
43 | // extern int gb_z80_mouseBtn;
44 | //#endif
45 |
46 |
47 | void zx_setup();
48 | //JJ int32_t zx_loop();
49 | void zx_loop(void);
50 | void zx_reset();
51 | void ReloadLocalCacheROMram(void);
52 |
53 | #ifdef use_optimice_writebyte
54 | extern "C" inline uint8_t fast_readbyte(uint16_t addr);
55 | #else
56 | extern "C" uint8_t fast_readbyte(uint16_t addr);
57 | #endif
58 | //JJ extern "C" uint8_t readbyte(uint16_t addr);
59 | #ifdef use_optimice_writebyte
60 | //extern "C" inline void writebyte(uint16_t addr, uint8_t data);
61 | inline void writebyte(uint16_t addr, uint8_t data);
62 | #else
63 | extern "C" void writebyte(uint16_t addr, uint8_t data);
64 | #endif
65 | extern "C" uint16_t readword(uint16_t addr);
66 | extern "C" void writeword(uint16_t addr, uint16_t data);
67 |
68 | #ifdef use_optimice_writebyte
69 | void AsignarRealPtrRAM(void);
70 | #endif
71 | //#ifdef use_lib_sound_ay8912
72 | // extern "C" void ResetSound();
73 | //#endif
74 |
75 |
76 | #endif
77 |
78 | #endif
79 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/dataFlash/gbrom.h:
--------------------------------------------------------------------------------
1 | #ifndef GB_ROM_H
2 | #define GB_ROM_H
3 |
4 | #include
5 | #include "roms/romDiag48K.h"
6 | #include "roms/romSinclair48K.h"
7 | #include "roms/romSE48K.h"
8 | #include "roms/romRamTester48K.h"
9 |
10 |
11 | #include "roms/romPlus2A128K.h"
12 | #include "roms/romPlus3128K.h"
13 | #include "roms/romPlus3E128K.h"
14 | #include "roms/romSinclair128K.h"
15 |
16 |
17 |
18 | #define max_list_rom_48 4
19 |
20 | #define max_list_rom_128 4
21 |
22 | // #define max_list_rom_128 0
23 |
24 |
25 | //roms 48K
26 | //Titulos
27 | static const char * gb_list_roms_48k_title[max_list_rom_48]={
28 | "SINCLAIR",
29 | "DIAG",
30 | "SE",
31 | "TESTRAM128"
32 | //"DIAG",
33 | //"DIAG",
34 | //"SINCLAIR",
35 | };
36 |
37 | //Datos 48K 1 ROM en slot 0
38 | static const unsigned char * gb_list_roms_48k_data[max_list_rom_48]={
39 | gb_rom_0_sinclair_48k,
40 | gb_rom_0_diag_48k,
41 | gb_rom_0_SE_48k,
42 | gb_rom_0_ramtester_48k
43 | //gb_rom_0_diag_48k,
44 | //gb_rom_0_diag_48k
45 | //gb_rom_0_sinclair_48k,
46 | };
47 |
48 | //Datos 128K
49 | static const char * gb_list_roms_128k_title[max_list_rom_128]={
50 |
51 | "PLUS2A",
52 | "PLUS3",
53 | "PLUS3E",
54 | "SINCLAIR"//,
55 |
56 | //"SINCLAIR",
57 | //"SINCLAIR",
58 | //"SINCLAIR"
59 |
60 | };
61 |
62 | //Datos 128K 4 roms en 4 slots
63 | static const unsigned char * gb_list_roms_128k_data[max_list_rom_128][4]={
64 |
65 | gb_rom_0_plus2a_128k,gb_rom_1_plus2a_128k,gb_rom_0_plus2a_128k,gb_rom_0_plus2a_128k,
66 | gb_rom_0_plus3_128k,gb_rom_1_plus3_128k,gb_rom_2_plus3_128k,gb_rom_3_plus3_128k,
67 | gb_rom_0_plus3E_128k,gb_rom_1_plus3E_128k,gb_rom_2_plus3E_128k,gb_rom_3_plus3E_128k,
68 | gb_rom_0_sinclair_128k,gb_rom_1_sinclair_128k,gb_rom_0_sinclair_128k,gb_rom_0_sinclair_128k//,
69 |
70 |
71 | //gb_rom_0_sinclair_128k,gb_rom_1_sinclair_128k,gb_rom_0_sinclair_128k,gb_rom_0_sinclair_128k,
72 | //gb_rom_0_sinclair_128k,gb_rom_1_sinclair_128k,gb_rom_0_sinclair_128k,gb_rom_0_sinclair_128k,
73 | //gb_rom_0_sinclair_128k,gb_rom_1_sinclair_128k,gb_rom_0_sinclair_128k,gb_rom_0_sinclair_128k
74 | };
75 |
76 |
77 | /*
78 | gb_roms_sinclair_128[]{
79 | gb_rom_0_sinclair_128k,
80 | gb_rom_1_sinclair_128k
81 | };
82 |
83 | gb_rom_0_ramtester_128k[]{
84 | gb_rom_0_ramtester_128k
85 | };
86 |
87 | gb_roms_128[]={
88 | gb_roms_sinclair_128
89 | };
90 | */
91 | #endif
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/dataFlash/gbsna.h:
--------------------------------------------------------------------------------
1 | #ifndef GB_SNA_H
2 | #define GB_SNA_H
3 |
4 |
5 | #include "sna/snaDiag48K.h"
6 | #include "sna/snaFantasy48K.h"
7 | #include "sna/snaSPpong48K.h"
8 | #include "sna/snaManic48K.h"
9 | #include "sna/snaFire48K.h"
10 | //#include "sna/snaSilkwormKM48K.h"
11 | #include "sna/sna3Dcoolkm48K.h"
12 | #include "sna/snaAT4OPENKM48K.h"
13 | //#include "sna/snaBREDITORKM48K.h"
14 | #include "sna/snaSIPKA48K.h"
15 | #include "sna/snaMouseTestZxds48K.h"
16 | //#include "sna/snaArkanoid48K.h"
17 | #include "sna/snaFireKey.h"
18 | #include "sna/snaTritone1.h"
19 | #include "sna/snaZ80full48K.h"
20 |
21 |
22 | //#define max_list_sna_48 10
23 |
24 | #define max_list_sna_48 12
25 |
26 | //#define max_list_sna_48 0
27 |
28 | //#define max_list_sna_48 2
29 | // #define max_list_sna_48 1
30 |
31 | //sna 48K
32 | //Titulos
33 | static const char * gb_list_sna_48k_title[max_list_sna_48]={
34 |
35 | "diag",
36 | "fantasy",
37 | "sppong",
38 | "manic",
39 | "fire",
40 | //"Arkanoid",
41 | //"SilkWormKM",
42 | "3DcoolKm",
43 | "AT4openKM",
44 | //"BrEditorKM",
45 | "Sipka",
46 | "MouseTestZxds",
47 | "FireKey",
48 | "Tritone1",
49 | "Z80FULL"
50 | //"EightOfNoise",
51 | //"WWTF"
52 |
53 | };
54 |
55 | //Datos 48K sna
56 | static const unsigned char * gb_list_sna_48k_data[max_list_sna_48]={
57 |
58 | gb_sna_diag_48k,
59 | gb_sna_fantasy_48k,
60 | gb_sna_sppong_48k,
61 | gb_sna_manic_48k,
62 | gb_sna_fire_48k,
63 | //gb_sna_arkanoid_48k,
64 | //gb_sna_SILKWORMKM_48k,
65 | gb_3dcoolkm_48k,
66 | gb_sna_AT4OPENKM_48k,
67 | //gb_sna_BREDITORKM_48k,
68 | gb_sna_SIPKA_48K_H_48k,
69 | gb_sna_mouseTestZxds_48k,
70 | gb_sna_FireKey_48k,
71 | gb_sna_Tritone1_48k,
72 | gb_sna_Z80FULL_48K
73 | // gb_sna_eightOfNoise_48k,
74 | // gb_sna_wwtf_48k
75 |
76 | };
77 |
78 |
79 | //#include "sna/snaMusic2tap128.h"
80 | #include "sna/snaMusicDemo128.h"
81 |
82 | //#include "sna/snaAbadia128K.h"
83 | //#include "sna/snaRobocop128K.h"
84 | //#include "sna/snaRobocop2128K.h"
85 |
86 | //#define max_list_sna_128 5
87 | #define max_list_sna_128 1
88 |
89 |
90 | //#define max_list_sna_128 0
91 |
92 | //sna 128K
93 | //Titulos
94 | static const char * gb_list_sna_128k_title[max_list_sna_128]={
95 |
96 | //"Music2tap128",
97 | "MusicDemo128"
98 | //,"Abadia",
99 | //"Robocop",
100 | //"Robocop2"
101 |
102 | };
103 |
104 | //Datos 128K
105 | static const unsigned char * gb_list_sna_128k_data[max_list_sna_128]={
106 |
107 | //gb_sna_Music2tap128_128k,
108 | gb_sna_MusicDemo128_128k
109 | //,gb_sna_abadia_128k,
110 | //gb_sna_robocop_128k,
111 | //gb_sna_robocop2_128k
112 |
113 | };
114 |
115 | #endif
116 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/Memory.cpp:
--------------------------------------------------------------------------------
1 | //#include "def/msg.h"
2 | #include
3 | #include
4 | #include
5 |
6 | #include "gbConfig.h"
7 | #include "gbGlobals.h"
8 |
9 | //void errorHalt(String);
10 |
11 | //byte *rom0;
12 | //JJ byte *rom1;
13 | //JJ byte *rom2;
14 | //JJ byte *rom3;
15 | #ifdef use_lib_core_linkefong
16 | const unsigned char *rom0;
17 | const unsigned char *rom1;
18 | const unsigned char *rom2;
19 | const unsigned char *rom3;
20 |
21 | unsigned char *ram0;
22 | unsigned char *ram1;
23 | unsigned char *ram2;
24 | unsigned char *ram3;
25 | unsigned char *ram4;
26 | #ifdef use_lib_iram_video
27 | #ifdef use_lib_only_48k
28 | unsigned char ram5[16384]; //Solo 48k
29 | unsigned char *ram7;
30 | #else
31 | unsigned char ram5[16384];
32 | unsigned char ram7[16384];
33 | #endif
34 | #else
35 | unsigned char *ram5;
36 | unsigned char *ram7;
37 | #endif
38 | unsigned char *ram6;
39 |
40 | volatile unsigned char bank_latch = 0;
41 | volatile unsigned char video_latch = 0;
42 | volatile unsigned char rom_latch = 0;
43 | volatile unsigned char paging_lock = 0;
44 | //volatile boolean writeScreen;
45 | unsigned char sp3_mode = 0;
46 | unsigned char sp3_rom = 0;
47 | unsigned char rom_in_use;
48 | #endif
49 |
50 | #ifdef use_lib_core_jsanchezv
51 | uint8_t * rom0_inRAM_jsanchezv;
52 | const uint8_t * rom0_jsanchezv;
53 | const uint8_t * rom1_jsanchezv;
54 | const uint8_t * rom2_jsanchezv;
55 | const uint8_t * rom3_jsanchezv;
56 |
57 | //unsigned char * ram1_jsanchezv;
58 | #ifdef use_lib_48k_iram_jsanchezv
59 | static unsigned char * static_ram0_jsanchezv;
60 | static unsigned char * static_ram2_jsanchezv;
61 | static unsigned char * static_ram5_jsanchezv;
62 |
63 | void AssignStaticRam_jsanchezv(unsigned char *ptr_ram0,unsigned char *ptr_ram2,unsigned char *ptr_ram5)
64 | {
65 | static_ram0_jsanchezv = ptr_ram0;
66 | static_ram2_jsanchezv = ptr_ram2;
67 | static_ram5_jsanchezv = ptr_ram5;
68 | }
69 | #else
70 | #endif
71 |
72 | void ReloadLocalCacheROMram_jsanchezv()
73 | {
74 | gb_local_cache_rom_jsanchezv[0]=(uint8_t *)rom0_jsanchezv;
75 | gb_local_cache_rom_jsanchezv[1]=(uint8_t *)rom1_jsanchezv;
76 | gb_local_cache_rom_jsanchezv[2]=(uint8_t *)rom2_jsanchezv;
77 | gb_local_cache_rom_jsanchezv[3]=(uint8_t *)rom3_jsanchezv;
78 |
79 |
80 | gb_local_cache_ram_jsanchezv[1]=ram1_jsanchezv;
81 | gb_local_cache_ram_jsanchezv[3]=ram3_jsanchezv;
82 | gb_local_cache_ram_jsanchezv[4]=ram4_jsanchezv;
83 | gb_local_cache_ram_jsanchezv[6]=ram6_jsanchezv;
84 | gb_local_cache_ram_jsanchezv[7]=ram7_jsanchezv;
85 |
86 | #ifdef use_lib_48k_iram_jsanchezv
87 | gb_local_cache_ram_jsanchezv[0]=static_ram0_jsanchezv;
88 | gb_local_cache_ram_jsanchezv[2]=static_ram2_jsanchezv;
89 | gb_local_cache_ram_jsanchezv[5]=static_ram5_jsanchezv;
90 | #else
91 | gb_local_cache_ram_jsanchezv[0]=ram0_jsanchezv;
92 | gb_local_cache_ram_jsanchezv[2]=ram2_jsanchezv;
93 | gb_local_cache_ram_jsanchezv[5]=ram5_jsanchezv;
94 | #endif
95 | }
96 | #endif
97 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/jsanchezv_z80sim.h:
--------------------------------------------------------------------------------
1 | #ifndef Z80SIM_H
2 | #define Z80SIM_H
3 |
4 | #include "gbConfig.h"
5 | #ifdef use_lib_core_jsanchezv
6 |
7 | #include
8 | #include
9 |
10 | #include "jsanchezv_z80.h"
11 | #include "jsanchezv_z80operations.h"
12 |
13 | class Z80sim : public Z80operations
14 | {
15 | private:
16 | #ifdef use_lib_cycle_32bits_jsanchezv
17 | unsigned int tstates;
18 | #else
19 | uint64_t tstates;
20 | #endif
21 | Z80 cpu;
22 | //JJ uint8_t z80Ram[0x10000];
23 | //uint8_t z80Ports[0x10000];
24 | //JJ unsigned char z80Ram[0x10000];
25 | //JJ unsigned char z80Ports[0x10000];
26 | //JJunsigned char * z80Ram;
27 | //JJunsigned char * z80Ports;
28 | bool finish;
29 |
30 | public:
31 | Z80sim(void);
32 | //JJ virtual ~Z80sim() override;
33 | virtual ~Z80sim();
34 | void AssignPtrRamPort(unsigned char *ptrRam,unsigned char *ptrPort);
35 |
36 | //JJ uint8_t fetchOpcode(uint16_t address) override;
37 | //JJ uint8_t peek8(uint16_t address) override;
38 | //JJ void poke8(uint16_t address, uint8_t value) override;
39 | //JJ uint16_t peek16(uint16_t address) override;
40 | //JJ void poke16(uint16_t address, RegisterPair word) override;
41 | //JJ uint8_t inPort(uint16_t port) override;
42 | //JJ void outPort(uint16_t port, uint8_t value) override;
43 | //JJ void addressOnBus(uint16_t address, int32_t tstates) override;
44 | //JJ void interruptHandlingTime(int32_t tstates) override;
45 | //JJ bool isActiveINT(void) override;
46 |
47 | uint8_t fetchOpcode(uint16_t address);
48 | #ifdef use_optimice_writebyte
49 | void AsignarRealPtrRAM(void);
50 | #endif
51 | inline uint8_t peek8(uint16_t address);
52 | inline void poke8(uint16_t address, uint8_t value);
53 | uint16_t peek16(uint16_t address);
54 | void poke16(uint16_t address, RegisterPair word);
55 | uint8_t inPort(uint16_t port);
56 | void outPort(uint16_t port, uint8_t value);
57 | void addressOnBus(uint16_t address, int32_t tstates);
58 | void interruptHandlingTime(int32_t tstates);
59 | bool isActiveINT(void);
60 |
61 | #ifdef WITH_BREAKPOINT_SUPPORT
62 | //JJ uint8_t breakpoint(uint16_t address, uint8_t opcode) override;
63 | uint8_t breakpoint(uint16_t address, uint8_t opcode);
64 | #else
65 | uint8_t breakpoint(uint16_t address, uint8_t opcode);
66 | #endif
67 |
68 | #ifdef WITH_EXEC_DONE
69 | //void execDone(void) override;
70 | void execDone(void);
71 | #endif
72 |
73 | void runTest(std::ifstream* f);
74 | void runTestJJ(void);
75 | void runTestJJ_poll(void);
76 | #ifdef use_lib_wifi
77 | void load_ram2Flash_jsanchezvFromWIFI(char * cadUrl,unsigned char isSNA48K);
78 | #else
79 | void load_ram2Flash_jsanchezv(unsigned char id,unsigned char isSNA48K);
80 | void load_ram2Flash128_jsanchezv(unsigned char id);
81 | #endif
82 | #ifdef use_lib_sna_uart
83 | void load_ram2FlashFromUART_jsanchezv(unsigned char isSNA48K);
84 | #endif
85 | void ResetCPU(void);
86 | #ifdef use_lib_cycle_32bits_jsanchezv
87 | unsigned int * GetAddr_tstates(void);
88 | #else
89 | uint64_t * GetAddr_tstates(void);
90 | #endif
91 | };
92 | #endif // Z80SIM_H
93 |
94 | #endif
95 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/z80config.h:
--------------------------------------------------------------------------------
1 | // z80config.h
2 | // Define or comment out macros in this file to configure the emulator.
3 | //
4 | // Copyright (c) 2016, 2017 Lin Ke-Fong
5 | //
6 | // This code is free, do whatever you want with it.
7 |
8 | #ifndef __Z80CONFIG_INCLUDED__
9 | #define __Z80CONFIG_INCLUDED__
10 |
11 | #include "gbConfig.h"
12 | #ifdef use_lib_core_linkefong
13 |
14 | /* Define this macro if the host processor is big endian. */
15 |
16 | /* #define Z80_BIG_ENDIAN */
17 |
18 | /* Emulation can be speed up a little bit by emulating only the documented
19 | * flags.
20 | */
21 |
22 | //#define Z80_DOCUMENTED_FLAGS_ONLY */
23 |
24 | /* HALT, DI, EI, RETI, and RETN instructions can be catched. When such an
25 | * instruction is catched, the emulator is stopped and the PC register points
26 | * at the opcode to be executed next. The catched instruction can be determined
27 | * from the Z80_STATE's status value. Keep in mind that no interrupt can be
28 | * accepted at the instruction right after a DI or EI on an actual processor.
29 | */
30 |
31 |
32 | //#define Z80_CATCH_HALT
33 | //#define Z80_CATCH_DI
34 | //#define Z80_CATCH_EI
35 | //#define Z80_CATCH_RETI
36 | //#define Z80_CATCH_RETN
37 |
38 |
39 | /* Undefined 0xed prefixed opcodes may be catched, otherwise they are treated
40 | * like NOP instructions. When one is catched, Z80_STATUS_ED_UNDEFINED is set
41 | * in Z80_STATE's status member and the PC register points at the 0xed prefix
42 | * before the undefined opcode.
43 | */
44 |
45 | #define Z80_CATCH_ED_UNDEFINED
46 |
47 | /* The emulator cannot be stopped between prefixed opcodes. This can be a
48 | * problem if there is a long sequence of 0xdd and/or 0xfd prefixes. But if
49 | * Z80_PREFIX_FAILSAFE is defined, it will always be able to stop after at
50 | * least numbers_cycles are executed, in which case Z80_STATE's status is set
51 | * to Z80_STATUS_PREFIX. Note that if the memory where the opcodes are read,
52 | * has wait states (slow memory), then the additional cycles for a one byte
53 | * fetch (the non executed prefix) must be substracted. Even if it is safer,
54 | * most program won't need this feature.
55 | */
56 |
57 | //#define Z80_PREFIX_FAILSAFE
58 |
59 | /* By defining this macro, the emulator will always fetch the displacement or
60 | * address of a conditionnal jump or call instruction, even if the condition
61 | * is false and the fetch can be avoided. Define this macro if you need to
62 | * account for memory wait states on code read.
63 | */
64 |
65 | //#define Z80_FALSE_CONDITION_FETCH
66 |
67 | /* It may be possible to overwrite the opcode of the currently executing LDIR,
68 | * LDDR, INIR, or OTDR instruction. Define this macro if you need to handle
69 | * these pathological cases.
70 | */
71 |
72 | #define Z80_HANDLE_SELF_MODIFYING_CODE
73 |
74 | /* For interrupt mode 2, bit 0 of the 16-bit address to the interrupt vector
75 | * can be masked to zero. Some documentation states that this bit is forced to
76 | * zero. For instance, Zilog's application note about interrupts, states that
77 | * "only 7 bits are required" and "the least significant bit is zero". Yet,
78 | * this is quite unclear, even from Zilog's manuals. So this is left as an
79 | * option.
80 | */
81 |
82 | //#define Z80_MASK_IM2_VECTOR_ADDRESS
83 |
84 | #endif
85 |
86 | #endif
87 |
--------------------------------------------------------------------------------
/www/zxspectrum/list.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | rem Delete list scr and sna
3 | erase output\outlist\scr\*.txt
4 | erase output\outlist\sna\48k\*.txt
5 | rem erase output.err
6 |
7 | rem screens
8 | dsk output\outdat\scr\action output\outlist\scr\action.txt
9 | dsk output\outdat\scr\arcade output\outlist\scr\arcade.txt
10 | dsk output\outdat\scr\board output\outlist\scr\board.txt
11 | dsk output\outdat\scr\card output\outlist\scr\card.txt
12 | dsk output\outdat\scr\chess output\outlist\scr\chess.txt
13 | dsk output\outdat\scr\combat output\outlist\scr\combat.txt
14 | dsk output\outdat\scr\dungeon output\outlist\scr\dungeon.txt
15 | dsk output\outdat\scr\fight output\outlist\scr\fight.txt
16 | dsk output\outdat\scr\maze output\outlist\scr\maze.txt
17 | dsk output\outdat\scr\pinball output\outlist\scr\pinball.txt
18 | dsk output\outdat\scr\platform output\outlist\scr\platform.txt
19 | dsk output\outdat\scr\pong output\outlist\scr\pong.txt
20 | dsk output\outdat\scr\puzzle output\outlist\scr\puzzle.txt
21 | dsk output\outdat\scr\race output\outlist\scr\race.txt
22 | dsk output\outdat\scr\rpg output\outlist\scr\rpg.txt
23 | dsk output\outdat\scr\scene output\outlist\scr\scene.txt
24 | dsk output\outdat\scr\shoot output\outlist\scr\shoot.txt
25 | dsk output\outdat\scr\simul output\outlist\scr\simul.txt
26 | dsk output\outdat\scr\sport output\outlist\scr\sport.txt
27 | dsk output\outdat\scr\strategy output\outlist\scr\strategy.txt
28 | dsk output\outdat\scr\venture output\outlist\scr\venture.txt
29 | dsk output\outdat\scr\war output\outlist\scr\war.txt
30 |
31 | rem SNA
32 | dsk output\outdat\sna\48k\app output\outlist\sna\48k\app.txt
33 | dsk output\outdat\sna\48k\action output\outlist\sna\48k\action.txt
34 | dsk output\outdat\sna\48k\arcade output\outlist\sna\48k\arcade.txt
35 | dsk output\outdat\sna\48k\board output\outlist\sna\48k\board.txt
36 | dsk output\outdat\sna\48k\card output\outlist\sna\48k\card.txt
37 | dsk output\outdat\sna\48k\chess output\outlist\sna\48k\chess.txt
38 | dsk output\outdat\sna\48k\combat output\outlist\sna\48k\combat.txt
39 | dsk output\outdat\sna\48k\dungeon output\outlist\sna\48k\dungeon.txt
40 | dsk output\outdat\sna\48k\fight output\outlist\sna\48k\fight.txt
41 | dsk output\outdat\sna\48k\gambling output\outlist\sna\48k\gambling.txt
42 | dsk output\outdat\sna\48k\maze output\outlist\sna\48k\maze.txt
43 | dsk output\outdat\sna\48k\mouse output\outlist\sna\48k\mouse.txt
44 | dsk output\outdat\sna\48k\pinball output\outlist\sna\48k\pinball.txt
45 | dsk output\outdat\sna\48k\platform output\outlist\sna\48k\platform.txt
46 | dsk output\outdat\sna\48k\pong output\outlist\sna\48k\pong.txt
47 | dsk output\outdat\sna\48k\puzzle output\outlist\sna\48k\puzzle.txt
48 | dsk output\outdat\sna\48k\quiz output\outlist\sna\48k\quiz.txt
49 | dsk output\outdat\sna\48k\race output\outlist\sna\48k\race.txt
50 | dsk output\outdat\sna\48k\rpg output\outlist\sna\48k\rpg.txt
51 | dsk output\outdat\sna\48k\scene output\outlist\sna\48k\scene.txt
52 | dsk output\outdat\sna\48k\school output\outlist\sna\48k\school.txt
53 | dsk output\outdat\sna\48k\shoot output\outlist\sna\48k\shoot.txt
54 | dsk output\outdat\sna\48k\simul output\outlist\sna\48k\simul.txt
55 | dsk output\outdat\sna\48k\sport output\outlist\sna\48k\sport.txt
56 | dsk output\outdat\sna\48k\strategy output\outlist\sna\48k\strategy.txt
57 | dsk output\outdat\sna\48k\tactical output\outlist\sna\48k\tactical.txt
58 | dsk output\outdat\sna\48k\tools output\outlist\sna\48k\tools.txt
59 | dsk output\outdat\sna\48k\venture output\outlist\sna\48k\venture.txt
60 | dsk output\outdat\sna\48k\war output\outlist\sna\48k\war.txt
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/PS2Kbd.cpp:
--------------------------------------------------------------------------------
1 | #include "gbConfig.h"
2 | #include "gbGlobals.h"
3 | #include "ZXESPectrum.h"
4 | #include "hardware.h"
5 | #include "keys.h"
6 | #include "PS2Kbd.h"
7 | #include
8 |
9 | volatile unsigned char keymap[256];
10 | volatile unsigned char oldKeymap[256];
11 |
12 | unsigned int shift = 0;
13 | byte lastcode = 0;
14 | boolean keyup = false;
15 | boolean shift_presed = false;
16 | boolean symbol_pressed = false;
17 | byte rc = 0;
18 |
19 | // #define DEBUG_LOG_KEYSTROKES 1
20 |
21 | void IRAM_ATTR kb_interruptHandler(void) {
22 | static uint8_t bitcount = 0;
23 | static uint8_t incoming = 0;
24 | static uint32_t prev_ms = 0;
25 | uint32_t now_ms;
26 | uint8_t n, val;
27 |
28 | int clock = digitalRead(KEYBOARD_CLK);
29 | if (clock == 1)
30 | return;
31 |
32 | val = digitalRead(KEYBOARD_DATA);
33 | now_ms = millis();
34 | if (now_ms - prev_ms > 250) {
35 | bitcount = 0;
36 | incoming = 0;
37 | }
38 | prev_ms = now_ms;
39 | n = bitcount - 1;
40 | if (n <= 7) {
41 | incoming |= (val << n);
42 | }
43 | bitcount++;
44 | if (bitcount == 11) {
45 |
46 | if (1) {
47 | if (keyup == true) {
48 | if (keymap[incoming] == 0) {
49 | keymap[incoming] = 1;
50 | } else {
51 | // Serial.println("WARNING: Keyboard cleaned");
52 | for (int gg = 0; gg < 256; gg++)
53 | keymap[gg] = 1;
54 | }
55 | keyup = false;
56 | } else
57 | keymap[incoming] = 0;
58 |
59 | #ifdef DEBUG_LOG_KEYSTROKES
60 | #ifdef use_lib_log_serial
61 | Serial.printf("PS2Kbd[%s]: %02X\r\n",
62 | keyup ? " up " : "down", incoming);
63 | #endif
64 | #endif
65 |
66 | if (incoming == 240)
67 | keyup = true;
68 | else
69 | keyup = false;
70 | }
71 | bitcount = 0;
72 | incoming = 0;
73 | }
74 | }
75 |
76 | //#define FIX_PERIBOARD_NOT_INITING
77 | #ifdef FIX_PERIBOARD_NOT_INITING
78 | #include "PS2KeyAdvanced.h"
79 | PS2KeyAdvanced ps2boot;
80 | #endif
81 |
82 | void kb_begin()
83 | {
84 | #ifdef FIX_PERIBOARD_NOT_INITING
85 | //Configure the keyboard library
86 | ps2boot.begin( KEYBOARD_DATA, KEYBOARD_CLK );
87 | ps2boot.echo( ); // ping keyboard to see if there
88 | delay( 6 );
89 | ps2boot.read( );
90 | delay( 6 );
91 | ps2boot.terminate();
92 | #endif
93 |
94 | pinMode(KEYBOARD_DATA, INPUT_PULLUP);
95 | pinMode(KEYBOARD_CLK, INPUT_PULLUP);
96 | digitalWrite(KEYBOARD_DATA, true);
97 | digitalWrite(KEYBOARD_CLK, true);
98 | attachInterrupt(digitalPinToInterrupt(KEYBOARD_CLK), kb_interruptHandler, FALLING);
99 |
100 | memset((void *)keymap, 1, sizeof(keymap));
101 | memset((void *)oldKeymap, 1, sizeof(oldKeymap));
102 | }
103 |
104 | // Check if keymatrix is changed
105 | boolean isKeymapChanged() { return (keymap != oldKeymap); }
106 |
107 | // Check if key is pressed and clean it
108 | boolean checkAndCleanKey(uint8_t scancode) {
109 | if (keymap[scancode] == 0) {
110 | keymap[scancode] = 1;
111 | return true;
112 | }
113 | return false;
114 | }
115 |
116 | //*****************************************
117 | boolean checkKey(uint8_t scancode) {
118 | if (keymap[scancode] == 0)
119 | return true;
120 | return false;
121 | }
122 |
123 | void emulateKeyChange(uint8_t scancode, uint8_t isdown)
124 | {
125 | keymap[scancode] = isdown ? 0 : 1;
126 | }
127 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/hardware.h:
--------------------------------------------------------------------------------
1 | #ifndef _HARDWARE_H
2 | #define _HARDWARE_H
3 |
4 | #include "gbConfig.h"
5 |
6 | #define SPEAKER_PIN 25
7 | //JJ #define EAR_PIN 34
8 | //JJ #define MIC_PIN 0
9 |
10 | #define KEYBOARD_DATA 32
11 | #define KEYBOARD_CLK 33
12 |
13 | #define MOUSE_DATA 27
14 | #define MOUSE_CLK 26
15 |
16 | //#define COLOR_3B
17 | //#define COLOR_6B
18 | // #define COLOR_14B
19 |
20 |
21 | //Section Tiny Fast Bitluni
22 | // VGA output pins
23 | #ifdef use_lib_board_wemos
24 | //WEMOS
25 | #define PIN_RED_LOW 255
26 | #define PIN_RED_HIGH 255
27 | #define PIN_GREEN_LOW 255
28 | #define PIN_GREEN_HIGH 255
29 | #define PIN_BLUE_LOW 5
30 | #define PIN_BLUE_HIGH 255
31 | #define PIN_HSYNC 23
32 | #define PIN_VSYNC 17
33 | //FIN WEMOS
34 | #else
35 | //Para FABGL
36 | #define PIN_RED_LOW 21
37 | #define PIN_RED_HIGH 22
38 | #define PIN_GREEN_LOW 18
39 | #define PIN_GREEN_HIGH 19
40 | #define PIN_BLUE_LOW 4
41 | #define PIN_BLUE_HIGH 5
42 | #define PIN_HSYNC 23
43 | #define PIN_VSYNC 15
44 | #endif
45 | //End section Tiny Fast Bitluni
46 |
47 |
48 | // 3 bit pins
49 | #define RED_PIN_3B 22
50 | #define GRE_PIN_3B 19
51 | #define BLU_PIN_3B 5
52 |
53 | // 6 bit pins
54 | #define RED_PINS_6B 21, 22
55 | #define GRE_PINS_6B 18, 19
56 | #define BLU_PINS_6B 4, 5
57 |
58 | // 14 bit pins
59 | #define RED_PINS_14B 21, 21, 21, 21, 22
60 | #define GRE_PINS_14B 18, 18, 18, 18, 19
61 | #define BLU_PINS_14B 4, 4, 4, 5
62 |
63 | // VGA sync pins
64 | #define HSYNC_PIN 23
65 | #define VSYNC_PIN 15
66 |
67 | #ifdef COLOR_3B // BGR
68 | #define BLACK 0x08 // 0000 1000
69 | #define BLUE 0x0C // 0000 1100
70 | #define RED 0x09 // 0000 1001
71 | #define MAGENTA 0x0D // 0000 1101
72 | #define GREEN 0x0A // 0000 1010
73 | #define CYAN 0x0E // 0000 1110
74 | #define YELLOW 0x0B // 0000 1011
75 | #define WHITE 0x0F // 0000 1111
76 | #endif
77 |
78 | #ifdef COLOR_6B // BB GGRR
79 | #define BLACK 0xC0 // 1100 0000
80 | #define BLUE 0xE0 // 1110 0000
81 | #define RED 0xC2 // 1100 0010
82 | #define MAGENTA 0xE2 // 1110 0010
83 | #define GREEN 0xC8 // 1100 1000
84 | #define CYAN 0xE8 // 1110 1000
85 | #define YELLOW 0xCA // 1100 1010
86 | #define WHITE 0xEA // 1110 1010
87 | // BB GGRR
88 | #define BRI_BLACK 0xC0 // 1100 0000
89 | #define BRI_BLUE 0xF0 // 1111 0000
90 | #define BRI_RED 0xC3 // 1100 0011
91 | #define BRI_MAGENTA 0xF3 // 1111 0011
92 | #define BRI_GREEN 0xCC // 1100 1100
93 | #define BRI_CYAN 0xFC // 1111 1100
94 | #define BRI_YELLOW 0xCF // 1100 1111
95 | #define BRI_WHITE 0xFF // 1111 1111
96 | #endif
97 |
98 | #ifdef COLOR_14B // BB --GG ---R R---
99 | #define BRI_BLACK 0xC000 // 1100 0000 0000 0000
100 | #define BRI_BLUE 0xF000 // 1111 0000 0000 0000
101 | #define BRI_RED 0xC018 // 1100 0000 0001 1000
102 | #define BRI_MAGENTA 0xF018 // 1111 0000 0001 1000
103 | #define BRI_GREEN 0xC300 // 1100 0011 0000 0000
104 | #define BRI_CYAN 0xF300 // 1111 0011 0000 0000
105 | #define BRI_YELLOW 0xC318 // 1100 0011 0001 1000
106 | #define BRI_WHITE 0xF318 // 1111 0011 0001 1000
107 | // BB --GG ---R R---
108 | #define BLACK 0xC000 // 1100 0000 0000 0000
109 | #define BLUE 0xE000 // 1110 0000 0000 0000
110 | #define RED 0xC010 // 1100 0000 0001 0000
111 | #define MAGENTA 0xE010 // 1110 0000 0001 0000
112 | #define GREEN 0xC200 // 1100 0010 0000 0000
113 | #define CYAN 0xE200 // 1110 0010 0000 0000
114 | #define YELLOW 0xC210 // 1100 0010 0001 0000
115 | #define WHITE 0xE210 // 1110 0010 0001 0000
116 |
117 | #endif
118 |
119 | #endif
120 |
121 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/.clang-format:
--------------------------------------------------------------------------------
1 | ---
2 | Language: Cpp
3 | # BasedOnStyle: LLVM
4 | AccessModifierOffset: -2
5 | AlignAfterOpenBracket: Align
6 | AlignConsecutiveAssignments: false
7 | AlignConsecutiveDeclarations: false
8 | AlignEscapedNewlines: Right
9 | AlignOperands: true
10 | AlignTrailingComments: true
11 | AllowAllParametersOfDeclarationOnNextLine: true
12 | AllowShortBlocksOnASingleLine: false
13 | AllowShortCaseLabelsOnASingleLine: false
14 | AllowShortFunctionsOnASingleLine: All
15 | AllowShortIfStatementsOnASingleLine: false
16 | AllowShortLoopsOnASingleLine: false
17 | AlwaysBreakAfterDefinitionReturnType: None
18 | AlwaysBreakAfterReturnType: None
19 | AlwaysBreakBeforeMultilineStrings: false
20 | AlwaysBreakTemplateDeclarations: MultiLine
21 | BinPackArguments: true
22 | BinPackParameters: true
23 | BraceWrapping:
24 | AfterClass: false
25 | AfterControlStatement: false
26 | AfterEnum: false
27 | AfterFunction: false
28 | AfterNamespace: false
29 | AfterObjCDeclaration: false
30 | AfterStruct: false
31 | AfterUnion: false
32 | AfterExternBlock: false
33 | BeforeCatch: false
34 | BeforeElse: false
35 | IndentBraces: false
36 | SplitEmptyFunction: true
37 | SplitEmptyRecord: true
38 | SplitEmptyNamespace: true
39 | BreakBeforeBinaryOperators: None
40 | BreakBeforeBraces: Attach
41 | BreakBeforeInheritanceComma: false
42 | BreakInheritanceList: BeforeColon
43 | BreakBeforeTernaryOperators: true
44 | BreakConstructorInitializersBeforeComma: false
45 | BreakConstructorInitializers: BeforeColon
46 | BreakAfterJavaFieldAnnotations: false
47 | BreakStringLiterals: true
48 | ColumnLimit: 120
49 | CommentPragmas: '^ IWYU pragma:'
50 | CompactNamespaces: false
51 | ConstructorInitializerAllOnOneLineOrOnePerLine: false
52 | ConstructorInitializerIndentWidth: 4
53 | ContinuationIndentWidth: 4
54 | Cpp11BracedListStyle: true
55 | DerivePointerAlignment: false
56 | DisableFormat: false
57 | ExperimentalAutoDetectBinPacking: false
58 | FixNamespaceComments: true
59 | ForEachMacros:
60 | - foreach
61 | - Q_FOREACH
62 | - BOOST_FOREACH
63 | IncludeBlocks: Preserve
64 | IncludeCategories:
65 | - Regex: '^"(llvm|llvm-c|clang|clang-c)/'
66 | Priority: 2
67 | - Regex: '^(<|"(gtest|gmock|isl|json)/)'
68 | Priority: 3
69 | - Regex: '.*'
70 | Priority: 1
71 | IncludeIsMainRegex: '(Test)?$'
72 | IndentCaseLabels: false
73 | IndentPPDirectives: None
74 | IndentWidth: 4
75 | IndentWrappedFunctionNames: false
76 | JavaScriptQuotes: Leave
77 | JavaScriptWrapImports: true
78 | KeepEmptyLinesAtTheStartOfBlocks: true
79 | MacroBlockBegin: ''
80 | MacroBlockEnd: ''
81 | MaxEmptyLinesToKeep: 1
82 | NamespaceIndentation: None
83 | ObjCBinPackProtocolList: Auto
84 | ObjCBlockIndentWidth: 2
85 | ObjCSpaceAfterProperty: false
86 | ObjCSpaceBeforeProtocolList: true
87 | PenaltyBreakAssignment: 2
88 | PenaltyBreakBeforeFirstCallParameter: 19
89 | PenaltyBreakComment: 300
90 | PenaltyBreakFirstLessLess: 120
91 | PenaltyBreakString: 1000
92 | PenaltyBreakTemplateDeclaration: 10
93 | PenaltyExcessCharacter: 1000000
94 | PenaltyReturnTypeOnItsOwnLine: 60
95 | PointerAlignment: Right
96 | ReflowComments: true
97 | SortIncludes: true
98 | SortUsingDeclarations: true
99 | SpaceAfterCStyleCast: false
100 | SpaceAfterTemplateKeyword: true
101 | SpaceBeforeAssignmentOperators: true
102 | SpaceBeforeCpp11BracedList: false
103 | SpaceBeforeCtorInitializerColon: true
104 | SpaceBeforeInheritanceColon: true
105 | SpaceBeforeParens: ControlStatements
106 | SpaceBeforeRangeBasedForLoopColon: true
107 | SpaceInEmptyParentheses: false
108 | SpacesBeforeTrailingComments: 1
109 | SpacesInAngles: false
110 | SpacesInContainerLiterals: true
111 | SpacesInCStyleCastParentheses: false
112 | SpacesInParentheses: false
113 | SpacesInSquareBrackets: false
114 | Standard: Cpp11
115 | StatementMacros:
116 | - Q_UNUSED
117 | - QT_REQUIRE_VERSION
118 | TabWidth: 4
119 | UseTab: Never
120 | ...
121 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/gbWifi.cpp:
--------------------------------------------------------------------------------
1 | #include "gbConfig.h"
2 | #include "gbWifiConfig.h"
3 | #include "gbWifi.h"
4 | #include "gbGlobals.h"
5 |
6 | #ifdef use_lib_wifi
7 |
8 | HTTPClient * gb_wifi_http;
9 | WiFiClient * gb_wifi_stream;
10 | int gb_wifi_len=0;
11 | int gb_wifi_dsize=0;
12 |
13 | //*************************************************************************************
14 | void PreparaURL(char *destURL,char *pathType,char *nameType, char *cadFile, char * fileExt)
15 | {
16 | strcpy(destURL, gb_wifi_url_base_path);
17 | strcat(destURL, pathType);
18 | strcat(destURL, nameType);
19 | strcat(destURL, "/");
20 | strcat(destURL, cadFile);
21 | strcat(destURL, ".");
22 | strcat(destURL, fileExt);
23 | }
24 |
25 | //********************************************************************
26 | void Asignar_WIFI(HTTPClient * ptr_http, WiFiClient * ptr_stream)
27 | {
28 | gb_wifi_http = ptr_http;
29 | gb_wifi_stream = ptr_stream;
30 | }
31 |
32 |
33 | //*************************************
34 | bool Check_WIFI()
35 | {
36 | if((WiFi.status() != WL_CONNECTED))
37 | {
38 | #ifdef use_lib_wifi_debug
39 | Serial.printf ("Error WIFI\r\n");
40 | #endif
41 | if (gb_wifi_delay_check != 0)
42 | {
43 | delay(gb_wifi_delay_check);
44 | }
45 | return false;
46 | }
47 |
48 | if (gb_wifi_delay_check != 0)
49 | {
50 | delay(gb_wifi_delay_check);
51 | }
52 | return true;
53 | }
54 |
55 | //***************************************
56 | void FlushStreamWIFI()
57 | {
58 | gb_wifi_stream->flush();
59 | }
60 |
61 | //*************************************
62 | void Asignar_URL_stream_WIFI(char const * URL)
63 | {
64 | #ifdef use_lib_wifi_debug
65 | unsigned int tiempo_ini,tiempo_fin;
66 | tiempo_ini = micros();
67 | Serial.printf ("http\r\n");
68 | #endif
69 | gb_wifi_http->begin(URL);
70 | #ifdef use_lib_wifi_debug
71 | Serial.printf ("url\r\n");
72 | #endif
73 | int httpCode = gb_wifi_http->GET();
74 | #ifdef use_lib_wifi_debug
75 | Serial.printf ("get\r\n");
76 | #endif
77 | gb_wifi_len = 0;
78 | gb_size_file_wifi=0;
79 | if (httpCode == HTTP_CODE_OK)
80 | {
81 | gb_wifi_len = gb_wifi_http->getSize();
82 | #ifdef use_lib_wifi_debug
83 | Serial.printf("Size:%d\r\n",gb_wifi_len);
84 | #endif
85 | gb_size_file_wifi = gb_wifi_len;
86 | gb_wifi_stream = gb_wifi_http->getStreamPtr();
87 | #ifdef use_lib_wifi_debug
88 | Serial.printf ("getStream\r\n");
89 | #endif
90 | }
91 | gb_wifi_dsize= 0;
92 | #ifdef use_lib_wifi_debug
93 | tiempo_fin = micros();
94 | Serial.printf("Tiempo URL:%d\r\n",(tiempo_fin-tiempo_ini));
95 | #endif
96 |
97 | if (gb_wifi_delay_asign_read != 0)
98 | {
99 | delay(gb_wifi_delay_asign_read);
100 | }
101 | }
102 |
103 | //****************************************
104 | bool Leer_url_stream_WIFI(int * returnC)
105 | {
106 | bool success= false;
107 | #ifdef use_lib_wifi_debug
108 | unsigned int tiempo_ini,tiempo_fin;
109 | Serial.printf("len:%d dsize:%d\r\n",gb_wifi_len,gb_wifi_dsize);
110 | tiempo_ini = micros();
111 | #endif
112 | if (gb_wifi_http->connected() && (gb_wifi_len > 0 || gb_wifi_len == -1))
113 | {
114 | //JJ size_t size = gb_wifi_stream->available();
115 | size_t size= gb_wifi_stream->available();
116 | while (size == 0)
117 | {
118 | size= gb_wifi_stream->available();
119 | if (gb_wifi_delay_check_available !=0)
120 | {
121 | delay(gb_wifi_delay_check_available);
122 | }
123 | }
124 |
125 | #ifdef use_lib_wifi_debug
126 | Serial.printf("available size:%d\r\n",size);
127 | #endif
128 | if (size)
129 | {
130 | int c = gb_wifi_stream->readBytes(gb_buffer_wifi, 1024);
131 | //Serial.printf ("Byte leidos %d\n",c);
132 |
133 | //if (isPtrDest == 1)
134 | //{
135 | // memcpy(&ptrDest[auxContWifi],gb_buffer_wifi,c);
136 | // auxContWifi += c;
137 | //}
138 |
139 |
140 | gb_wifi_dsize += c;
141 | if (gb_wifi_len > 0)
142 | {
143 | gb_wifi_len -= c;
144 | }
145 | *returnC = c;
146 | }
147 | else
148 | {
149 |
150 | }
151 | success = (gb_wifi_len == 0 || (gb_wifi_len == -1 && gb_wifi_dsize > 0));
152 | } //fin wifi
153 | #ifdef use_lib_wifi_debug
154 | tiempo_fin = micros();
155 | Serial.printf("Tiempo stream:%d\r\n",(tiempo_fin-tiempo_ini));
156 | #endif
157 |
158 | if (gb_wifi_delay_available != 0)
159 | {
160 | delay(gb_wifi_delay_available); //Delay millis
161 | }
162 | return success;
163 | }
164 | #endif
165 |
166 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/swgenerator.h:
--------------------------------------------------------------------------------
1 | #ifndef _SWGENERATOR_H
2 | #define _SWGENERATOR_H
3 | #include "gbConfig.h"
4 | #ifdef use_lib_sound_ay8912
5 |
6 | /*
7 | Created by Fabrizio Di Vittorio (fdivitto2013@gmail.com) -
8 | Copyright (c) 2019-2020 Fabrizio Di Vittorio.
9 | All rights reserved.
10 |
11 | This file is part of FabGL Library.
12 |
13 | FabGL is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | FabGL is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with FabGL. If not, see .
25 | */
26 |
27 |
28 | #pragma once
29 |
30 |
31 |
32 | /**
33 | * @file
34 | *
35 | * @brief This file contains fabgl::GPIOStream definition.
36 | */
37 |
38 |
39 | #include
40 | #include
41 |
42 |
43 | #if __has_include("esp32/rom/lldesc.h")
44 | #include "esp32/rom/lldesc.h"
45 | #else
46 | #include "rom/lldesc.h"
47 | #endif
48 |
49 | #include "fabglconf.h"
50 |
51 |
52 |
53 |
54 |
55 | namespace fabgl {
56 |
57 |
58 |
59 | /*
60 | * This is a square wave generator or DMA->GPIO stream generator that uses APLL internal Audio PLL clock.
61 | *
62 | * When FABGLIB_USE_APLL_AB_COEF = 0 (the default) the frequency range is 2651514 Hz to 62500000 Hz.
63 | * Average error is 21 Hz, Minimum error is 0, Maximum error is 1000 Hz except for range 41666667 Hz to 42708333 Hz while
64 | * frequency remains fixed at 41666666 Hz (error from 0 Hz to 1041666 Hz) and except for range 42708334 hz to 43748999 Hz while
65 | * frequency remains fixed at 43750000 Hz (error from 750001 Hz to 1041666 Hz).
66 | *
67 | * When FABGLIB_USE_APLL_AB_COEF = 1 the frequency range is 82500 Hz to 62500000 Hz. Unfortunately the output has lot of frequency jittering.
68 | * Average error is about 7 Hz, Minimum error is 0, Maximum error is 6349 Hz.
69 | */
70 | class GPIOStream {
71 |
72 | public:
73 |
74 | void begin();
75 |
76 | /*
77 | * Initializes GPIOStream and associate GPIOs to the outputs.
78 | *
79 | * div1_onGPIO0 If true the undivided frequency is delivered on GPIO0.
80 | * div2 Specifies the GPIO where to send frequency / 2 (set GPIO_UNUSED to disable output).
81 | * div4 Specifies the GPIO where to send frequency / 4 (set GPIO_UNUSED to disable output).
82 | * div8 Specifies the GPIO where to send frequency / 8 (set GPIO_UNUSED to disable output).
83 | * div16 Specifies the GPIO where to send frequency / 16 (set GPIO_UNUSED to disable output).
84 | * div32 Specifies the GPIO where to send frequency / 32 (set GPIO_UNUSED to disable output).
85 | * div64 Specifies the GPIO where to send frequency / 64 (set GPIO_UNUSED to disable output).
86 | * div128 Specifies the GPIO where to send frequency / 128 (set GPIO_UNUSED to disable output).
87 | * div256 Specifies the GPIO where to send frequency / 256 (set GPIO_UNUSED to disable output).
88 | *
89 | * Example:
90 | *
91 | * // Outputs 25Mhz on GPIO0 and 6.25Mhz on GPIO5, for 5 seconds
92 | * GPIOStream.begin(true, GPIO_UNUSED, GPIO_NUM_5);
93 | * GPIOStream.play(25000000);
94 | * delay(5000);
95 | * // Outputs 20Mhz on GPIO and 5Mhz on GPIO5, for 10 seconds
96 | * GPIOStream.play(20000000);
97 | * delay(10000);
98 | * GPIOStream.stop();
99 | */
100 | void begin(bool div1_onGPIO0, gpio_num_t div2 = GPIO_UNUSED, gpio_num_t div4 = GPIO_UNUSED, gpio_num_t div8 = GPIO_UNUSED, gpio_num_t div16 = GPIO_UNUSED, gpio_num_t div32 = GPIO_UNUSED, gpio_num_t div64 = GPIO_UNUSED, gpio_num_t div128 = GPIO_UNUSED, gpio_num_t div256 = GPIO_UNUSED);
101 |
102 | /*
103 | * Disables all outputs.
104 | */
105 | void end();
106 |
107 | /*
108 | * Sets the main frequency.
109 | *
110 | * freq Frequency in Hertz.
111 | * dmaBuffers Use only to provide custom DMA buffers.
112 | *
113 | * Example:
114 | *
115 | * // Set 25MHz as main frequency
116 | * GPIOStream.play(25000000);
117 | */
118 | void play(int freq, lldesc_t volatile * dmaBuffers = nullptr);
119 |
120 | /*
121 | * Disables all outputs.
122 | */
123 | void stop();
124 |
125 | private:
126 |
127 | //void setupClock(int freq); //No se usa
128 | static void setupGPIO(gpio_num_t gpio, int bit, gpio_mode_t mode);
129 |
130 | bool m_DMAStarted;
131 | volatile lldesc_t * m_DMABuffer;
132 | volatile uint8_t * m_DMAData;
133 | };
134 |
135 |
136 |
137 |
138 |
139 | } // end of namespace
140 |
141 |
142 | #endif
143 | #endif
144 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/fabutils.h:
--------------------------------------------------------------------------------
1 | #ifndef _FABUTILS_H
2 | #define _FABUTILS_H
3 | #include "gbConfig.h"
4 | #ifdef use_lib_sound_ay8912
5 |
6 | // Created by Fabrizio Di Vittorio (fdivitto2013@gmail.com) -
7 | // Copyright (c) 2019-2020 Fabrizio Di Vittorio.
8 | // All rights reserved.
9 | //
10 | // This file is part of FabGL Library.
11 | //
12 | // FabGL is free software: you can redistribute it and/or modify
13 | // it under the terms of the GNU General Public License as published by
14 | // the Free Software Foundation, either version 3 of the License, or
15 | // (at your option) any later version.
16 | //
17 | // FabGL is distributed in the hope that it will be useful,
18 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
19 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 | // GNU General Public License for more details.
21 | //
22 | // You should have received a copy of the GNU General Public License
23 | // along with FabGL. If not, see .
24 |
25 |
26 | //******************************************************************************
27 | //*******************************************************************************
28 | // FabGL aggressively trimmed down by David Crespo
29 | // https://github.com/dcrespo3d
30 | // for using only its SoundGen and SwGenerator components
31 | // in ZX-ESPectrum emulator project
32 | // for emulating AY-3-8912 chip
33 | //*******************************************************************************
34 | //*****************************************************************************
35 |
36 | #pragma once
37 |
38 |
39 | #include "freertos/FreeRTOS.h"
40 | #include "freertos/semphr.h"
41 |
42 | #include
43 | #include
44 |
45 |
46 | namespace fabgl {
47 |
48 |
49 | // manage IDF versioning
50 | #ifdef ESP_IDF_VERSION
51 | #define FABGL_ESP_IDF_VERSION_VAL ESP_IDF_VERSION_VAL
52 | #define FABGL_ESP_IDF_VERSION ESP_IDF_VERSION
53 | #else
54 | #define FABGL_ESP_IDF_VERSION_VAL(major, minor, patch) ((major << 16) | (minor << 8) | (patch))
55 | #define FABGL_ESP_IDF_VERSION FABGL_ESP_IDF_VERSION_VAL(0, 0, 0)
56 | #endif
57 |
58 |
59 |
60 | #define GPIO_UNUSED GPIO_NUM_MAX
61 |
62 |
63 | //////////////////////////////////////////////////////////////////////////////////////////////
64 | // PSRAM_HACK
65 | // ESP32 Revision 1 has following bug: "When the CPU accesses external SRAM through cache, under certain conditions read and write errors occur"
66 | // A workaround is done by the compiler, so whenever PSRAM is enabled the workaround is automatically applied (-mfix-esp32-psram-cache-issue compiler option).
67 | // Unfortunately this workaround reduces performance, even when SRAM is not access, like in VGAXController interrupt handler. This is unacceptable for the interrupt routine.
68 | // In order to confuse the compiler and prevent the workaround from being applied, a "nop" is added between load and store instructions (PSRAM_HACK).
69 |
70 | #ifdef ARDUINO
71 | #ifdef BOARD_HAS_PSRAM
72 | #define FABGL_NEED_PSRAM_DISABLE_HACK
73 | #endif
74 | #else
75 | #ifdef CONFIG_SPIRAM_SUPPORT
76 | #define FABGL_NEED_PSRAM_DISABLE_HACK
77 | #endif
78 | #endif
79 |
80 | #ifdef FABGL_NEED_PSRAM_DISABLE_HACK
81 | #define PSRAM_HACK asm(" nop")
82 | #else
83 | #define PSRAM_HACK
84 | #endif
85 |
86 |
87 |
88 | //////////////////////////////////////////////////////////////////////////////////////////////
89 |
90 |
91 | // Integer square root by Halleck's method, with Legalize's speedup
92 | int isqrt (int x);
93 |
94 |
95 | template
96 | const T & tmax(const T & a, const T & b)
97 | {
98 | return (a < b) ? b : a;
99 | }
100 |
101 | constexpr auto imax = tmax;
102 |
103 |
104 | template
105 | const T & tmin(const T & a, const T & b)
106 | {
107 | return !(b < a) ? a : b;
108 | }
109 |
110 | constexpr auto imin = tmin;
111 |
112 |
113 | template
114 | const T & tclamp(const T & v, const T & lo, const T & hi)
115 | {
116 | return (v < lo ? lo : (v > hi ? hi : v));
117 | }
118 |
119 | constexpr auto iclamp = tclamp;
120 |
121 |
122 | template
123 | const T & twrap(const T & v, const T & lo, const T & hi)
124 | {
125 | return (v < lo ? hi : (v > hi ? lo : v));
126 | }
127 |
128 |
129 | template
130 | void tswap(T & v1, T & v2)
131 | {
132 | T t = v1;
133 | v1 = v2;
134 | v2 = t;
135 | }
136 |
137 | constexpr auto iswap = tswap;
138 |
139 |
140 | template
141 | T moveItems(T dest, T src, size_t n)
142 | {
143 | T pd = dest;
144 | T ps = src;
145 | if (pd != ps) {
146 | if (ps < pd)
147 | for (pd += n, ps += n; n--;)
148 | *--pd = *--ps;
149 | else
150 | while (n--)
151 | *pd++ = *ps++;
152 | }
153 | return dest;
154 | }
155 |
156 |
157 | // mode: GPIO_MODE_DISABLE,
158 | // GPIO_MODE_INPUT,
159 | // GPIO_MODE_OUTPUT,
160 | // GPIO_MODE_OUTPUT_OD (open drain),
161 | // GPIO_MODE_INPUT_OUTPUT_OD (open drain),
162 | // GPIO_MODE_INPUT_OUTPUT
163 | void configureGPIO(gpio_num_t gpio, gpio_mode_t mode);
164 |
165 |
166 | ///////////////////////////////////////////////////////////////////////////////////
167 | // AutoSemaphore
168 |
169 | struct AutoSemaphore {
170 | AutoSemaphore(SemaphoreHandle_t mutex) : m_mutex(mutex) { xSemaphoreTake(m_mutex, portMAX_DELAY); }
171 | ~AutoSemaphore() { xSemaphoreGive(m_mutex); }
172 | private:
173 | SemaphoreHandle_t m_mutex;
174 | };
175 |
176 | } // end of namespace
177 |
178 |
179 | #endif
180 | #endif
181 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/z80emu.h:
--------------------------------------------------------------------------------
1 | // z80emu.h
2 | // Main header of z80emu. Don't modify this file directly. Use z80config.h and
3 | // z80user.h to customize the emulator to your need.
4 | //
5 | // Copyright (c) 2012, 2016 Lin Ke-Fong
6 | //
7 | // This code is free, do whatever you want with it.
8 | #ifndef __Z80EMU_INCLUDED__
9 | #define __Z80EMU_INCLUDED__
10 |
11 | #include "gbConfig.h"
12 | #ifdef use_lib_core_linkefong
13 |
14 | #ifdef __cplusplus
15 | extern "C" {
16 | #endif
17 |
18 | #include "z80config.h"
19 |
20 | /* If Z80_STATE's status is non-zero, the emulation has been stopped for some
21 | * reason other than emulating the requested number of cycles. See z80config.h.
22 | */
23 | #define Z80_STATUS_FLAG_HALT (1 << 0)
24 | #define Z80_STATUS_FLAG_DI (1 << 1)
25 | #define Z80_STATUS_FLAG_EI (1 << 2)
26 | #define Z80_STATUS_FLAG_RETI (1 << 3)
27 | #define Z80_STATUS_FLAG_RETN (1 << 4)
28 | #define Z80_STATUS_FLAG_ED_UNDEFINED (1 << 5)
29 |
30 | enum {
31 |
32 | Z80_STATUS_HALT = 1,
33 | Z80_STATUS_DI,
34 | Z80_STATUS_EI,
35 | Z80_STATUS_RETI,
36 | Z80_STATUS_RETN,
37 | Z80_STATUS_ED_UNDEFINED,
38 | Z80_STATUS_PREFIX
39 |
40 | };
41 |
42 | /* The main registers are stored inside Z80_STATE as an union of arrays named
43 | * registers. They are referenced using indexes. Words are stored in the
44 | * endianness of the host processor. The alternate set of word registers AF',
45 | * BC', DE', and HL' is stored in the alternates member of Z80_STATE, as an
46 | * array using the same ordering.
47 | */
48 |
49 | #ifdef Z80_BIG_ENDIAN
50 |
51 | # define Z80_B 0
52 | # define Z80_C 1
53 | # define Z80_D 2
54 | # define Z80_E 3
55 | # define Z80_H 4
56 | # define Z80_L 5
57 | # define Z80_A 6
58 | # define Z80_F 7
59 |
60 | # define Z80_IXH 8
61 | # define Z80_IXL 9
62 | # define Z80_IYH 10
63 | # define Z80_IYL 11
64 |
65 | #else
66 |
67 | # define Z80_B 1
68 | # define Z80_C 0
69 | # define Z80_D 3
70 | # define Z80_E 2
71 | # define Z80_H 5
72 | # define Z80_L 4
73 | # define Z80_A 7
74 | # define Z80_F 6
75 |
76 | # define Z80_IXH 9
77 | # define Z80_IXL 8
78 | # define Z80_IYH 11
79 | # define Z80_IYL 10
80 |
81 | #endif
82 |
83 | #define Z80_BC 0
84 | #define Z80_DE 1
85 | #define Z80_HL 2
86 | #define Z80_AF 3
87 |
88 | #define Z80_IX 4
89 | #define Z80_IY 5
90 | #define Z80_SP 6
91 |
92 | /* Z80's flags. */
93 |
94 | #define Z80_S_FLAG_SHIFT 7
95 | #define Z80_Z_FLAG_SHIFT 6
96 | #define Z80_Y_FLAG_SHIFT 5
97 | #define Z80_H_FLAG_SHIFT 4
98 | #define Z80_X_FLAG_SHIFT 3
99 | #define Z80_PV_FLAG_SHIFT 2
100 | #define Z80_N_FLAG_SHIFT 1
101 | #define Z80_C_FLAG_SHIFT 0
102 |
103 | #define Z80_S_FLAG (1 << Z80_S_FLAG_SHIFT)
104 | #define Z80_Z_FLAG (1 << Z80_Z_FLAG_SHIFT)
105 | #define Z80_Y_FLAG (1 << Z80_Y_FLAG_SHIFT)
106 | #define Z80_H_FLAG (1 << Z80_H_FLAG_SHIFT)
107 | #define Z80_X_FLAG (1 << Z80_X_FLAG_SHIFT)
108 | #define Z80_PV_FLAG (1 << Z80_PV_FLAG_SHIFT)
109 | #define Z80_N_FLAG (1 << Z80_N_FLAG_SHIFT)
110 | #define Z80_C_FLAG (1 << Z80_C_FLAG_SHIFT)
111 |
112 | #define Z80_P_FLAG_SHIFT Z80_PV_FLAG_SHIFT
113 | #define Z80_V_FLAG_SHIFT Z80_PV_FLAG_SHIFT
114 | #define Z80_P_FLAG Z80_PV_FLAG
115 | #define Z80_V_FLAG Z80_PV_FLAG
116 |
117 | /* Z80's three interrupt modes. */
118 |
119 | enum {
120 |
121 | Z80_INTERRUPT_MODE_0,
122 | Z80_INTERRUPT_MODE_1,
123 | Z80_INTERRUPT_MODE_2
124 |
125 | };
126 |
127 | /* Z80 processor's state. You may add your own members if needed. However, it
128 | * is rather suggested to use the context pointer passed to the emulation
129 | * functions for that purpose. See z80user.h.
130 | */
131 |
132 | typedef struct Z80_STATE {
133 |
134 | int status;
135 |
136 | union {
137 |
138 | unsigned char byte[14];
139 | unsigned short word[7];
140 |
141 | } registers;
142 |
143 | unsigned short alternates[4];
144 |
145 | int i, r, pc, iff1, iff2, im;
146 |
147 | /* Register decoding tables. */
148 |
149 | void *register_table[16],
150 | *dd_register_table[16],
151 | *fd_register_table[16];
152 |
153 | } Z80_STATE;
154 |
155 |
156 |
157 | /* Initialize processor's state to power-on default. */
158 |
159 | extern void Z80Reset (Z80_STATE *state);
160 |
161 | /* Trigger an interrupt according to the current interrupt mode and return the
162 | * number of cycles elapsed to accept it. If maskable interrupts are disabled,
163 | * this will return zero. In interrupt mode 0, data_on_bus must be a single
164 | * byte opcode.
165 | */
166 |
167 | extern int Z80Interrupt (Z80_STATE *state,
168 | int data_on_bus,
169 | void *context);
170 |
171 | /* Trigger a non maskable interrupt, then return the number of cycles elapsed
172 | * to accept it.
173 | */
174 |
175 | extern int Z80NonMaskableInterrupt (Z80_STATE *state, void *context);
176 |
177 | /* Execute instructions as long as the number of elapsed cycles is smaller than
178 | * number_cycles, and return the number of cycles emulated. The emulator can be
179 | * set to stop early on some conditions (see z80config.h). The user macros
180 | * (see z80user.h) also control the emulation.
181 | */
182 |
183 | extern int Z80Emulate (Z80_STATE *state,
184 | int number_cycles,
185 | void *context);
186 |
187 | //extern void Z80EmuSelectTape(unsigned char aux);
188 |
189 | #ifdef __cplusplus
190 | }
191 | #endif
192 |
193 | #endif
194 |
195 | #endif
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/instructions.h:
--------------------------------------------------------------------------------
1 | #ifndef _INSTRUCTIONS_H
2 | #define _INSTRUCTIONS_H
3 |
4 | #include "gbConfig.h"
5 | #ifdef use_lib_core_linkefong
6 |
7 | // instructions.h
8 | // Declaration of the "generic" instructions emulated.
9 | //
10 | // Copyright (c) 2012 Lin Ke-Fong
11 | //
12 | // This code is free, do whatever you want with it.
13 | //
14 | //
15 | // Some "instructions" handle two opcodes hence they need their encodings to
16 | // be able to distinguish them.
17 | //
18 |
19 | #define OPCODE_LD_A_I 0x57
20 | #define OPCODE_LD_I_A 0x47
21 |
22 | #define OPCODE_LDI 0xa0
23 | #define OPCODE_LDIR 0xb0
24 | #define OPCODE_CPI 0xa1
25 | #define OPCODE_CPIR 0xb1
26 |
27 | #define OPCODE_RLD 0x6f
28 |
29 | #if defined(Z80_CATCH_RETI) && defined(Z80_CATCH_RETN)
30 | # define OPCODE_RETI 0x4d
31 | #endif
32 |
33 | #define OPCODE_INI 0xa2
34 | #define OPCODE_INIR 0xb2
35 | #define OPCODE_OUTI 0xa3
36 | #define OPCODE_OTIR 0xb3
37 |
38 | /* Instruction numbers, opcodes are converted to these numbers using tables
39 | * generated by maketables.c.
40 | */
41 |
42 | enum {
43 |
44 | /* 8-bit load group. */
45 |
46 | LD_R_R,
47 | LD_R_N,
48 |
49 | LD_R_INDIRECT_HL,
50 | LD_INDIRECT_HL_R,
51 | LD_INDIRECT_HL_N,
52 |
53 | LD_A_INDIRECT_BC,
54 | LD_A_INDIRECT_DE,
55 | LD_A_INDIRECT_NN,
56 | LD_INDIRECT_BC_A,
57 | LD_INDIRECT_DE_A,
58 | LD_INDIRECT_NN_A,
59 |
60 | LD_A_I_LD_A_R, /* Handle "LD A, I" and "LD A, R". */
61 | LD_I_A_LD_R_A, /* Handle "LD I, A" and "LD I, A". */
62 |
63 | /* 16-bit load group. */
64 |
65 | LD_RR_NN,
66 |
67 | LD_HL_INDIRECT_NN,
68 | LD_RR_INDIRECT_NN,
69 | LD_INDIRECT_NN_HL,
70 | LD_INDIRECT_NN_RR,
71 |
72 | LD_SP_HL,
73 |
74 | PUSH_SS,
75 | POP_SS,
76 |
77 | /* Exchange, block transfer, and search group. */
78 |
79 | EX_DE_HL,
80 | EX_AF_AF_PRIME,
81 | EXX,
82 | EX_INDIRECT_SP_HL,
83 |
84 | LDI_LDD, /* Handle "LDI" and "LDD". */
85 | LDIR_LDDR, /* Handle "LDIR" and "LDDR". */
86 |
87 | CPI_CPD, /* Handle "CPI" and "CPD". */
88 | CPIR_CPDR, /* Handle "CPIR" and "CPDR". */
89 |
90 | /* 8-bit arithmetic and logical group. */
91 |
92 | ADD_R,
93 | ADD_N,
94 | ADD_INDIRECT_HL,
95 |
96 | ADC_R,
97 | ADC_N,
98 | ADC_INDIRECT_HL,
99 |
100 | SUB_R,
101 | SUB_N,
102 | SUB_INDIRECT_HL,
103 |
104 | SBC_R,
105 | SBC_N,
106 | SBC_INDIRECT_HL,
107 |
108 | AND_R,
109 | AND_N,
110 | AND_INDIRECT_HL,
111 |
112 | XOR_R,
113 | XOR_N,
114 | XOR_INDIRECT_HL,
115 |
116 | OR_R,
117 | OR_N,
118 | OR_INDIRECT_HL,
119 |
120 | CP_R,
121 | CP_N,
122 | CP_INDIRECT_HL,
123 |
124 | INC_R,
125 | INC_INDIRECT_HL,
126 | DEC_R,
127 | DEC_INDIRECT_HL,
128 |
129 | /* 16-bit arithmetic group. */
130 |
131 | ADD_HL_RR,
132 |
133 | ADC_HL_RR,
134 | SBC_HL_RR,
135 |
136 | INC_RR,
137 | DEC_RR,
138 |
139 | /* General-purpose arithmetic and CPU control group. */
140 |
141 | DAA,
142 |
143 | CPL,
144 | NEG,
145 |
146 | CCF,
147 | SCF,
148 |
149 | NOP,
150 | HALT,
151 |
152 | DI,
153 | EI,
154 |
155 | IM_N,
156 |
157 | /* Rotate and shift group. */
158 |
159 | RLCA,
160 | RLA,
161 | RRCA,
162 | RRA,
163 |
164 | RLC_R,
165 | RLC_INDIRECT_HL,
166 | RL_R,
167 | RL_INDIRECT_HL,
168 | RRC_R,
169 | RRC_INDIRECT_HL,
170 | RR_R,
171 | RR_INDIRECT_HL,
172 | SLA_R,
173 | SLA_INDIRECT_HL,
174 | SLL_R,
175 | SLL_INDIRECT_HL,
176 | SRA_R,
177 | SRA_INDIRECT_HL,
178 | SRL_R,
179 | SRL_INDIRECT_HL,
180 |
181 | RLD_RRD, /* Handle "RLD" and "RRD". */
182 |
183 | /* Bit set, reset, and test group. */
184 |
185 | BIT_B_R,
186 | BIT_B_INDIRECT_HL,
187 | SET_B_R,
188 | SET_B_INDIRECT_HL,
189 | RES_B_R,
190 | RES_B_INDIRECT_HL,
191 |
192 | /* Jump group. */
193 |
194 | JP_NN,
195 | JP_CC_NN,
196 | JR_E,
197 | JR_DD_E,
198 | JP_HL,
199 | DJNZ_E,
200 |
201 | /* Call and return group. */
202 |
203 | CALL_NN,
204 | CALL_CC_NN,
205 | RET,
206 | RET_CC,
207 |
208 | RETI_RETN, /* Handle "RETI" and "RETN". */
209 |
210 | RST_P,
211 |
212 | /* Input and output group. */
213 |
214 | IN_A_N,
215 | IN_R_C, /* Correctly handle undocumented "IN F, (C)"
216 | * instruction.
217 | */
218 |
219 | INI_IND, /* Handle "INI" and "IND". */
220 | INIR_INDR, /* Handle "INIR" and "INDR". */
221 |
222 | OUT_N_A,
223 | OUT_C_R, /* Correctly handle undocumented "OUT (C), 0"
224 | * instruction.
225 | */
226 |
227 | OUTI_OUTD, /* Handle "OUTI" and "OUTD".*/
228 | OTIR_OTDR, /* Handle "OTIR" and "OTDR". */
229 |
230 | /* Prefix group. */
231 |
232 | CB_PREFIX,
233 | DD_PREFIX,
234 | FD_PREFIX,
235 | ED_PREFIX,
236 |
237 | /* Special instruction group. */
238 |
239 | ED_UNDEFINED /* ED_UNDEFINED is used to catch undefined
240 | * 0xed prefixed opcodes.
241 | */
242 |
243 | };
244 |
245 | #endif
246 |
247 | #endif
248 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/z80user.h:
--------------------------------------------------------------------------------
1 | /* z80user.h
2 | * Add your code here to interface the emulated system with z80emu. See towards
3 | * the end of the file for an example for running zextest.
4 | *
5 | * Copyright (c) 2016, 2017 Lin Ke-Fong
6 | *
7 | * This code is free, do whatever you want with it.
8 | */
9 |
10 | #ifndef __Z80USER_INCLUDED__
11 | #define __Z80USER_INCLUDED__
12 |
13 | #include "gbConfig.h"
14 | #ifdef use_lib_core_linkefong
15 |
16 | #include
17 | #include "z80emu.h"
18 |
19 | #ifdef __cplusplus
20 | extern "C" {
21 | #endif
22 |
23 | /* Write the following macros for memory access and input/output on the Z80.
24 | *
25 | * Z80_FETCH_BYTE() and Z80_FETCH_WORD() are used by the emulator to read the
26 | * code (opcode, constants, displacement, etc). The upper 16-bit of the address
27 | * parameters is undefined and must be reset to zero before actually reading
28 | * memory (use & 0xffff). The value x read, must be an unsigned 8-bit or 16-bit
29 | * value in the endianness of the host processor.
30 | *
31 | * Z80_READ_BYTE(), Z80_WRITE_BYTE(), Z80_READ_WORD(), and Z80_WRITE_WORD()
32 | * are used for general memory access. They obey the same rules as the code
33 | * reading macros. The upper bits of the value x to write may be non-zero.
34 | * Z80_READ_WORD_INTERRUPT() and Z80_WRITE_WORD_INTERRUPT() are same as
35 | * respectively Z80_READ_WORD() and Z80_WRITE_WORD(), except they are only used
36 | * for interrupt generation.
37 | *
38 | * Z80_INPUT_BYTE() and Z80_OUTPUT_BYTE() are for input and output. The upper
39 | * bits of the port number to read or write are always zero. The input byte x
40 | * must be an unsigned 8-bit value. The value x to write is an unsigned 8-bit
41 | * with its upper bits zeroed.
42 | *
43 | * All macros have access to the following three variables:
44 | *
45 | * state Pointer to the current Z80_STATE. Because the
46 | * instruction is currently executing, its members may not
47 | * be fully up to date, depending on when the macro is
48 | * called in the process. It is rather suggested to access
49 | * the state only when the emulator is stopped.
50 | *
51 | * elapsed_cycles Number of cycles emulated. If needed, you may add wait
52 | * states to it for slow memory accesses. Because the
53 | * macros are called during the execution of the current
54 | * instruction, this number is only precise up to the
55 | * previous one.
56 | *
57 | * context This is the (void *) context passed to the emulation
58 | * functions.
59 | *
60 | * Except for Z80_READ_WORD_INTERRUPT and Z80_WRITE_WORD_INTERRUPT, all macros
61 | * also have access to:
62 | *
63 | * number_cycles Number of cycles to emulate. After executing each
64 | * instruction, the emulator checks if elapsed_cycles is
65 | * greater or equal to number_cycles, and will stops if
66 | * so. Hence you may decrease or increase the value of
67 | * number_cycles to stop the emulation earlier or later.
68 | * In particular, if you set it to zero, the emulator will
69 | * stop after completion of the current instruction.
70 | *
71 | * registers Current register decoding table, use it to determine if
72 | * the current instruction is prefixed. It points on:
73 | *
74 | * state->dd_register_table for 0xdd prefixes;
75 | * state->fd_register_table for 0xfd prefixes;
76 | * state->register_table otherwise.
77 | *
78 | * pc Current PC register (upper bits are undefined), points
79 | * on the opcode, the displacement or constant to read for
80 | * Z80_FETCH_BYTE() and Z80_FETCH_WORD(), or on the next
81 | * instruction otherwise.
82 | *
83 | * Except for Z80_FETCH_BYTE(), Z80_FETCH_WORD(), Z80_READ_WORD_INTERRUPT, and
84 | * Z80_WRITE_WORD_INTERRUPT, all other macros can know which instruction is
85 | * currently executing:
86 | *
87 | * opcode Opcode of the currently executing instruction.
88 | *
89 | * instruction Type of the currently executing instruction, see
90 | * instructions.h for a list.
91 | */
92 | unsigned char delay_contention(word address, unsigned int tstates);
93 | //unsigned char delay_contention(unsigned int tstates);
94 |
95 | typedef struct CONTEXT {
96 | uint8_t(*fast_readbyte)(uint16_t);
97 | uint16_t(*readword)(uint16_t);
98 | void(*writebyte)(uint16_t, uint8_t);
99 | void(*writeword)(uint16_t, uint16_t);
100 | uint8_t(*input)(uint8_t, uint8_t);
101 | void(*output)(uint8_t, uint8_t, uint8_t);
102 | } CONTEXT;
103 |
104 | #define Z80_READ_BYTE(address, x) \
105 | { \
106 | (x) = ((CONTEXT*)context)->fast_readbyte(address); \
107 | elapsed_cycles += delay_contention(address,elapsed_cycles); \
108 | }
109 |
110 | #define Z80_WRITE_BYTE(address, x) \
111 | { \
112 | ((CONTEXT*)context)->writebyte(address, x); \
113 | elapsed_cycles += delay_contention(address,elapsed_cycles); \
114 | }
115 |
116 | #define Z80_READ_WORD(address, x) \
117 | { \
118 | (x) = ((CONTEXT*)context)->readword(address); \
119 | elapsed_cycles += delay_contention(address,elapsed_cycles); \
120 | elapsed_cycles += delay_contention(address+1,elapsed_cycles); \
121 | }
122 |
123 | #define Z80_WRITE_WORD(address, x) \
124 | { \
125 | ((CONTEXT*)context)->writeword(address, x); \
126 | elapsed_cycles += delay_contention(address,elapsed_cycles); \
127 | elapsed_cycles += delay_contention(address+1,elapsed_cycles); \
128 | }
129 |
130 | #define Z80_INPUT_BYTE(portLow, portHigh, x) \
131 | { \
132 | (x) = ((CONTEXT*)context)->input(portLow, portHigh); \
133 | }
134 |
135 | #define Z80_OUTPUT_BYTE(portLow, portHigh, x) \
136 | { \
137 | ((CONTEXT*)context)->output(portLow, portHigh, x); \
138 | }
139 |
140 | #define Z80_FETCH_BYTE(address, x) Z80_READ_BYTE((address), (x))
141 |
142 | #define Z80_FETCH_WORD(address, x) Z80_READ_WORD((address), (x))
143 |
144 | #define Z80_READ_WORD_INTERRUPT(address, x) Z80_READ_WORD((address), (x))
145 |
146 | #define Z80_WRITE_WORD_INTERRUPT(address, x) Z80_WRITE_WORD((address), (x))
147 |
148 | #ifdef __cplusplus
149 | }
150 | #endif
151 |
152 | #endif
153 |
154 | #endif
155 |
--------------------------------------------------------------------------------
/esp32/TinyZXESPectrumttgovga32/ZXESPectrum/gbConfig.h:
--------------------------------------------------------------------------------
1 | #ifndef _GB_CONFIG_H
2 | #define _GB_CONFIG_H
3 |
4 | //SELECT use_optimice_writebyte OR use_optimice_writebyte_min_sram
5 | //use_optimice_writebyte required 16KB SRAM
6 | //use_optimice_writebyte_min_sram not required 16KB SRAM
7 | //#define use_optimice_writebyte
8 | //#define use_optimice_writebyte_min_sram
9 |
10 | #ifdef use_optimice_writebyte_min_sram
11 | #ifndef use_optimice_writebyte
12 | #define use_optimice_writebyte
13 | #endif
14 | #endif
15 |
16 | //Not use double numbers (IEEE not fpu) calculate vga frequency
17 | //#define use_lib_fix_double_precision
18 |
19 | //Debug i2s bitluni vga frequency
20 | //#define use_lib_debug_i2s
21 |
22 | //Enable WIFI SNA, SCR. 128K is not allowed, only 64K.
23 | //#define use_lib_wifi
24 | #ifdef use_lib_wifi
25 | #define use_lib_only_48k
26 | #endif
27 | //WEMOS D1 R32 board is currently not supported.
28 | //#define use_lib_board_wemos
29 |
30 | //Enable load screen capture from putty
31 | //#define use_lib_scr_uart
32 |
33 | //Enable load SNA from putty
34 | //#define use_lib_sna_uart
35 |
36 | //Use terminal keyboard, putty
37 | //#define use_lib_keyboard_uart
38 |
39 | //timeout read millis
40 | #define use_lib_keyboard_uart_timeout 0
41 |
42 | //log keyboard remote uart
43 | //#define use_lib_log_keyboard_uart
44 |
45 | //Fixes error keyboards not initializing (solution dcrespo3D)
46 | //#define FIX_PERIBOARD_NOT_INITING
47 |
48 | //Using modified bitluni library in C tiny fast
49 | #define use_lib_tinybitluni_fast
50 |
51 | //Use IRAM ram5,ram7 array for video fast only core Lin Ke-Fong
52 | #define use_lib_iram_video
53 |
54 | //Emulates mouse connected to PS/2
55 | //#define use_lib_mouse_kempston
56 | //Wait to initialise mouse
57 | #define gb_delay_init_ms 1000
58 | //Left-handed
59 | //#define use_lib_mouse_kempston_lefthanded
60 | //Emulates AY8912 via loudspeaker requires reduced fabgl
61 | //#define use_lib_sound_ay8912
62 | //Experimental to re-deploy internal loudspeaker requires reduced fabgl
63 | //#define use_lib_resample_speaker
64 | //Sound recording tape speakers
65 | //#define use_lib_redirect_tapes_speaker
66 | //REGWRITE vs digitalwrite port 25
67 | //#define use_lib_ultrafast_speaker
68 | //Pre-calculated table in RAM or Flash
69 | #define use_lib_lookup_ram
70 | //Intercept routine 0x056B core Lin Ke-Fong only
71 | //#define use_lib_tape_rom_intercept
72 |
73 | //Strength 8-colour or 64-colour mode
74 | //#define use_lib_vga8colors
75 | #define use_lib_vga64colors
76 |
77 | //Only used in 64-colour mode.brightness mode (64 colours active)
78 | //#define use_lib_use_bright
79 |
80 | //Experimental low RAM video mode
81 | //No longer use use_lib_vga_low_memory
82 | //#define use_lib_vga_low_memory
83 | //Video with threads
84 | #define use_lib_vga_thread
85 | //CPU speed optimisation video
86 | //Use_lib_ultrafast_vga no longer used
87 | //#define use_lib_ultrafast_vga
88 |
89 | //Use keyboard cursors in 128K
90 | #define use_lib_remap_keyboardpc
91 | //Being able to adjust X Y display
92 | //#define use_lib_screen_offset
93 | //Being able to skip video frames
94 | //#define use_lib_skip_frame
95 |
96 |
97 | //Video mode selection
98 | //Select one mode and deselect other modes
99 | //360x200 720x400 31.3 Khz 70.3 Hz freq:28322000 pixel_clock:14161000
100 | //#define use_lib_vga360x200x70hz_bitluni
101 | //320x240 640x480 31.4 Khz 60 Hz freq:25175000 pixel_clock:12587500
102 | //#define use_lib_vga320x240x60hz_bitluni
103 | //320x200 720x400 31.4 Khz 70.0 Hz freq:25175000 pixel_clock:12587500
104 | #define use_lib_vga320x200x70hz_bitluni
105 | //320x200 70Hz freq:12587500 funciona
106 | //#define use_lib_vga320x200x70hz_fabgl
107 | //QVGA 320x240 60Hz freq:12600000 funciona
108 | //#define use_lib_vga320x240x60hz_fabgl
109 |
110 |
111 | #ifdef use_lib_vga360x200x70hz_bitluni
112 | #define use_lib_vga360x200
113 | #else
114 | #ifdef use_lib_vga320x240x60hz_bitluni
115 | #define use_lib_vga320x240
116 | #else
117 | #ifdef use_lib_vga320x200x70hz_bitluni
118 | #define use_lib_vga320x200
119 | #else
120 | #ifdef use_lib_vga320x200x70hz_fabgl
121 | #define use_lib_vga320x200
122 | #ifndef use_lib_fix_double_precision
123 | #define use_lib_fix_double_precision
124 | #endif
125 | #else
126 | #ifdef use_lib_vga320x240x60hz_fabgl
127 | #define use_lib_vga320x240
128 | #ifndef use_lib_fix_double_precision
129 | #define use_lib_fix_double_precision
130 | #endif
131 | #endif
132 | #endif
133 | #endif
134 | #endif
135 | #endif
136 |
137 | //Ya no se usa
138 | //#define use_lib_vga360x200
139 | //Ya no se usa
140 | //#define use_lib_vga320x200
141 | //Ya no se usa
142 | //#define use_lib_vga320x240
143 |
144 | //Log output usb serial port
145 | #define use_lib_log_serial
146 |
147 | //Time measurement
148 | #define use_lib_stats_time_unified
149 |
150 | //Microseconds wait per CPU instruction (AUTO 1 adapts to frame 20000 micros)
151 | #define use_lib_delay_tick_cpu_auto 1
152 | #define use_lib_delay_tick_cpu_micros 0
153 | //0x01 1 instruction 0x03 4 instructions 0x07 8 instructions
154 | //#define use_lib_cpu_adjust_mask_instructions 0x01
155 | #define use_lib_cpu_adjust_mask_instructions 0x03
156 | //#define use_lib_cpu_adjust_mask_instructions 0x07
157 |
158 | //Select core Lin Ke-Fong or jsanchezv
159 | #define use_lib_core_linkefong
160 | //core José Luis Sanchez zx81
161 | //#define use_lib_core_jsanchezv
162 | //Only used in JLS core. CPU consuming
163 | #define use_lib_delayContention
164 | //#define use_lib_stats_time_jsanchezv
165 | //Use_lib_stats_video_jsanchezv is no longer used.
166 | // //#define use_lib_stats_video_jsanchezv
167 | // //#define use_lib_rom0_inRAM_jsanchezv
168 | // //#define use_lib_48k_iram_jsanchezv
169 | #define use_lib_poke8_optimice_jsanchezv
170 | #define use_lib_poke16_optimice_jsanchezv
171 | #define use_lib_peek8_optimice_jsanchezv
172 | #define use_lib_peek16_optimice_jsanchezv
173 | #define use_lib_fetchOpcode_optimice_jsanchezv
174 | #define use_lib_inport_optimice_jsanchezv
175 | #define use_lib_outport_optimice_jsanchezv
176 | #define use_lib_interruptHandlingTime_optimice_jsanchezv
177 | #define use_lib_addressOnBus_optimice_jsanchezv
178 | #define use_lib_isActiveINT_optimice_jsanchezv
179 | #define use_lib_cycle_32bits_jsanchezv
180 |
181 | //#define WITH_BREAKPOINT_SUPPORT
182 | //#define WITH_EXEC_DONE
183 |
184 |
185 | //Poll keyboard remote uart
186 | #define gb_current_ms_poll_keyboard_uart 50
187 | //Read mouse poll millis
188 | #define gb_ms_mouse 10
189 | //Read keyboard every x milliseconds
190 | #define gb_ms_keyboard 10
191 | //Read sound every x milliseconds
192 | #define gb_ms_sound 1
193 | //Skip x frames
194 | #define gb_frame_crt_skip 0
195 | //Milliseconds wait on each emulation iteration
196 | #define gb_delay_emulate_ms 0
197 |
198 | //Microseconds division standby emulation is no longer used.
199 | //#define gb_delay_emulate_div_microsec 5
200 |
201 |
202 | #ifdef use_lib_resample_speaker
203 | #define use_lib_sound_ay8912
204 | #endif
205 |
206 | #ifdef use_lib_vga64colors
207 | #ifdef use_lib_use_bright
208 | #else
209 | #define use_lib_use_bright
210 | #endif
211 | #endif
212 |
213 | #ifdef use_lib_use_bright
214 | #define COLOR_6B
215 | #else
216 | #ifdef use_lib_vga8colors
217 | #define COLOR_3B
218 | #endif
219 | #endif
220 |
221 |
222 |
223 | #ifdef use_lib_vga320x200
224 | #define gb_topeY 200
225 | #define gb_topeX_div4 80
226 | #else
227 | #ifdef use_lib_vga320x240
228 | #define gb_topeY 240
229 | #define gb_topeX_div4 80
230 | #else
231 | #ifdef use_lib_vga360x200
232 | #define gb_topeY 200
233 | #define gb_topeX_div4 90
234 | #endif
235 | #endif
236 | #endif
237 |
238 | //fabgl dependence is not used
239 | // - use_lib_mouse_kempston
240 | // - use_lib_sound_ay8912
241 | // - use_lib_resample_speaker
242 |
243 | //use_lib_vga8colors - 3 pin vga
244 | //use_lib_use_bright - 6 pin vga
245 | #endif
246 |
--------------------------------------------------------------------------------