Jump to content
jblenkle

New IDE/Compact Flash interface for ADAM

Recommended Posts

I have done the same mod to power the CF reader from the adam power supply (i modded an atx psu to the adam) and work great, much better than using a separated PSU

  • Like 1

Share this post


Link to post
Share on other sites

I have done the same mod to power the CF reader from the adam power supply (i modded an atx psu to the adam) and work great, much better than using a separated PSU

GREAT, if one has the ability to send the power thru the ADAM power supply, it does save having to deal with the additional mini supply. I include it because a lot of users don't have the ability to solder and rewire or just don't wan tot attempt it, so use the mini power supply I send to them.

Share this post


Link to post
Share on other sites

I thought I'd better post this before something else happens that might destroy it.
It's what I recovered of the IDE boot cart source after my fire... which claimed my ADAM stuff btw.

I used the dumped bytes from the IDE boot EPROM rather than this for the final version because I knew that was less work to finish.
This is the version I was building from the disassembly I made from the boot tape.

I had planned on commenting more of the disassembled code but never got around to it after getting the boot cart working.
The ADAM IDE port doesn't seem to have a simple memory map so I can't guarantee accuracy of any of the comments of the disassembled code.
I hadn't gotten the driver code to assemble at the proper address yet by the look of it so it's far from complete.
It seems to me there was some difference between the disassembled code here and that of the boot EPROM but I don't remember what it was anymore.
If I were to guess I'd say it was part of the initialization of memory due to the difference in boot order or a minor difference in the driver code itself.
I'm just submitting it for reference.

FWIW, there is enough space left in the cart to have an IDE format/config utility.

 

; autoboot Adam IDE
;EOS jump table equates.
; these equates can probably be ignored but I copied them in case I needed them
_EOS_START        EQU   0FC30H
_END_RD_KBD       EQU   0FC4BH
_PR_CH            EQU   0FC66H
_START_RD_KBD     EQU   0FCA8H
_INIT_TAPE_DIR    EQU   0FCBDH
_OPEN_FILE        EQU   0FCC0H
_CLOSE_FILE       EQU   0FCC3H
_RESET_FILE       EQU   0FCC6H
_MAKE_FILE        EQU   0FCC9H
_QUERY_FILE       EQU   0FCCCH
_SET_FILE         EQU   0FCCFH
_READ_FILE        EQU   0FCD2H
_WRITE_FILE       EQU   0FCD5H
_SET_DATE         EQU   0FCD8H
_RENAME_FILE      EQU   0FCDEH
_DELETE_FILE      EQU   0FCE1H
_GOTO_WP          EQU   0FCE7H
_TRIM_FILE        EQU   0FCEDH
_CHECK_FCB        EQU   0FCF0H
_READ_BLOCK       EQU   0FCF3H
_WRITE_BLOCK      EQU   0FCF6H
_CV_A             EQU   0FD0EH      ;a RET in all EOS versions!
PUT_ASCII         EQU   0FD17H
WRITE_VRAM        EQU   0FD1AH
READ_VRAM         EQU   0FD1DH
WRITE_REGISTER    EQU   0FD20H
READ_REGISTER     EQU   0FD23H
FILL_VRAM         EQU   0FD26H
INIT_TABLE        EQU   0FD29H
CALC_OFFSET       EQU   0FD32H
PX_TO_PTRN_POS    EQU   0FD35H
LOAD_ASCII        EQU   0FD38H
POLLER            EQU   0FD3EH

;EOS global data equates.

REV_NUM           EQU   0FD60H      ;EOS revision number
CURRENT_DEV       EQU   0FD6FH      ;current (default) device number
EOS_YEAR          EQU   0FDE0H      ;year byte (2-digit BCD)
EOS_MONTH         EQU   0FDE1H      ;month byte (2-digit BCD)
EOS_DAY           EQU   0FDE2H      ;day byte (2-digit BCD)
FCB_DATA_ADDR     EQU   0FDFFH      ;pointer to start of FCB buffers
SOUNDPORT         EQU   0FC2FH      ;sound port

;EOS error message equates.

