Coder Social home page Coder Social logo

[NES II] Boot from a floppy about nesii HOT 2 CLOSED

JMarlin avatar JMarlin commented on September 2, 2024
[NES II] Boot from a floppy

from nesii.

Comments (2)

JMarlin avatar JMarlin commented on September 2, 2024

Tested writing a modified disk via ADT on the IIgs and reading it back on the NES. Works like a charm.
Updated the code to have a boot jump, haven't tested it yet. Here we goooooo

from nesii.

JMarlin avatar JMarlin commented on September 2, 2024

Haven't updated in about a week because AiO inc got me chucked off on another sidequest for the last couple of days.
I reconfigured the hardware slightly so that now we have the following mapping modes:

Mode 0

0x8000-0xBFFF --> SRAM 0x0000-0x3FFF
0xC000-0xCFFF --> Slot select area
0xD000-0xDFFF --> Write here to change mode
0xE000-0xFFFF --> ROM 0x6000-0x7FFF
Cart mirroring: H

Mode 1

0x8000-0xFFFF --> SRAM 0x0000-0x7FFF
Cart mirroring: H

Mode 2

0x8000-0xBFFF --> SRAM 0x4000-0x7FFF
0xC000-0xCFFF --> Slot select area
0xD000-0xDFFF --> Write here to change mode
0xE000-0xFFFF --> ROM 0x6000-0x7FFF
Cart mirroring: H

Mode 3

0x8000-0xFFFF --> SRAM 0x0000-0x7FFF
Cart mirroring: V

With this hardware configuration I was then able to write a script that accepts an iNES-format ROM and, if it's compatible (no more than 32K PRG and 8K CHR), convert it into a self-booting .DSK image that copies the low 16K of PRG from the disk to the first SRAM bank, swaps the SRAM bank, copies the next 16K of PRG to it, then copies the 8K of CHR to the CHR-RAM and finally switches the cart mode to 1 or 3 depending on the required mirroring and jumps indirect to the reset vector in PRG RAM.

So, yeah. It can boot basic NES games off floppy now.
I guess that means I can close out this issue and open one up for implementing NOS (NES [disk] Operating System).

from nesii.

Related Issues (20)

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.