Tag Archives: Linux

Commodore 1541 disk drive replacement

I was previously using MMC Replay, 64HDD (PC DOS) or even Emul1541 (Amiga). Problem with free version of 64HDD was that it has limitations, it is DOS application and it is not open source. One problem with MMC Replay has not true 1541 emulation.

I started to look nice single solution for these use cases. Then I luckily checked what is current status of 1541 Ultimate. Gideon was taking orders from 1541 Ultimate-II at the time. I decided to place the order. 1541 Ultimate-II is replacement of Commodore 1541 using FPGA and microSD or USB mass storage. Another option was Chameleon, but its firmware is not open source and it is little bit more expensive than Ultimate-II.

Current 1541 Ultimate-II features:

  • USB storage, microSD, tape emulator with special cable
    • FAT support with long filenames
    • iso9660 with Joliet. For reading iso images
    • d64, g64, prg, t64, tap (with cable)
    • 1541 emulation or DMA load straight to memory
  • Commodore 1750/1764 REU
    • 128k to 16MB
    • nuvies. REU Movies works with 16MB
  • Cartridge emulation
    • EazyFlash. Read only
    • Action Replay
    • Retro Replay
    • Custom 8K/16K carts
    • etc.
  • Real time clock
  • Dual SID
  • SID player
    • Use real or emulated SID:s
  • Open source
    • sources available
    • hardware is not open

I started to wait the order. Finally after one month waiting hardware patch was ready to ship and got mine. Package contained actual device and 4GB Kington. I had bought already SD card, because I did not know that there is 4GB SD card. Anyway it is always good to have spare SD-cards.

I filled SD card with REU Nuvies, SID music, C64anabalt and other my favorite games and software, put it to Ultimate-II. Then realized that I need C64 serial cable to get 1541 emulation work. I found one short enough from my treasure closet. Connected everything and put C64 on. First I was little confused which button I should push to get filesystem menu to screen. Short instructions which came along the cartridge were helpful. It tells which button does what.

I was impressed how well it worked. Changing images (D64) worked nice and smoothly. Writing to D64 works also. Some cartridge images worked which did not work with MMC Replay. SID player worked just fine. It could be better but it works. I haven’t met perfect SID player yet. I tried to load REU movie and head first problem. Realized that problem was that REU was not on by default. I haven’t even seen configuration menu before. I set REU memory size to 16MB. I haven’t have any needs to change settings after that.

I also have C128D, but I realized that I could run in the trouble with internal floppy drive when using Ultimate-II with it. I didn’t want to make any modifications to machine. So my solution was to put the MMC Replay to my C128D and Ultimate-II to C64.

Ultimate-II doesn’t have yet all features I’d like to see like EazyFlash write support. At least it is open source so it is possible to add such things.

I still use x-cables (PC/Linux) and Easy1541 (Amiga) to transfer disks. Sometimes even MMC Replay.

My opinion is that 1541 Ultimate-II is nice piece of hardware.

gcc for TI 68k calculators

I created couple of packages and script to make cross toolchain, gcc and binutils, to TI 68k calculators easier. Script from cvs didn’t work without changes.

What I had to do:

  • get gcc package from calcforge:s source rpm. Any 4.1 gcc from GNU site didn’t work.
  • get and repack tigcclib from calcforge:s source rpm
  • combine two cvs trees to one

See script for details: http://koti.kapsi.fi/jvaltane//gcc-ti/gcc-ti-build.sh

You can probably use source rpm to provide everything, but if you use the script do not forget to export TIGCC environment variable. After installation you also should add ${TIGCC}/bin to PATH.

Test configuration: 64-bit Ubuntu Oneiric, gcc v4.6.1
Tested TI examples: Hello World1 and Catalog

I got a lot of errors while compiling with gcc-4.6. calcforge provides binaries also to 64-bit Fedora so I think tools should behave well in 64-bit environment,

Source rpm: http://repo.calcforge.org/fedora/16/SRPMS/tigcc-0.96b08r1-2.src.rpm

Parallel transfer cable for TI calculator

Long time ago I made simple ski jump game to TI89 calculator. There is English also instructions at the start of the game. DoorsOS is required. At that time I used some IDE tool with Windows98 to create the game.

Couple of days ago I have an idea to check what applications and games people have made to TI calculators. A lot has happened. The current situation of Linux tools looks pretty good and TILP2 looked good application to transfer applications. So I decided to solder my own transfer cable. Previously I have used my friends Serial cable. Now for some reason I decided to build Parallel cable.

Result was quite good. Picture is not. I took that.

Cable also worked pretty well after I found compatible parallel port and settings. First PC didn’t work at all. Second worked after tweaking parallel port type. Cable should also be compatible with many transfer tools.

Pros are:

  • easy to build
  • works with quite many transfer tools

…and Cons:

  • new machines does not have parallel ports anymore
  • does not work with all setups

VBCC Amiga M68k cross compiler

I wanted to compile cross compiler to the Linux which produces Amiga 68k binaries. So I needed 68k assembler. After some searching I decided to test vbcc, vasm and vlink. Long time ago I was using vbcc natively with Amiga and it worked nicely.

There is three different tools vbcc, vasm and vlink. Vbcc is iso C compiler. It supports C89 and subset of the C99. Vasm supports 68k, ppc, x86, 6502, arm, c16x/st10 and ColdFire assembly. Vlink can produce for example AmigaOS (68k/ppc/warpos), MorphOS and Atari MiNT binaries.

Why I want to do this? Amiga throws “guru meditation” too often with my 68k/Amiga assembly skills. It is also a lot easier and faster to use UAE for testing your binaries. Tools like editors, make are also same what I use to other development.

Instructions to compile and set up vbcc, vasm and vlink: vbcc-amiga-cross-compiler-to-linux.txt

Amiga in the USB stick

A couple of weeks ago I wanted to play Napalm with my Amiga, but there was a problem. My mouse didn’t work at all.

I decided to make a bootable USB stick with fullscreen UAE. Server installation of the Ubuntu Karmic was used as root filesystem. I have mini laptop and desktop machine. I wanted to use USB stick with both machines. E-UAE was used, because it is in the karmic repositories and E-UAE supports JIT.

First I tried setup UAE work with DirectFB. No X means more space to the games and applications. Almost everything worked fine with mini laptop. Problems: Amiga side has only one screenmode available. Another was screen refresh rate with desktop machines CRT-monitor. 60Hz makes me feel sick. The main problem was how to setup framebuffer so the same configuration could be used with several setups. This was not good solution.

Second option was to use X11. I used mingetty and bash profile to make system login automatic. GDM and KDM have too many dependencies and XDM does not suppot automatic login. There is no window manager at all. Everything worked great. I was able to select different screenmodes. No more 60Hz nighmare. Tried with USB version of the Competition pro, I recognised some delay when using it.

Where is an emulation used there is always problems. Problem with saving some screenmode with UAE on machine-1. Then try to use stick with machine-2, which does not support saved mode, Result is segmentation fault with the E-UAE. Workaround: Do not save any special screenmode. Amiga has option to use screenmode. Save something like 640×480 mode as default and then change it after every boot.

Napalm worked great. Even Superfrog was fully playable with atom n270 mini laptop. It is almost like using actual Amiga. I was satisfied with the result.

Instructions to create E-UAE USB stick: http://koti.kapsi.fi/~jvaltane/uae/