Jump to content
Sign in to follow this  
alex_79

Magicard - PAL conversion + enhanced version

Recommended Posts

For those who doesn't know, Commavid's Magicard is a cartridge (initially only sold as a bare board without a case) which allowed to write programs in machine code on the 2600. It has 1Kb of RAM, a 2Kb Monitor program in rom which allows to enter programs using two keyboard controllers and, by building an interface described in the manual, to save and load them using a tape recorder. There are subroutines in the rom to easily generate a 40x42 pixel graphic display, or 7 lines of text with 10 characters each. A reduced ascii charset was also stored in rom. The monitor includes a simple disassembler, an hex dump of memory and a function to calculate relative addresses for branch instructions on the fly.

I learned a bit of assembly after joining AtariAge and discovering the homebrew scene. From that I also became interested in the early microcomputers like the KIM-1 or the Cosmac ELF, and got fascinated by Commavid's Magicard which shares a lot of similarities with them. At the time I first discover it, the repros were already out of productions and the original was (and still is) rare and way too expensive for me, so the only way I could try it out was through emulation. I remapped the keyboard controllers in Stella so that they are layed out next to each other and attached little labels on a spare keyboard to make it easy to use. I downloaded and printed the scans of the Manual available here on AtariAge, tried programming it and I LOVED it!

Later I disassembled the code (that wasn't too hard, because the monitor is described in detail in the manual, including ram usage and address and function of every subroutine) and I hacked it to work on a supercharger. The hack was a little buggy but it worked and I could run all of the example programs on the manual (with some screen roll due to the slow access to supercharger RAM).

With the advent of the Harmony cart, I could finally run the original bankswitch scheme on real hardware and I started again working on it. I made a Pal version and a slighty enanched version with a few bugfixes.
Here they are if someone is interested (Although I'm probably the only one... :-D )
------------------------------------------------
PAL conversion:

magicard.asm

Magicard_PAL_conversion.bin

Like the original but with color correction and 50Hz display (without black bars on top and bottom of the image, the display is actually stretched to fill the screen, so the aspect ratio is the same than on NTSC version).
post-10599-0-66087200-1421592500_thumb.pngpost-10599-0-60479400-1421592501_thumb.png

post-10599-0-88951200-1421592502_thumb.pngpost-10599-0-08616200-1421592504_thumb.png

 


Here is a pdf version of the manual and overlays for the keyboard controllers you can print

Magicard_Manual.pdf

Magicard_Overlays.pdf

 

----------------------------------------------------------
Magicard+:

magicard+_WIP_NTSC.bin

magicard+_WIP_PAL.bin

changes:

- Fixed "JSR" addressing mode in disassembler (The original lists it as "absolute Y", instead of "Absolute". There's a note on chapter 4.3 of the manual)
- Different font
- RIOT RAM $A2 to $A9 isn't zeroed anymore upon reset.
- Debounced RESET switch
- The left four digits are now blanked while typing hex codes (The original shows garbage data instead)
- "Unshifted" and "Shifted" mode (see Chapter 4) are now indicated by a different background color
- Using of "Fetch", "Hex dump" and "Disassembly" functions in write area doesn't cause unwanted writes anymore.

post-10599-0-82109900-1421592632_thumb.pngpost-10599-0-71331100-1421592633_thumb.png

post-10599-0-04001600-1421592635_thumb.pngpost-10599-0-23913200-1421592636_thumb.png

I couldn't make the cassette interface to work with any tape recorder, computer soundcard, mp3 player or anything else. I think old tape recorders used stronger audio levels and I'm not able to design a new interface that can work with modern devices. That's the main reason I left it in WIP state. If someone will come up with a functioning interface maybe I'll start working on it again and add some other features I had in mind.


  • Like 5

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...