Better (?) loader

This commit is contained in:
Pecusx
2024-05-13 15:36:29 +02:00
parent 7ed6169e61
commit d9e8f3269c
4 changed files with 2255 additions and 2464 deletions
+54 -147
View File
@@ -82,8 +82,10 @@ IRQENS = $10
InBlockAddr = $24 ; word InBlockAddr = $24 ; word
; dlugosc ladowanego bloku odjeta od $10000 (zwiekszana osiaga ZERO po zaladowaniu bloku w calosci) ; dlugosc ladowanego bloku odjeta od $10000 (zwiekszana osiaga ZERO po zaladowaniu bloku w calosci)
ToBlockEnd = $26 ; word ToBlockEnd = $26 ; word
BlockLen= $26 ; word
; najmlodszy z trzech bajtow zliczajacych do konca pliku - patrz ToFileEndH ; najmlodszy z trzech bajtow zliczajacych do konca pliku - patrz ToFileEndH
ToFileEndL = $28 ToFileEndL = $28
BlockATemp = $28
CompressedMapPos = $3D ; pozycja w skompresowanej mapie pliku CompressedMapPos = $3D ; pozycja w skompresowanej mapie pliku
CheckSUM = $30 CheckSUM = $30
@@ -214,23 +216,35 @@ FileInit ; skok JSR pod adres inicjalizacji po (przed) kazdym nastepnym bloku b
STA ToFileEndL STA ToFileEndL
PLA PLA
TAX TAX
FileNextBlock ; wczytanie kolejnego bloku binarnego FileNextBlock
; wczytanie kolejnego bloku binarnego
JSR FileGetBlockStart ; pobranie dwoch bajtow (adres poczatku bloku) JSR FileGetBlockStart ; pobranie dwoch bajtow (adres poczatku bloku)
AND InBlockAddr CPY #$88 ; czy EOF
jeq EndOfFile
LDA InBlockAddr
AND InBlockAddr+1
CMP #$FF ; jesli oba sa $FF to..... CMP #$FF ; jesli oba sa $FF to.....
BNE FileNoFFFFHead BNE FileNoFFFFHead
JSR FileGetBlockStart ; pobranie jeszcze raz JSR FileGetBlockStart ; pobranie jeszcze raz
FileNoFFFFHead FileNoFFFFHead
JSR FileGetByte ; Pobranie adresu konca ladowanego bloku mwa InBlockAddr BlockATemp ; zapamietanie adresu poczatkowego bloku (na chwile)
SBC InBlockAddr ; i wyliczenie jego dlugosci LDA #<BlockLen
EOR #$FF ; UWAGA! Dlugosc jest zEORowana z $FFFF sta InBlockAddr
STA ToBlockEnd ; czyli odjeta od $10000 lda #>BlockLen
PHP ; odliczanie ilosci pobranych bajtow jest wiec potem robione sta InBlockAddr+1
JSR FileGetByte ; przez dodawanie i sprawdzanie czy nie ZERO JSR GetFile2Bytes ; pobranie dwoch bajtow - ; Pobranie adresu konca ladowanego bloku
PLP CPY #$88 ; czy EOF
SBC InBlockAddr+1 beq EndOfFile
EOR #$FF ; wyliczenie długości bloku programu binarnego
STA ToBlockEnd+1 sec
lda BlockLen
sbc BlockATemp
sta BlockLen
lda BlockLen+1
sbc BlockATemp+1
sta BlockLen+1
inw BlockLen
mwa BlockATemp InBlockAddr ; odtworzenie adresu poczatkowego bloku
SEC SEC
WhatIsIt WhatIsIt
BCS FileNoFirstBlock ; tu wstawiany jest raz (na poczatku) rozkaz LDA ($0D),Y BCS FileNoFirstBlock ; tu wstawiany jest raz (na poczatku) rozkaz LDA ($0D),Y
@@ -245,57 +259,23 @@ FileNoFirstBlock
STA $02E2 ; bo po kazdym bloku odbywa sie tam skok STA $02E2 ; bo po kazdym bloku odbywa sie tam skok
LDA #>Jrts ; jesli nie jest to blok z adresem inicjacji LDA #>Jrts ; jesli nie jest to blok z adresem inicjacji
STA $02E3 ; to dzieki temu nic sie nie stanie STA $02E3 ; to dzieki temu nic sie nie stanie
LDY #$00
BlockReadLoop ;; petla odczytujaca z pliku blok binarny BlockReadLoop ;; petla odczytujaca z pliku blok binarny
INC ToFileEndL ;; zwiekszenie licznika bajtow w calym pliku i jesli ZERO JSR GetFileBytes
BEQ GoCheckEOF ;; skok do procedury sprawdzajacej dwa starsze jego bajty CPY #$88 ; czy EOF
CPX SecLen ;; sprawdzenie czy juz caly sektor przepisany jesli tak beq EndOfFile
bne NoNextSector1 ; -- jne FileInit ; koniec bloku - skok pod adres inicjalizacji
lda InSectorCountH ; -- obsluga sektorow ponad 256b
cmp SecLen+1 ; --
BEQ GoGetNextFileSect ;; skok do procedury pobrania nastepnego sektora
NoNextSector1
FileSecBuffHaddr1 = *+2 ; samomodyfikacja kodu potrzebna do obslugi sektorow ponad 256b !!!
LDA FileSecBuff,X
INX
bne InBlockReadLoop ; --
jsr IncrementationXH ; -- obsluga sektorow ponad 256b (ten trik dziala bo tam juz byl RTS :) )
InBlockReadLoop
STA (InBlockAddr),Y
INY
BNE label15
INC InBlockAddr+1
label15
INC ToBlockEnd
BNE BlockReadLoop
INC ToBlockEnd+1
BNE BlockReadLoop
BEQ FileInit ; koniec bloku - skok pod adres inicjalizacji
GoCheckEOF
JSR CheckEOF ; skok do procedury wspolnej dla pobierania bloku i bajtu
BCS InBlockReadLoop ;tu zawsze jest CARRY, a w A kolejny bajt z pliku, wiec powrot do petli
GoGetNextFileSect
JSR GetNextFileSect
BCS InBlockReadLoop ; tu zawsze jest CARRY, a w A kolejny bajt z pliku, wiec powrot do petli
FileGetBlockStart FileGetBlockStart
JSR FileGetByte LDA #<InBlockAddr
STA InBlockAddr sta InBlockAddr
JSR FileGetByte lda #>InBlockAddr
STA InBlockAddr+1 sta InBlockAddr+1
RTS JMP GetFile2Bytes ; pobranie dwoch bajtow
GoInitAddr GoInitAddr
JMP ($02E2) JMP ($02E2)
GetDataSector
ReadErrorLoop
LDX #$0B
SetDCB
LDA blokDanychIO_Loader,X
STA DDEVIC,X
DEX
BPL SetDCB
SioJMP SioJMP
JSR JSIOINT JSR JSIOINT
BMI ReadErrorLoop ; jesli blad odczytu sektora to czytamy ponownie ; BMI ReadErrorLoop ; jesli blad odczytu sektora to czytamy ponownie
RTS RTS
blokDanychIO_Loader blokDanychIO_Loader
.BY $31,$01,$52,$40,<FileSecBuff,>FileSecBuff,$0A,$00,$80,$00 .BY $31,$01,$52,$40,<FileSecBuff,>FileSecBuff,$0A,$00,$80,$00
@@ -303,11 +283,6 @@ blokDanychIO_Loader
SecLen = blokDanychIO_Loader+8 ; SecLen wskazuje na komórki do wpisania długości sektora przed przepisaniem procki na stronę $0700 SecLen = blokDanychIO_Loader+8 ; SecLen wskazuje na komórki do wpisania długości sektora przed przepisaniem procki na stronę $0700
SectorNumber SectorNumber
.WO $0000 .WO $0000
CheckEOF
INC ToFileEndH
BNE NotEOF
INC ToFileEndH+1
BNE NotEOF
EndOfFile ; to wykona sie przy nieoczekiwanym (i oczekiwanym) koncu pliku EndOfFile ; to wykona sie przy nieoczekiwanym (i oczekiwanym) koncu pliku
LDA #>(JRESETWM-1) ; cieply start (RESET) zamiast SelfTestu LDA #>(JRESETWM-1) ; cieply start (RESET) zamiast SelfTestu
PHA PHA
@@ -317,92 +292,24 @@ EndOfFile ; to wykona sie przy nieoczekiwanym (i oczekiwanym) koncu pliku
; LDA VCOUNT ; LDA VCOUNT
; bne WaitLine0 ; bne WaitLine0
JMP ($02E0) JMP ($02E0)
; Pobranie z pliku pojedynczego bajtu danych ... wynik w A, a CARRY ustawiony!!!
FileGetByte
INC ToFileEndL
BEQ CheckEOF
NotEOF
CPX SecLen ;; nie EOF, ale moze koniec sektora
bne ByteToACCU ; --
lda InSectorCountH ; -- obsluga sektorow ponad 256b
cmp SecLen+1 ; --
BEQ GetNextFileSect ;; jesli tak to pobieramy nastepny
ByteToACCU
FileSecBuffHaddr2 = *+2 ; samomodyfikacja kodu potrzebna do obslugi sektorow ponad 256b !!!
LDA FileSecBuff,X ;; pobranie bajtu z pliku do A
INX
bne GoToSec ; --
IncrementationXH ; taki trik - to przypadkiem jest podprogram, wiec mozna tu wskoczyc zamiast zwiekszac liczniki w innym miejscu po raz drugi
inc InSectorCountH ; --
inc FileSecBuffHaddr1 ; -- obsluga sektorow ponad 256b
inc FileSecBuffHaddr2 ; --
GoToSec
SEC
Jrts Jrts
RTS RTS
; Wczytanie do bufora kolejnego sektora pliku, kolejny bajt pliku w A, a CARRY ustawiony!!! GetFile2Bytes
GetNextFileSect mwa #2 BlockLen
tya GetFileBytes
pha LDX #16 ; kanal 1
ReadNextInSequence LDA #CGBINR ; rozkaz BGET
SectorSequenceCount = *+1 STA ICCOM,X ; COMMAND
lda #$00 ; to już ma być zainicjowane!!! LDA InBlockAddr
beq NextMapPosition STA ICBUFA,x
dec SectorSequenceCount LDA InBlockAddr+1
inc SectorNumber STA ICBUFA+1,x
bne noIncDAUX2 LDA BlockLen
inc SectorNumber+1 STA ICBUFL,x
noIncDAUX2 LDA BlockLen+1
bne ReadyToRead STA ICBUFL+1,x
;jak jest tutaj to jest błąd... JMP CIO
;powinien być skok do self-testu...
NextMapPosition
jsr incCompressedMapPos
;UWAGA! adres w mapie jest zawsze zwiększany o 1
;więc przed uruchomieniem loadera trzeba zainicjować adresem-1
ldy #0
lda (CompressedMapPos),y
bmi HowManyToSkip
beq SetNewStartSector
;tutaj jest ile kolejnych sektorów przeczytać w sekwencji
sta SectorSequenceCount
bne ReadNextInSequence ;zawsze skoczy
HowManyToSkip
and #%01111111
clc
adc SectorNumber
sta SectorNumber
bcc noIncDAUX2_v2
inc SectorNumber+1
noIncDAUX2_v2
bne ReadyToRead
;jak jest tutaj to jest błąd...
;powinien być skok do self-testu...
SetNewStartSector
jsr incCompressedMapPos
lda (CompressedMapPos),y
sta SectorNumber
jsr incCompressedMapPos
lda (CompressedMapPos),y
sta SectorNumber+1
ReadyToRead
JSR GetDataSector ; wczytanie kolejnego sektora pliku do bufora
pla
tay
lda #>FileSecBuff ; --
sta FileSecBuffHaddr1 ; -- obsluga sektorow ponad 256b
sta FileSecBuffHaddr2 ; --
LDX #$00 ; wyzerowanie wskaznika bajtu w sektorze
stx InSectorCountH ; --
JEQ ByteToACCU ; skok do pobrania bajtu z pliku do A i konc
incCompressedMapPos
inc CompressedMapPos
bne skipIncCompressedMapPos
inc CompressedMapPos+1
skipIncCompressedMapPos
rts
; starszy bajt licznika pozycji bajtu w sektorze - mlodszy jest caly czas w X ; starszy bajt licznika pozycji bajtu w sektorze - mlodszy jest caly czas w X
; potrzebny do obslugi sektorow wiekszych od 256b ; potrzebny do obslugi sektorow wiekszych od 256b
InSectorCountH InSectorCountH
@@ -1328,7 +1235,7 @@ NoZpage
; a tutaj otwieramy kanal 1 CIO do odczytu ; a tutaj otwieramy kanal 1 CIO do odczytu
LDX #1*16 ; kanal 1 LDX #16 ; kanal 1
LDA #COPN ; rozkaz OPEN LDA #COPN ; rozkaz OPEN
STA ICCOM,X ; COMMAND STA ICCOM,X ; COMMAND
LDA #$04 ; READ LDA #$04 ; READ
@@ -1343,7 +1250,7 @@ NoZpage
JMP loader.LoadStart ; po przepisaniu JMP loader.LoadStart ; po przepisaniu
FileToOpen FileToOpen
.BYTE "C:",0 .BYTE "H:SCORCH.XEX",155,0
; Sprawdzenie odpowiednich flag i przepisanie za loaderem procedury obslugi odpowiedniego Turba ; Sprawdzenie odpowiednich flag i przepisanie za loaderem procedury obslugi odpowiedniego Turba
; na koniec odpowiednie zmodyfikowanie MEMLO ; na koniec odpowiednie zmodyfikowanie MEMLO
ADDspeedProc ADDspeedProc
+231 -254
View File
@@ -72,7 +72,9 @@ Label table:
00 0010 IRQENS 00 0010 IRQENS
00 0024 INBLOCKADDR 00 0024 INBLOCKADDR
00 0026 TOBLOCKEND 00 0026 TOBLOCKEND
00 0026 BLOCKLEN
00 0028 TOFILEENDL 00 0028 TOFILEENDL
00 0028 BLOCKATEMP
00 003D COMPRESSEDMAPPOS 00 003D COMPRESSEDMAPPOS
00 0030 CHECKSUM 00 0030 CHECKSUM
00 0031 SECLENUS 00 0031 SECLENUS
@@ -128,271 +130,246 @@ Label table:
00 E471 JTESTROM 00 E471 JTESTROM
00 E474 JRESETWM 00 E474 JRESETWM
00 E477 JRESETCD 00 E477 JRESETCD
00 084B FILESECBUFF 00 07D7 FILESECBUFF
00 084B TEMPMEMLO 00 07D7 TEMPMEMLO
00 1FFD START 00 1FFD START
00 2000 MOVEDPROC 00 2000 MOVEDPROC
00 0700 LOADER 00 0700 LOADER
00 0700 LOADER.TOFILEENDH 00 0700 LOADER.TOFILEENDH
00 0702 LOADER.FILEINIT 00 0702 LOADER.FILEINIT
00 071B LOADER.FILENEXTBLOCK 00 071B LOADER.FILENEXTBLOCK
00 0727 LOADER.FILENOFFFFHEAD 00 0730 LOADER.FILENOFFFFHEAD
00 073C LOADER.WHATISIT 00 0763 LOADER.WHATISIT
00 074B LOADER.FILENOFIRSTBLOCK 00 0772 LOADER.FILENOFIRSTBLOCK
00 0757 LOADER.BLOCKREADLOOP 00 077C LOADER.BLOCKREADLOOP
00 0768 LOADER.NONEXTSECTOR1 00 0788 LOADER.FILEGETBLOCKSTART
00 076A LOADER.FILESECBUFFHADDR1 00 0793 LOADER.GOINITADDR
00 0771 LOADER.INBLOCKREADLOOP 00 0796 LOADER.SIOJMP
00 0778 LOADER.LABEL15 00 079A LOADER.BLOKDANYCHIO_LOADER
00 0782 LOADER.GOCHECKEOF 00 07A2 LOADER.SECLEN
00 0787 LOADER.GOGETNEXTFILESECT 00 07A4 LOADER.SECTORNUMBER
00 078C LOADER.FILEGETBLOCKSTART 00 07A6 LOADER.ENDOFFILE
00 0797 LOADER.GOINITADDR 00 07AF LOADER.JRTS
00 079A LOADER.GETDATASECTOR 00 07B0 LOADER.GETFILE2BYTES
00 079A LOADER.READERRORLOOP 00 07B8 LOADER.GETFILEBYTES
00 079C LOADER.SETDCB 00 07D6 LOADER.INSECTORCOUNTH
00 07A5 LOADER.SIOJMP 00 07D7 LOADER.ZZZZZZ
00 07AB LOADER.BLOKDANYCHIO_LOADER 00 07D7 LOADER.FIRSTMAPSECTORNR
00 07B3 LOADER.SECLEN 00 07D9 LOADER.LOADSTART
00 07B5 LOADER.SECTORNUMBER 00 07E2 LOADER.OUTMEMCLEARLOOP
00 07B7 LOADER.CHECKEOF 00 07E4 LOADER.INMEMCLEARLOOP
00 07C1 LOADER.ENDOFFILE 00 0800 LOADER.LASTMEMPAGECLEAR
00 07CA LOADER.FILEGETBYTE 00 0821 LOADER.TEMPTOFILEENDL
00 07CE LOADER.NOTEOF 00 2122 JAKIETURBO
00 07DB LOADER.BYTETOACCU 00 2122 USMODE
00 07DD LOADER.FILESECBUFFHADDR2 00 2123 QMEG
00 07E1 LOADER.INCREMENTATIONXH 00 2124 BOOTDRIVE
00 07EA LOADER.GOTOSEC 00 2125 BOOTSHIFT
00 07EB LOADER.JRTS 00 2126 FOLDERTURBO
00 07EC LOADER.GETNEXTFILESECT 00 2127 NEWCOLORS
00 07EE LOADER.READNEXTINSEQUENCE 00 2128 BIN2ASCIIHEX
00 07EF LOADER.SECTORSEQUENCECOUNT 00 2133 LABELKA
00 07FD LOADER.NOINCDAUX2 00 2134 EDRIVER
00 07FF LOADER.NEXTMAPPOSITION 00 2137 EDITOROPEN
00 080F LOADER.HOWMANYTOSKIP 00 2165 MAINPROG
00 081D LOADER.NOINCDAUX2_V2 00 2183 USSPEED
00 081F LOADER.SETNEWSTARTSECTOR 00 2185 USSTATPRINT
00 082F LOADER.READYTOREAD 00 218E NOUSSPEED
00 0843 LOADER.INCCOMPRESSEDMAPPOS 00 2191 ERROR148
00 0849 LOADER.SKIPINCCOMPRESSEDMAPPOS 00 2193 ERRORDISPLAY
00 084A LOADER.INSECTORCOUNTH 00 21BA ERRORNUMHEX
00 084B LOADER.ZZZZZZ 00 21C2 WAITKLOOP
00 084B LOADER.FIRSTMAPSECTORNR 00 21D4 READMAINDIR
00 084D LOADER.LOADSTART 00 21ED SPARTADISK
00 0856 LOADER.OUTMEMCLEARLOOP 00 21F8 SEKTOR128B
00 0858 LOADER.INMEMCLEARLOOP 00 220A READDIR
00 0874 LOADER.LASTMEMPAGECLEAR 00 2243 LABEL46
00 0895 LOADER.TEMPTOFILEENDL 00 2251 LABEL40
00 2196 JAKIETURBO 00 225F LABEL43
00 2196 USMODE 00 226C PROGNAME
00 2197 QMEG 00 2277 LABEL42
00 2198 BOOTDRIVE 00 2282 LABEL45
00 2199 BOOTSHIFT 00 2285 DATFILEFOUND
00 219A FOLDERTURBO 00 22A5 LABEL47
00 219B NEWCOLORS 00 22BC TOSTARTOFDIR
00 219C BIN2ASCIIHEX 00 22CD STATUSBARPRINT
00 21A7 LABELKA 00 22D3 DENSITYDISPLAY
00 21A8 EDRIVER 00 22D5 DRIVEDISP1
00 21AB EDITOROPEN 00 22E8 QMEGSTATUS
00 21D9 MAINPROG 00 22F0 BASSTATUS
00 21F7 USSPEED 00 22F7 USSTATUS
00 21F9 USSTATPRINT 00 2373 LABEL68
00 2202 NOUSSPEED 00 2381 NOLASTFILEINDIR
00 2205 ERROR148 00 238B LABEL50
00 2207 ERRORDISPLAY 00 2395 LABEL51
00 222E ERRORNUMHEX 00 23BC LABEL53
00 2236 WAITKLOOP 00 23C4 LABEL56
00 2248 READMAINDIR 00 23CD LABEL55
00 2261 SPARTADISK 00 23D0 LASTFILESPAGEJUMP
00 226C SEKTOR128B 00 23D3 LABEL54
00 227E READDIR 00 23D6 LABEL52
00 22B7 LABEL46 00 23E8 LABEL65
00 22C5 LABEL40 00 23F6 LABEL60
00 22D3 LABEL43 00 2404 COMPARENAMES
00 22E0 PROGNAME 00 2406 CHECKING62
00 22EB LABEL42 00 2412 REPLACINGNAME
00 22F6 LABEL45 00 241E CHECKNEXTNAME
00 22F9 DATFILEFOUND 00 2429 LABEL64
00 2319 LABEL47 00 242C GAMENAMEPRINT
00 2330 TOSTARTOFDIR 00 2438 YPOSGAMENAME
00 2341 STATUSBARPRINT 00 2439 GAMEKEYSYMBOL
00 2347 DENSITYDISPLAY 00 243C GAMENAME
00 2349 DRIVEDISP1 00 2479 LABEL66
00 235C QMEGSTATUS 00 2484 LABEL59
00 2364 BASSTATUS 00 248F LABEL69
00 236B USSTATUS 00 2492 MAINDIRKEY
00 23E7 LABEL68 00 2495 UPDIRKEY
00 23F5 NOLASTFILEINDIR 00 24A5 ESCKEY
00 23FF LABEL50 00 24B2 NOSHIFTESC
00 2409 LABEL51 00 24B9 TOSTARTOFDIRJUMP
00 2430 LABEL53 00 24BC SPACEKEY
00 2438 LABEL56 00 24C3 CONTARROWSPRINT
00 2441 LABEL55 00 24D4 LASTFILESPAGE
00 2444 LASTFILESPAGEJUMP 00 24D6 KEYBOARDPROC
00 2447 LABEL54 00 24E8 COLORSALREADYSET
00 244A LABEL52 00 250D NOCTRLLETTER
00 245C LABEL65 00 251E NONUMBER
00 246A LABEL60 00 2524 BIGLETTERS
00 2478 COMPARENAMES 00 254B SUBDIRTEXT
00 247A CHECKING62 00 2554 GOTOLOADER
00 2486 REPLACINGNAME 00 255C DISKNOTCHANGED1
00 2492 CHECKNEXTNAME 00 2568 SETTURBOOFF
00 249D LABEL64 00 256B NOSHIFT
00 24A0 GAMENAMEPRINT
00 24AC YPOSGAMENAME
00 24AD GAMEKEYSYMBOL
00 24B0 GAMENAME
00 24ED LABEL66
00 24F8 LABEL59
00 2503 LABEL69
00 2506 MAINDIRKEY
00 2509 UPDIRKEY
00 2519 ESCKEY
00 2526 NOSHIFTESC
00 252D TOSTARTOFDIRJUMP
00 2530 SPACEKEY
00 2537 CONTARROWSPRINT
00 2548 LASTFILESPAGE
00 254A KEYBOARDPROC
00 255C COLORSALREADYSET
00 2581 NOCTRLLETTER
00 2592 NONUMBER
00 2598 BIGLETTERS
00 25BF SUBDIRTEXT
00 25C8 GOTOLOADER
00 25D0 DISKNOTCHANGED1
00 25DC SETTURBOOFF
00 25DF NOSHIFT
00 2F80 COMPRESSEDMAP 00 2F80 COMPRESSEDMAP
00 2634 GENERATECOMPRESSEDMAP 00 25C0 GENERATECOMPRESSEDMAP
00 2673 JUMPFORWARD 00 25FF JUMPFORWARD
00 2680 OFFSETTOBIG 00 260C OFFSETTOBIG
00 2696 GETNEXTMAPWORD 00 2622 GETNEXTMAPWORD
00 26A1 SECTOR00 00 262D SECTOR00
00 26AC OPS01 00 2638 OPS01
00 26B8 NOTEQAL01 00 2644 NOTEQAL01
00 26E3 ADDTOCOMPRESSEDMAP 00 266F ADDTOCOMPRESSEDMAP
00 26F5 XXXXBLA 00 2681 XXXXBLA
00 26FD NOINC013 00 2689 NOINC013
00 26FE FLUSHBUFFER 00 268A FLUSHBUFFER
00 2709 NOFLUSH 00 2695 NOFLUSH
00 270A ENDMAKINGMAP 00 2696 ENDMAKINGMAP
00 270D LOADERGO 00 2699 LOADERGO
00 2720 NORUNFROMDOS 00 26AC NORUNFROMDOS
00 2731 AFTERWORMSTART 00 26BD AFTERWORMSTART
00 276D MOVELOOP1 00 26F9 MOVELOOP1
00 2785 CLEARLOOP1 00 2711 CLEARLOOP1
00 2797 NOZPAGE 00 2723 NOZPAGE
00 27BE FILETOOPEN 00 274A FILETOOPEN
00 27C1 ADDSPEEDPROC 00 2758 ADDSPEEDPROC
00 27DB HAPPYRELOCATE 00 2772 HAPPYRELOCATE
00 27FB LABEL72X 00 2792 LABEL72X
00 27FF TURBORELOCADDR 00 2796 TURBORELOCADDR
00 280A LABEL73 00 27A1 LABEL73
00 2825 NOHAPPYLOADER 00 27BC NOHAPPYLOADER
00 2826 HAPPYUSMOVEDPROC 00 27BD HAPPYUSMOVEDPROC
00 283D COMMANDLOOP 00 27D4 COMMANDLOOP
00 283E HAPPYSPEED 00 27D5 HAPPYSPEED
00 2849 DELAYLOOPCMD 00 27E0 DELAYLOOPCMD
00 2853 XJSR1 00 27EA XJSR1
00 2867 XJSR2 00 27FE XJSR2
00 286D XJSR3 00 2804 XJSR3
00 2873 XJSR4 00 280A XJSR4
00 2878 XJSR5 00 280F XJSR5
00 287B WAITFORENDOFTRANSMISSION 00 2812 WAITFORENDOFTRANSMISSION
00 2884 XJSR6 00 281B XJSR6
00 288E DOUBLEACK 00 2825 DOUBLEACK
00 288E XJSR7 00 2825 XJSR7
00 289A READSECTORLOOP 00 2831 READSECTORLOOP
00 289A XJSR8 00 2831 XJSR8
00 289F XJSR9 00 2836 XJSR9
00 28A7 XJSRA 00 283E XJSRA
00 28AE ERRORHERE 00 2845 ERRORHERE
00 28B9 ENDOFTRANSMISSION 00 2850 ENDOFTRANSMISSION
00 28C7 SECTRANSREG 00 285E SECTRANSREG
00 28DD PUTSIOBYTE 00 2874 PUTSIOBYTE
00 28DE WAITFORSERIAL 00 2875 WAITFORSERIAL
00 28F1 ADDCHECKSUM 00 2888 ADDCHECKSUM
00 28F9 GETSIOBYTE 00 2890 GETSIOBYTE
00 28FB EXTERNALLOOP 00 2892 EXTERNALLOOP
00 28FF INTERNALLOOP 00 2896 INTERNALLOOP
00 290F ACKRECEIVE 00 28A6 ACKRECEIVE
00 2925 ENDHAPPYUSPROC 00 28BC ENDHAPPYUSPROC
00 2925 BLOKDANYCHIO_GETUSSPEED 00 28BC BLOKDANYCHIO_GETUSSPEED
00 2931 DIRMAPEND 00 28C8 DIRMAPEND
00 2934 LABEL39 00 28CB LABEL39
00 2948 DISCNOTCHANGED2 00 28DF DISCNOTCHANGED2
00 2970 LABEL80 00 2907 LABEL80
00 297E NONEXTMAPSECTOR 00 2915 NONEXTMAPSECTOR
00 29A0 NOINCH 00 2937 NOINCH
00 29D0 LABEL79 00 2967 LABEL79
00 29FD LABEL75 00 2994 LABEL75
00 2A0E LABEL81 00 29A5 LABEL81
00 2A1C LABEL82 00 29B3 LABEL82
00 2A2A READPERCOM 00 29C1 READPERCOM
00 2A2F READPERCOMRETRY 00 29C6 READPERCOMRETRY
00 2A43 PERCOMERROR 00 29DA PERCOMERROR
00 2A48 SET1SECT128 00 29DF SET1SECT128
00 2A53 BLOKDANYCHIO_PERCOM 00 29EA BLOKDANYCHIO_PERCOM
00 2A5F READFIRSTSECT 00 29F6 READFIRSTSECT
00 2A75 READSECTOR 00 2A0C READSECTOR
00 2A7E READSECTOR1 00 2A15 READSECTOR1
00 2A8C DISKREADRETRY 00 2A23 DISKREADRETRY
00 2A99 LABEL85 00 2A30 LABEL85
00 2AA3 BLOKDANYCHIO 00 2A3A BLOKDANYCHIO
00 2AAF DISKRETRYCOUNT 00 2A46 DISKRETRYCOUNT
00 2AB0 PRINTXY 00 2A47 PRINTXY
00 2ADC LABEL92 00 2A73 LABEL92
00 2AF9 LABEL90 00 2A90 LABEL90
00 2B00 LABEL91 00 2A97 LABEL91
00 2B08 LABEL89 00 2A9F LABEL89
00 2B1A LABEL93 00 2AB1 LABEL93
00 2B2B LABEL88 00 2AC2 LABEL88
00 2B32 LABEL87 00 2AC9 LABEL87
00 2B38 LABEL94 00 2ACF LABEL94
00 2B3D GOERRORDISP 00 2AD4 GOERRORDISP
00 2B40 GOSIO 00 2AD7 GOSIO
00 2B48 STANDARDSPEED 00 2ADF STANDARDSPEED
00 2B4B TABLE2DCB 00 2AE2 TABLE2DCB
00 2B53 IOTABLEADDR 00 2AEA IOTABLEADDR
00 2B5D CLOSE1 00 2AF4 CLOSE1
00 2B5F CLOSEX 00 2AF6 CLOSEX
00 2B67 GETKEY 00 2AFE GETKEY
00 2BAB GKEYERROR 00 2B42 GKEYERROR
00 2BAE KDRIVER 00 2B45 KDRIVER
00 2BB1 DISCCHANGECHECK 00 2B48 DISCCHANGECHECK
00 2BBA LABEL98 00 2B51 LABEL98
00 2BC7 CHANGEDD 00 2B5E CHANGEDD
00 2BC8 ASTERIKS 00 2B5F ASTERIKS
00 2BE6 GETHEXNUMBER 00 2B7D GETHEXNUMBER
00 2BF6 GETHEX4BITS 00 2B8D GETHEX4BITS
00 2C01 ISNUMBER 00 2B98 ISNUMBER
00 2C02 SETDRIVENR 00 2B99 SETDRIVENR
00 2C15 SETDRIVELETTER 00 2BAC SETDRIVELETTER
00 2C24 SETBLOKDANYCHDRIVE 00 2BBB SETBLOKDANYCHDRIVE
00 2C31 MEMLOPRINT 00 2BC8 MEMLOPRINT
00 2C68 MEMLOVALUE 00 2BFF MEMLOVALUE
00 2C6E XJSRTABLEL 00 2C05 XJSRTABLEL
00 2C78 XJSRTABLEH 00 2C0F XJSRTABLEH
00 2C82 HAPPYOFFSET 00 2C19 HAPPYOFFSET
00 2C84 DENSITYCODES 00 2C1B DENSITYCODES
00 2C87 ONTEXT 00 2C1E ONTEXT
00 2C8A OFFTEXT 00 2C21 OFFTEXT
00 2C8D PDVMASKTEMP 00 2C24 PDVMASKTEMP
00 2C8E PERCOMDATA 00 2C25 PERCOMDATA
00 2C9A FIRSTSECTORSTABLE 00 2C31 FIRSTSECTORSTABLE
00 2D00 FIRSTSECTORBUFF 00 2D00 FIRSTSECTORBUFF
00 2D00 PROGRAMEND 00 2D00 PROGRAMEND
00 2D80 DIRMAPSECTORBUFF 00 2D80 DIRMAPSECTORBUFF
00 2F80 DIRSECTORBUFF 00 2F80 DIRSECTORBUFF
00 2C8E FIRSTRUN 00 2C25 FIRSTRUN
00 2C98 NOSHIFTBOOT 00 2C2F NOSHIFTBOOT
00 2CA1 BASSTATPRINT 00 2C38 BASSTATPRINT
00 2CAA BRAKBASICA 00 2C41 BRAKBASICA
00 2CAC TESTQMEGLOOP 00 2C43 TESTQMEGLOOP
00 2CBE QSTATPRINT 00 2C55 QSTATPRINT
00 2CC7 BRAKQMEGA 00 2C5E BRAKQMEGA
00 2CDF QMEGSTRING 00 2C76 QMEGSTRING
00 0080 MAPCOUNTER 00 0080 MAPCOUNTER
00 0082 COMPRESSEDMAPCOUNTER 00 0082 COMPRESSEDMAPCOUNTER
00 0084 MAPCOUNTERMEM 00 0084 MAPCOUNTERMEM
+1969 -2062
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.