NO_FILE_ERR       EQU   5
NO_FCB_ERR        EQU   7
FULL_DIR_ERR      EQU   12
FULL_TAPE_ERR     EQU   13
DELETE_ERR        EQU   16
RANGE_ERR         EQU   17

;*****************************************************************
;* test cart header
;*****************************************************************
	org	8000H	; start of cart memory
	
	DCB	55H,AAH	; test cart ID
	DCB	00,00,00,00,00,00,00,00	; filler, we don't use this
;	org	800AH		; location of cart start address
	DCW	CARTSTART	; cart start address, used to execute cart code
;*****************************************************************

;*****************************************************************
;* the first code executed in the cart	
;* Steps match the post where I listed them on Atariage.
;*****************************************************************
CARTSTART:

; Step 1, copy from cart to OS7/24k intrinsic RAM
	di			; interrupts would be bad durring this process

	; copy code from cart into 24K intrinsic RAM
	ld	hl,LOWRAMCODE			; start
	ld	de,2000H				; destination... start of RAM
	ld	bc,ENDCODE - LOWRAMCODE	; length
	ldir
	jmp	2000H					; call code in 24K intrinsic RAM

; code from here on to be copied	
LOWRAMCODE:
; Step 2, copy from OS7/24K intrinsic RAM bank to high intrinsic RAM bank
	org	2000H		; start of 24K Intrinsic RAM
	
	out	(03H),9H	; Select intrinsic RAM in upper bank and OS7/24K intrinsic RAM in lower bank

	; copy startup code from lower RAM into intrinsic RAM
	ld	hl,HIGHRAMCODE		; start
	ld	de,8000H		; destination
	ld	bc,ENDCODE - RAMCODE	; length
	ldir
	jmp	HIGHRAMCODE			; call high RAM code

BOOTCODE:
;data we want to load goes here

;*****************************************************
;* This disassembly leaves a lot to be desired but I
;* haven't found a source for all the Adam EOS related
;* definitions yet.
;* Some of what the disassembler thinks is code may 
;* actually be data and I won't know until I can step
;* through the code.
;* Not all of the code branches are labled in this version
;* of the code but that will gradually get fixed.
;*****************************************************
	org		????????

	ld      bc,45edh		; point interrupt vector to 45edh
	ld      (VECTOR_66h),bc

	; Interrupts should be disabled before setting the vector,
	; or the vector should be set after copying the interrupt handler code there 
	di      			; disable interrupts.

	
	ld      sp,0fe58h	; setup the stack pointer
				
	ld      de,0c400h	; copy to
	ld      hl,0c819h	; from where we were automatically loaded?
	ld      bc,0400h		; size = 1K
	ldir    

	jp      0c400h		; jump to the new location

	


	
	ld		bc,0700h
	call	0fd20h		; write register

	ld		bc,0000h
	call	0fd20h		; write register

	ld		bc,01c0h
	call	0fd20h		; write register

	ld		hl,0000h
	ld		a,02h
	call	0fd29h		; init table

	ld		hl,0340h
	ld		a,04h
	call	0fd29h		; init table

	ld		hl,0800h
	ld		a,03h
	call	0fd29h		; init table

	ld		a,0f0h
	ld		de,0010h
	ld		hl,0340h
	call	0fd26h		; fill VRAM

	ld		a,20h
	ld		de,0300h
	ld		hl,0000h
	push	hl
	call	0fd26h		; fill VRAM
	call	0fd38h		; WR_SPR_ATTRIBUT
	pop		hl

	push	hl
	ld		bc,0080h
	ld		de,0c00h
	call	0fd17h		; PUT_ASCII

	ld		bc,1f17h
	pop		hl
	ld		de,0100h
	call	0fc36h		; _CONS_INIT

	ld		de,010ch
	ld		a,1ch
	call	0fc39h		; _CONS_OUT

	ld		a,0c3h
	ld		(0f17bh),a
	
	ld		hl,0e433h
	ld		(0f17ch),hl
	ld		(0f1e6h),a

	ld		hl,0e48ah
	ld		(0f1e7h),hl
	ld		(0f325h),a

	ld		hl,0e56bh
	ld		(0f326h),hl
	ld		(0f446h),a

	ld		hl,0e586h
	ld		(0f447h),hl
	ld		(0f473h),a
	
	ld  	hl,0e5adh
	ld		(0f474h),hl
	ld		(0e84ch),a

	ld		hl,0e5d8h
	ld		(0e84dh),hl

	ld		ix,0fd56h
	ld		a,0c9h
	ld		(ix+00h),a
	ld		(ix+03h),a
	ld		(ix+06h),a
	ld		(ix-06h),a

	ld		bc,0024h		; size
	ld		hl,0c532h		; source
	ld		de,0e3abh		; destination
	ldir    

	ld		bc,01feh		; size
	ld		hl,0c556h		; source
	ld		de,0e3e7h		; destination
	ldir

	nop     				; delay?
	nop     
	nop     
	nop     
	nop     
	nop     
	nop     
	nop     
	nop     

	call	0e53eh

