mirror of
https://github.com/captain-amygdala/pistorm.git
synced 2026-01-25 11:36:08 +00:00
Merge branch 'main' of https://github.com/captain-amygdala/pistorm into main
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
# pistorm
|
||||
|
||||
# Hardware files are in Hardware.zip, using the hardware design or parts of it in a commercial product (aka selling with profit) needs a explicit approval from me!
|
||||
# Even selling blank PCBs at eBay or so without my approval might makes me pretty mad and probably leads to the forthcomming related projects to be closed source. You have been warned :)
|
||||
# Join us on IRC Freenode #PiStorm
|
||||
|
||||
* Hardware files are in Hardware.zip, using the hardware design or parts of it in a commercial product (aka selling with profit) needs a explicit approval from me!
|
||||
* Even selling blank PCBs at eBay or so without my approval might makes me pretty mad and probably leads to the forthcomming related projects to be closed source. You have been warned :)
|
||||
|
||||
|
||||
Simple quickstart
|
||||
|
||||
50
emulator.c
50
emulator.c
@@ -76,6 +76,7 @@
|
||||
|
||||
int mem_fd;
|
||||
int mem_fd_gpclk;
|
||||
int gayle_emulation_enabled = 1;
|
||||
void *gpio_map;
|
||||
void *gpclk_map;
|
||||
|
||||
@@ -153,10 +154,17 @@ void *iplThread(void *args) {
|
||||
|
||||
}
|
||||
|
||||
int main() {
|
||||
int main(int argc, char *argv[]) {
|
||||
int g;
|
||||
const struct sched_param priority = {99};
|
||||
|
||||
// Some command line switch stuffles
|
||||
for (g = 1; g < argc; g++) {
|
||||
if (strcmp(argv[g], "--disable-gayle") == 0) {
|
||||
gayle_emulation_enabled = 0;
|
||||
}
|
||||
}
|
||||
|
||||
sched_setscheduler(0, SCHED_FIFO, &priority);
|
||||
mlockall(MCL_CURRENT); // lock in memory to keep us from paging out
|
||||
|
||||
@@ -341,8 +349,10 @@ unsigned int m68k_read_memory_8(unsigned int address) {
|
||||
}
|
||||
}
|
||||
|
||||
if (address > GAYLEBASE && address < GAYLEBASE + GAYLESIZE) {
|
||||
return readGayleB(address);
|
||||
if (gayle_emulation_enabled) {
|
||||
if (address > GAYLEBASE && address < GAYLEBASE + GAYLESIZE) {
|
||||
return readGayleB(address);
|
||||
}
|
||||
}
|
||||
|
||||
address &=0xFFFFFF;
|
||||
@@ -364,8 +374,10 @@ unsigned int m68k_read_memory_16(unsigned int address) {
|
||||
}
|
||||
}
|
||||
|
||||
if (address > GAYLEBASE && address < GAYLEBASE + GAYLESIZE) {
|
||||
return readGayle(address);
|
||||
if (gayle_emulation_enabled) {
|
||||
if (address > GAYLEBASE && address < GAYLEBASE + GAYLESIZE) {
|
||||
return readGayle(address);
|
||||
}
|
||||
}
|
||||
|
||||
// if (address < 0xffffff) {
|
||||
@@ -387,8 +399,10 @@ unsigned int m68k_read_memory_32(unsigned int address) {
|
||||
}
|
||||
}
|
||||
|
||||
if (address > GAYLEBASE && address < GAYLEBASE + GAYLESIZE) {
|
||||
return readGayleL(address);
|
||||
if (gayle_emulation_enabled) {
|
||||
if (address > GAYLEBASE && address < GAYLEBASE + GAYLESIZE) {
|
||||
return readGayleL(address);
|
||||
}
|
||||
}
|
||||
|
||||
// if (address < 0xffffff) {
|
||||
@@ -407,9 +421,11 @@ void m68k_write_memory_8(unsigned int address, unsigned int value) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (address > GAYLEBASE && address < GAYLEBASE + GAYLESIZE) {
|
||||
writeGayleB(address, value);
|
||||
return;
|
||||
if (gayle_emulation_enabled) {
|
||||
if (address > GAYLEBASE && address < GAYLEBASE + GAYLESIZE) {
|
||||
writeGayleB(address, value);
|
||||
return;
|
||||
}
|
||||
}
|
||||
/*
|
||||
if (address == 0xbfe001) {
|
||||
@@ -432,9 +448,11 @@ void m68k_write_memory_16(unsigned int address, unsigned int value) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (address > GAYLEBASE && address < GAYLEBASE + GAYLESIZE) {
|
||||
writeGayle(address, value);
|
||||
return;
|
||||
if (gayle_emulation_enabled) {
|
||||
if (address > GAYLEBASE && address < GAYLEBASE + GAYLESIZE) {
|
||||
writeGayle(address, value);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// if (address < 0xffffff) {
|
||||
@@ -451,8 +469,10 @@ void m68k_write_memory_32(unsigned int address, unsigned int value) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (address > GAYLEBASE && address < GAYLEBASE + GAYLESIZE) {
|
||||
writeGayleL(address, value);
|
||||
if (gayle_emulation_enabled) {
|
||||
if (address > GAYLEBASE && address < GAYLEBASE + GAYLESIZE) {
|
||||
writeGayleL(address, value);
|
||||
}
|
||||
}
|
||||
|
||||
// if (address < 0xffffff) {
|
||||
|
||||
BIN
hd0.tar.gz
BIN
hd0.tar.gz
Binary file not shown.
Reference in New Issue
Block a user