Coder Social home page Coder Social logo

robcfg / retrotools Goto Github PK

View Code? Open in Web Editor NEW
30.0 30.0 2.0 3.72 MB

Some nice programs aimed at preservation of software from old computers.

License: MIT License

C++ 43.93% CMake 0.92% Shell 0.01% Batchfile 0.01% HTML 1.58% JavaScript 0.28% C 53.28%

retrotools's People

Contributors

dmcoles avatar oddsocks1024 avatar robcfg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

retrotools's Issues

Directory name is wrongly inserted into filename [MMBExplorer]

On macOS Mojave, if I extract a (BASIC program) file using (Windows) DFS Imager (under WINE) from a .SSD, the file gets exported from the .SSD to the desktop with the directory name ("$." in this case) prepended to the filename (so "$.LOAD", for example). Even though MMBExplorer seems to correctly parse the accompanying .inf file (which DFS Imager also extracts from the .SSD), MMBExplorer then fails to realise that the "$." prefix shouldn't be added to the filename -- so the file ends up being called "$.LOAD" on the .SSD! Or, strictly speaking, "$.$.LOAD"!

MMBExplorer: directory name is missing from .inf when extracting file from .SSD

In MMBExplorer I created a new .MMB file with just one .SSD slot. I then inserted a .SSD into that slot. The .SSD had a file called O.TERP on it.

When I extracted the file O.TERP to the desktop, two files were created on the desktop: TERP and TERP.inf. The latter, when viewed in a text editor, was shown to contain the filename (TERP) but without the DFS directory name (O).

Instead, TERP.inf should have stored the filename as O.TERP

Can't add multiple files to a .SSD in one go [MMBExplorer]

One slight problem with MMBExplorer on macOS Mojave is that I couldn't add more than one file to a .SSD at a time. Is there any way to increase that limit? The macOS file-selection dialog box would only let me select one file at a time.

MMBExplorer: extracted files have wrong load- and exec-addresses

When I used MMBExplorer to export a BASIC program file from a .SSD to my Mac desktop, the load and exec addresses in the accompanying .inf file were 31900 and 38023, which are wrong. They should be FF1900 and FF8023.

However, if I use DFSImager to do the same thing, the .inf file written by DFSImager contains the correct values. Here are the full contents of the .inf file written by DFSImager:

$.PROG FF1900 FF8023 CRC= C52

I've tried manually editing the .inf file created by MMBExplorer and correcting the load and exec addresses to FF1900 and FF8023, and it hasn't caused any problems so far.

Therefore I would suggest that MMBExplorer should be updated so that it will write the correct load and exec addresses into the .inf file when it exports a file from a .SSD to the host OS — just as DFSImager already does.

Btw, the following discussion on Stardot may or may not be helpful!:

https://stardot.org.uk/forums/viewtopic.php?p=316109#p316109

Can't *remove* multiple files from a .SSD in one go [MMBExplorer]

One slight problem with MMBExplorer on macOS Mojave is that I couldn't remove more than one file from a .SSD at a time. Is there any way to increase that limit? The macOS file-selection dialog box will let me select (highlight) two files (and maybe more), but only one of the selected files gets removed.

Unable to build on Ubuntu 20.04 with fltk 1.3.4

I am trying to build this on Ubuntu 20.04 following the instructions on the git page. I have installed FLTK 1.3 and 1.3 Dev (1.34) fine from default Ubuntu repo.

When i run make in the build folders i am getting lots of build errors (some of which below!) - any ideas what I am doing wrong?