; reset IDE drive
	ld		a,02h		; RESET
	out		(5ah),a		; reset the IDE drive
	call	0e53eh


	ld		a,10h		; 1XH - recalibrat
	out		(07h),a		; command status
	call	0e53eh

	xor		a
	ld		(0e3e7h),a
	inc		a
	ld		(0e4f0h),a

	ld		a,18h
	ld		bc,0000h
	ld		de,0000h
	ld		hl,0c800h
	call	0f17bh

	ld		a,(0c809h)
	or		a
	jp		z,0fce7h

	ld		a,(0c806h)
	ld		(0e51bh),a
	out		(02h),a		; sector

	ld		a,(0c807h)
	ld		(0e50ch),a
	ld		hl,(0c803h)
	ld		(0e54ch),hl
	ld		a,l
	out		(04h),a		; lo cylinder
	ld		a,h
	out		(05h),a		; hi cylinder
	ld		a,(0c805h)
	or		0a0h
	out		(06h),a		; head & device

	ld		hl,0c814h	; source
	ld		de,0e3e8h	; destination
	ld		bc,000ah	; size
	ldir

	ld		a,91h		; ??? closest is spin up drive
	out		(07h),a		; command status
	call	0e53eh

	in		a,(07h)
	ld		b,18h		; DRQ SKC
	jp		0c800h


	call	0fba5h

	push	af
	ld		a,(0fd75h)
	cp		99h
	jr		z,l015fh

	cp		98h
	jp		z,0e547h

	pop		af
	jp		0f4e5h

l01f5:
	xor		a
	ld		(0e3e7h),a
	ld		b,a
	ld		c,a
	ld		d,a
	ld		e,a
	ld		a,18h
	ld		hl,0c800h
	jp      0e560h

	nop     
	nop     
	nop     
	nop     
	nop     
	nop     
	nop     
	nop     
	nop     
	nop     
	nop     

	call	2f60h

	ld		a,(41b5h)
	sub		05h
	ld		b,35h
	jr		c,l0191
	
	ld		b,36h
	jr		z,l0191
	
	sub		13h
	ld		b,31h
	jr		c,l0191
	inc		b
l0191:
	ld		a,b
	push	af
	call	2edah
	pop		af
	cp		32h
	jr		nz,l01a3
	ld		a,(0e3e7h)
	add		a,30h
	call	2edah
l01a3:
	ld		a,3eh
	jp		2edah
	call	2e00h
	jr		z,l01b5
	call	2e6dh
	ret		nc

	sub		26h
	ld		l,a
	inc		de
l01b5:
	ld		a,l
	ld		(0e3e7h),a
	scf
	ret     


	push	bc
	push	de
	push	hl
	cp		18h
	jp		nz,0f17eh
	call	0e4ebh
	ld		a,0ah
	ld		(0e454h),a

l01cb:
	call	0e501h
	ld		a,20h		; read sector with retry
	out		(07h),a		; output to IDE command status
	call	0e53eh
	in		a,(07h)		; Check IDE command status
	and		01h			; error bit
	jr		z,l01e8

	ld		a,00h
	dec		a			; FF or -1?
	ld		(0e454h),a
	jr		nz,l01cb

	ld		a,81h
	or		a
	jr		020dh

