stable version

This commit is contained in:
ArthurFerreira2 2021-06-24 22:55:47 +02:00 committed by GitHub
parent 5596f245fb
commit 8a6f8af6e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 2807 additions and 1264 deletions

View File

@ -1,5 +1,5 @@
CC = gcc CC = gcc
FLAGS = -std=c99 -pedantic -Wpedantic -Wall -O3 FLAGS = -std=c11 -pedantic -Wpedantic -Wall -O3
LIBS = -lSDL2 LIBS = -lSDL2
# comment these two lines if you are under Linux : # comment these two lines if you are under Linux :

View File

@ -24,7 +24,7 @@ After [reinette](https://github.com/ArthurFerreira2/reinette) (Apple 1 emulator)
* easy screenshot * easy screenshot
It uses the same MOS 6502 CPU emulator as her sisters (now christened [puce6502](https://github.com/ArthurFerreira2/puce6502)).\ It uses an optimized and accurate MOS 6502 CPU emulator (now christened [puce6502](https://github.com/ArthurFerreira2/puce6502)).\
You only need SDL2 to compile it. (I'm not using SDL_Mixer, but only the native SDL2 audio functions) You only need SDL2 to compile it. (I'm not using SDL_Mixer, but only the native SDL2 audio functions)
This emulator is not accurate in many ways and does not compete with This emulator is not accurate in many ways and does not compete with
@ -66,9 +66,7 @@ Use the functions keys to control the emulator itself :
* F7 : reset the zoom to 2:1 * F7 : reset the zoom to 2:1
* shift F7 : increase zoom up to 8:1 max * shift F7 : increase zoom up to 8:1 max
* ctrl F7 : decrease zoom down to 1:1 pixels * ctrl F7 : decrease zoom down to 1:1 pixels
* F8 : monochrome / color display (only in HGR mode) * F10 : pause / un-pause the emulator
* F9 : pause / un-pause the emulator
* F10 : break
* F11 : reset * F11 : reset
* F12 : about, help * F12 : about, help

2442
puce6502.c

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,9 @@
/* /*
Puce6502 - MOS 6502 cpu emulator Puce6502 - MOS 6502 cpu emulator
Last modified 1st of August 2020 Last modified 1st of August 2020
Copyright (c) 2018 Arthur Ferreira (arthur.ferreira2@gmail.com) Copyright (c) 2018 Arthur Ferreira (arthur.ferreira2@gmail.com)
This version has been modified for reinette II plus, a french Apple II plus This version has been modified for Reinette II plus, a french Apple II plus
emulator using SDL2 (https://github.com/ArthurFerreira2/reinette-II-plus). emulator using SDL2 (https://github.com/ArthurFerreira2/reinette-II-plus).
Please download the latest version from Please download the latest version from
@ -27,36 +26,26 @@
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. THE SOFTWARE.
*/ */
#ifndef _PUCE6502_H #ifndef _PUCE6502_H
#define _PUCE6502_H #define _PUCE6502_H
typedef unsigned char uint8_t; typedef unsigned char uint8_t;
typedef unsigned short uint16_t; typedef unsigned short uint16_t;
typedef enum {false, true} bool; typedef enum { false, true } bool;
#define RAMSIZE 0xC000 extern unsigned long long int ticks;
#define ROMSTART 0xD000
#define ROMSIZE 0x3000
#define LGCSTART 0xD000
#define LGCSIZE 0x3000
#define BK2START 0xD000
#define BK2SIZE 0x1000
#define SL6START 0xC600
#define SL6SIZE 0x0100
uint8_t ram[RAMSIZE]; // 48K of ram in $000-$BFFF uint16_t puce6502Exec(unsigned long long int cycleCount);
uint8_t rom[ROMSIZE]; // 12K of rom in $D000-$FFFF void puce6502RST();
uint8_t lgc[LGCSIZE]; // Language Card 12K in $D000-$FFFF void puce6502IRQ();
uint8_t bk2[BK2SIZE]; // bank 2 of Language Card 4K in $D000-$DFFF void puce6502NMI();
uint8_t sl6[SL6SIZE]; // P5A disk ][ PROM in slot 6
long long int ticks; // void printRegs();
// void dasm(uint16_t address);
void puce6502Exec(long long int cycleCount); // void setPC(uint16_t address);
void puce6502Reset(); // uint16_t getPC();
void puce6502Break();
#endif #endif

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
1 ICON "assets/reinetteII+.ico" 1 ICON "assets/reinetteII+.ico"
1 VERSIONINFO 1 VERSIONINFO
FILEVERSION 0,4,1,0 FILEVERSION 0,4,8,0
PRODUCTVERSION 0,4,0,0 PRODUCTVERSION 0,4,8,0
BEGIN BEGIN
BLOCK "StringFileInfo" BLOCK "StringFileInfo"
BEGIN BEGIN
@ -9,12 +9,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Arthur Ferreira" VALUE "CompanyName", "Arthur Ferreira"
VALUE "FileDescription", "Apple II+ emulator" VALUE "FileDescription", "Apple II+ emulator"
VALUE "FileVersion", "0.4.1.0" VALUE "FileVersion", "0.4.8.0"
VALUE "InternalName", "reinette II plus" VALUE "InternalName", "reinette II plus"
VALUE "LegalCopyright", "Arthur Ferreira" VALUE "LegalCopyright", "Arthur Ferreira"
VALUE "OriginalFilename", "reinetteII+.exe" VALUE "OriginalFilename", "reinetteII+.exe"
VALUE "ProductName", "reinette II plus" VALUE "ProductName", "reinette II plus"
VALUE "ProductVersion", "0.4" VALUE "ProductVersion", "0.4.8.0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

BIN
reinetteII+.res Normal file

Binary file not shown.

BIN
screenshots/Ms. Pac-Man.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 630 KiB

After

Width:  |  Height:  |  Size: 630 KiB