Giter Club home page Giter Club logo

vic20_mister's Introduction

MiSTer port with enhancements by Sorgelig

Original VIC-20 core by MikeJ (Mike Johnson) and WoS (Wolfgang Scherr)

Features

  • Options for 3 extended RAM regions.
  • Automatic screen centering (many Vic20 games have off-center screen)
  • Support for *.PRG files.
  • Support for *.TAP files
  • Cartridge support with and without header.
  • Disk with write support (*.D64)
  • Partly/fully Loadable system ROM for C1541, Kernal and Basic.
  • Scandoubler with HQ2x and Scanlines
  • PAL/NTSC TV modes
  • Joystick support

Instructions

System ROM can be loaded from SD card. Put boot.rom into VIC20 folder.
Content of boot.rom: C1541(16KB) + PAL kernal(8KB) + NTSC kernal(8KB)
You can load only part of whole ROM, for example only C1541 + PAL kernal (JiffyDOS).

There are 2 ways to reset the VIC20:

  1. lctrl+lalt+ralt - cold reset with cartridge unloading - must be done before loading the new game!
  2. ctrl+f11 - reset the CPU with cartridge autostart at $A000

Commodore VIC-20 has very messy and confusing expansions, so you need to be familiar with this computer to know how to run different cartridges and correct RAM expansion for different games. Multi-part cartriges only add more mess. Some cartridges have loading address in the first 2 bytes, some haven't so you only can guess where to load the cart. Usually loading address is written in the file name.

If the cartridge has one of these exact sizes: 2048, 4096, 8192, 16384 then it has no header.
If the size is 2 bytes more than any of these sizes, then it has a header with a loading address.

You can find many dumps of multipart carts as a single CRT files - in most cases these dumps won't work as these parts usually aren't loaded into connected regions and must be loaded separately.

The core supports following extensions:

  • .CRT - cartridges with header.
  • .CTx - cartridges without header where x is one of 2-9,A,B(CT2-CT9,CTA,CTB) symbols denoting the loading address 2000-9000, A000, B000

You won't find the cartridges with CTx extensions. All the cartridges you will find have a CRT extension regardless if they have the header or not. So you need to rename them accordingly if they are headerless.

The best practice is to only use the carts with a header.

Since many cartridges are multi-part cartridges, there is no autostart procedure. You need to load all parts from OSD and if starting address is $A000(SYS 40960) then simply press CTRL+F11 to start. If starting address is different, then follow the instruction of the cartridge. Usually it's SYS <address> command.

RAM expansions aren't universal. Enabling all expansions won't automatically make the VIC-20 compatible with all games. So you need to find the info about that specific game's RAM requirements if it doesn't run. Or try different options.

Good luck while playing with this Zoo :)

Sorgelig

vic20_mister's People

Contributors

birdybro avatar gyurco avatar nippur72 avatar sorgelig avatar

Stargazers

 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

vic20_mister's Issues

Tape input support doesn't work

VIC20:

  • External tape input support (not tested).

I think the audio-in support does not work yet. Normally (e.g. with the C16 Core), the Core recognises when an audio signal is present ("searching" ...). With the VIC20, after "LOAD" it always says "PRESS PLAY ON TAPE".
I have tried the whole thing with an old boombox with max. volume on headphones out.

With the Spectrum Core I can hear the audio signal. So my input source seems to be ok.

Maybe my tapes are too old or there is a problem with the tape head. 30 years ago I had a lot of problems with tape heads of Commodore VIC-20 datasettes. Maybe this could be an issue too?
What I couldn't check: A validated Tape-Wave/MP3 File.

sound distortion

the VIC20 core apparently has a sound distortion, we discussed that on the Denial forum.

I forked a debug version of the core, I've bypassed the VIC20 digital filters (lowpass and highpass) and the linux audio mixer, so the audio output of the 6561 goes directly into the DAC audio output. With such bypass the audio is no longer distorted.

But but unfortunately I don't know much of the MiSTer architecture yet (I'm coming from MiST), so it's better someone more experienced than me does the fix. I've reported it here so it's easier to locate the issue.

NTSC analog video output is broken

Latest release (20221201) broke NTSC video output through Analog IO board. When set to PAL the core displays as expected, but NTSC video is completely red. Consumer CRT TV connected with a VGA-SCART cable.
VIC20_20221201
Despite the obvious issue, Megacart now loads properly when core is set to NTSC.

Pentagorat loader behaves differently to real hardware and Vice

I was watching this video on YouTube of MiSTer loading Pentagorat on Vic-20:

https://youtu.be/BLFY05MrUTg

Which is great! But the loader works a bit differently on real Vic-20 and even on Vice.

Here is a recording I did on Vice (sorry about the 16x9, weird):

https://youtu.be/W5XAGg9HMCY

Notice how it starts running the countdown and the pentagram animation on Vice but not on MiSTer.

I'm using the same tap and d64 files on all three platforms downloaded from https://misfit.itch.io/pentagorat?download

This doesn't seem to be a tap loading bug as loading the .d64 does the same thing. But curiously, the d64 takes a very, very long time to load but that's another issue I suppose.

Feature Request - Block1 RAM toggle

As it says, it would be useful to be able to toggle block1 $2000 RAM independently of 2/3 to avoid the memory map reconfig for 8K. This is helpful for Scott Adams games, maybe others. I suggest adding to the current cycle.

BLK1 -> BLK1+2 -> BLK1+2+3 -> BLK2+3.

entity m6522

In m6522 the changelog reads:

Revision list
dmb: ier bit 7 should read back as '1'

Regarding the mos6522 datasheet this is not correct:

In addition to setting and clearing IER bits, the processor can read the contents of this register by placing the proper address on the register select and chip select inputs with the R/W line high. Bit 7 will read as a logic 0.

Timing issues.

I've noticed issues with some programs that have tight timings, validated OK in emulation. Reporting constructively.

NTSC games:

  • Bandits
  • Capture the Flag
  • Amok/Super Amok

PAL demos:

  • VVV
  • Robotic Liberation

Robotic Liberation Demo Fails to Run

Hi

Tried the Robotic Liberation demo by pwp. The first file "liberation.prg" loads and runs but then crashes back to the "READY." prompt without running any of the demo. I've tested the D64 on Vice and it works fine there.

I think the demo uses the 1541 in a custom mode as it doesn't work on SD2IEC interfaces either.

Dave

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.