l01e8:
	pop		hl
	push	hl

	ld		bc,0059h
	dec		c
	in		a,(c)				; IDE I/O high
	ld		(hl),a				; save to memory
	inc		hl
	inc		c
	ini							; read block?     
	jr		nz,01edh
	call	0e53eh

l01fa:
	in		a,(07h)				; IDE status
	and		08h					; SEC
	jr		z,l01fa

l0200:
	dec		c
	in		a,(c)				; IDE I/O high
	ld		(hl),a				; save to memory
	inc		hl					; incrament address pointer
	inc		c
	ini							; read block from IDE I/O low
	jr		nz,l0200

	xor		a
	ld		a,80h
	scf

	pop		hl
	pop		de
	pop		bc

	ret

	push	bc
	push	iy
	cp		18h
	jp		nz,0f1e9h
	push	de
	push	hl
	call	0e4ebh
	ld		a,0ah
	ld		(0e454h),a
	call	0e501h
	ld		a,30h		; write sector with retry
	out		(07h),a		; command status
	call	0e53eh
	in		a,(07h)		; command status
	and		01h			; Error bit
	jr		z,l0242
	ld		a,(0e454h)
	dec		a
	ld		(0e454h),a
	jr		nz,0224h
	ld		a,81h
	or		a
	jr		l026c
l0242:
	pop		hl
	push	hl
	inc		hl

	ld		bc,0058h		; IDE I/O address -1
	inc		c
	ld		a,(hl)
	out		(c),a		; output a byte (IDE data I/O high)
	dec     hl			; increment address pointer
	dec		c
	outi				; output a block (IDE data I/O low)

	inc		hl
	inc		hl
	jr		nz,0248h
	call	0e53eh

	in		a,(07h)		; get IDE status
	and		08h			; SKC
	jr		z,0257h

	inc		c
	ld		a,(hl)		; data to write
	out		(c),a		; IDE data I/O high
	dec		hl
	dec		c
	outi				; IDE data I/O low

	inc		hl
	inc		hl
	jr		nz,025dh

	xor		a
	ld		a,80h
l026c:
	scf     
	pop		hl
	pop		de
	pop		iy
	pop		bc
	ret     

	ld		hl,0e3e7h
	ld		a,(hl)
	cp		01h
	jr		c,027dh
	xor		a
	ld		(hl),a

	inc		hl
	ld		c,a
	ld		b,00h
	add		hl,bc
	ld		h,(hl)
	ld		l,b
	add		hl,de
	ld		(0e506h),hl
	ret     

	call	0e53eh
	xor		a
	ld		hl,0000h
	add     hl,hl
	adc		a,01h
	ld		bc,0044h
	ld		de,0ffffh
	sbc		hl,bc
	inc     de
	jr		nc,0299h
	dec		a
	jr		nz,0299h
	add		hl,bc
	ld		bc,0011h
	xor		a
	dec		a

	sbc		hl,bc
	inc		a
	jr		nc,02a7h

; set sector, cylinder low, cylinder high, sector counter, head and device
	adc		hl,bc
	ld		b,a
	ld		a,l
	out		(03h),a		; start sector
	ld		a,e
	out		(04h),a		; cylinder low
	ld		a,d
	out		(05h),a		; cylinder high
	ld		a,02h
	out		(02h),a		; sector counter
	ld		a,b
	or		0a0h
	out		(06h),a		; head and device select
	ret     

	ld		a,70h		; 
	out		(07h),a		; IDE command status

	in		a,(07h)		; IDE command status
	xor		50h			; ECC ERROR
	and		0d2h			; SKC RDY BSY
	jr		nz,02c6h
	ret     

	pop		af
	push	hl
	push	de
	push	bc
	ld		de,0266h
	ld		b,00h
	call	0e52ah
	call	0e53ah
	xor		a
	ld		(0fd75h),a
	pop		bc
	pop		de
	pop		hl
	jp		0f4edh

	ld		sp,0fe58h
	call	0f17bh
	ld		b,18h
	jp		0c800h
	cp		08h
	ld		de,00a0h
	jr		c,l0304
	ld		de,00ffh
	cp		18h
	jr		nz,l0304
	pop		iy
	ret     

