Skip to content
OulanB edited this page Apr 22, 2022 · 8 revisions

Welcome to the OricVGA32 wiki!

Documentation for V1.0

To compile:

Use the following configuration (I use a 1.0.6 espressif arduino ide with Vs Code).

Rename src dir to EmulOric2 to be able to load project directly with Arduino Ide (1.8.19)

You certainly need to remove SD card from slot to flash new firmware.

Format of spiFS:

spiFS is the internal flash partition of 2 MB. To format it you can change the following lines in spifat.h file near line 89:

bool spiFatMount() {
    if (THIS.mount) {
        spiFatUnMount();
    }
    if (FFat.begin(false, "/spi")) {
        THIS.mount = true;
    }
    return THIS.mount;
}

to

bool spiFatMount() {
    if (THIS.mount) {
        spiFatUnMount();
    }
    if (FFat.begin(true, "/spi")) {
        THIS.mount = true;
    }
return THIS.mount;

In video.h you can uncomment the // #define L320 line to get a square dot resolution.

Be carefull when experimenting with video, some definition can lead to crash due to overloading esp32 cache sub-system.

This can be measured by uncommentinng line // log_d("loop avg %d %d", tSum / tN, nSum / tN); in file EmulOric2.ino near line 63. On the serial monitor, loop avg should stay aroung 12000. When value greater than 20000 appears, crash will follow soon ;)

Sound config:

Change line 139 in EmulOric2.ino file from ym2149Init(2): to ym2149Init(1); to use synchronous sound.

With 1 : be careful, the wave form is generated synchronously with 6502 but is played from a asynchronous task so some delay can appear with time.

With 2 : no delay possible but the sound can be quite bad for some music. ie pulsoids is very bad with 2 and good with 1 ...

Some infos to use:

CTRL-ALT-BACKSPACE : reset Oric

F11 toggle tape informations : tapes are 512KB max long (circa 45 minutes tape), can have 64 parts.

When loaded, a tape is in memory and should be manually saved back to FS.

Top line :

  • T name of tape file
  • 00 # of part in tape
  • 00% % of tape filled

Bottom line :

  • 00 : current tape part under the head
  • 00% : when reading, % of part read
  • name : oric side name of part
  • 0000 : start oric side address of part
  • 0000 : end oric side address of part
  • _ : A means autostart part
  • : B basic, C code , ...
  • n : byte image part or bit-image (ie for Sceptre of Amnukor)
  • - : * means tape was changed (to be saved mannually)
  • : RED : write, GREEN : read

F12 toggle tapes load/save/changes on screen display.

Use up, down arrow keys, pg up, pg down to navigate files, use Backspace to go one dir up, use Return on a dir to enter it

Return on a .tap file load it.

Top line

  • Delete : delete | D : delete selected file (with confirmation)
  • spiFs : F : toggle spiFS (internal FAT part in flash) sdFs (external micro sd card in Fat format)
  • Mnt : M : mount or unmount the selected Filesystem (unmount it when programming the VGA32)
  • mKdir : K : create a dir (not done)
  • Quik : Q : toggle quick/normal tape reading (quick patch the rom to load files 10 times faster)
  • -: : busy indicator (when reading filesystem)

Bottom line

  • Save : S : save in memory tape back to the showed name in the current dir
  • Home : Home : rewind tape at start
  • <- : <<-> : rewind to previous part
  • -> : <->> : rewind to next part
  • End : End : fast forward to end of tape
  • Cut : C : delete current part (after confirmation)
  • neW : W : create an empty tape (after confirmation)
  • Ren : R : rename the tape (in memory), save it after to write the file back to filesystem
  • - : :

For confirmation :

Y or Enter select Yes; N or Esc select No