NOPLoad released

Games, Productivity Tools etc
Posts: 11
Joined: Fri Jun 19, 2015 1:42 am
Location: Canada

NOPLoad released

Post by mrnop » Fri Dec 08, 2017 10:36 pm

NopLoad by Mr. NOP


Please note that the source code was mainly written by me but the
track and sector fast loader routines are 100% written by The Dreams.
I created the code to use their loader and read files from the sectors.

I did not create the V1 fastloader. Credit for that goes
to Doc Bacardi and Ninja of The Dreams

Testing was done by Serdar from Turkey.


Normal 1541 load speed: 409 bytes per second
This loader speed: 2457 bytes per second

So what is this program and why are you releasing it?

This program began as at attempt to create a track load
system. Ever since I was a teenager I was in awe by the
Electronic Art loader system in which there was a single
small file on the disk and no other data. The loader took
over and loaded the sectors until the game began.

I've always wanted to create a loader where there were
no files on the disk except a single loader. I know, I'm
about 20 years too late on that, and I'm using someone
else's loader system.

Source code is included (PAL Assembler format) for all loaders.


File index:

JACK SPIELE LOADER - This loader loads data sequentially beginning at
one track and incrementing until the destination
track is reached. It's taken from the Jack Spiele
game disk featuring Synapse games. While the
loader is fast, the data must be written to the
disk without the two byte T/S link bytes at the beginnning of
each sector. I'm not aware of any program that will write data
in this format.

The custom drive code is from Technoid Software.

To use:
LOAD "CC00",8,1
insert Synapse disk and SYS 52224

Note that Necromancer begins at track 1 and ends when track 6 is reached.
Zeppelin would begin at track 6, and so forth.

Source code:
Line 129 : Final JMP address
Line 459 : Final track to load (track 6)
Line 400 : first track to load (track 1)

As the end of the load is determined by track not end of file pointer, data is loaded in
blocks of 256 bytes. I've included this code because it was the first program I examined
in my efforts to understand how these type of loaders work.


NOPLOAD v1 - The front end for the Dream load system. This program will
load files from your disk drive. Should be compatible with
most drives. Note that due to the file size of the loader
(I didn't realize this until I was finished), the loader
system isn't practical. Why would you load a 26 block
fastloader to load a 150 block program?

This loader will work will files up to 184 blocks in size

Technical details:
- Uses $2000-$2900 for filename storage buffer.
- $2A00 is the table for the file sizes
- Lines: 270-290 are the values as configured with Dreamload. If you were
to recompile Dreamload, then these lines would need changing.
- Lines 3600-3610 issue the final RUN command upon load

- Only one drive allowed on the chain
- Will poll devices upon error (see above)
- Use Kernal load or Dream load
- Page up and down through file names
- Displays only PRG files, discards all others
- IDE compatible

A) Dreamload resides: $0900-$1A37 (File: DREAMLOAD 0900)
B) Front end resides: $C000 (File: FRONTEND C000)

Load "NOPLOAD v1",8 and RUN [sys 49152 to restart]
Nopload V1 is the single file consisting of files A and B above.


1541LOAD - A fast loader front-end for the 1541 drive.

This loader will work with files < 200 blocks in size.

It will use ordinary Kernal Load routine or a 1541 fastload.

This program doesn't use Dreamload however it's smaller size makes
it ideal for *1541 disk users*. Think of it as a smaller version
of the above program but without as much support for other drives
but still using a fast load.

Load and RUN "1541LOAD"

A) Fastloader resides: $0900-$1A37 (File: 01)
B) Front end resides: $C000 (File: 02)


TRACKLOAD V1 - Trackload V1 is my attempt to create an Electronic
Art type of loader. It's a two step process. The first
step is taking a disk and removing the files from the
disk directory. The file data remains behind, so for this
reason you must NOT validate the disk. Validating the disk
will cause the used sectors to be marked as available and
prone to being overwritten.

The second step is to create the loader menu system. This
file is then saved to the disk and becomes the only entry
found on the disk. This would be best used on a disk where
you have a single game, or under 10 large sized independent
games. It's not suited for small programs.

This program uses Dreamload to read the sectors in, and my own code to
accomplish this.
You do not have the required permissions to view the files attached to this post.

Download my C64 software here