l0304:
	push	bc
	push	de
	push	hl
	jp		0f328h
	nop     
	nop     
	nop     
	nop 
    
	push	bc
	push	de
	ld		c,a
	or		10h
	cp		18h
	ld		a,c
	jp		nz,0f449h
	ld		de,0e59ah
	push	de
	push	bc
	push	de
	jp		0f449h
	push	af
l0323:
	bit		7,(iy+00h)
	jr		z,l0323
	ld		a,(iy+14h)
	and		0fh
	ld		(iy+14h),a
	pop		af
	pop		de
	pop		bc
	ret     

	call	0f446h
	push	af
	cp		07h
	jr		nc,0341h
	pop		af
	jp		0f476h
	ld		(iy+00h),01h
	bit		7,(iy+00h)
	jr		z,0345h
	ld		a,(iy+14h)
	and		0fh
	ld		(iy+14h),a
	pop		af
	cp		18h
	jr		nz,035dh
	ld		a,80h
	ld		(iy+00h),a
	jp		0f482h
	push	hl
	pop		iy
	bit		7,(iy+0ch)
	jp		nz,0e83ch
	jp		0e84fh
	nop     
	nop     
	nop     
	nop     
	nop     
	nop     
	nop     
	nop     
	nop     
	nop     
	nop     

	call	2f60h
	ld		a,(41b5h)
	sub		05h
	ld		b,35h
	jr		c,l038f
	ld		b,36h
	jr		z,l038f

	sub		13h
	ld		b,31h
	jr		c,l038f
	inc		b
l038f:
	ld		a,b
	push	af
	call	2edah
	pop		af
	cp		32h
	jr		nz,03a1h

	ld		a,(0e3e7h)
	add		a,30h
	call	2edah

	ld		a,3eh
	jp		2edah
	call	2e00h
	jr		z,l03b3
	call	2e6dh
	ret		nc

	sub     26h
	ld      l,a
	inc     de
l03b3:
	ld		a,l
	ld		(0e3e7h),a
	scf     
	ret     

	push	bc
	push	de
	push	hl
	cp		18h
	jp		nz,0f17eh
	call	0e4ebh
	ld		a,0ah
	ld		(0e454h),a

	call	0e501h
	ld		a,20h		; read sector with retry
	out		(07h),a		; write IDE command
	call	0e53eh
	in		a,(07h)		; read IDE status
	and		01h			; TK0NF (TraK 0 Not Found... bad drive)
	jr		z,l03e6
	ld		a,00h
	dec		a
	ld		(0e454h),a
	jr		nz,03c9h		;
 
	ld		a,81h
	or		a
	jr		040bh
l03e6:
	pop		hl
	push	hl
	ld		bc,0059h

l03eb:
	dec		c		; c = 59h on entry, IDE I/O address
	in		a,(c)	; read data from IDE
	ld		(hl),a	; store in memory
	inc		hl		; next address
	inc		c		; c = 59h
	ini				; read a block
	jr		nz,l03eb

	call    0e53eh

;read until bit is zero
l03f8:
	in		a,(07h)		; IDE command status
	and     08h			; SKC
	jr		z,l03f8

	
	
	
; what follows in the disassembly is probably past the end of block zero on the tape	
	dec     c

03ff ed

	dcb	'ADAMServe.',03h

040a 2020      jr      nz,042ch
040c 81        add     a,c

040d 55        ld      d,l
040e aa        xor     d
040f 00        nop     
0410 ff        rst     38h


0411 a0        and     b
0412 00        nop     
0413 00        nop     
0414 00        nop     
0415 00        nop     
0416 00        nop     
0417 00        nop     
0418 00        nop     
0419 00        nop
;end of code/data copied?



	dcb	'Boot',03h

041f 2020      jr      nz,0441h
0421 2020      jr      nz,0443h
0423 2020      jr      nz,0445h
0425 2090      jr      nz,03b7h
0427 00        nop     
0428 00        nop     
0429 00        nop     
042a 00        nop     
042b 010001    ld      bc,0100h
042e 00        nop     
042f 00        nop     
0430 04        inc     b
0431 00        nop     
0432 00        nop     
0433 00        nop   

	dcb	'DIRECTORY',03h


