Giter Site home page Giter Site logo

c64_mister's Introduction

C64 for MiSTer

Based on FPGA64 by Peter Wendrich with heavy later modifications by different people.

Features

  • 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

Installation

Copy the *.rbf to the root of the SD card. Copy disks/carts to C64 folder.

Usage

Keyboard

  • 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

keyboard-mapping

Using without keyboard

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.

Loadable ROM

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.

Autoload the cartridge

In OSD->Hardware page you can choose Boot Cartridge, so everytime core loaded, this cartridge will be loaded too.

Parallel port for disks.

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!

Turbo modes

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.

RS232

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!

GeoRAM

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.

REU

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 pins

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!

Real-time clock

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.

Raw GCR mode

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.

c64_mister's People

Contributors

asturur avatar bbond007 avatar ch570512 avatar eriks5 avatar gyurco avatar hno avatar lagomorph avatar makigumo avatar mjoergen avatar nanner55 avatar raparici avatar sajattack avatar sorgelig avatar stat-mat avatar sy2002 avatar tomxp411 avatar vpelletier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

c64_mister's Issues

[Feature request] Create blank floppy files

I am working with a software that saves and loads documents from a floppy disk. Is it possible to create a blank floppy file and mount it with the core it self?

Thank you

PAL video issue on Release 20190111

Release 20190111 appears to have introduce a video bug whereby in PAL video standard there is a vertical line to the right of the display in all Scandoubler Fx modes other than HQ2x-320.

This can be seen as a green line in the image linked below:

20190111_183125

Feature request: Reset C64 core when loading a new PRG

With the great work done in the OneLoad64 collection, many of the most popular C64 games are now available as instant-load PRG files.

However, if you have loaded a game in this fashion, and then try to load a different one, it will not work, since you need to reset the C64 first.

It would be great to make it the default behavior that loading a new PRG resets the C64 core first, same as is the case with Cartridges. See how VICE does it as an example.

(If there’s a use case for loading a PRG and not resetting first, this could be an option, but the majority case is likely to be loading a new game for most people)

Graphical Issues (screen flicker) on Specific Games (River Raid) (NTSC)

I noticed this issue on River Raid and Im not sure if its happening on more games.

https://photos.app.goo.gl/f55URWuqFrujb8dM9

Here is the ini configuration (VGA out to a 19in LCD monitor, but the issue happens on another MiSTer with HDMI out)
MiSTer.zip

I have three main folders for games, and the Ultimate folder has 36k files in multiple directories.
image

This works fine on my original C64 through the 1541 U II+

I am not using any alternative boot rom, I've tried multiple kernals, I am also on NTSC.

Here is a still image
image

Ram Expansion?

So... playing with the software C=64's, RAM expansion cartridges make many things (like turbo macro pro) MUCH better. Anyone working on REU carts?

Feature Request: Add Zoom mode back to the core.

I recently noticed that the Zoom mode has been removed, or at least I can no longer find it.

I'm very happy to see 5x vertical crop implemented, but some games can really benefit with the original zoom mode that the core use to offer since it can scale the image much bigger than 5x crop does. I hope someone will reimplement that mode since it does have its own benefits. 5x crop is indeed a nice feature, but it shouldn't be considered a full replacement for the original Zoom mode. Thanks

Feature Request: Loadable Palettes

The C64 only had 16 fixed colors. However, the original machine's colors are outside the RGB space, so there's no true perfect C64 palette. Therefore, it would be cool if the core supported loading custom palettes.

One palette I would like to be able to select or load in would be the so-called "Colodore" palette, which is the corrected and improved version of the old "Pepto-Pal" palette, created by the same person. There is an example here:
https://www.colodore.com/

Sprite priorities (might be fixed already)

I am testing latest release so this might be fixed by the recent sprite priorities commit 0ef415c that hasn’t made it into a release yet...

The problem appears in Hermetic intro, the spaceships and animated people are not correctly overlapping the picture frames:

85AFFEDD-1CB7-4468-99DB-AA09B466F8D5
79B48AA1-688E-4D9E-85A0-8E4B090D70DC

On Vice emulator, the sprites are correctly clipped by the picture frames.

