README.md updated

This commit is contained in:
Florian Reitz 2017-12-01 14:26:18 +01:00
parent c93b63a92c
commit 85687ed649
6 changed files with 38 additions and 18 deletions

Binary file not shown.

View File

@ -58,7 +58,7 @@
:1003900005D01A18A9000848A9FF9D80C0BD80C0DB :1003900005D01A18A9000848A9FF9D80C0BD80C0DB
:1003A000F0F6BD83C009019D83C068286038A92785 :1003A000F0F6BD83C009019D83C068286038A92785
:1003B00080E438A92B80DF20204170706C655D5B84 :1003B00080E438A92B80DF20204170706C655D5B84
:1003C00053642076302E382028632932303137208C :1003C00053642076312E3020286329323031372093
:1003D000466C6F7269616E20526569747A004000E4 :1003D000466C6F7269616E20526569747A004000E4
:1003E000000000954100000000F948000001AA87C4 :1003E000000000954100000000F948000001AA87C4
:1003F0005000000200FF7700000000656940000027 :1003F0005000000200FF7700000000656940000027

View File

@ -12,6 +12,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="makefile" /> <None Include="makefile" />
<None Include="obj\AppleIISd.lst" />
<None Include="README.md" />
<None Include="src\AppleIISd.cfg" /> <None Include="src\AppleIISd.cfg" />
<None Include="src\AppleIISd.s" /> <None Include="src\AppleIISd.s" />
</ItemGroup> </ItemGroup>

View File

@ -8,6 +8,8 @@
<None Include="src\AppleIISd.s"> <None Include="src\AppleIISd.s">
<Filter>src</Filter> <Filter>src</Filter>
</None> </None>
<None Include="README.md" />
<None Include="obj\AppleIISd.lst" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Filter Include="src"> <Filter Include="src">

View File

