diff --git a/various_flashers/034flasher_action_36_orig/flashwrite.xex b/various_flashers/034M_Action36ACS_orig/ACTION36flashwrite.xex
similarity index 94%
rename from various_flashers/034flasher_action_36_orig/flashwrite.xex
rename to various_flashers/034M_Action36ACS_orig/ACTION36flashwrite.xex
index f821d5f..d7d75a6 100644
Binary files a/various_flashers/034flasher_action_36_orig/flashwrite.xex and b/various_flashers/034M_Action36ACS_orig/ACTION36flashwrite.xex differ
diff --git a/various_flashers/034flasher_action_36_orig/action.bin b/various_flashers/034M_Action36ACS_orig/action.bin
similarity index 100%
rename from various_flashers/034flasher_action_36_orig/action.bin
rename to various_flashers/034M_Action36ACS_orig/action.bin
diff --git a/various_flashers/034flasher_action_36_orig/action_128.rom b/various_flashers/034M_Action36ACS_orig/action_128.rom
similarity index 100%
rename from various_flashers/034flasher_action_36_orig/action_128.rom
rename to various_flashers/034M_Action36ACS_orig/action_128.rom
diff --git a/various_flashers/034flasher_action_36_orig/flashwrite.asx b/various_flashers/034M_Action36ACS_orig/flashwrite.asx
similarity index 100%
rename from various_flashers/034flasher_action_36_orig/flashwrite.asx
rename to various_flashers/034M_Action36ACS_orig/flashwrite.asx
diff --git a/various_flashers/034M_Action36ACS_orig/makeflashwrite.sh b/various_flashers/034M_Action36ACS_orig/makeflashwrite.sh
new file mode 100755
index 0000000..db4f41e
--- /dev/null
+++ b/various_flashers/034M_Action36ACS_orig/makeflashwrite.sh
@@ -0,0 +1,2 @@
+mads flashwrite.asx -o:ACTION36flashwrite.xex
+
diff --git a/various_flashers/034flasher_action_36_orig/makerom.sh b/various_flashers/034M_Action36ACS_orig/makerom.sh
similarity index 100%
rename from various_flashers/034flasher_action_36_orig/makerom.sh
rename to various_flashers/034M_Action36ACS_orig/makerom.sh
diff --git a/various_flashers/034flasher_action_36_orig/readme b/various_flashers/034M_Action36ACS_orig/readme
similarity index 100%
rename from various_flashers/034flasher_action_36_orig/readme
rename to various_flashers/034M_Action36ACS_orig/readme
diff --git a/various_flashers/034flasher_mac65/flashwrite.xex b/various_flashers/034M_Mac65_DDT/MAC65DDTflashwrite.xex
similarity index 94%
rename from various_flashers/034flasher_mac65/flashwrite.xex
rename to various_flashers/034M_Mac65_DDT/MAC65DDTflashwrite.xex
index 0a5ba94..bb5f207 100644
Binary files a/various_flashers/034flasher_mac65/flashwrite.xex and b/various_flashers/034M_Mac65_DDT/MAC65DDTflashwrite.xex differ
diff --git a/various_flashers/034flasher_mac65/flashwrite.asx b/various_flashers/034M_Mac65_DDT/flashwrite.asx
similarity index 100%
rename from various_flashers/034flasher_mac65/flashwrite.asx
rename to various_flashers/034M_Mac65_DDT/flashwrite.asx
diff --git a/various_flashers/034flasher_mac65/mac65.bin b/various_flashers/034M_Mac65_DDT/mac65.bin
similarity index 100%
rename from various_flashers/034flasher_mac65/mac65.bin
rename to various_flashers/034M_Mac65_DDT/mac65.bin
diff --git a/various_flashers/034flasher_mac65/mac65_128.rom b/various_flashers/034M_Mac65_DDT/mac65_128.rom
similarity index 100%
rename from various_flashers/034flasher_mac65/mac65_128.rom
rename to various_flashers/034M_Mac65_DDT/mac65_128.rom
diff --git a/various_flashers/034M_Mac65_DDT/makeflashwrite.sh b/various_flashers/034M_Mac65_DDT/makeflashwrite.sh
new file mode 100755
index 0000000..f2942ff
--- /dev/null
+++ b/various_flashers/034M_Mac65_DDT/makeflashwrite.sh
@@ -0,0 +1,2 @@
+mads flashwrite.asx -o:MAC65DDTflashwrite.xex
+
diff --git a/various_flashers/034flasher_mac65/makerom.sh b/various_flashers/034M_Mac65_DDT/makerom.sh
similarity index 100%
rename from various_flashers/034flasher_mac65/makerom.sh
rename to various_flashers/034M_Mac65_DDT/makerom.sh
diff --git a/various_flashers/034flasher_mac65/readme b/various_flashers/034M_Mac65_DDT/readme
similarity index 100%
rename from various_flashers/034flasher_mac65/readme
rename to various_flashers/034M_Mac65_DDT/readme
diff --git a/various_flashers/034flasher_action_36_orig/makeflashwrite.sh b/various_flashers/034flasher_action_36_orig/makeflashwrite.sh
deleted file mode 100755
index 1854ca7..0000000
--- a/various_flashers/034flasher_action_36_orig/makeflashwrite.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-mads flashwrite.asx -o:flashwrite.xex
-
diff --git a/various_flashers/034flasher_mac65/makeflashwrite.sh b/various_flashers/034flasher_mac65/makeflashwrite.sh
deleted file mode 100755
index 1854ca7..0000000
--- a/various_flashers/034flasher_mac65/makeflashwrite.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-mads flashwrite.asx -o:flashwrite.xex
-
diff --git a/various_flashers/8kB_PILOT/PILOTflashwrite.xex b/various_flashers/8kB_PILOT/PILOTflashwrite.xex
index 1b4e43b..d151c84 100644
Binary files a/various_flashers/8kB_PILOT/PILOTflashwrite.xex and b/various_flashers/8kB_PILOT/PILOTflashwrite.xex differ
diff --git a/various_flashers/8kB_PILOT/flashwrite.asx b/various_flashers/8kB_PILOT/flashwrite.asx
index e4a5978..1381cbb 100644
--- a/various_flashers/8kB_PILOT/flashwrite.asx
+++ b/various_flashers/8kB_PILOT/flashwrite.asx
@@ -343,6 +343,10 @@ badcompare_tmp2 equ * +1
;------------
org _SOURCE
ins "Atari PILOT.rom"
+
+;------------
+ org $2e2
+ dta a(MAIN_PROCESS)
;------------
org $2e2
dta a(FINISH_PROCESS)
diff --git a/various_flashers/8kB_WSFN/WSFNflashwrite.xex b/various_flashers/8kB_WSFN/WSFNflashwrite.xex
index c86642e..01fd333 100644
Binary files a/various_flashers/8kB_WSFN/WSFNflashwrite.xex and b/various_flashers/8kB_WSFN/WSFNflashwrite.xex differ
diff --git a/various_flashers/8kB_WSFN/flashwrite.asx b/various_flashers/8kB_WSFN/flashwrite.asx
index 15e3f01..6feaaa0 100644
--- a/various_flashers/8kB_WSFN/flashwrite.asx
+++ b/various_flashers/8kB_WSFN/flashwrite.asx
@@ -343,6 +343,10 @@ badcompare_tmp2 equ * +1
;------------
org _SOURCE
ins "WSFN.rom"
+
+;------------
+ org $2e2
+ dta a(MAIN_PROCESS)
;------------
org $2e2
dta a(FINISH_PROCESS)
diff --git a/various_flashers/M091_BASICXE41/BASIC XE 4.1.rom b/various_flashers/M091_BASICXE41/BASIC XE 4.1.rom
new file mode 100644
index 0000000..5f95056
Binary files /dev/null and b/various_flashers/M091_BASICXE41/BASIC XE 4.1.rom differ
diff --git a/various_flashers/M091_BASICXE41/BASICXEflashwrite.xex b/various_flashers/M091_BASICXE41/BASICXEflashwrite.xex
new file mode 100644
index 0000000..fca4c3a
Binary files /dev/null and b/various_flashers/M091_BASICXE41/BASICXEflashwrite.xex differ
diff --git a/various_flashers/M091_BASICXE41/flashwrite.asx b/various_flashers/M091_BASICXE41/flashwrite.asx
new file mode 100644
index 0000000..fabf361
--- /dev/null
+++ b/various_flashers/M091_BASICXE41/flashwrite.asx
@@ -0,0 +1,378 @@
+; JatariCart256 Action!3.6 flasher
+; by Jakub Husak , 04.01.2020
+; All Rights Reserved.
+;
+; Action!3.6: Copyright 1983 by Clinton W Parker.
+;
+; JatariCart256 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.
+;
+; JatariCart256 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 JatariCart256. If not, see .
+;
+ icl '../../lib/atari.hea'
+; uncomment when flashing all cart or want to check all blocks written so far.
+;.def compareall
+BankNum equ $88
+Counter equ $89
+operation equ $8a
+start equ 6 ; format chip and program
+select equ 5 ; ferify and format sectors
+option equ 3 ; verify
+outchar equ $F2B0
+memtop equ $2e5
+dmactls equ $22f
+
+_SOURCE equ $6000
+_DEST equ $A000
+
+; test code
+ org $2000
+ jsr $f420 ; clrscr
+ lda portb
+ cmp #$fd
+ beq @+
+ jsr print
+ dta c'Run with BASIC enabled and restart.',0
+ jmp *
+@ lda #$1
+ sta 66
+ ; waiting for cart to be inserted
+ jsr print
+ dta c'Insert cartridge...',0
+@ lda $D013
+ lsr
+ bcc @-
+ jsr print
+ dta c' inserted.',$9b,0
+
+ ; cart inserted, fake it was not changed
+ lda $d013
+ sta $3fa
+
+ ;lda #$ff
+ ;sta $d301
+
+ jsr print
+ dta c'Press:',$9b
+ dta c'START - format cart and programm',$9b
+ dta c'SELECT - verify; repair bad blocks.',$9b
+ dta c'OPTION - verify only',$9b,0
+@ lda 53279
+ cmp #7
+ beq @-
+ sta operation
+
+ cmp #select
+ beq VERIFYREPAIR
+
+ cmp #option
+ beq CHECKONLY
+ ; start
+FORMAT
+ jsr print
+ dta c'Formatting cart ...',0
+ jsr flashformatchip
+ bcs formatfailed
+ jsr print
+ dta c'done:)',$9b,0
+ rts
+formatfailed
+ jsr print
+ dta c'failed:(',$9b,'Waiting for reboot...',$9b,0
+ jmp *
+VERIFYREPAIR
+ jsr print
+ dta c'Verify and ',0
+CHECKONLY
+ jsr print
+ dta c'Compare.',$9b,0
+ rts
+crcsums
+ :128 dta 0,0
+
+CHECKINIT
+ mwa #_SOURCE _csrc
+ mwa #_DEST _cdst
+ sei
+CHECK
+
+ mva #0 badcompare_counter
+ sta badcompare_counter+1
+ ldx BankNum
+ sta $d500,x
+checkloop
+_csrc equ * + 1
+ lda $6000 ; src
+_cdst equ * + 1
+ cmp $A000 ; dst
+ beq @+
+ lda _csrc
+ ldx _csrc+1
+ jsr BADCOMPARE
+@ inw _csrc
+ inw _cdst
+ lda _csrc+1
+ cmp #>_SOURCE+$20
+ bne checkloop
+ cpw #0 badcompare_counter
+ beq @+
+ sta $d580
+ lda $d013
+ sta $3fa
+ cli
+ jsr print
+ dta c'non-match byte#:',0
+ lda badcompare_counter+1
+ jsr printhex
+ lda badcompare_counter
+ jsr printhex
+ jsr printnl
+ sec
+ rts
+@ sta $d580
+ lda $d013
+ sta $3fa
+ cli
+ lda #'o'
+ jsr outchar
+@ clc
+dmaon mva #34 dmactls
+ sta dmactl
+ rts
+VERIFY
+ ;mwa #_SOURCE _csrc
+ ;mwa #_DEST _cdst
+ jsr CHECKINIT
+ bcc v_rts
+ lda #'f'
+ jsr outchar
+ ldx BankNum
+ lda #$a0
+ jsr flashformatsector
+ ldx BankNum
+ lda #$b0
+ jsr flashformatsector
+ jsr FORMATTED
+ dec Counter
+ bne VERIFY
+v_rts jmp dmaon
+
+COMPARE_CRC16_DEST_ALL
+ lda BankNum
+ sta _tbanknum
+@ sei
+_tbanknum equ * + 1
+ sta $D500
+ clc
+ mva _tbanknum calccrc_bank
+ jsr CALCCRC_DEST
+ jsr status_crc
+ .ifdef compareall
+ dec _tbanknum
+ bpl @-
+ .endif
+ sta $D580
+ lda $d013
+ sta $3fa
+ cli
+ rts
+status_crc
+ php
+ jsr printBank_t
+ plp
+ php
+ sne
+ lda #'o'
+ plp
+ seq
+ lda #'!'
+ jsr outchar
+ lda #','
+ jmp outchar
+
+
+CALCCRC_DEST
+ php
+ mwa #_DEST _tsrc
+ bne crccont
+
+CALCCRC ; c=1 - write; c=0 - check
+ php
+ mwa #_SOURCE _tsrc
+ mwa #$2000 _tcnt
+crccont mwa #$ffff crc16.crc
+_tsrc equ * + 1
+ lda $ffff
+ jsr crc16.updCRC
+ inw _tsrc
+ dew _tcnt
+ bne _tsrc -1
+calccrc_bank equ * +1
+ lda #$ba ; nk number
+ asl
+ tax
+ plp
+ bcc crccheck
+ mwa crc16.crc crcsums,x
+ rts
+_tcnt :2 dta 0
+crccheck
+ cpw crc16.crc crcsums,x
+ rts
+
+
+printBank_t
+ lda _tbanknum
+ bpl @+
+printBank
+ jsr printnl
+ lda BankNum
+@ pha
+ lda #'B'
+ jsr outchar
+ pla
+ jsr printhex
+ lda #':'
+ jmp outchar
+
+MAIN_PROCESS
+ ;mva #0 dmactls
+ ;sta dmactl
+ sec
+ mva BankNum calccrc_bank
+ jsr CALCCRC
+ mwa #_DEST flashaddr
+ jsr printBank
+
+ lda operation
+ cmp #select
+ jeq VERIFY
+
+ cmp #option
+ jeq CHECKINIT
+
+FORMATTED
+ mwa #_SOURCE _writeaddr
+ lda _writeaddr+1
+ clc
+ adc #$20
+ sta _cmpaddr
+ mwa #_DEST flashaddr
+ sec
+formatted_next
+ ldx BankNum
+formatted_next2
+_writeaddr equ *+1
+ lda $ffff
+ jsr flashwritebyte
+ jsr flashincaddr
+ inw _writeaddr
+_cmpaddr equ * + 1
+ lda #$ff
+ cmp _writeaddr+1
+ bne formatted_next2
+
+ jmp COMPARE_CRC16_DEST_ALL
+
+FINISH_PROCESS
+ jsr print
+ dta $9b,'Finished',0
+ jmp *
+ rts
+badcompare_counter dta 0,0
+BADCOMPARE
+ ldy 53279
+ cpy #7
+ beq @+
+ pha
+ txa
+ pha
+ lda #'!'
+ jsr outchar
+ pla
+ jsr printhex
+ pla
+ jsr printhex
+ lda #':'
+ jsr outchar
+ mwa _csrc badcompare_tmp1
+badcompare_tmp1 equ * +1
+ lda $ffff
+ jsr printhex
+ lda #'/'
+ jsr outchar
+ mwa _cdst badcompare_tmp2
+badcompare_tmp2 equ * +1
+ lda $ffff
+ jsr printhex
+ jsr printnl
+@ inw badcompare_counter
+ sec
+ jmp dmaon
+; -------
+ icl '../../lib/flashwritelib.asx'
+
+ icl '../../lib/crc16_v2.asm'
+
+ ;jsr print
+ ;dta c'AlaMaKota.',$9b,0
+ ;lda #$55
+ ;jsr printhex
+ ;lda #$aa
+ ;jsr printhex
+ ;jmp *
+ icl '../../lib/print2.asx'
+ org $2e2
+ dta a($2000)
+; ---------------------------------------
+; D500 A000 20 6c offset:$0000
+; D503 A000 85 86 offset $1000
+; D504 A000 20 dd offset $2000
+; All: B000 36 01 offset $3000
+; blocks for every 8kb bank
+;------------
+ org BankNum
+ dta b(0) ; $d500
+ dta b(1) ; Counter
+;------------
+ org _SOURCE
+ ins "BASIC XE 4.1.rom",0,$1000
+ ins "BASIC XE 4.1.rom",+1*$1000+$0,$1000
+;------------
+ org $2e2
+ dta a(MAIN_PROCESS)
+;------------
+ org BankNum
+ dta b(9) ; d501
+ dta b(1) ; Counter
+;------------
+ org _SOURCE
+ ins "BASIC XE 4.1.rom",0,$1000
+ ins "BASIC XE 4.1.rom",+2*$1000+$0,$1000
+;------------
+ org $2e2
+ dta a(MAIN_PROCESS)
+;------------
+ org BankNum
+ dta b(1) ; $d509
+ dta b(1) ; Counter
+;------------
+ org _SOURCE
+ ins "BASIC XE 4.1.rom",0,$1000
+ ins "BASIC XE 4.1.rom",+3*$1000+$0,$1000
+;------------
+ org $2e2
+ dta a(MAIN_PROCESS)
+;------------
+
+;------------
+ org $2e2
+ dta a(FINISH_PROCESS)
diff --git a/various_flashers/M091_BASICXE41/makeflashwrite.sh b/various_flashers/M091_BASICXE41/makeflashwrite.sh
new file mode 100755
index 0000000..9e2d0a8
--- /dev/null
+++ b/various_flashers/M091_BASICXE41/makeflashwrite.sh
@@ -0,0 +1,2 @@
+mads flashwrite.asx -o:BASICXEflashwrite.xex
+
diff --git a/various_flashers/M091_BASICXE41/readme b/various_flashers/M091_BASICXE41/readme
new file mode 100644
index 0000000..9531efb
--- /dev/null
+++ b/various_flashers/M091_BASICXE41/readme
@@ -0,0 +1 @@
+https://atariwiki.org/wiki/attach/Basic%20XE/BASIC%20XE%204.1.rom
diff --git a/various_flashers/M091_OSSBasicXL103/BASICXLflashwrite.xex b/various_flashers/M091_OSSBasicXL103/BASICXLflashwrite.xex
new file mode 100644
index 0000000..ba4e827
Binary files /dev/null and b/various_flashers/M091_OSSBasicXL103/BASICXLflashwrite.xex differ
diff --git a/various_flashers/M091_OSSBasicXL103/OSSBasicXL103.rom b/various_flashers/M091_OSSBasicXL103/OSSBasicXL103.rom
new file mode 100644
index 0000000..cda1b27
Binary files /dev/null and b/various_flashers/M091_OSSBasicXL103/OSSBasicXL103.rom differ
diff --git a/various_flashers/M091_OSSBasicXL103/flashwrite.asx b/various_flashers/M091_OSSBasicXL103/flashwrite.asx
new file mode 100644
index 0000000..8d42202
--- /dev/null
+++ b/various_flashers/M091_OSSBasicXL103/flashwrite.asx
@@ -0,0 +1,378 @@
+; JatariCart256 Action!3.6 flasher
+; by Jakub Husak , 04.01.2020
+; All Rights Reserved.
+;
+; Action!3.6: Copyright 1983 by Clinton W Parker.
+;
+; JatariCart256 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.
+;
+; JatariCart256 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 JatariCart256. If not, see .
+;
+ icl '../../lib/atari.hea'
+; uncomment when flashing all cart or want to check all blocks written so far.
+;.def compareall
+BankNum equ $88
+Counter equ $89
+operation equ $8a
+start equ 6 ; format chip and program
+select equ 5 ; ferify and format sectors
+option equ 3 ; verify
+outchar equ $F2B0
+memtop equ $2e5
+dmactls equ $22f
+
+_SOURCE equ $6000
+_DEST equ $A000
+
+; test code
+ org $2000
+ jsr $f420 ; clrscr
+ lda portb
+ cmp #$fd
+ beq @+
+ jsr print
+ dta c'Run with BASIC enabled and restart.',0
+ jmp *
+@ lda #$1
+ sta 66
+ ; waiting for cart to be inserted
+ jsr print
+ dta c'Insert cartridge...',0
+@ lda $D013
+ lsr
+ bcc @-
+ jsr print
+ dta c' inserted.',$9b,0
+
+ ; cart inserted, fake it was not changed
+ lda $d013
+ sta $3fa
+
+ ;lda #$ff
+ ;sta $d301
+
+ jsr print
+ dta c'Press:',$9b
+ dta c'START - format cart and programm',$9b
+ dta c'SELECT - verify; repair bad blocks.',$9b
+ dta c'OPTION - verify only',$9b,0
+@ lda 53279
+ cmp #7
+ beq @-
+ sta operation
+
+ cmp #select
+ beq VERIFYREPAIR
+
+ cmp #option
+ beq CHECKONLY
+ ; start
+FORMAT
+ jsr print
+ dta c'Formatting cart ...',0
+ jsr flashformatchip
+ bcs formatfailed
+ jsr print
+ dta c'done:)',$9b,0
+ rts
+formatfailed
+ jsr print
+ dta c'failed:(',$9b,'Waiting for reboot...',$9b,0
+ jmp *
+VERIFYREPAIR
+ jsr print
+ dta c'Verify and ',0
+CHECKONLY
+ jsr print
+ dta c'Compare.',$9b,0
+ rts
+crcsums
+ :128 dta 0,0
+
+CHECKINIT
+ mwa #_SOURCE _csrc
+ mwa #_DEST _cdst
+ sei
+CHECK
+
+ mva #0 badcompare_counter
+ sta badcompare_counter+1
+ ldx BankNum
+ sta $d500,x
+checkloop
+_csrc equ * + 1
+ lda $6000 ; src
+_cdst equ * + 1
+ cmp $A000 ; dst
+ beq @+
+ lda _csrc
+ ldx _csrc+1
+ jsr BADCOMPARE
+@ inw _csrc
+ inw _cdst
+ lda _csrc+1
+ cmp #>_SOURCE+$20
+ bne checkloop
+ cpw #0 badcompare_counter
+ beq @+
+ sta $d580
+ lda $d013
+ sta $3fa
+ cli
+ jsr print
+ dta c'non-match byte#:',0
+ lda badcompare_counter+1
+ jsr printhex
+ lda badcompare_counter
+ jsr printhex
+ jsr printnl
+ sec
+ rts
+@ sta $d580
+ lda $d013
+ sta $3fa
+ cli
+ lda #'o'
+ jsr outchar
+@ clc
+dmaon mva #34 dmactls
+ sta dmactl
+ rts
+VERIFY
+ ;mwa #_SOURCE _csrc
+ ;mwa #_DEST _cdst
+ jsr CHECKINIT
+ bcc v_rts
+ lda #'f'
+ jsr outchar
+ ldx BankNum
+ lda #$a0
+ jsr flashformatsector
+ ldx BankNum
+ lda #$b0
+ jsr flashformatsector
+ jsr FORMATTED
+ dec Counter
+ bne VERIFY
+v_rts jmp dmaon
+
+COMPARE_CRC16_DEST_ALL
+ lda BankNum
+ sta _tbanknum
+@ sei
+_tbanknum equ * + 1
+ sta $D500
+ clc
+ mva _tbanknum calccrc_bank
+ jsr CALCCRC_DEST
+ jsr status_crc
+ .ifdef compareall
+ dec _tbanknum
+ bpl @-
+ .endif
+ sta $D580
+ lda $d013
+ sta $3fa
+ cli
+ rts
+status_crc
+ php
+ jsr printBank_t
+ plp
+ php
+ sne
+ lda #'o'
+ plp
+ seq
+ lda #'!'
+ jsr outchar
+ lda #','
+ jmp outchar
+
+
+CALCCRC_DEST
+ php
+ mwa #_DEST _tsrc
+ bne crccont
+
+CALCCRC ; c=1 - write; c=0 - check
+ php
+ mwa #_SOURCE _tsrc
+ mwa #$2000 _tcnt
+crccont mwa #$ffff crc16.crc
+_tsrc equ * + 1
+ lda $ffff
+ jsr crc16.updCRC
+ inw _tsrc
+ dew _tcnt
+ bne _tsrc -1
+calccrc_bank equ * +1
+ lda #$ba ; nk number
+ asl
+ tax
+ plp
+ bcc crccheck
+ mwa crc16.crc crcsums,x
+ rts
+_tcnt :2 dta 0
+crccheck
+ cpw crc16.crc crcsums,x
+ rts
+
+
+printBank_t
+ lda _tbanknum
+ bpl @+
+printBank
+ jsr printnl
+ lda BankNum
+@ pha
+ lda #'B'
+ jsr outchar
+ pla
+ jsr printhex
+ lda #':'
+ jmp outchar
+
+MAIN_PROCESS
+ ;mva #0 dmactls
+ ;sta dmactl
+ sec
+ mva BankNum calccrc_bank
+ jsr CALCCRC
+ mwa #_DEST flashaddr
+ jsr printBank
+
+ lda operation
+ cmp #select
+ jeq VERIFY
+
+ cmp #option
+ jeq CHECKINIT
+
+FORMATTED
+ mwa #_SOURCE _writeaddr
+ lda _writeaddr+1
+ clc
+ adc #$20
+ sta _cmpaddr
+ mwa #_DEST flashaddr
+ sec
+formatted_next
+ ldx BankNum
+formatted_next2
+_writeaddr equ *+1
+ lda $ffff
+ jsr flashwritebyte
+ jsr flashincaddr
+ inw _writeaddr
+_cmpaddr equ * + 1
+ lda #$ff
+ cmp _writeaddr+1
+ bne formatted_next2
+
+ jmp COMPARE_CRC16_DEST_ALL
+
+FINISH_PROCESS
+ jsr print
+ dta $9b,'Finished',0
+ jmp *
+ rts
+badcompare_counter dta 0,0
+BADCOMPARE
+ ldy 53279
+ cpy #7
+ beq @+
+ pha
+ txa
+ pha
+ lda #'!'
+ jsr outchar
+ pla
+ jsr printhex
+ pla
+ jsr printhex
+ lda #':'
+ jsr outchar
+ mwa _csrc badcompare_tmp1
+badcompare_tmp1 equ * +1
+ lda $ffff
+ jsr printhex
+ lda #'/'
+ jsr outchar
+ mwa _cdst badcompare_tmp2
+badcompare_tmp2 equ * +1
+ lda $ffff
+ jsr printhex
+ jsr printnl
+@ inw badcompare_counter
+ sec
+ jmp dmaon
+; -------
+ icl '../../lib/flashwritelib.asx'
+
+ icl '../../lib/crc16_v2.asm'
+
+ ;jsr print
+ ;dta c'AlaMaKota.',$9b,0
+ ;lda #$55
+ ;jsr printhex
+ ;lda #$aa
+ ;jsr printhex
+ ;jmp *
+ icl '../../lib/print2.asx'
+ org $2e2
+ dta a($2000)
+; ---------------------------------------
+; D500 A000 20 6c offset:$0000
+; D503 A000 85 86 offset $1000
+; D504 A000 20 dd offset $2000
+; All: B000 36 01 offset $3000
+; blocks for every 8kb bank
+;------------
+ org BankNum
+ dta b(0) ; $d500
+ dta b(1) ; Counter
+;------------
+ org _SOURCE
+ ins "OSSBasicXL103.rom",0,$1000
+ ins "OSSBasicXL103.rom",+1*$1000+$0,$1000
+;------------
+ org $2e2
+ dta a(MAIN_PROCESS)
+;------------
+ org BankNum
+ dta b(9) ; d501
+ dta b(1) ; Counter
+;------------
+ org _SOURCE
+ ins "OSSBasicXL103.rom",0,$1000
+ ins "OSSBasicXL103.rom",+2*$1000+$0,$1000
+;------------
+ org $2e2
+ dta a(MAIN_PROCESS)
+;------------
+ org BankNum
+ dta b(1) ; $d509
+ dta b(1) ; Counter
+;------------
+ org _SOURCE
+ ins "OSSBasicXL103.rom",0,$1000
+ ins "OSSBasicXL103.rom",+3*$1000+$0,$1000
+;------------
+ org $2e2
+ dta a(MAIN_PROCESS)
+;------------
+
+;------------
+ org $2e2
+ dta a(FINISH_PROCESS)
diff --git a/various_flashers/M091_OSSBasicXL103/makeflashwrite.sh b/various_flashers/M091_OSSBasicXL103/makeflashwrite.sh
new file mode 100755
index 0000000..7592320
--- /dev/null
+++ b/various_flashers/M091_OSSBasicXL103/makeflashwrite.sh
@@ -0,0 +1,2 @@
+mads flashwrite.asx -o:BASICXLflashwrite.xex
+
diff --git a/various_flashers/M091_OSSBasicXL103/readme b/various_flashers/M091_OSSBasicXL103/readme
new file mode 100644
index 0000000..976e217
--- /dev/null
+++ b/various_flashers/M091_OSSBasicXL103/readme
@@ -0,0 +1 @@
+http://atarionline.pl/utils/4.%20Programowanie/Action%21/Action%21%20v3.6%20%281984-01-17%29%28OSS%29%28US%29%5Ba%20034M%20mapping%5D.bin
diff --git a/various_flashers/flashwriteexample/flashwrite.xex b/various_flashers/flashwriteexample/flashwrite.xex
deleted file mode 100644
index 003dcf0..0000000
Binary files a/various_flashers/flashwriteexample/flashwrite.xex and /dev/null differ