EDIT: I mentioned a problem with Steel Ranger here before, but it seems it is a problem in the game code itself, because it also happens on Vice.

Black screen, other cores work.

So... When I boot the 2020-04-30 RBF, I just get a black screen. I have, however, verified that the PET, C16, and BBC Micro ports work just fine. Any ideas?

Screen off center

This is the only core running unscaled on a CRT that is uncentered in composite mode. It's about 10 pixels too far to the right.

MIDI->TCP UART option gone?

On the previous core version, I could select UART mode MIDI, and change the Connection to TCP. Now it looks like only UDP and Local are available options. Did something change in how we’re meant to set up the UART Hayes modem simulator for TCP?

Pal video mode in 15khz does not fill the whole screen

I tried the Pal video mode in 15khz and the border does not fill the whole screen. The aspect ratio configuratión is in original, maybe the values ​​of HBlank or VBlank is not correct.
It is not caused by the geometry of television, the C64 core in Mist does it correctly and it looks good expanded.
Thanks

No support for .T64 extension

Not really a big issue. I am pretty sure .T64 files are the same as .TAP. Maybe the .T64 extension could also be supported? This would be useful for Gamebase64 files.

Readme update

Concatenating ROM's should read for Windows 10. Not sure of other OS syntax.
Putting /B at the end results in a non binary file
COPY /B BASIC + KERNAL + dos1541 BOOT.ROM is correct

Feature Request: SID chip revision option

There were several revisions of the SID 6581 sound chip which sounded different.

For example, the R4 revision had an echo effect that was more pronounced than on other revisions.
Demo:
Geir Tjelta - Echoes (6581R4)
https://www.youtube.com/watch?v=urMw_xwY24E

It would be cool if all the revisions could be implemented and the user allowed to choose chip revisions. I don't think any emulator does this yet?

Thanks to v3to for telling me about this.

HDMI video issues 20210216

Testing on 20210216
vscale_mode=0
Video Standard :PAL
Aspect Ratio :Original

Vertical Crop : Yes - breaks all Scandoubler Fx (same for ZX Spectrum Core)

Horizontal pixel march / shimmer effect in scrolling games in all modes, well demonstrated in "Batman - The Movie (1989) (Ocean Software)" CRT version (TOSEC). Start game and move batman left and right, watch background bricks.

Appears the horizonal resolution is incorrect when Vertical crop is enabled, the vertical resolution is incorrect when Vertical Crop is disabled. (this also affects the ZX Spectrum core, See play area border on Dizzy2)

Vertical Crop is not disabled starting the core with ini vscale_mode=1 - the core starts in vcropped mode and then corrects itself when any of the options are changed. Incorrect screen pixel dimensions still present.

Zoom aspect ratio has vanished.

Left and right borders are cut

Left and right borders are not fully shown, but become black at the very edges

This is more noticeable on monitors that shows more overscan, like the 1084.

PXL_20210118_131750664

PXL_20210118_131720059

Feature: filenames

THEC64 chooses some of it's options based on the filename.

eg.

your-c64-file_M6TPJ1.d64 (Joystick port 1)
your-c64-file_M6TPJ2.d64 (Joystick port 2)

You can build up various filename options here (including Multi disc) :

http://thec64.tetraware.net/

Just wondered if this would be a nice/simple Mister addition?

Keyboard buffer missing?

While loading from a floppy disk on a C64 you can type e.g. RUN and the command will appear along with the cursor when the floppy drive is done loading. Now you can simply tap Return to run the loaded program.

Isn't that supposed to work on this core too? (it doesn't)

Reset acts like a power cycle and clears memory

RESET will clear memory. That makes it impossible to program assembly. OR modify the memory in a monitor. Can you make it not wipe the memory and act like a soft reset so all assembly will stay in tact. This is how the real c64 works too. Also add to map a button for RESET.

Define Joystick

This option, whilst appearing to work, in that you can define the Up, Down, Left, Right, Fire and Toggle keys, does not actually work inside the C64 / games. However the number pad on my keyboard works fine.

I've tested a number of different key combinations, none with success. Using the July release.

Feature Request: More Accurate Palette / Custom Palettes

The C64 only had 16 fixed colors. There's no true perfect C64 palette, only various approximations. Therefore, I think it would be cool if the core supported loading custom palettes.

