calmopyrin / yapesdl Goto Github PK
View Code? Open in Web Editor NEWMultiplatform 8-bit Commodore home computer family emulator written in C++ using SDL2.
License: GNU General Public License v2.0
Multiplatform 8-bit Commodore home computer family emulator written in C++ using SDL2.
License: GNU General Public License v2.0
YapeSDL fails to compile (GCC 7.2.1) for me after this commit (Isolated CIA emulation code )
0fc463e
[michael@manjaro yapesdl]$ make
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c 1541mem.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c archdep.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c cpu.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c dis.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c diskfs.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c dos.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c drive.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c FdcGcr.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c iec.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c interface.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c keyboard.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c keys64.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c main.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c monitor.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c prg.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c SaveState.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c serial.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c Sid.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c sound.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c tape.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c tcbm.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c tedmem.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c tedsound.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c vic2mem.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -c video.cpp
g++ -O3 -w -I/usr/include/SDL2 -D_REENTRANT -o yapesdl -s 1541mem.o archdep.o cpu.o dis.o diskfs.o dos.o drive.o FdcGcr.o iec.o interface.o keyboard.o keys64.o main.o monitor.o prg.o SaveState.o serial.o Sid.o sound.o tape.o tcbm.o tedmem.o tedsound.o vic2mem.o video.o -L/usr/lib -lSDL2
vic2mem.o: In function Vic2mem::~Vic2mem()': vic2mem.cpp:(.text+0x288): undefined reference to
Cia::refCount'
vic2mem.o: In function Vic2mem::Read(unsigned int)': vic2mem.cpp:(.text+0x6fd): undefined reference to
Cia::read(unsigned int)'
vic2mem.cpp:(.text+0x75c): undefined reference to Cia::read(unsigned int)' vic2mem.cpp:(.text+0x8f8): undefined reference to
Cia::read(unsigned int)'
vic2mem.cpp:(.text+0x916): undefined reference to Cia::read(unsigned int)' vic2mem.cpp:(.text+0x9ab): undefined reference to
Cia::read(unsigned int)'
vic2mem.o: In function non-virtual thunk to Vic2mem::~Vic2mem()': vic2mem.cpp:(.text+0xad0): undefined reference to
Cia::refCount'
vic2mem.o: In function Vic2mem::~Vic2mem()': vic2mem.cpp:(.text+0xb98): undefined reference to
Cia::refCount'
vic2mem.o: In function non-virtual thunk to Vic2mem::~Vic2mem()': vic2mem.cpp:(.text+0xc58): undefined reference to
Cia::refCount'
vic2mem.o: In function Vic2mem::Reset(bool)': vic2mem.cpp:(.text+0x13c5): undefined reference to
Cia::reset()'
vic2mem.cpp:(.text+0x13d1): undefined reference to Cia::reset()' vic2mem.o: In function
Vic2mem::Vic2mem()':
vic2mem.cpp:(.text+0x15cc): undefined reference to Cia::refCount' vic2mem.cpp:(.text+0x15d5): undefined reference to
Cia::refCount'
vic2mem.cpp:(.text+0x2a10): undefined reference to Cia::reset()' vic2mem.cpp:(.text+0x2a1a): undefined reference to
Cia::reset()'
vic2mem.cpp:(.text+0x2d6a): undefined reference to Cia::refCount' vic2mem.o: In function
Vic2mem::loadromfromfile(int, char const*, unsigned int)':
vic2mem.cpp:(.text+0x38df): undefined reference to Cia::reset()' vic2mem.cpp:(.text+0x38eb): undefined reference to
Cia::reset()'
vic2mem.o: In function Vic2mem::Write(unsigned int, unsigned char)': vic2mem.cpp:(.text+0x4101): undefined reference to
Cia::write(unsigned int, unsigned char)'
vic2mem.cpp:(.text+0x48e9): undefined reference to Cia::write(unsigned int, unsigned char)' vic2mem.cpp:(.text+0x4a05): undefined reference to
Cia::write(unsigned int, unsigned char)'
vic2mem.o: In function Vic2mem::readState()': vic2mem.cpp:(.text+0x4f9e): undefined reference to
Cia::write(unsigned int, unsigned char)'
vic2mem.cpp:(.text+0x4fb4): undefined reference to Cia::write(unsigned int, unsigned char)' vic2mem.o:vic2mem.cpp:(.text+0x5f03): more undefined references to
Cia::write(unsigned int, unsigned char)' follow
vic2mem.o: In function Vic2mem::ted_process(unsigned int)': vic2mem.cpp:(.text+0x8a84): undefined reference to
Cia::countTimers()'
vic2mem.cpp:(.text+0x8a8e): undefined reference to Cia::countTimers()' vic2mem.cpp:(.text+0x8bf7): undefined reference to
Cia::setIRQflag(unsigned int)'
vic2mem.cpp:(.text+0xa2c3): undefined reference to Cia::todUpdate()' vic2mem.cpp:(.text+0xa2cd): undefined reference to
Cia::todUpdate()'
vic2mem.o: In function Vic2mem::Read(unsigned int)': vic2mem.cpp:(.text+0x899): undefined reference to
Cia::read(unsigned int)'
vic2mem.o: In function Vic2mem::Write(unsigned int, unsigned char)': vic2mem.cpp:(.text+0x409d): undefined reference to
Cia::write(unsigned int, unsigned char)'
collect2: error: ld returned 1 exit status
make: *** [Makefile:46: yape] Error 1
[michael@manjaro yapesdl]$
In the settings/configure keyboard&jostick I cannot find any useful options like remap the arrow keys ><^ to WASD or to the joystick.
Will this be ever implemented?
If I plug in a joystick its recognized well at the game controller but no way to bind keys to it. It would be very useful in games which dont support joystick at all, DOSbox can do something similar and its great.
Hi! I have compiled Yape for MacOS - it's working great.
I now want to compile so I can run from a browser using emscripten, however I don't see anymore detailed guide on how to do this.
Do you have the emcc compilation string you used when you did this which you can share? It would be very much appreciated!
Hi,
Trying to build yapesdl with the xcodeproj file.
I'm having a linker error for a few Cia methods (occuring in vic2mem).
I thought I'd check out the warnings before going after the linker error. I found these repeatedly:
instantiation of variable 'LinkedList<Resettable>::count' required here, but no definition is available
(also for root
and last
)
So, how come those members of LinkedList
are static
, is it intentional? One global list per type? Can I ignore this warning? Thanks!
yapesdl, on start, loads a configuration and sets working directory to that in the configuration. That is fine if it is started without arguments, as it resumes from where it was last time.
But, if there is an argument in the command line, it will load/autostart file ONLY if the file is in the path from where yapesdl is started. but, if I put relative path to a file, then it does not work because current directory is changed when configuration is loaded and then relative paths are wrong.
For example, if this is directory structure:
dir1/
/file1.prg
/dir2/
/file2.prg
and shell is in dir1/dir2, this works:
./yapesdl file2.prg
but this does not:
./yapesdl ../file1.prg
Proposed solution: if there is a command line argument, switch working directory to its directory. In the attachment is a patch (made with git diff) that implements this solution and so far works great for me (it probably should have more checks). This will also be convenient if, for example, multi-disk game is started, as selecting next image will be in the same directory, and not somewhere from configuration file.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.