043e 2020      jr      nz,0460h
0440 d8        ret     c

0441 010000    ld      bc,0000h
0444 00        nop     
0445 010001    ld      bc,0100h
0448 00        nop     
0449 00        nop     
044a 04        inc     b
044b 00        nop     
044c 00        nop     
044d 00        nop     

	dcb	'BLOCKS LEFT',03h


045a 010200    ld      bc,0002h
045d 00        nop     
045e 00        nop     
045f fd00      nop     

;*****************************************************
;* end of ddt boot code we want to load
;*****************************************************
HIGHRAMCODE:
	;org is at the end of the code we want to boot but we must stay below EOS locations
	; so I'll have to verify the final resting place

	; this is based on the boot code from the Adam doc files

	; init
	; execute from intrinsic RAM between 8000H and 0DFFFH
	out	7FH,0H	; select SmartWriter in lower RAM
	out	3fH,02H	; strobe EOS_ENABLE line
	
	; copy EOS from 6000H to E000H
	ld	hl,6000H		; source
	ld	de,E000H		; destination
	ld	bc,0FEC0H - 0E000H	; # of bytes
	ldir
	
	out	3FH,0	;deselect EOS ROM
	
	; init EOS tables
	ld	bc,CLEAR_RAM_SIZE
	ld	de,CLEAR_RAM_START+1
	ld	hl,CLEAR_RAM_START
	XDR	a
	ld	[hl],a
	ldir
	
	;init I/O ports
	call	PORT_COLLECTION
	
	;init AdamNet
	call	_HARD_INIT
	
	jp		BOOTCODE		; everything is set up so call the ddt boot code
	
	

 

 

  • Like 1

Share this post


Link to post
Share on other sites

GREAT, if one has the ability to send the power thru the ADAM power supply, it does save having to deal with the additional mini supply. I include it because a lot of users don't have the ability to solder and rewire or just don't wan tot attempt it, so use the mini power supply I send to them.

 

 

Having recently modded my ADAM so that I have functional video out, I wanted to install my CF card + memory expansion rig. I first went to test it with the external power supply that was shipped and *POP* ...the internal fuse of the mini power supply blew.

 

Now I have concerns about connecting ADAM's internal power to my expansion cards. I certainly don't want to fry anything! I aim to replace the fuse and re-test before anything else.

 

Has anyone else experienced this?

Share this post


Link to post
Share on other sites

First connect the psu alone and use a multimeter to verify the voltages.

Next fully disassemble the computer an verify there's no direct shorts or maybe a screw or piece of metal that is shortening the psu.

The other thing is maybe the psu don't have the necessary power to supply your computer how much amps it puts on each line.

  • Like 1

Share this post


Link to post
Share on other sites

Thank you for the reply, but I think you misunderstand... Adamcon included an external power supply just to power the dual CF card rig. This is the power supply that I'm referring to. When attempting to power the expansion cards, the power supply blew its fuse.

 

Additionally, I recently took apart the whole machine due to my F18a upgrade. This baby's clean! :cool:

Share this post


Link to post
Share on other sites

The power supply that powers the CF Card Adapter which is supplied by Adamcon ONLY provides power for the CF Card Adapter. In no way should it affect anything with the ADAM and expansion cards that are installed... all that is powered by the Adam power supply that you are using... be it from the Adam Printer or other separate power supply.

 

Try hooking everything up, but without the CF Card mini-power supply and then turn on your system. Everything should work except access to the CF cards. If all is well, then the power supply Adamcon supplied is the only issue... or should be.

  • Like 1

Share this post


Link to post
Share on other sites

Partial good news! Went back to posts #221 through #225, and soldered on the Molex plug to the ADAM mini PCB for input power. Tested and I've got good, strong voltages on the +12v and +5v leads. The CF card adapter LED lights up when connected!

 

Problem: I can't get the IDE Boot software to load through my #1 high-speed data drive. Upon pulling back the Computer Reset switch, the tape begins to load, but ceases after about 10 or 15 seconds, and I get a black screen with an unmovable cursor off to the left center. Buck Rogers loads perfectly. The CF card LED goes out after a minute or so.

 

Has anyone else seen this? What should I be seeing after loading the cassette?

