Hexdos 4.0 disk image
-
- Posts: 312
- Joined: Thu Apr 16, 2015 2:27 pm
- Location: Bronx, NY USA
Hexdos 4.0 disk image
I assembled the source code for Hexdos 4.0 that Dave the Administrator posted at Github, and created a working diskette image, which is attached, along with a description of the process used and the required copyright notice. I wanted to also include a scan I made of the printed manual, but it is too big to fit as an attachment to a post here, so I will have to find another way.
- Attachments
-
- Hexdos.zip
- (12.36 KiB) Downloaded 690 times
Last edited by bxdanny on Sat May 16, 2015 9:30 pm, edited 2 times in total.
-
- Posts: 312
- Joined: Thu Apr 16, 2015 2:27 pm
- Location: Bronx, NY USA
Re: Hexdos 4.0 Manual
I rescanned the manual as monochrome (with just the front cover still grayscale, because it contains gray) and it came out good, but is still too big to post here. So I uploaded it to the public folder on my Dropbox account. You can get it here:
https://dl.dropboxusercontent.com/u/258 ... Manual.pdf
https://dl.dropboxusercontent.com/u/258 ... Manual.pdf
-
- Posts: 216
- Joined: Tue Jul 08, 2014 4:03 pm
- Location: Canada
- Contact:
Re: Hexdos 4.0 disk image
Nice work!
What assembler did you use?
What assembler did you use?
Box stock Superboard II Rev. B
KLyball replica 600D, replica 610 & KLyball Data Separator
OMS SBME and SBME+ memory cards
OMS Digi-Mule expansion bus
KLyball memory card
KLyball replica 600D, replica 610 & KLyball Data Separator
OMS SBME and SBME+ memory cards
OMS Digi-Mule expansion bus
KLyball memory card
-
- Posts: 312
- Joined: Thu Apr 16, 2015 2:27 pm
- Location: Bronx, NY USA
Re: Hexdos 4.0 disk image
Bill:
As described in the text file within the download, it was assembled using the OS-65D assembler, running under WinOSI. Slow, but it worked. The source code intended for use with A65 on the PC doesn't work, because the way the .BYTE directive is used is not compatible with A65 syntax.
--Danny
As described in the text file within the download, it was assembled using the OS-65D assembler, running under WinOSI. Slow, but it worked. The source code intended for use with A65 on the PC doesn't work, because the way the .BYTE directive is used is not compatible with A65 syntax.
--Danny
No current OSI hardware
Former programmer for Dwo Quong Fok Lok Sow and Orion Software Associates
Former owner of C1P MF (original version) and C2-8P DF (502-based)
Former programmer for Dwo Quong Fok Lok Sow and Orion Software Associates
Former owner of C1P MF (original version) and C2-8P DF (502-based)
-
- Posts: 216
- Joined: Tue Jul 08, 2014 4:03 pm
- Location: Canada
- Contact:
Re: Hexdos 4.0 disk image
Hi Danny,
I was working on that before life caught up to me. A few emergencies, vacations and household projects can sure throw a wrench into things like this.
I'm not sure when I'll get back to it, but the result will be put up on Github. I do have a work copy that I got compiled with A65 or the Kowalski 6502 emulator ( but not both ). Those strange byte assignments that were done to accommodate the older assembler like these:
Were changed like this:
I was working on that before life caught up to me. A few emergencies, vacations and household projects can sure throw a wrench into things like this.
I'm not sure when I'll get back to it, but the result will be put up on Github. I do have a work copy that I got compiled with A65 or the Kowalski 6502 emulator ( but not both ). Those strange byte assignments that were done to accommodate the older assembler like these:
Code: Select all
JSR MOVE ; Pick up the Basic cold start code, then modify and run
.WORD $BD15,DBADDR-1
.BYTE $C2 - $16
.BYTE $23 - $16, GETVAL; Low byte
.BYTE $25 - $16
.DBYTE GETVAL ; High byte
*=*-1
.BYTE $3D - $16, USR ; Low byte
.BYTE $3F - $16
.DBYTE USR ; High byte
*=*-1
.BYTE $8C - $16,$0C
; Set up jump back to INTER after running first part of cold start
.BYTE $C2 - $16, $4C
.BYTE $C3 - $16, INTER
.BYTE $C4 - $16
.DBYTE INTER
*=*-1
.BYTE $FF
JSR DBADDR
INTER ; Second half of cold start
JSR MOVE
.WORD $BDC1, DBADDR - 1
.BYTE $139 - $C2
.BYTE $1F5 - $C2, $0C
.BYTE $124 - $C2, PROMPT; Low byte
.BYTE $126 - $C2
.DBYTE PROMPT ; High byte
*=*-1
.BYTE $12F - $C2, WARM ; Low byte
.BYTE $131 - $C2
.DBYTE WARM ; High byte
*=*-1
; Set up jump to warm start entry point after running second half
.BYTE $136 - $C2, $4C
.BYTE $137 - $C2, WARM - 4
.BYTE $138 - $C2
.DBYTE WARM - 4
*=*-1
.BYTE $FF
JSR DBADDR
; Set up Basic's workspace pointers (back up one page)
DEC $7A
DEC $C4
WARM JSR MOVE ; Warm start entry, pointed to by JMP at $0000
; Reset disk controller
.WORD FLOPUP-1,DBADDR-1
.BYTE $4D-$C
.BYTE $11-$C,$8D
.BYTE $4D-$C,$60
.BYTE $FF
LDA #4
STA FLOPIN+1
LDA #$40
STA FLOPIN
JSR DBADDR
; CLEAR DBADDR (File descriptors)
LDX #$300-DBADDR
LDA #$FF
STA DBADDR-1,X
DEX
BNE *-4
STX TRACK
DEX
TXS
; Patch in real-time clock
JSR MOVE
.WORD PZERO-1,$DF
.BYTE $EF-$E0
.BYTE $130-$E0,$4C
.BYTE $131-$E0,SECOND
.BYTE $132-$E0
.DBYTE SECOND
*=*-1
.BYTE $FF
Code: Select all
JSR MOVE ; Pick up the Basic cold start code, then modify and run
.WORD $BD15, DBADDR-1
.BYTE $C2 - $16
.BYTE $23 - $16, <GETVAL ; Low byte
.BYTE $25 - $16, >GETVAL ; High byte
.BYTE $3D - $16, <USR ; Low byte
.BYTE $3F - $16, >USR ; High byte
.BYTE $8C - $16, $0C
; Set up jump back to INTER after running first part of cold start
.BYTE $C2 - $16, $4C
.BYTE $C3 - $16, <INTER
.BYTE $C4 - $16, >INTER
.BYTE $FF
JSR DBADDR
INTER ; Second half of cold start
JSR MOVE
.WORD $BDC1, DBADDR - 1
.BYTE $139 - $C2
.BYTE $f5 - $C2, $0C
.BYTE $124 - $C2, <PROMPT ; Low byte
.BYTE $126 - $Cc, >PROMPT ; High byte
.BYTE $12F - $C2, <WARM ; Low byte
.BYTE $131 - $C2, >WARM ; High byte
WM4 = WARM - 4
; Set up jump to warm start entry point after running second half
.BYTE $136 - $C2, $4C
.BYTE $137 - $C2, <WM4
.BYTE $138 - $C2, >WM4
.BYTE $FF
JSR DBADDR
; Set up Basic's workspace pointers (back up one page)
DEC $7A
DEC $C4
WARM JSR MOVE ; Warm start entry, pointed to by JMP at $0000
; Reset disk controller
.WORD FLOPUP-1,DBADDR-1
.BYTE $4D-$C
.BYTE $11-$C,$8D
.BYTE $4D-$C,$60
.BYTE $FF
LDA #4
STA FLOPIN+1
LDA #$40
STA FLOPIN
JSR DBADDR
; CLEAR DBADDR (File descriptors)
LDX #$300-DBADDR
LDA #$FF
STA DBADDR-1,X
DEX
BNE *-4
STX TRACK
DEX
TXS
; Patch in real-time clock
JSR MOVE
.WORD PZERO-1,$DF
.BYTE $EF-$E0
.BYTE $130-$E0,$4C
.BYTE $131-$E0, <SECOND
.BYTE $132-$E0
.BYTE >SECOND
.BYTE $FF
Box stock Superboard II Rev. B
KLyball replica 600D, replica 610 & KLyball Data Separator
OMS SBME and SBME+ memory cards
OMS Digi-Mule expansion bus
KLyball memory card
KLyball replica 600D, replica 610 & KLyball Data Separator
OMS SBME and SBME+ memory cards
OMS Digi-Mule expansion bus
KLyball memory card