Skip to content

csoren/f68-emulator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

f68-emulator

A2560K Emulator

Decided to promote it to early Beta, changes now logged properly.

Building it

Standard make requires SDL2 only.

Python 3 is technically required to build, but you can comment make -C setup from the makefile and it will work, albeit with the wrong timestamp. Python is only used to process the configuration file.

Builds on Windows with mingw32, SDL2 64 bit installed in c:\sdl2 and needs SDL2.dll and libwinpthread-1.dll - I will try to keep this up to date - ish as I can build it on Virtual box. Seems to run okay. For the makefiles you need the Chocolatey Make, which is version 4.3.

When building a pull do a make clean first so old .o files from another OS don't get in the way, then build with MAKE -B

I'm working on the bitmap at present so the delay is longer at the start, pressing a key after a couple of seconds clears the bitmap (which you can't see yet !)

Running it

In the emulator directory either:

./f68 <files>					(debug)

or

./f68 <files> go 				(run)

Where are either Motorola SREC or Intel Hex format. See note below about -exec on vasm.

When an executable SRecord is loaded it sets the run address, so the F1 key now runs that program instead of resetting the CPU. If there are more than one executables it's the last execute address. See testasm directory for an example file.

The window may be resized by providing a scale parameter:

./f68 -scale=2

Debug keys

Key Meaning
0-9A-F Change code position (doesn't change PC)
With Shift Change data position
Ctrl key Display text not hex bytes
ESC Quit
F1 Reset/Run program.
F2 Set viewed code to PC.
F3 Toggle output.
F5 Start emulation.
F6 Stop
F7 Single Step
F8 Step over JSR/BSR/Trap
F9 Set Breakpoint

The instruction move.b d0,d0 in machine code will cause the program to break to the debugger.

NOTE

When building s68 or hex files using VASM, the option -exec= (or just -exec if the file runs from start) must be on the command line.

If it isn't, there is no way of telling where the program starts.

Samples

asample is an assembler sample based on the original by P.Weingar. It shows copying to the screen and using the O/S

make asample should run it, when it boots press F1 to start.

make csample should run a similar C program.

Logging

The emulator has its own seperate logger, which operates by writing an ASCII string to address 0xFFFFFFFFC (normally Flash ROM)

e.g. the following code will print Hello, world and the current PC value.

*((long *)-4) = (long)"Hello, world";

Notes

Contrary to the documentation, but as confirmed by Stefany, bit 11 of Vicky 3 B's MCR controls the resolution (0=640x480,1=800x600)

About

C based emulator for A2560K

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 98.0%
  • Assembly 0.6%
  • Batchfile 0.6%
  • C++ 0.5%
  • Python 0.2%
  • Makefile 0.1%