Ported from https://github.com/MiSTer-devel/C64_MiSTer according from Somhi sockit template.
Follows original readme file.
C64 for MiSTer
Based on FPGA64 by Peter Wendrich with heavy later modifications by different people.
- C64 and C64GS modes.
- C1541 read/write/format support in raw GCR mode (*.D64, *.G64)
- C1581 read/write support (*.D81)
- Parallel C1541 port for faster (~20x) loading time using DolphinDOS.
- External IEC through USER_IO port.
- Amost all cartridge formats (*.CRT)
- Direct file injection (*.PRG)
- Dual SID with several degree of mixing 6581/8580 from stereo to mono.
- Similar to 6581 and 8580 SID filters.
- REU 16MB and GeoRAM 4MB memory expanders.
- OPL2 sound expander.
- Pause option when OSD is opened.
- 4 joysticks mode.
- RS232 with VIC-1011 and UP9600 modes either internal or through USER_IO.
- Loadable Kernal/C1541 ROMs.
- Special reduced border mode for 16:9 display.
- C128/Smart Turbo mode up to 4x.
- Real-time clock
Copy the *.rbf to the root of the SD card. Copy disks/carts to C64 folder.
- F2,F4,F6,F8,Left/Up keys automatically activate Shift key.
- F9 - arrow-up key.
- F10 - = key.
- F11 - restore key. Also special key in AR/FC carts.
- Alt,Tab - C= key.
- PgUp - Tape play/pause
If your joystick/gamepad has more than 4 buttons then you can have some limited usage of keybiard. Joystick buttons Mod1 and Mod2 adds 12 frequently used keys to skip the intros and start the game. Considering default button maps RLDU,Fire1,Fire2,Fire3,Paddle Btn, following keys are possible to enter:
- With holding Mod1: Cursor RLDU, Enter, Space, Esc, Alt+ESC(LOAD"*" then RUN)
- With holding Mod2: 1,2,3,4,5,0,Y,N
- With holding Mod1+Mod2: F1,F2,F3,F4,F5,F6,F7,F8
With maps above and using Dolphin DOS you can issue F7 to list the files on disk, then move cursor to required file, then issue Alt+ESC to load it and run.
Alternative ROM can loaded from OSD: Hardware->Load System ROM. Format is simple concatenation of BASIC + Kernal.rom + C1541.rom
To create the ROM in DOS or Windows, gather your files in one place and use the following command from the DOS prompt. The easiest place to acquire the ROM files is from the VICE distribution. BASIC and KERNAL are in the C64 directory, and dos1541 is in the Drives directory.
COPY BASIC + KERNAL + dos1541 MYOWN.ROM /B
To use JiffyDOS or another alternative kernel, replace the filenames with the name of your ROM or BIN file. (Note, you muse use the 1541-II ROM. The ROM for the original 1541 only covers half the drive ROM and does not work with emulators.)
COPY /B BASIC.bin +JiffyDOS_C64.bin +JiffyDOS_1541-II.bin MYOWN.ROM
To confirm you have the correct image, the BOOT.ROM created must be exactly 32768 or 49152(in case of 32KB C1541 ROM) bytes long.
There are 2 loadable ROM sets are provided: DolphinDOS v2.0 and SpeedDOS v2.7. Both ROMs support parallel Disk Port. DolphinDOS is fastest one.
For C1581 you can use separate ROM with size up to 32768 bytes.
In OSD->Hardware page you can choose Boot Cartridge, so everytime core loaded, this cartridge will be loaded too.
Are you tired from long loading times and fast loaders aren't really fast when comparing to other systems?
Here is the solution: In OSD->System page choose Expansion: Fast Disks. Then load DolphinDOS_2.0.rom. You will get about 20x times faster loading from disks!
C128 mode: this is C128 compatible turbo mode available in C64 mode on Commodore 128 and can be controlled from software, so games written with this turbo mode support will take advantage of this.
Smart mode: In this mode any access to disk will disable turbo mode for short time enough to finish disk operations, thus you will have turbo mode without loosing disk operations.
Primary function of RS232 is emulated dial-up connection to old-fashioned BBS. CCGMS Ultimate is recommended (Don't use CCGMS 2021 - it's buggy version). It supports both standard 2400 VIC-1011 and more advanced UP9600 modes.
Note: DolphinDOS and SpeedDOS kernals have no RS232 routines so most RS232 software don't work with these kernals!
Supported up to 4MB of memory. GeoRAM is connected if no other cart is loaded. It's automatically disabled when cart is loaded, then enabled when cart unloaded.
Supported standard 512KB, expanded 2MB with wrapping inside 512KB blocks (for compatibility) and linear 16MB size with full 16MB counter wrap. Support for REU files.
GeoRAM and REU don't conflict each other and can be both enabled.
USER_IO | USB 3.0 name | Signal name |
---|---|---|
0 | D+ | RS232 RX |
1 | D- | RS232 TX |
2 | TX- | IEC /CLK |
3 | GND_d | IEC /RESET |
4 | RX+ | IEC /DATA |
5 | RX- | IEC /ATN |
All signals are 3.3V LVTTL and must be properly converted to required levels!
RTC is PCF8583 connected to tape port. To get real time in GEOS, copy CP-CLOCK64-1.3 from supplied disk to GEOS system disk.
C1541 implementation works in raw GCR mode (D64 format is converted to GCR and then back when saved), so some non-standard tracks are supported if G64 file format is used. Support formatting and some copiers using raw track copy. Speed zones aren't supported (yet), but system follows the speed setting, so variable speed within a track should work. Protected disk in most cases won't work yet and still require further tuning of access times to comply with different protections.