@ -1,24 +1,41 @@
# Apple][Sd # AppleIISd
SD card based ProFile replacement for enhanced Apple IIe computers SD card based ProFile replacement for enhanced Apple IIe and IIgs computers
The **Apple][Sd** is a SD card based replaced for the ProFile harddrive. In contrast to other SD card based devices, this card does not replace a Disk II drive. Data is saved directly onto the SD card, not via images on a FAT system, like on other cards. The SD card is accessable with [CiderPress](http://a2ciderpress.com/). The **AppleIISd** is a SD card based replaced for the ProFile harddrive. In contrast to other SD card based devices, this card does not replace a Disk II drive. Data is saved directly onto the SD card, not via images on a FAT system, like on other cards. The SD card is accessable with [CiderPress](http://a2ciderpress.com/).
A Xilinx CPLD is used as a SPI controller and translates, together with the ROM driver, SD card data to/from the Apple IIe. The VHDL source is based on [SPI65/B](http://www.6502.org/users/andre/spi65b) by André Fachat. A Xilinx CPLD is used as a SPI controller and translates, together with the ROM driver, SD card data to/from the Apple IIe. The VHDL source is based on [SPI65/B](http://www.6502.org/users/andre/spi65b) by André Fachat.
The assembler sources were written in Merlin-8. The [schematics](AppleIISd.pdf) are available as PDF. The assembler sources are written for CC65. The [schematics](AppleIISd.pdf) are available as PDF.
## Features ## Features
* works with ProDOS and GS/OS
* up to 64MB storage space (2x 65535 blocks) * up to 64MB storage space (2x 65535 blocks)
* ProDOS driver in ROM * ProDOS driver in ROM
* Auto boot * Auto boot
* Access LED * Access LED
* Card detect and write protect sensing * Card detect and write protect sensing
* Skip boot when Open-Apple key is pressed
## Requirements ## Requirements
The Apple][Sd requires and has been tested on an enhanced IIe computer. The ROM code uses some 65c02 opcodes and will therefore not work on a II, II+ or unenhanced IIe. ProDOS versions 1.1 to 2.4.1 seem to work. The AppleIISd requires an enhanced IIe or IIgs computer. The ROM code uses some 65c02 opcodes and will therefore not work on a II, II+ or unenhanced IIe. It has been tested in the following combinations:
* Apple IIgs Rom 01, GS/OS 6.0.4
* Apple IIgs Rom 01, Prodos 2.4.1
* Apple IIgs Rom 01, Prodos 1.9
* Apple IIe enhanced, 128k, Prodos 2.4.1
* Apple IIe enhanced, 128k, Prodos 1.9
* Apple IIe enhanced, 64k, Prodos 1.9
When a 2732 type ROM is used, the binary image has to be programmed at offset 0x800, because A11 is always high for compatibility with 2716 type ROMs. When a 2732 type ROM is used, the binary image has to be programmed at offset 0x800, because A11 is always high for compatibility with 2716 type ROMs.
## Building the sources
Be sure to have the newest version of CC65 (V2.16) and some kind of Make instaled, then type one of the following comands:
```
make # generate binaries
make OPTIONS=mapfile,listing # generate mapfile and listing, too
make clean # delete binaries
```
Alternatively use the VisualStudio solution.
## Timing ## Timing
The clock of the SPI bus *SCK* may be derived from either *Phi0* or the *7M* clock. Additionally, the divisor may be 2 to 8. The clock of the SPI bus *SCK* may be derived from either *Phi0* or the *7M* clock. Additionally, the divisor may be 2 to 8.
@ -56,12 +73,11 @@ LDA $C0C0
## TODOs ## TODOs
* Much more testing * Much more testing
* SRAM option (may never work, though) * SRAM option (may never work, though)
* Find a use for the IRQ pin * Enable 4 or 6 volumes under GS/OS
* Use 28 pin socket to support other EPROMS than 2716 and 2732 * Use 28 pin socket to support other EPROMS than 2716 and 2732
## Known Bugs ## Known Bugs
* Does not always boot in slot 7 (may be a faulty connector, though) * Does not work with some Z80 cards present
* Does not work, when a Z80 card is present
![Front_Img](Images/Card%20Front.jpg) ![Front_Img](Images/Card%20Front.jpg)

View File

@ -1,7 +1,7 @@
;******************************* ;*******************************
; ;
; Apple][Sd Firmware ; Apple][Sd Firmware
; Version 0.8 ; Version 1.0
; ;
; (c) Florian Reitz, 2017 ; (c) Florian Reitz, 2017
; ;
@ -10,7 +10,7 @@
; ;
;******************************* ;*******************************
;DEBUG := 0 .define DEBUG 0
; Memory defines ; Memory defines
@ -56,7 +56,7 @@ INITED = $80
; find slot nr ; find slot nr
.ifdef DEBUG .if DEBUG
LDA #$04 LDA #$04
STA SLOT STA SLOT
LDA #$C4 LDA #$C4
@ -113,7 +113,7 @@ INITED = $80
; ;
;******************************* ;*******************************
.ifdef DEBUG .if DEBUG
; see if slot has a driver already ; see if slot has a driver already
@ -209,7 +209,7 @@ DRIVER: CLD
LDA CMDHI LDA CMDHI
PHA PHA
.ifdef DEBUG .if DEBUG
LDA #$04 LDA #$04
STA SLOT STA SLOT
LDA #$C4 LDA #$C4
@ -252,7 +252,7 @@ DRIVER: CLD
BEQ @READ BEQ @READ
CMP #2 CMP #2
BEQ @WRITE BEQ @WRITE
.ifdef DEBUG .if DEBUG
CMP #$FF CMP #$FF
BEQ @TEST BEQ @TEST
.endif .endif
@ -266,7 +266,7 @@ DRIVER: CLD
BRA @RESTZP BRA @RESTZP
@WRITE: JSR WRITE @WRITE: JSR WRITE
BRA @RESTZP BRA @RESTZP
.ifdef DEBUG .if DEBUG
@TEST: JSR TEST ; do device test @TEST: JSR TEST ; do device test
BRA @RESTZP BRA @RESTZP
.endif .endif
@ -801,7 +801,7 @@ WRITE: JSR WRPROT
; ;
;******************************* ;*******************************
.ifdef DEBUG .if DEBUG
TEST: LDA SLOT16 TEST: LDA SLOT16
PHA PHA
LDA SLOT LDA SLOT
@ -869,7 +869,7 @@ TEST: LDA SLOT16
.endif .endif
TEXT: .asciiz " Apple][Sd v0.8 (c)2017 Florian Reitz" TEXT: .asciiz " Apple][Sd v1.0 (c)2017 Florian Reitz"
CMD0: .byt $40, $00, $00 CMD0: .byt $40, $00, $00
.byt $00, $00, $95 .byt $00, $00, $95