Share this post


Link to post
Share on other sites

Problem: I can't get the IDE Boot software to load through my #1 high-speed data drive. Upon pulling back the Computer Reset switch, the tape begins to load, but ceases after about 10 or 15 seconds, and I get a black screen with an unmovable cursor off to the left center. Buck Rogers loads perfectly. The CF card LED goes out after a minute or so.

 

Okay, scratch that... I reseated everything from the IDE cable to the CF cards to the expansion card itself and it works! What a cool little OS! Wow, just about everything is on there from the glory days (day?) of the ADAM to all its abandonware. Although I am finding that not every partition is booting, I booted TDOS and some of the CopyCart selections.

 

Pretty cool!

Share this post


Link to post
Share on other sites

The data pack provided with the IDE package contains a small 1K boot driver for the IDE system that patches Adam's operating system (called EOS) and then loads the HardDisk menu program that located on CF Card #1 on the first partition... forget now if it partition #0 or #1.

 

Good thing is, you can eliminate having to use this data pack to boot into the IDE CF Card environment with the IDE Boot Driver cart (or the rom file of it placed on your AtariMax Ultimate SD cart) or with the IDE Boot Driver prom chip placed in an open socket on the Parallel Interface that is sold by Adamcon. The cart version takes a couple extra steps via pressing the cartridge reset and loading via the AtariMax menu, but the boot prom version loads immediately upon turning on your Adam. Lots of info in this thread about these alternative boot options.

 

As far as "not every partition is booting", can you be more specific?

 

Make sure to checkout the vastly updated instructions that I posted earlier in this thread... I think last year around this time.

Share this post


Link to post
Share on other sites

The data pack provided with the IDE package contains a small 1K boot driver for the IDE system that patches Adam's operating system (called EOS) and then loads the HardDisk menu program that located on CF Card #1 on the first partition... forget now if it partition #0 or #1.

 

Good thing is, you can eliminate having to use this data pack to boot into the IDE CF Card environment with the IDE Boot Driver cart (or the rom file of it placed on your AtariMax Ultimate SD cart) or with the IDE Boot Driver prom chip placed in an open socket on the Parallel Interface that is sold by Adamcon. The cart version takes a couple extra steps via pressing the cartridge reset and loading via the AtariMax menu, but the boot prom version loads immediately upon turning on your Adam. Lots of info in this thread about these alternative boot options.

 

As far as "not every partition is booting", can you be more specific?

 

Make sure to checkout the vastly updated instructions that I posted earlier in this thread... I think last year around this time.

 

I bought this setup as my xmas present. Now I have the Ultimate Coleco setup. Adam with power supply from Rey and this IDE/Boot Cart setup is the best and last thing you need to buy. The IDE cards have almost every known Coleco/Adam program ever made on it.

  • Like 1

Share this post


Link to post
Share on other sites

As far as "not every partition is booting", can you be more specific?

 

Make sure to checkout the vastly updated instructions that I posted earlier in this thread... I think last year around this time.

 

Hey Jim. I figured it out. I was doing something wrong. I press:

  • [iI] to swap to each CF card which are each IDE hard drives
  • to select which warez I wish to run
  • [iV] to run the software, which takes me to a next menu
  • then I select which warez I want again, and press Return.

I guess I was confused by the last step, where I have to select which software I want to run again. I've been re-reading this whole thread (I loosely followed it as it unfolded), and yes, there is some great stuff in there.

 

I think I was under the impression that I could somehow boot ADAM warez from my AtariMax U/SD, but I've only found one or two DDP or DSK images that work. I guess it doesn't talk directly to the ADAM computer, but only to the CV Delta board.

Share this post


Link to post
Share on other sites

In the first partition of each CF Card, there are a couple of programs that can be executed by just selecting the program name thru the "Boot Software" menu such as SmartBASIC, File Manager, etc.

 

The largest majority of programs require that extra step you mentioned of setting the proper partition number and then using the "Boot Software" menu to select the boot file for the program. IE: to load the CopyCart menu program for loading a rom image, you will need to switch to CF Card #2, then set your active partition to #2, 3 or 4 and then finally choice the CopyCart boot file in the "Boot Software" menu.

 

