Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I was just thinking that what the NES really needs is the world's slowest disk drive.


I'll defrag that for the younger audience - the commodore 64 had a slow external disc drive and best explained "The 1541 was very slow in loading programs because of a poorly implemented serial bus, a legacy of the Commodore VIC-20" https://en.wikipedia.org/wiki/Commodore_64_peripherals#Flopp...


There's some nice background here: https://www.lemon64.com/forum/viewtopic.php?t=52439

The Ultimate 1541 talk is also great: https://www.youtube.com/watch?v=_1jXExwse08

The 1541 maintained compatibility with the VIC. The VIC had very slow firmware routines to communicate with its 1540 disk drive because a shift register in the 6522 VIA chip didn't work properly.

The C64 had an improved VIA with a working shift register. The 1541 attached to a C64 was going to be much faster than the 1540 and the VIC. A board rework in the 1541, however, removed a trace needed for the high-speed operation, so the 1541 and a C64 ended up being no faster than a 1540 and a VIC (and actually slower because the VIC-II in the C64 needed to take control of the bus periodically introducing jitter in the communications).


Also worth checking out: http://www.quiss.org/freespin/

This is a demo running entirely on the 1541 using a hacked together connector from the drive's serial out to a monitor. Audio is generated using the stepper motor.


wow, now that is some serious hacking and mind-blowing. Probably one of the best abuses of hardware I've seen for a while.


o_O

What's amazing is that it's actually a neat demo with cool music. And the only additional hardware it uses is ONE RESISTOR.


I've been trying to find a reference to the board rework removing the high speed serial capability. I heard about it originally in a video or podcast and I'm going to do some digging to find that. To correct the record, though, the board rework story references the C64 motherboard and not the 1541 board.


I'll defrag that for the younger audience

Does the younger audience even know what "defrag" is?

I don't think I've defragged a drive since the days when you could magically make more RAM and storage appear by running Stacker.


If you think Stacker was cool, check out the details of the compression algo that underlied SoftRAM95 ;) https://devblogs.microsoft.com/oldnewthing/20211111-00/?p=10...


The 1541 was slow also because of the firmware. There was this kit that I bought sometime in the 80s which, if memory serves, consisted of EPROMs and a small board to be swapped into the C64 and the disk drive in place of their original firmware, then a parallel cable to connect the drive to the C64 via the user port. The firmware also added a much more advanced BASIC interpreter and some utilities. Curiously, by using the parallel cable disk operations became dramatically faster than with the original DIN connector as expected, but if I removed the parallel cable say because I needed the user port, it continued to work, clearly not at the same speed, but still a lot faster than when using the original ROM, so there probably was some room for optimization in the original firmware too. Unfortunately I can't remember the name of that kit, it was one of the many "turbo" this or that on the market at that time, and by today standards looked definitely homemade.


There was a cartridge you could buy and shove in the back that made everything load about 5x. I wish I could remember the name of it.

--edit-- ah here it is https://en.wikipedia.org/wiki/Epyx_Fast_Load


I recently bought a C64 and was recommended this modern replacement, it works with the vast majority of games https://www.thefuturewas8bit.com/shop/commodore/eflr.html


Even using the stock serial cable you can make the disk drive much faster (up to 19kB/sec) with software: https://www.c64-wiki.com/wiki/Transwarp


Some of the modern clones of the C64 use JIffyDOS built into the Kernel for faster loading from 1541 drives. The 1541 drive has a 6502 CPU and built in DOS (Commodore DOS not MS-DOS) firmware. It is like getting a whole different computer in the floppy drive which is why it was so expensive.


Yet it was so much faster than the cassette drive!


And both of them are really fast nowadays with the recent fastloaders.

Some 10 kbit/s for tape with https://csdb.dk/release/?id=212586 and either https://csdb.dk/release/?id=189130 or http://www.linusakesson.net/software/spindle/v3.php for 1541 giving you some 6-8 kbyte/s all without extra hardware, just better code.

Crazy but true.


Here’s also an amazingly detailed writeup of one such optimization attempt, GCR on-the-fly decoding:

https://www.linusakesson.net/programming/gcr-decoding/index....


That and one button joystick!

But fortunately for us RR-Net and Nunchuk64 solves both problems.

I load Super Mario Bros. 64 in 1 second over ethernet with codenet from my PC and then I play it with NES Mini I2C controller on C64!


I can't find any stats on the Famicom Disk System, but it was probably not a beast.


Believe me, it was very hard to make a slower disk system than the C64 had with the 1541 even back then, and even compared to older hardware. Others in the thread already elaborated why it came to that: A sequence of accidents led to the bus being bitbanged in a terrible way.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: