Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user informer ! (Registered 2017-02-23) You are not logged in 
CSDb User Forums


Forums > CSDb Entries > Release id #152591 : SD2IEC Kernal 1.0
2017-01-08 01:15
jcompton

Registered: Feb 2006
Posts: 16
Release id #152591 : SD2IEC Kernal 1.0

(Moving the discussion of wedge to a forum post)

If feasible, it would be nice to get the Big Three DOS wedge commands:

@ (command channel)
/ (load ,8)
% (load ,8,1)

The browser is a nice option, but the direct route is handy as well if both can be supported.
2017-01-08 07:40
Tom-Cat

Registered: Apr 2003
Posts: 11
Could the fast loader be adapted so it is used for general loading (also read byte, etc. and not just for the first file in the browser)?
2017-01-08 08:37
Claus_2015

Registered: Oct 2012
Posts: 22
I guess it should be easy to fit the wedge in, especially as the actually needed code for the commands should be available in the browser already. So only the parsing would need to be added.

I am not so sure about the general fast loading. Right now, the fastloader detects an sd2iec device during open and then switches to the fastload protocol by sending special m-w and m-e commands. In order to support general byte getting, one would need to maintain sd2iec flags for each opened file. If two files are opened on an sd2iec device, things would get complicated, because as far as I can oversee you cannot really switch between different files and continue loading in the middle of a file. Seems like for these cases, JiffyDOS is the way to go :-).

BTW just to clarify: the fast loading is not limited to the browser, it accelerates the BASIC load command, too.
2017-01-08 14:41
Claus_2015

Registered: Oct 2012
Posts: 22
Update: I checked back with Ingo Korb (the author of the sd2iec firmware) and he agrees that eload is not able to handle multiple files. The code on the sd2iec expects the transmission to be initialized with secondary address 0, effectively only allowing a single file to be opened at the same time.

So I do not think that I will extend the kernal to accelerate more than normal file loading, as this would require a change to a different loader.
2017-01-08 15:54
TheRyk

Registered: Mar 2009
Posts: 367
reasonably quick fast loader plus easy to handle file browser. quite nice to have!

of course, my old combo "5" (JiffyDos KERNAL on my EF3) "↑FB*" (File Browser) + Return somehow is fixed in my brain (and not much harder than "6" (your KERNAL) "Shift+Run/Stop") but with this new solution it ain't a problem anymore to launch file browser without resetting SD2IEC - no matter whether FB is on currently mounted image or not.

Suggestion: Implement F-Keys for stuff like LOAD, DIR, LIST, RUN
2017-01-08 18:46
Claus_2015

Registered: Oct 2012
Posts: 22
Just for completeness: Enthusi (obviously :-)) suggested to squeeze TurboTape in (which looks feasible). Is there anyone else who thinks that is a good idea? I am a bit in doubt, as an SD2IEC typically blocks the tape port, but it might make sense if people want to use one or the other without changing the kernal. Opinions?
2017-01-08 20:05
enthusi

Registered: May 2004
Posts: 634
Blocking the cassport for a device to transfer data through the IEC port is a bad idea anyway :-)
2017-01-09 16:01
jcompton

Registered: Feb 2006
Posts: 16
It's your project, but my feeling is if the premise is to be "a very useful kernel specifically for SD2IEC users", the fact that the vast majority of SD2IEC users have the tape port blocked means that any leftover space would be better used on optimizing outcomes for SD2IEC-specific use, and/or very general-purpose stuff like F-keys, rather than accounting for the narrower audience of people using external SD2IEC power, or using SD2IEC under emulation.
2017-01-10 16:37
Claus_2015

Registered: Oct 2012
Posts: 22
I originally wrote this kernal to make my life easier when creating/testing cartridges (where you need mass storage, but do not have the module slot free). I meanwhile feel the need for a memory monitor in these cases, so I will investigate if I can fit a simple one in. Holding Run/Stop while resetting would then skip module start and directly enter the monitor.
2017-01-10 17:32
Angel of Death

