* * Unidisk 3.5 Driver * * The target of this project is to use the Unidisk 3.5 drive to perform * specific numerical routines (integers and floating point numbers) * calculation in order to use it as a Apple II co-processor unit. * * Copyright (C) 2015 Riccardo Greco . * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * * @com.wudsn.ide.asm.hardware=APPLE2 XC ** CHKSUM Pointer * PTR equ $08 ** Protocol Converter Call ZPTempL equ $0006 ;Temporary zero page storage ZPTempH equ $0007 ** Zero page storage ** N1 equ $FA ;25 4 Byte FP FA--FD (FP1) N2 equ $EC ;27 4 Byte FP EC--EF (FP2) RSLT equ $7000 ;29 *** Monitor routines *** COut equ $FDED ;Console output ASCII CROut equ $FD8E ;Carriage return ** Command Code ** StatusCmd equ 0 ** Status Code ** StatusUNI equ 5 * ControlCmd equ 4 ** Control Codes ** Run equ 5 SetDWLoad equ 6 DWLoad equ 7 * org $6000 ***************************************************** ************** CHKSUM MAIN Routine ****************** * ;STARTCHK lda #STARTCHK ; sta PTR+1 ; ldy #$00 ; lda #$00 ; pha ;LOOP pla ; eor (PTR),y ; pha ; inc PTR ; bne CHK ; inc PTR+1 ;CHK lda PTR+1 ; cmp #>PROGEND ; bcc LOOP ; lda PTR ; cmp #