I know, it's not the most intuitive way to get things done, but on the EOS side, it was actually pretty well thought out by the developers of the HardDisk software. When you boot into T-DOS, switching around the four T-DOS partitions and executing programs is much more familiar to us old pre-Windows, MS-DOS users.

  • Like 1

Share this post


Link to post
Share on other sites

This whole setup is a lot of fun. I've been enjoying playing with my ADAM! I've read through ALL these posts again, and it sure would be nice if we could put our heads together and engineer or clone that 80-column unit. That is cool!

 

My T-DOS software went belly-up. All I'm getting is the cyan colored screen. :? This happened after I changed the default colors in File Manager and saved to disk. I must've overwritten something! Ah, well, I'll tinker with it once I get a CF card reader.

 

So, here's what I'd like to see improved with this whole rig (and I'd be happy to contribute any programming or engineering I have the ability to do):

  • Boot directly into DOS, making it the principle file manager for all disks, partitions, warez, and programs (and also ESC back to DOS)
  • Better visibility/transparency for "what you're looking at" in terms of disk and file location (i.e., a path at the top of the screen)
  • Modernization type improvements in DOS commands that would fall in line with BSD or Windows DOS commands
  • A conversion utility that would allow DDP and DSK images to be run from the hard drive

This is just a whimsical wishlist that I'd love see fleshed out. It makes me really want to bolster my programming skills, because this is a fun old piece of technology, and I enjoy seeing how far the homebrew community can take it!

Share this post


Link to post
Share on other sites

Fortunately it's a simple process to write back the backup CF Image File provided by Adamcon on CD or my files posted here to a CF Card using HddRawCopy as long as you have a CF Card Reader on your PC.... or a printer with a CF Card reader built-in.

 

If you can pickup a couple extra CF Cards to use in place of the originals, that would be a good idea.

 

As far as your reference to DOS, do you mean T-DOS (the vastly improved CP/M OS that is supplied on the CF Card #1?

 

There is a way to boot directly to this alternative Adam OS as people setup there systems to just so BITD, but i'm not sure how it was accomplished and would have to look through the documentation and system install software to see if there is anything mentioned.

 

As far as better visibility, etc. that would be a tough one with the way the Hard Disk software is setup currently due to having to work around the Adam's default OS (called EOS), it's limitations and patching in the Hard Drive driver. I'm sure something better could be devised, but it would take someone with a lot of knowledge of the Adam, the necessary programming skills and lots of free time.

 

On the T-DOS side of things, it is very MS-DOS like seeing as CP/M was the precursor to MS-DOS. Very unlikely to come up with anything similar on the EOS side except when you are in SmartBASIC with it's freedom to easily switch between drive partitions with the CATALOG command.

 

You can use the more recent versions of Adamem that support using CF Card Image Files and place all the software onto them and then write this image file back to an actual CF Card for use on the Adam if you don't want to convert the disk images back to actual Adam 5 1/4 disks. It's the best we have at the time, but a simpler way to do so would be welcomed as you mention. Really the only option I see as a possibility would be if an Adamnet SD Drive was ever made that works similar to Atarimax's Ultimate SD Cart... but uses disk and ddp image files instead of rom files.

  • Like 1

Share this post


Link to post
Share on other sites

Thanks for the always-helpful info Jim!

 

Calling AA member "Else" where are you!? :D

Actually the way that Else setup his Adamnet SD Drive with disk pairs with specific naming that were switchable via toggles/switches on the actual PCB could have proven to be a little complicated to deal with.

 

There are a couple people who have stated their interest in looking at developing an Adam SD Drive... so hopefully one day there will be some good news for all us Adam fans.

Share this post


Link to post
Share on other sites

Hi - all - gotta a stupid question but I seem to have missed the answer. How do I set up ADAMem (1.81 windows) to use a CF/IDE image? I have it booting the software CF/IDE software (black screen with cursor) but I am not sure how to tell the emulator where the image is. This is the configuration I have setup

 

-video 2 -da ide.dsk -idea hd_ide1.img -ideb hd_ide2.img

 

And the images are the original defaults for the CF/IDE that I just used to restore new CF's

 

Milli

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...