Apple II Custom Bootloader

6 posts / 0 new
Last post
Offline
Last seen: 1 week 1 day ago
Joined: Nov 19 2023 - 15:28
Posts: 308
Apple II Custom Bootloader

Hello All,

to continue the series around the smartloader for the smartdiskII, 

Currently, I am leveraging Prodos 8 to start my compiled code. 

I guess i do not need to have the full version of prodos and my objective is to gain loading time. 

What I have in mind, is to have a custom version of DOS with only RWTS and my program to use basic RWTS routines.

Where do I need to write my program in the disk to only have RWTS and then jump to the start of my program ?

I guess I will need to use ciderpress or something like that (for the moment I use Cadius with Prodos system file)

Using diversi-dos or david-dos ? what do you think ?

Sorry if the above seems abvious...

Vincent

Offline
Last seen: 1 week 1 day ago
Joined: Nov 19 2023 - 15:28
Posts: 308
Reading the literature on

Reading the literature on DOS

I would need a custom bootloader with fast (& documented) RWTS functions (or even better read / write block) and jump start,

my program is 6 sector length... 

this should already exists somewhere ? 

Vincent

Offline
Last seen: 1 week 2 days ago
Joined: Jul 5 2018 - 09:44
Posts: 3052
VIBR wrote:Reading the
VIBR wrote:

Reading the literature on DOS

I would need a custom bootloader with fast (& documented) RWTS functions (or even better read / write block) and jump start,

my program is 6 sector length... 

this should already exists somewhere ? 

Vincent

The boot ROM loads Track 0 Sector 0 and that for example on an Apple DOS 3.3 disk contains a minimal boot loader to read the rest of DOS into memory and then that runs the "HELLO" program.  You should be able to find a disassembly of DOS 3.3, specifically the Track 0 Sector 0 code and modify it to load 6 sectors of your program code and jump to it.  You should be able to fit everything onto Track 0.  That would be a very fast, almost instantaneous load.

Offline
Last seen: 1 week 2 days ago
Joined: Jul 5 2018 - 09:44
Posts: 3052
A couple good references to

A couple good references to check out are the Apple DOS 3.3 manual and the book "Beneath Apple DOS" by Don Worth & Peter Lechner of Quality Software.  You can find both of those in PDF here:

 

https://commodore.bombjack.org/apple/apple-manuals/Apple_II_The_DOS_Manual.pdf

https://commodore.bombjack.org/apple/apple-books.htm

 

 

Offline
Last seen: 1 week 1 day ago
Joined: Nov 19 2023 - 15:28
Posts: 308
Thanks Software Janitor, I

Thanks Software Janitor, 

I have started this path, and as a first step, I was able to compile and put on track 0 sector 0 a small code to display something on the screen, 

I have download the DOS3.3 source code, and my  assembler is giving me hard time with errors (Merlin32), I will try to move to cc65 or something like this.

Reading the code, it takes aprox 8 sectors to have the bootloader and RWTS, so it means my code needs to stay on 8 remaining sectors so 2k... 

I have written a python script to write directly to right offset on a dsk file. 

I will continue my journey

Thanks for your answer

Vincent

  

Offline
Last seen: 1 week 2 days ago
Joined: Jul 5 2018 - 09:44
Posts: 3052
VIBR wrote:Thanks Software
VIBR wrote:

Thanks Software Janitor, 

I have started this path, and as a first step, I was able to compile and put on track 0 sector 0 a small code to display something on the screen, 

I have download the DOS3.3 source code, and my  assembler is giving me hard time with errors (Merlin32), I will try to move to cc65 or something like this.

Reading the code, it takes aprox 8

 

It would take a little more work but if you can't pack your code to fit in 8 sectors then it should be possible for you to advance the head to Track 1 and read more sectors.

 

Log in or register to post comments