GithubHelp home page GithubHelp logo

frozen-signal / apple_iie_mmu_iou Goto Github PK

View Code? Open in Web Editor NEW
13.0 13.0 3.0 7.53 MB

An implementation of the Apple IIe's MMU and IOU custom chips

License: Creative Commons Zero v1.0 Universal

VHDL 99.22% Makefile 0.29% TeX 0.49%
apple2e iou mmu

apple_iie_mmu_iou's People

Contributors

frozen-signal avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

apple_iie_mmu_iou's Issues

The Black Cauldron has some issues

The game The Black Cauldron has some weird artifact.

The 'blank' screen (before the scene is drawn on) has some artifact, but the portions that have been drawn are correct.
Here's what it looks like while the scene is being drawn:
image

On rare occasions, the game will fail to load, hanging on a loading screen. On even more rare occasion, the game will run perfectly.

Possibly linked to #39
Hopefully, not due to DRAM about to fail.

RAMWORKS fails to recognize slow RAM in rows other than first.

With a RAMWORKS 1 and 3, the RAM is not recognized when using this setup:

  • 6502 with unenhanced ROMS
  • Slow RAM (4164) on a row other than the first.

Will work if a:

  • 65C02 with enhanced ROMS is used instead
    or
  • The slow RAM is replaced with faster 100ns DRAMs

Problem with RAM /RAS hold time.

As of writing, this is what is displayed with a real MMU and a IOU programmed with the sources of this repository:
image

Check if there is a bus conflict on RA0-RA7.

Check if RA_ENABLE_N need a hold delay

The DRAM ICs used by the Apple IIe requires a hold delay on /CAS. Fortunately for the Mainboard's RAM access, the column address is valid until the falling edge of Q3, which is more than enough hold delay.
But for the AUX memory, the column address is strobed on the falling edge of Q3. This may cause a problem because, in the current implementation, that's when ORA0-7 becomes invalid.
So, there might be a race condition for the column address strobe on the AUX DRAM.
Maybe add a delay to make ORA0-7 remain valid a short time past the falling edge of Q3 would make it safer?

[IOU] At power-on, POC and RESET_N are not valid.

At power-on, POC remains HIGH and RESET_N goes immediately High-Z.
Expected behaviour is:

  • POC should remain HIGH for ~2.4 ms, then driven LOW.
  • RESET_N should be LOW while POC is HIGH, remain LOW until the video scanner overflows (TC=1), then driven High-Z on the next PHI_1.

Some game cause the Apple IIe to hang

Some games are not working when using a specific setup. Not exactly sure what could be the problem. Possibly another timing issue.
This setup works without problem:

  • 6502 with un-enhanced ROMs
  • 80-Col Expansion card (820-0067-D)
  • Apple 5.25 Drive Controller Card (655-0101-E)

But using instead a 65C02 with enhanced ROMs will cause problems with Doulbe HiRes games. For example, Aliens will hang when switching to the graphic mode.
Seems to be tied to the 80-Col card, but it's possible to re-create the problem without the card present. For example, Aliens normally can run without the 80-Col card. But will still hang without it.

Apple IIe Diagnostic v2.1 also reports problems with the 80-Col card.

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.