diff --git a/src/net/torvald/terrarum/virtualcomputer/assets/lua/BOOT.lua b/src/net/torvald/terrarum/virtualcomputer/assets/lua/BOOT.lua index 2e12536ce..efd71c489 100644 --- a/src/net/torvald/terrarum/virtualcomputer/assets/lua/BOOT.lua +++ b/src/net/torvald/terrarum/virtualcomputer/assets/lua/BOOT.lua @@ -8,7 +8,7 @@ -- global functions _G.runscript = function(s, src, ...) - if s:byte(1) == 27 then error("Bytecode execution is prohibited.") end + if s:byte(1) == 27 then error("Bytecode execution is prohibited.") end -- untested; it's Lua 5.1 code and we're 5.2 local code, reason = load(s, src) @@ -53,7 +53,6 @@ if totalMemory() == 0 then return end - local hookInterval = 100 local deadline = math.huge local hitDeadline = false @@ -1005,7 +1004,6 @@ if not computer.loadedCLayer then computer.loadedCLayer = {} end -- list of load -- if no bootloader is pre-defined via EFI, use default one if not computer.bootloader then computer.bootloader = "/boot/bootloader" end if not computer.OEM then computer.OEM = "" end -computer.beep = emittone computer.totalMemory = _G.totalMemory if not computer.bellpitch then computer.bellpitch = 1000 end local getMemory = function() @@ -1019,7 +1017,7 @@ computer.freeMemory = function() return totalMemory() - getMemory() end require("ROMLIB") -- POST passed, initialise beeper -beep "." +speaker.enqueue(80, 1000) -- term.bell sometimes get squelched -- load bios, if any if fs.exists(computer.bootloader) then shell.run(computer.bootloader) end diff --git a/src/net/torvald/terrarum/virtualcomputer/peripheral/PeripheralPSG.kt b/src/net/torvald/terrarum/virtualcomputer/peripheral/PeripheralPSG.kt index 56b05eea3..3dd9c6355 100644 --- a/src/net/torvald/terrarum/virtualcomputer/peripheral/PeripheralPSG.kt +++ b/src/net/torvald/terrarum/virtualcomputer/peripheral/PeripheralPSG.kt @@ -7,7 +7,7 @@ import org.luaj.vm2.LuaValue /** * Virtual driver for 4-track squarewave PSG, which has no ability of changing a duty cycle - * but has a volume control + * but has a volume control (you'll need some other tracker than MONOTONE) * * Created by minjaesong on 16-09-27. */ diff --git a/src/net/torvald/terrarum/virtualcomputer/terminal/SimpleTextTerminal.kt b/src/net/torvald/terrarum/virtualcomputer/terminal/SimpleTextTerminal.kt index c67c8fb5d..857f95799 100644 --- a/src/net/torvald/terrarum/virtualcomputer/terminal/SimpleTextTerminal.kt +++ b/src/net/torvald/terrarum/virtualcomputer/terminal/SimpleTextTerminal.kt @@ -405,8 +405,9 @@ open class SimpleTextTerminal( val GREEN = Color(74, 255, 0) // P39, 525 nm val WHITE = Color(204, 223, 255) // approximation of white CRT I own private val WHITE7500 = Color(0xe4eaff) - val BLUE_NOVELTY = Color(0, 226, 255) // imaginary, 483 nm + val BLUE_NOVELTY = Color(0x27d7ff) val RED = Color(250, 51, 0) // 632 nm + val AMETHYST_NOVELTY = Color(0xc095ff) val ASCII_NUL = 0.toChar() val ASCII_BEL = 7.toChar() // *BEEP!* diff --git a/work_files/2016-09-25T01:00:58.241.png b/work_files/2016-09-25T01:00:58.241.png deleted file mode 100644 index a11f64bea..000000000 Binary files a/work_files/2016-09-25T01:00:58.241.png and /dev/null differ diff --git a/work_files/monotone.ans b/work_files/monotone.ans index f00e1963f..70f2a02a0 100644 --- a/work_files/monotone.ans +++ b/work_files/monotone.ans @@ -7,7 +7,7 @@ °04°04° °06°úúú úúú°A-5 úúú°úúú úúú°úúú úúú° °05°05° °07°úúú úúú°G-5 úúú°G-5 úúú°úúú úúú° °06°06° °08°úúú úúú°C-6 úúú°úúú úúú°úúú úúú°    Select blockPAGE Move by 16 rows -°07°07°  09 úúú úúú E-6 úúú úúú úúú úúú úúú  ALT C Copy selectionHM/ED Move to top/bottom +°07°07° Û09 úúú úúú E-6 úúú úúú úúú úúú úúúÛ ALT C Copy selectionHM/ED Move to top/bottom °08°08° °0A°úúú úúú°C-5 úúú°=== úúú°úúú úúú° ALT V Paste selection °09°09° °0B°úúú úúú°úúú úúú°úúú úúú°úúú úúú° °0A°0A° °0C°úúú úúú°úúú úúú°úúú úúú°úúú F20° ENTER Play from beggining @@ -28,13 +28,13 @@ °19°19° °1B°úúú úúú°úúú úúú°úúú úúú°úúú F20° °1A°1A° °1C°úúú úúú°úúú úúú°úúú úúú°úúú úúú° °1B°1B° °1D°úúú úúú°úúú úúú°úúú úúú°úúú úúú° -°1C°1C° °1E°úúú úúú°úúú úúú°G-3 úúú°úúú F03°  EffectsTranspose +°1C°1C° °1E°úúú úúú°úúú úúú°G-3 úúú°úúú F03°  Effects °1D°1D° °1F°úúú úúú°úúú úúú°A-3 úúú°úúú úúú° -°1E°1E° °20°úúú úúú°úúú úúú°B-3 úúú°úúú úúú° 0xy ArpeggioALT ] +12 -°1F°1E° °21°úúú úúú°úúú úúú°C-4 úúú°úúú úúú°ALT [ -12 -°20°1E° °22°úúú úúú°úúú úúú°D-4 úúú°úúú úúú° 1xx Portamento up -°21°1F° °23°úúú úúú°úúú úúú°E-4 úúú°úúú úúú° ALT = +1 -°úú°úú° °24°úúú úúú°úúú úúú°F-4 úúú°úúú úúú° 2xx Portamento down ALT - -1 +°1E°1E° °20°úúú úúú°úúú úúú°B-3 úúú°úúú úúú° 0xy Arpeggio +°1F°1E° °21°úúú úúú°úúú úúú°C-4 úúú°úúú úúú° +°20°1E° °22°úúú úúú°úúú úúú°D-4 úúú°úúú úúú° 1xx Portamento up +°21°1F° °23°úúú úúú°úúú úúú°E-4 úúú°úúú úúú° +°úú°úú° °24°úúú úúú°úúú úúú°F-4 úúú°úúú úúú° 2xx Portamento down °úú°úú° °25°úúú úúú°úúú úúú°G-4 úúú°úúú úúú° °úú°úú° °26°úúú úúú°úúú úúú°A-4 úúú°úúú úúú° 3xx Portamento to note °úú°úú° °27°úúú úúú°úúú úúú°B-4 úúú°úúú úúú° @@ -47,23 +47,88 @@ °úú°úú° °2E°úúú úúú°úúú úúú°B-5 úúú°úúú úúú° Fxx Set tick speed °úú°úú° °2F°úúú úúú°úúú úúú°C-6 úúú°úúú úúú° °úú°úú° °30°úúú úúú°úúú úúú°D-6 úúú°úúú úúú° -°úú°úú° °31°úúú úúú°úúú úúú°E-6 úúú°úúú úúú° ± ± -°úú°úú° °32°úúú úúú°úúú úúú°F-6 úúú°úúú úúú° ± Ý ÞÝ Þ Ý ÞÝ ÞÝ Þ Ý ÞÝ Þ ± -°úú°úú° °33°úúú úúú°úúú úúú°G-6 úúú°úúú úúú° ± Ý2ÞÝ3Þ Ý5ÞÝ6ÞÝ7Þ Ý9ÞÝ0Þ ÛÛÛ± -°úú°úú° °34°úúú úúú°úúú úúú°A-6 úúú°úúú úúú° ± Ý ÞÝ Þ Ý ÞÝ ÞÝ Þ Ý ÞÝ Þ ÛÛÛ± -°úú°úú° °35°úúú úúú°úúú úúú°B-6 D00°úúú úúú° ±Ý ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÛÛÛ± -°úú°úú° °36°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ±ÝQÞÝWÞÝEÞÝRÞÝTÞÝYÞÝUÞÝIÞÝOÞÝPÞ ± -°úú°úú° °37°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ±Ý ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ Þ ± -°úú°úú° °38°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ± ± -°úú°úú° °39°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ± O Ý ÞÝ Þ Ý ÞÝ ÞÝ Þ Ý ÞÝ Þ ± -°úú°úú° °3A°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ± c ÝSÞÝDÞ ÝGÞÝHÞÝJÞ ÝLÞÝ;Þ ± -  °3B°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ± t Ý ÞÝ Þ Ý ÞÝ ÞÝ Þ Ý ÞÝ Þ ± +°úú°úú° °31°úúú úúú°úúú úúú°E-6 úúú°úúú úúú° ± ± Transpose +°úú°úú° °32°úúú úúú°úúú úúú°F-6 úúú°úúú úúú° ± Ý ÞÝ Þ Ý ÞÝ ÞÝ Þ Ý ÞÝ Þ ± +°úú°úú° °33°úúú úúú°úúú úúú°G-6 úúú°úúú úúú° ± Ý2ÞÝ3Þ Ý5ÞÝ6ÞÝ7Þ Ý9ÞÝ0Þ ÛÛÛ± ALT ] +12 +°úú°úú° °34°úúú úúú°úúú úúú°A-6 úúú°úúú úúú° ± Ý ÞÝ Þ Ý ÞÝ ÞÝ Þ Ý ÞÝ Þ ÛÛÛ± ALT [ -12 +°úú°úú° °35°úúú úúú°úúú úúú°B-6 D00°úúú úúú° ±Ý ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÛÛÛ± +°úú°úú° °36°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ±ÝQÞÝWÞÝEÞÝRÞÝTÞÝYÞÝUÞÝIÞÝOÞÝPÞ ± ALT = +1 +°úú°úú° °37°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ±Ý ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ Þ ± ALT - -1 +°úú°úú° °38°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ± ± +  °39°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ± O Ý ÞÝ Þ Ý ÞÝ ÞÝ Þ Ý ÞÝ Þ ± +1stEm16 °3A°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ± c ÝSÞÝDÞ ÝGÞÝHÞÝJÞ ÝLÞÝ;Þ ± +2ndEm04 °3B°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ± t Ý ÞÝ Þ Ý ÞÝ ÞÝ Þ Ý ÞÝ Þ ± °3C°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ±  Ý ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ Þ± RecPlay °3D°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ±-1 ÝZÞÝXÞÝCÞÝVÞÝBÞÝNÞÝMÞÝ,ÞÝ.ÞÝ/Þ± Trcks 4 °3E°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ± Ý ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ Þ± Tick 00 °3F°úúú úúú°úúú úúú°úúú úúú°úúú úúú° ± ± -ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ +ÍÍ BEEPER MODE ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ RecPlay RecPlay Trcks 4 Trcks 4  Editable Tick 00 Tick 00  Current play tick -SAUCE00 20160924ø€dEIBM VGA50 \ No newline at end of file + +ÍÍ PSG MODE ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÛOrderÛ  °00°C-4úúúúú°C-5úúúúú°C-5úúúúú°C-4úúF20°Octave F1 F2 F3 F4 F5 F6 F7 F8 F9 +   °01°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° + 00 02   °02°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° +°01°00° °03°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú°  SPACE Stop/Rec. mode  SHIFT Assign patn to ordr +°02°01° °04°úúúúúúúú°D-5úúúúú°F#5úúúúú°úúúúúF08°   Move cursor  SHIFT Prev/Next pattern +°03°03° °05°úúúúúúúú°F#5úúúúú°úúúúúúúú°úúúúúúúú° \ Note off  TAB Next channel +°04°04° °06°úúúúúúúú°A-5úúúúú°úúúúúúúú°úúúúúúúú° +°05°05° °07°úúúúúúúú°G-5úúúúú°G-5úúúúú°úúúúúúúú° +°06°06° °08°úúúúúúúú°C-6úúúúú°úúúúúúúú°úúúúúúúú°    Select block   PAGE Move by 16 rows +°07°07°  09 úúúúúúúú E-6úúúúú úúúúúúúú úúúúúúúú   ALT C Copy selection   HM/ED Move to top/bottom +°08°08°  °0A°úúúúúúúú°C-5úúúúú°===úúúúú°úúúúúúúú°  ALT V Paste selection +°09°09° °0B°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° +°0A°0A° °0C°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúF20°   ENTER Play from beggining +°0B°0B° °0D°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú°  INS Insert a patn  ENTER Play this pattern +°0C°0C° °0E°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú°  DEL Del. sel. patn +°0D°0D° °0F°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú°  INS Insert order +°0E°0E° °10°úúúúúúúú°C-6úúúúú°G#5úúúúú°úúúúúF04°  DEL Delete order  CTRL S Save +°0F°0F° °11°úúúúúúúú°D#6úúúúú°C-6úúúúú°úúúúúúúú° CTRL O Load (discard this) +°10°10° °12°úúúúúúúú°G#6úúúúú°D#6úúúúú°úúúúúúúú° CTRL N New (discard this) +°11°11° °13°úúúúúúúú°F#6úúúúú°D-6úúúúú°úúúúúúúú° +°12°12° °14°úúúúúúúú°A-6úúúúú°F#6úúúúú°úúúúúúúú° +°13°13° °15°úúúúúúúú°D-7úúúúú°A-6úúúúú°úúúúúúúú° +°14°14° °16°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° +°15°15° °17°úúúúúúúú°C-5úúúúú°===úúúúú°úúúúúúúú° +°16°16° °18°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° +°17°17° °19°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° +°18°18° °1A°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° +°19°19° °1B°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúF20° +°1A°1A° °1C°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° +°1B°1B° °1D°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° +°1C°1C° °1E°úúúúúúúú°úúúúúúúú°G-3úúúúú°úúúúúF03° Effects +°1D°1D° °1F°úúúúúúúú°úúúúúúúú°A-3úúúúú°úúúúúúúú° +°1E°1E° °20°úúúúúúúú°úúúúúúúú°B-3úúúúú°úúúúúúúú° 0xy ArpeggioAxy Volume slide +°1F°1E° °21°úúúúúúúú°úúúúúúúú°C-4úúúúú°úúúúúúúú° +°20°1E° °22°úúúúúúúú°úúúúúúúú°D-4úúúúú°úúúúúúúú° 1xx Portamento upBxx Jump to order +°21°1F° °23°úúúúúúúú°úúúúúúúú°E-4úúúúú°úúúúúúúú° +°úú°úú° °24°úúúúúúúú°úúúúúúúú°F-4úúúúú°úúúúúúúú° 2xx Portamento downCxx Set note volume +°úú°úú° °25°úúúúúúúú°úúúúúúúú°G-4úúúúú°úúúúúúúú° +°úú°úú° °26°úúúúúúúú°úúúúúúúú°A-4úúúúú°úúúúúúúú° 3xx Portamento to note Dxx Pattern break +°úú°úú° °27°úúúúúúúú°úúúúúúúú°B-4úúúúú°úúúúúúúú° +°úú°úú° °28°úúúúúúúú°úúúúúúúú°C-5úúúúú°úúúúúúúú° 4xy VibratoFxx Set tick speed +°úú°úú° °29°úúúúúúúú°úúúúúúúú°D-5úúúúú°úúúúúúúú° +°úú°úú° °2A°úúúúúúúú°úúúúúúúú°E-5úúúúú°úúúúúúúú° 5xy Portamento to note +°úú°úú° °2B°úúúúúúúú°úúúúúúúú°F-5úúúúú°úúúúúúúú°with volume slide +°úú°úú° °2C°úúúúúúúú°úúúúúúúú°G-5úúúúú°úúúúúúúú° 6xy Vibrato with volume +°úú°úú° °2D°úúúúúúúú°úúúúúúúú°A-5úúúúú°úúúúúúúú° slide +°úú°úú° °2E°úúúúúúúú°úúúúúúúú°B-5úúúúú°úúúúúúúú° 7xy Tremolo +°úú°úú° °2F°úúúúúúúú°úúúúúúúú°C-6úúúúú°úúúúúúúú° +°úú°úú° °30°úúúúúúúú°úúúúúúúú°D-6úúúúú°úúúúúúúú° +°úú°úú° °31°úúúúúúúú°úúúúúúúú°E-6úúúúú°úúúúúúúú° ± ± Transpose +°úú°úú° °32°úúúúúúúú°úúúúúúúú°F-6úúúúú°úúúúúúúú° ± Ý ÞÝ Þ Ý ÞÝ ÞÝ Þ Ý ÞÝ Þ ± +°úú°úú° °33°úúúúúúúú°úúúúúúúú°G-6úúúúú°úúúúúúúú° ± Ý2ÞÝ3Þ Ý5ÞÝ6ÞÝ7Þ Ý9ÞÝ0Þ ÛÛÛ± ALT ] +12 +°úú°úú° °34°úúúúúúúú°úúúúúúúú°A-6úúúúú°úúúúúúúú° ± Ý ÞÝ Þ Ý ÞÝ ÞÝ Þ Ý ÞÝ Þ ÛÛÛ± ALT [ -12 +°úú°úú° °35°úúúúúúúú°úúúúúúúú°B-6úúD00°úúúúúúúú° ±Ý ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÛÛÛ± +°úú°úú° °36°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° ±ÝQÞÝWÞÝEÞÝRÞÝTÞÝYÞÝUÞÝIÞÝOÞÝPÞ ± ALT = +1 +°úú°úú° °37°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° ±Ý ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ Þ ± ALT - -1 +°úú°úú° °38°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° ± ± +  °39°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° ± O Ý ÞÝ Þ Ý ÞÝ ÞÝ Þ Ý ÞÝ Þ ± +1stEm16 °3A°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° ± c ÝSÞÝDÞ ÝGÞÝHÞÝJÞ ÝLÞÝ;Þ ± +2ndEm04 °3B°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° ± t Ý ÞÝ Þ Ý ÞÝ ÞÝ Þ Ý ÞÝ Þ ± + °3C°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° ± Ý ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ Þ± +RecPlay  °3D°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° ±-1 ÝZÞÝXÞÝCÞÝVÞÝBÞÝNÞÝMÞÝ,ÞÝ.ÞÝ/Þ± +Trcks 4  °3E°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° ± Ý ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ ÞÝ Þ± +Tick 00  °3F°úúúúúúúú°úúúúúúúú°úúúúúúúú°úúúúúúúú° ± ± +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍSAUCE00 20160924kdˆIBM VGA50 \ No newline at end of file diff --git a/work_files/monotone.png b/work_files/monotone.png index 56a6c677a..74b7d31b4 100644 Binary files a/work_files/monotone.png and b/work_files/monotone.png differ