[ 0%] Built target getscmversion
Scanning dependencies of target MMBExplorer
[ 14%] Building CXX object CMakeFiles/MMBExplorer.dir/src/MMBExplorer.cpp.o
[ 28%] Building CXX object CMakeFiles/MMBExplorer.dir/src/MMBFile.cpp.o
[ 42%] Building CXX object CMakeFiles/MMBExplorer.dir/src/MMBE_Commands.cpp.o
[ 57%] Building CXX object CMakeFiles/MMBExplorer.dir/src/MMBE_Gui.cpp.o
[ 71%] Building CXX object CMakeFiles/MMBExplorer.dir/src/MMBE_Callbacks.cpp.o
In file included from /home/twri/Downloads/6.BBC/MMB/retrotools/mmbexplorer/src/MMBE_Callbacks.cpp:4:
/home/twri/Downloads/6.BBC/MMB/retrotools/mmbexplorer/src/MMBE_Callbacks.h:35:29: error: ‘bool ChooseFilename’ redeclared as different kind of entity
35 | bool ChooseFilename( std::vectorstd::string& fileNames, const std::string& filter, const std::string& preset, bool bSaveAsDialog, bool bDirectory = false );
| ^~~~~~
In file included from /home/twri/Downloads/6.BBC/MMB/retrotools/mmbexplorer/src/MMBE_Callbacks.cpp:4:
/home/twri/Downloads/6.BBC/MMB/retrotools/mmbexplorer/src/MMBE_Callbacks.h:34:8: note: previous declaration ‘bool ChooseFilename(std::string&, const string&, const string&, bool, bool)’
34 | bool ChooseFilename( std::string& fileName, const std::string& filter, const std::string& preset, bool bSaveAsDialog, bool bDirectory = false );
| ^~~~~~~~~~~~~~
/home/twri/Downloads/6.BBC/MMB/retrotools/mmbexplorer/src/MMBE_Callbacks.cpp:24:6: note: candidate expects 5 arguments, 4 provided

<-- snip -->

make[2]: *** [CMakeFiles/MMBExplorer.dir/build.make:115: CMakeFiles/MMBExplorer.dir/src/MMBE_Callbacks.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:105: CMakeFiles/MMBExplorer.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

MMBExplorer make fails

I am run Manjaro Linux XFCE 21.1.4 and have installed Cmake and FLTK(from AUR). All packages are upto date.
I CD to the build folder then type:
"cmake -DCMAKE_BUILD_TYPE=Release .." as you can see below.
Then type "make", but make fails. Any ideas what is going wrong and how to fix it as it does the same thing on my Laptop with the same version of Manjaro. Im new to Linux and Github so I hope you can help.

[ian@ian-ms7b78 mmbexplorer]$ cd build/
[ian@ian-ms7b78 build]$ ls
readme.txt
[ian@ian-ms7b78 build]$ cmake -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is GNU 11.1.0
-- The CXX compiler identification is GNU 11.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindOpenGL.cmake:315 (message):
Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
available. Run "cmake --help-policy CMP0072" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.

FindOpenGL found both a legacy GL library:

OPENGL_gl_LIBRARY: /usr/lib/libGL.so

and GLVND libraries for OpenGL and GLX:

OPENGL_opengl_LIBRARY: /usr/lib/libOpenGL.so
OPENGL_glx_LIBRARY: /usr/lib/libGLX.so

OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
compatibility with CMake 3.10 and below the legacy GL library will be used.
Call Stack (most recent call first):
/usr/share/cmake-3.21/Modules/FindFLTK.cmake:87 (find_package)
CMakeLists.txt:12 (FIND_PACKAGE)
This warning is for project developers. Use -Wno-dev to suppress it.

-- Found OpenGL: /usr/lib/libOpenGL.so
-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ian/retrotools/mmbexplorer/build
[ian@ian-ms7b78 build]$ make
[ 0%] Built target getscmversion
[ 14%] Building CXX object CMakeFiles/MMBExplorer.dir/src/MMBExplorer.cpp.o
[ 28%] Building CXX object CMakeFiles/MMBExplorer.dir/src/MMBFile.cpp.o
[ 42%] Building CXX object CMakeFiles/MMBExplorer.dir/src/MMBE_Commands.cpp.o
[ 57%] Building CXX object CMakeFiles/MMBExplorer.dir/src/MMBE_Gui.cpp.o
[ 71%] Building CXX object CMakeFiles/MMBExplorer.dir/src/MMBE_Callbacks.cpp.o
[ 85%] Building CXX object CMakeFiles/MMBExplorer.dir/src/AcornDFS.cpp.o
[100%] Linking CXX executable MMBExplorer
/usr/bin/ld: /usr/lib/libfltk.a(Fl_X11_Window_Driver.cxx.o): undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
/usr/bin/ld: /usr/lib/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/MMBExplorer.dir/build.make:196: MMBExplorer] Error 1
make[1]: *** [CMakeFiles/Makefile2:111: CMakeFiles/MMBExplorer.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
[ian@ian-ms7b78 build]$

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.