Release V1.2.2

This commit is contained in:
Florian Reitz 2021-02-20 13:59:37 +01:00
parent 996f8555de
commit 285c53ae67
14 changed files with 23 additions and 17 deletions

1
.gitignore vendored
View File

@ -29,6 +29,7 @@ obj/
[Rr]elease*/ [Rr]elease*/
_ReSharper*/ _ReSharper*/
[Tt]est[Rr]esult* [Tt]est[Rr]esult*
.vs/
*.opendb *.opendb
**/Debug **/Debug

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

5
Firmware/make_image.bat Normal file
View File

@ -0,0 +1,5 @@
make clean
make OPTIONS=mapfile,listing
java -jar ..\Binary\AppleCommander-ac-1.5.0.jar -d ..\Binary\Flasher.dsk appleiisd.bin
java -jar ..\Binary\AppleCommander-ac-1.5.0.jar -p ..\Binary\Flasher.dsk appleiisd.bin $00 < AppleIISd.bin
copy AppleIISd.bin ..\Binary

View File

@ -4,7 +4,7 @@
; Version 1.2.2 ; Version 1.2.2
; Defines ; Defines
; ;
; (c) Florian Reitz, 2017 - 2020 ; (c) Florian Reitz, 2017 - 2021
; ;
; X register usually contains SLOT16 ; X register usually contains SLOT16
; Y register is used for counting or SLOT ; Y register is used for counting or SLOT

View File

@ -4,7 +4,7 @@
; Version 1.2.2 ; Version 1.2.2
; Main source ; Main source
; ;
; (c) Florian Reitz, 2017 - 2020 ; (c) Florian Reitz, 2017 - 2021
; ;
; X register usually contains SLOT16 ; X register usually contains SLOT16
; Y register is used for counting or SLOT ; Y register is used for counting or SLOT
@ -354,7 +354,7 @@ INIT: STZ CTRL,X ; reset SPI controller
KNOWNRTS: RTS KNOWNRTS: RTS
TEXT: .asciiz " Apple][Sd v1.2.2 (c)2020 Florian Reitz" TEXT: .asciiz " Apple][Sd v1.2.2 (c)2021 Florian Reitz"
.assert(*-TEXT)=40, error, "TEXT must be 40 bytes long" .assert(*-TEXT)=40, error, "TEXT must be 40 bytes long"

View File

@ -4,7 +4,7 @@
; Version 1.2.2 ; Version 1.2.2
; Helper functions ; Helper functions
; ;
; (c) Florian Reitz, 2017 - 2020 ; (c) Florian Reitz, 2017 - 2021
; ;
; X register usually contains SLOT16 ; X register usually contains SLOT16
; Y register is used for counting or SLOT ; Y register is used for counting or SLOT

View File

@ -4,7 +4,7 @@
; Version 1.2.2 ; Version 1.2.2
; ProDOS functions ; ProDOS functions
; ;
; (c) Florian Reitz, 2017 - 2020 ; (c) Florian Reitz, 2017 - 2021
; ;
; X register usually contains SLOT16 ; X register usually contains SLOT16
; Y register is used for counting or SLOT ; Y register is used for counting or SLOT

View File

@ -1,10 +1,10 @@
;******************************* ;*******************************
; ;
; Apple][Sd Firmware ; Apple][Sd Firmware
; Version 1.2 ; Version 1.2.2
; Smartport functions ; Smartport functions
; ;
; (c) Florian Reitz, 2017 - 2018 ; (c) Florian Reitz, 2017 - 2021
; ;
; X register usually contains SLOT16 ; X register usually contains SLOT16
; Y register is used for counting or SLOT ; Y register is used for counting or SLOT

View File

@ -26,15 +26,13 @@ The AppleIISd requires an enhanced IIe or IIgs computer. The ROM code uses some
* Apple IIe enhanced, 128k, Prodos 1.9 * Apple IIe enhanced, 128k, Prodos 1.9
* Apple IIe enhanced, 64k, 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.
## Binary distribution ## Binary distribution
The following files in [Binary/](Binary) have been provided to eliminate the need to compile assembler or VHDL sources. The following files in [Binary/](Binary) have been provided to eliminate the need to compile assembler or VHDL sources.
| File | Purpose | | File | Purpose |
| ---- | ------- | | ---- | ------- |
| AppleIISd_xx44.jed | CPLD bitfiles for PC44 and VQ44 formfactors | | AppleIISd_xx44.jed | CPLD bitfiles for PC44 and VQ44 formfactors |
| AppleIIDs.bin | 2k Firmware binary for EPROM | | AppleIISd.bin | 2k Firmware binary for EPROM |
| AppleIISd.hex | Same as above in INTEL-HEX format | | AppleIISd.hex | Same as above in INTEL-HEX format |
| AppleIISd.bom.txt | BOM for the board | | AppleIISd.bom.txt | BOM for the board |
| AppleIISd.pdf | Schematic and layout | | AppleIISd.pdf | Schematic and layout |
@ -135,10 +133,10 @@ The control registers of the *AppleIISd* are mapped to the usual I/O space at **
## TODOs ## TODOs
* Much more testing * Much more testing
* Enable more than 4 volumes under GS/OS * Enable more than 4 volumes under GS/OS
* Support for 6502 CPUs * Support for 6502 CPUs
* Support for CP/M
## Known Bugs ## Known Bugs
* Does not work with some Z80 cards present
* Programs not startable from partitions 3 and 4 under ProDOS * Programs not startable from partitions 3 and 4 under ProDOS

View File

@ -1,3 +1,5 @@
make clean
make make
java -jar AppleCommander-ac-1.5.0.jar -d flasher.dsk %~n1 java -jar ..\Binary\AppleCommander-ac-1.5.0.jar -d ..\Binary\Flasher.dsk flasher
java -jar AppleCommander-ac-1.5.0.jar -as flasher.dsk %~n1 < %1 java -jar ..\Binary\AppleCommander-ac-1.5.0.jar -as ..\Binary\Flasher.dsk flasher < Flasher.bin
copy Flasher.bin ..\Binary

View File

@ -36,7 +36,7 @@ int main()
boolean erase = FALSE; boolean erase = FALSE;
uint16 fileSize = 0; uint16 fileSize = 0;
APPLE_II_SD_T* pAIISD = (APPLE_II_SD_T*)SLOT_IO_START; APPLE_II_SD_T* pAIISD;
volatile uint8* pSlotRom = SLOT_ROM_START; volatile uint8* pSlotRom = SLOT_ROM_START;
volatile uint8 dummy; volatile uint8 dummy;
@ -71,8 +71,8 @@ int main()
cgetc(); cgetc();
return 1; // failure return 1; // failure
} }
((uint8*)pAIISD) += slotNum << 4; pAIISD = (APPLE_II_SD_T*)(SLOT_IO_START + (slotNum << 4));
pSlotRom += slotNum << 8; pSlotRom += slotNum << 8;
if(erase) if(erase)