One palette I would like to be able to load would be the so-called "Colodore" palette, which is the corrected and improved version of the old "Pepto-Pal" palette, created by the same person. There is an example here:
https://www.colodore.com/

Say it program SAM

Weird issue with the sid chip. I tried the SAM.d64 and the guten tag voice works if you run the first program, but it you run say it where it recites everything you type it blips out a sound and doesn't actually speak the whole line.

Support hardware IEC devices

Considering the MiSTer can implement hardware in the FPGA, how feasible would it be to re-route some pins to external devices? I'm not a fan of verilog but it may be an interesting thing to implement. I assume the CIA chips have to be implemented. What would it take to bring that out as a feature?

Which license is applicable ?

I recently bought the hardware and successfully soldered an SDRAM daughterboard. I'm impressed by the emulation quality and the number of supported systems.

I have been wanting to write in HDL for a while now, and I see the presence of C64 combined with the lack of C128 as a perfect learning opportunity. I started hacking together the 1571 HDL, starting from the 1541 implementation present here.

But then I stumbled on the VIA implementation, which header mention terms of use which are incompatible with the GPL v2 (at least):

--              Please note: A LOT OF REVERSE ENGINEERING has been done to
--              make this module as accurate as it is now. Please do not copy
--              (use in your own projects) without written permission of the
--              author.

The 1571 has a pair of VIA chips, like the 1541, so I would very much prefer to be able to reuse some existing code - but I am not comfortable with such licencing terms.

Could you clarify how is this licence affects C64 development, derivative works, and their distribution ?

Emulamer's Conclusion demo does not work well

Emulamer's Conclusion demo does not work well: the flashing characters after the written "USE 6569" are wrong becouse one must read F A I L U R E and something other (and not other character like "@").

If is not implemented the 6569 than no flashing letters must be printed.

On VirtualC64:
Schermata 2020-04-05 alle 09 55 41

Demo not run

Hi to all!
I'm new in mister, and I'm wonder with this FPGA.

I found many demos that not work in c64 core.
For example: https://csdb.dk/release/?id=163621
The screen go black and do nothing.
This demo is tested on all my real c64 and runs fine.
Any ideas?

P.D. I have mister and cores updated.

Cartridge Freezer Button

Many "freezer" (Action Replay, Super Snapshot, etc.) cartridges have an external button to trigger an action by the cartridge. I think it uses one of the interrupt lines (IRQ or NMI), not really sure. Anyway, couldn't find this in the menu for the C64 core and thought it would be a good addition.

Digitized samples are too soft on 6581 setting.

On a real C64, samples are usually loud and clear played back on a 6581 SID, and really quiet on an 8580. The MiSTer seems to do the opposite: Loud 8580 and quiet 6581. (Not nearly as soft as the real 8580, though. I'm not sure that's desireable.)

Recordings of the real deal:
http://anorien.csc.warwick.ac.uk/mirrors/oakvalley/soasc/hvsc/049/MUSICIANS/T/Tel_Jeroen/Turbo_Outrun_T01.sid_MOS6581R2.mp3

http://anorien.csc.warwick.ac.uk/mirrors/oakvalley/soasc/hvsc/049/MUSICIANS/T/Tel_Jeroen/Turbo_Outrun_T01.sid_CSG8580R5.mp3

PRG file to play back the music on MiSTer:
Turbo_Outrun_SID.zip

This happens with other digi-tunes too.

(I have no way of making recordings of the MiSTer, otherwise I would add them here.)

Remap "Restore" Key

As per - https://misterfpga.org/viewtopic.php?f=12&t=1716

When using the action replay cartridge, the physical reset button maps to the F11 key however when trying to use the "RUN/STOP & RESTORE" key combination in normal C64 mode, it reverts to the Action Replay cartridge.

Not a massive deal breaker but thought I'd open a request and see if a solution is possible to this.
Thanks

D64 not loading over CIFS

Its impossible to load any of .d64 files mounted over CIFS share. Load"*",8(9),1 results in ?FILE NOT FOUND ERROR.

T64 load fine and so do all the other formats. Issue seems exclusively affecting D64 disk images.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.