Registered: Apr 2008
Posts: 164
"fit a simple one in"
And a fast-loader and a file-browser.
Where did you find all that free space?
I made a Kernal once and without serial comm and tape functionality I only managed to squeeze SJ-load for the SD2IEC (no drive-code) and a few F-key commands in.
(anyway you'd publish the source, maybe? ;) )
2017-01-10 20:00
Claus_2015

Registered: Oct 2012
Posts: 22
:-) I decided on eload, because it is a pretty compact fastloader. The browser is the largest part with roughly 1.5 kb. Overall I was able to find 2565 bytes and I really used every available tiny segment (some are only 4 bytes) without wasting a single byte. When it is all done I am happy to share the source, although it is obviously a tad convoluted...
2017-01-10 21:11
enthusi

Registered: May 2004
Posts: 634
I dont recall this but I posted the rs232 areas I used back then:
http://csdb.dk/release/?id=47403&show=notes#notes
2017-01-10 22:26
Claus_2015

Registered: Oct 2012
Posts: 22
Ah, thank you! It seems I was a bit more aggressive in kicking out RS-232 related stuff.
2017-01-11 00:12
Angel of Death

Registered: Apr 2008
Posts: 164
One thing I kept intact that if you try to access device# 1 or 2 you get an "device not present" error message.
Perhaps I lost a lot there.
2017-01-11 05:53
CRT

Registered: Oct 2012
Posts: 85
Flashed it to my EF3 as a kernal and it will be my prime choice for most SD2IEC operations from now on. It's a great kernal!

Humble requests: I would like an auto run feature from the browser so I don't have to type RUN. A simple wedge would not be wrong either. Also, an auto-detect of active device or even just a tool generate a kernal starting with your device number.. I know.. probably just one byte to change (I'm lazy). Or just give me the address and I will make the tool (I'm not that lazy after all). @%@#%.. I can hack it!

Awesome kernal!
2017-01-11 08:35
Claus_2015

Registered: Oct 2012
Posts: 22
Thanks a lot, CRT! The address to patch for the start device number of the browser is $f422 (or byte $1422 in the .rom file). I actually expect this to stay the same no matter what I change in the kernal.

Let's see how much is left when the monitor is in, maybe the auto-run can be added (might be smaller than the wedge or function keys).
2017-01-11 09:47
ilesj

Registered: Jun 2012
Posts: 16
Comment on sd2iec-devices blocking the tape port; yes, this is probably the case with most external SD2IECs, but a lot of people are also installing these inside the machine, and then all the ports are free.

I think DOS Wedge is a good idea despite the file browser. You can make use of the command channel for other things apart from browsing the directories / disk images, too.

Although, if you need the command channel shortcuts only occasionally for, let's say, configuring the sd2iec for example, you can always use the software DOS Wedge that came with 1541 demo disk.

Great idea with this KERNAL, though I haven't tried it yet :)
2017-01-11 20:27
jcompton

Registered: Feb 2006
Posts: 16
Using the command channel to set up a swap list (@XS) is pretty important and a fairly frequent task. (Or does the browser support the XS function?)
2017-01-11 20:44
Claus_2015

Registered: Oct 2012
Posts: 22
Oh, I have never used that (always use autoswap.lst). Hm, I am nearly finished with the monitor and like a quite a bit. Only 41 bytes left now, let's see what can fit into that... :/. A tiny tiny wedge with @ command channel support might be feasible.
2017-01-15 13:53
Claus_2015

Registered: Oct 2012
Posts: 22
Some update: I meanwhile decided against the memory monitor, as this is probably rarely useful and could be loaded from a file for the few occasions where it is needed.

Instead I was able to include a wedge, for now including

@ for printing the error channel
@[command] for sending commands to the drive
@#[num] for selecting the device number

I will try to include selecting swap lists in the browser, too.

Adding load&run is also on my list: do you think this could simply replace the "load ,8" in the browser? Or does anyone feel the need to load programs ,8 and not execute them right away?
2017-01-15 15:56
Impetigo

Registered: Jun 2004
Posts: 8
Quoting Claus_2015
...
Adding load&run is also on my list: do you think this could simply replace the "load ,8" in the browser? Or does anyone feel the need to load programs ,8 and not execute them right away?


Can be optional, like on Action Replays:
F1-load & run
F2-load
2017-01-15 16:11
Claus_2015

Registered: Oct 2012
Posts: 22
At the moment, you can press Return in the browser to load,8,1 or Shift-Return to do load,8. Adding a third option would require a new key unfortunately...
2017-01-15 16:44
TheRyk

Registered: Mar 2009
Posts: 367
Guess WITHIN browser everything's fine, my wish for F-Keys referred to mere KERNAL outside browser
2017-01-15 22:42
Claus_2015

Registered: Oct 2012
Posts: 22
CRT had the request for the auto-run from the browser, and it seems like a nice idea to me. I just added it and it even did not cost a single byte (I still had the load/run string in which proved to be useful now, unbelievable how wasteful I was with memory :-)).

