; READ SNAPSHOT FROM MS-DOS 720KB DISKS ON SPECTRUM +3
; DRIVE B: *MUST* BE A 3.5" DRIVE
; MAIN PART THE *LOADER*
;       THIS PART MOVE THE 3 PARTS TO THEIR LOCATIONS
;       PART1  -->#4000 (SCREEN) MAIN LOADER
;       PART2+3-->#4800 PART2 ANOTHER CODE MOVER
;                   AND PART3 STARTS STARTS THE SNAPSHOT
;
; PART2+3 ARE MOVED TO #4800 JUST TO PREVENT THEY WILL BE DELETED BY THE
; CALL TO DD INIT IN PART1, PART1 WILL MOVE THEM TO RAM PAGE 01
;
; LENGTH OF THE THREE PARTS IMPORTANT!!!
; THESE VALUES CAN BE FOUND BY ASSEMBLE THE PARTS WITH THE COMMAND
;       A17
; THEN THE LABEL 'LEN' WILL TELL THE VALUE
; NOTE! THE VALUE FOR PART3 IS NEEDED IN PART2 ALSO.
;
; THANKS TO RICHARD SWANN FOR THE +D VERSION
; +3DOS VERSION BY THOMAS KJAER
; EMAIL TAKJAER@DAIMI.AAU.DK
;
PART1	EQU	#026B
PART2	EQU	#004C
PART3	EQU	#0017
; FOR MEMORY PAGEING
BANKM	EQU	#5B5C
PORTM	EQU	#7FFD
;
; MAIN, MOVES THE 3 PARTS TO THEIR PLACES AND RUN IT ALL
	ORG	32768
MAIN	DI
	LD	HL,END	
	LD	DE,#4000
	LD	BC,PART1
	LDIR	; MOVES PART1 TO SCREEN
	LD	DE,#4800
	LD	BC,PART2+PART3
	LDIR	; MOVES PART 2+3 TO #4800, JUST TEMPORARY
	JP	#4000	; START THE CODE
END
LEN	EQU	END-MAIN

