As well, I tried to submit the patch for inclusion, but Ingo would like an email from Hydophilic for legal reasons.
Jim
Jim
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts MenuQuote from: Hydrophilic on March 02, 2011, 02:44 AMDid you make your changes against the newest source in Ingo's GIT repo?
I LOVE IT!!!! It's not perfect, but if you don't like it, byte me!
Quote from: abraXxl on February 28, 2011, 07:07 PMI limited my comments to something almost everyone can do. Yes, if you replace the uC, all things are possible, but doing so implies the user has a programmer and potentially can solder (some of the MMC2IEC variants are surface mount.
If you replace the AtMega644 with the pin compatible Atmega1284 in the LarsP/MMC2IEC this not true anymore. It has 128kb flash memory, too.
QuoteSince we're clarifying, it is not completely true the version must be newer. Versions of 0.0.0.0 will overwrite anything in the flash, assuming the CRC is different than the image already on FLASH. This is how we create development images. The Makefile will take care of this for you if you simply uncomment the line adding "PRE" to the version string.
The bootloader scans for files in rootfs with a specific size. For LarsP/MMC2IEC/Atmega644 the size is 61440 bytes and for uIEC/1281 and Larsp/1284 it is 126976 bytes. To ensure that the devices stays functional a specific hardware id is also encoded in the flash file, the version is also compared. The new to be flashed firmware version must be newer than the old.
QuoteI'm leery of providing that much flexibility. I'd rather use the "boot.img" naming in the code, looking for it in the dirs as you indicate, and then see who finds that approach too inflexible.
I like the way the XR: command works for rom images. So here my idea. The command XC: is free (e_X_tended commands _C_128 bootsector). XC:filename. If sd2iec firmware is in native filesystem mode and track,sector 1,0 is requested the first 256 byte block of the file is sent. The file is firstly searched in current directory and then in the root filesystem. This way you could also implement longer sector chains to be read as bootsector. Just send the following 256 byte block of the file are send.
:wq
Quote from: Hydrophilic on February 03, 2011, 04:47 AMEgad, kinda scary. I'd recommend using "Windows Enabler" and then you can use the grayed out features in Windows NT.
Using a sector editor, I modified the MBR to have a second partion. I also modified the boot record of the first partion to be smaller and added a second boot record for the remainder of the memory card.
QuoteWindows NT-7 does not allow multiple partitions on removable cards. In fact, the MBR stuff was added to the sd2iec codebase because uIEC supports HDDs (uIEC/IDE), which can have multiple partitions. It will support up to 15.
Okay, so maybe Win2K drivers are out-of-date (it is 2011 by now), so lets give WinXP a try... Long story short: WinXP does the same crap... I don't have (an intend NEVER to have) WinVISTA. Still debating Win7...
QuoteAs the author of the $=P code, I'm glad you found it useful. It took some time to make it work correctly.
Good news! Both partitions show up with $=P, I can change to either partition with CP, and the files I copied (using Win ME), all show up.
Quote from: abraXxl on February 23, 2011, 09:34 AM
Well, nice to see some progress here
Are the patches avaiable for public testing and does Unseen Pull them into his git-Repository? Are in contact with him, so that patches don't get lost.
What is the AVR pin you used for SRQ.
I have 3 of these PCBs - called LarsP layout with Atmega 644/1284 running SD2IEC Firmware. I would happily test and adopt this to LarsP layout.
Quote from: Hydrophilic on February 23, 2011, 05:53 AMCorrect, though if you want to have it report BLOCKs, you can modify the code in fatops.c:fat_freeblocks(). return clusters should be switched to return freeblocks * 512/ 254 to be perfect, or freeblocks * 2 to be close enough. if you do change it, ensure you change the if statement so the maximum value returned is 65535.
Now there are several devices that use the SD2IEC firmware, but I only have a uIEC to test with. (I recommend it by the way.) When you issue a Directory command, the funny thing about the device is that it lists the file size in terms of FAT clusters... definately not the same (often MUCH larger) than a standard CBM "block"...
Quote from: Hydrophilic on February 03, 2011, 05:58 AMI only have a uIEC/SD to test this with, but as I understand the same firmware is used with MMC2IEC... also my main reason for this effort is for much improved Media Player performance, but it should benefit the C128 community in general... in particular CP/M should be possible at "fast" 1571/81 speeds instead of the pathetic 1541 speeds...
QuoteWell, I wouldn't call that bizarre. Win98 hasn't been supported by mainline toolchains for some time. I am surprised WinAVR supports it still.
Really bizarre if you ask me! I see no reason why I can't compile source code with DOS (or CP/M if I wanted to do so)... well if the vendor sucks, go to the open-source community! WinAVR was my next option and it runs fine on both Win 9X and Win NT.... (see notes below)
QuoteHmm, I'll consider adding it to the files...
Another important thing is that neither WinAVR nor the uIEC source code includes "CRCGEN-NEW" binary. This is critical for updating the firmware of the uIEC (maybe MMC2IEC also). It appends a CRC checksum to the binary so the firmware will accept and update the EEPROM. I found a copy here, but haven't tested it yet. (The last link seems to be the official SD2IEC "site")
QuoteIt does that because, it can't depend on your copy being new enough, and it can't depend on it already being installed.
Also strange about WinAVR is it seems to (re)install a complete POSIX-style build environment. I have been using Cygwin and MySys for several years now to build Unix / Linux style binaries for Windows, so don't really see why I'd need to install another copy of cygwin.dll and all the other binaries...
QuoteIt is impossible to brick the uIEC by loading new firmware via the SD card :-) Hack away!
Anyway, I just thought toss out my experiences thus far and ask for any/all opinions regarding firmware builds for uIEC / MMC before I brick my own hardware... thanks!
Quote from: DotBoy on January 10, 2011, 02:05 PMQuote from: brain on January 08, 2011, 01:31 PM
C128 mode is jsut for the EPROM, not for the NIC itself.
Jim, could you expand on that a little bit? Like the op I've been flipping the switch to then 128 setting when using the Contiki 128 web browser, for example. Are you saying that isn't necessary?
I'm probably missing something obvious and I'm sorry for being thick, but I don't really understand what you mean by that.
Quote from: MIRKOSOFT on May 10, 2010, 02:14 AM
Thank you very much, but else one Q is here - if I understand correctly:
For C128DCR I need ROM only for computer (don't want JD for C1571-built-in).I have else one computer C128 standard, so:
Need I only two C128 ROMs?
And one JD ROM for C1581? (this I'm using with standard C128)
Will be sure that JiffyDOS will work in C128 and also C64 mode?
Thank you very much for helping me.
Miro
Quote from: cbmguy on February 14, 2010, 08:26 AMThe unit is 128mode compatible, but I am not aware of any C128 SW for the CS8900A IC in the unit. Th ROM socket is also C128 128 mode compatible (the ROM will show up in both external ROM locations), but there is no SW to take advantage of it as yet
Hi,
I've been looking all over the place for info about this and I keep getting the same exact spec's -- cut and paste.... While the unit says it 64 and 128 compatible, I have no idea what that means; 128 mode compatible? Is there any users out there that might know this? Is it compatible with the 128 as in c64 mode?
Thanks,
C
Quote from: Hydrophilic on January 06, 2010, 02:51 PMAs the licensee, I appreciate that :-)
Putting this in a ROM image is very gray indeed. For one thing the author of JiffyDOS did a fine job and I don't want to be robbing him (or those licensed to sell JiffyDOS) of anything.
QuoteThen, I think you are good to go, then. However, I think the VIC port and the 64 port need to be rewritten to use your code, since I understand the original 64 routines were just lifted from JD. I know you're not planning to do it, but I hope someone reads this and takes care of this issue.
However the software is original, not copied. What I did was use VICE to see what JiffyDOS was doing, and how many cycles were used, etc. and made a ton of notes. Then I wrote the source by referencing both the C128 KERNAL code and my notes. In particular, reconstructing the 16 byte table used to trasmit bytes based only on my notes was a bit tricky...
QuoteIs the error check not done in the original JD as well? If so, could I trouble you to explain it to me? I am looking for ways to improve the product (fixing bugs, mainly) and this would help.
I also recently noticed that single byte transmission (or was it reception) is not checking for device time out. Since neither the VICE emulated JiffyDOS device nor my uIEC ever had time-out errors, I didn't realise this until I decided to compare my code with JLOAD (64). The fix would require 4 bytes as I recall and should still fit in the segmented memory configuration I came up with. By the way, I had to do some crunching to get it to fit in the first place, which should be appearant if you read the source.
Quote from: Hydrophilic on December 19, 2009, 09:16 AM
As I understand it, you can get JiffyDOS from Jim Brain's storefront. However looking at the site, it seems these are just images of the firmware, not actual (EP)ROMs that you can plug into your C128.
Quote from: SmallCleverDinosaur on February 09, 2009, 05:29 AMSD2IEC will not do burstmode, as it uses the same firmware.
Robert, do you know if Jim works together with NKC Electronics since they use the same firmware?
I mailed Tony and he told me that the SD2IEC will work in native C128 mode. Though he didn't say if it would support burstmode or not.