BTW: I did remove the possibility to use the wedge commands in Basic programs and saved some bytes by doing so. It seems utterly wrong to me to rely on a modified kernal or a loaded wedge in a Basic program.

Function keys and .lst file support are next on the list.
2017-01-16 00:54
jcompton

Registered: Feb 2006
Posts: 16
The classic convention for load-and-run is ^ (up-arrow). Is that too costly in terms of bytespace so you can leave / as a standard ,8 load?
2017-01-16 06:10
Claus_2015

Registered: Oct 2012
Posts: 22
I estimate it costs 25 bytes including a respective help text on the screen. Let's see how much the .lst support costs, potentially that does not fit in anyway anymore. In this case arrow-up might be a candidate to use up the final bytes.

BTW: F1=run and F3=list are in now, currently there are 66 bytes left.
2017-01-16 23:25
Claus_2015

Registered: Oct 2012
Posts: 22
Swap lists can now be loaded from the browser, 27 bytes left...
2017-01-21 23:03
TheRyk

Registered: Mar 2009
Posts: 367
important suggestion:
Please try to user Upper Font as Default in Browser
2017-01-22 08:07
Claus_2015

Registered: Oct 2012
Posts: 22
Yeah, I also thought about that. It negatively impacts the display of directory art in disk images, but I guess more often you will list folders that have been created on PCs.

I am currently ironing out the last bugs, hopefully 2.0 is ready soon...
2017-01-23 23:12
Claus_2015

Registered: Oct 2012
Posts: 22
I just uploaded version 2:

http://csdb.dk/release/?id=152995&show=summary#summary

I think I had my share of kernal hacking now. Some requested features made it in, some just did not fit. Only 2 bytes free in the end after lots of squeezing, all the low hanging fruits are exploited and further size reduction needs more work than seems worthwhile to me.

I added the source code, so feel free to mangle to your liking :-).
2017-01-25 20:44
TheRyk

Registered: Mar 2009
Posts: 367
wonderful!

will flash KERNAL and check soonish.

Thx for the update!
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Dymo
Dr.j/Delysid
Menace/Spaceballs
bugjam
pcollins/Excess
Guests online: 42
Top Demos
1 Uncensored  (9.7)
2 The Shores of Reflec..  (9.7)
3 Edge of Disgrace  (9.7)
4 Coma Light 13  (9.6)
5 Lunatico  (9.6)
6 Comaland 100%  (9.6)
7 Incoherent Nightmare  (9.5)
8 Wonderland XII  (9.5)
9 Neon  (9.5)
10 Comaland  (9.5)
Top onefile Demos
1 Globe 2016 [reu]  (9.6)
2 Dawnfall V1.1  (9.5)
3 Daah, Those Acid Pil..  (9.5)
4 Treu Love [reu]  (9.4)
5 Dawnfall  (9.3)
6 Tunnel Vision  (9.3)
7 One-Der  (9.2)
8 Goatbeard  (9.2)
9 Hardware Accelerated..  (9.2)
10 Safe VSP  (9.1)
Top Groups
1 Booze Design  (9.4)
2 Censor Design  (9.4)
3 Oxyron  (9.4)
4 Arsenic  (9.3)
5 Crest  (9.3)
Top Original Suppliers
1 Derbyshire Ram  (9.3)
2 hedning  (9.2)
3 Jazzcat  (9.1)
4 Fungus  (9.0)
5 Irata  (9.0)

Home - Disclaimer
Copyright © No Name 2001-2017
Page generated in: 0.196 sec.