From d1de4937891c5814efbebda2bacfdf864fd93fe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 30 Sep 2016 17:04:55 +0200 Subject: [PATCH] Kernel version 0.8 : Fixed a nasty bug in Relocator, but another one still there in K/LoadFile --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes INC/A2osX.I.txt | 9 ++- SYS/KERNEL.S.BIN.txt | 166 +++++++++++++++++++++---------------------- SYS/KERNEL.S.FIO.txt | 10 ++- SYS/KERNEL.S.PS.txt | 2 +- 6 files changed, 96 insertions(+), 91 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index d8586d6b90e48850eab4eb125b014d08b7535874..13b9a722db70dde83faa71a2d99c76c3f45a17aa 100644 GIT binary patch delta 2696 zcma)7Yj6|S6~4QYEjzVrB{m?8LvKq0F?N~`?HI$PG|50BD3d{ck(!5om21Nfq zysa@Q3;$E6BNQ>F(xF!du}x9mz9_#}h~mQY()Rg0pCV~AMfGg<0boj&o@;B4Vpmdn z-n-aiZF5Coyni3}rK{NW=7dzhXN5{~-GLJPi>QD|TCOODtZX7U0aiK;>#OPrC!37= z5>ehHj1$J6%`+0hWQH(tkMNnc37v3hn-=vh@+^cp7Y<1|I1&}LD520Y6tpz;^cADL(@N@|EjfN0!4A7&k@CqnE3kI7| z$l4X*MYc-mw<}_m^7&3h&N|zmq*ve{D|&!UOd~aB^3zi$TdInfjJ+<83kW0Ph38ruCffou9buN{eNtvsUS>Q$)MMZdEF$+%|~AzM@RoZDO^; z{#=>y^%Jinvu_cR-M5Z6ZVfN8;{Z z08tnS$pAsBUXjnIwkh&I7)EsMQ26Ws-ML*6>+d^mBaZ$&b{p8&E2-^@e3=n1|Ua;6R^xFv%cEt4A^7(UsVRGGf)E%JS9AW zvxod;<@T86N#PULU>2)ltkEpi#QLkb9s5^NwVZ$d>SBAW)R=xO7!hbNmzD?5Wj-Dk z?cC)4MGI@`>3p!4!G3MRZNM)jx{P{cBjlNN?xZT82pV|P;Gi1Vgh*nL zmUv9<+uU$PPtYcQq>@wC0f*=bRX??l>mWRrxvWfW$5gM$lMNF@>iYv|@E&gD1MBkn zKhlv93fQOe+$*sA!B4UN!+ra~+8ljOjQBn7xkC#LTaq>|--B});I%sNEcec#GOC#q z50#nLCVgv?Vl#K~kTu9>|MXNBbp#DGCmrFUw&o<;G{2O>C~bvR#qLe|_JDb^a%y`Y z98*on&2w|mI^e2kobWMRMR%#IaY9du0l<@SX_dG#ufH^pJ*@eH+Cw*pkWI`4N;iJk z=dvvQt{jb6{>@rO+ICOaI-Eg`J)$wr!y4PAwccCY^A@&_${R4=tuZ%Xyhr0*IhfOM zuO>E5^fMDd3r0iIQgQbLeoNmJVU&y8Q7dlGA zTL|vZQTgUI>YBm*B}^PbA!OZ!yfiTGqPzyZ3(5e8$JjpkTXJ|u$NR=Tn zbiWO>9PXkv803D=IQ{9G_aj6mdG1Es(Th=6@;l>q$Cr*Hq`Fx4V_<{tsci4Qv1a delta 2743 zcma)8eQXow8GrBWB!tDpG$ELXmUji3hJ>|cDmClJx~Ysy;sD_zomeZp@#Rc4mCBcd zwAqZ9MyW4zazL{wkds9c&g4zc4h^&#sMCNZl)~BJwGZOlD9|Vw#F$Bgu2jpOI|u0g zo27eycklZ=zvuTn@0Y#Trg*PSk>AcTzxuLZC}Y8pNjg&qfNJ?L8N=x&lQqXRJS1G8AxZ~P6loP;N5ZAiq}U;I@*0F z+H*TTOLs zV=&&mE#_nDQ3tZWhkPi&jxZg}5rm6Q%Y}IJu$(Vug=gn_n`h& zm;mig(;KU5bs_v<%pZ%1|H;UxI`_uoGLylKjM$`%=bA1XGM;LpG2hJkA}D&nX?Y6n zj}aQvW6;SMmxVui-2GF9Ege`Yp#>F8T|o=WuNCI(nZ1sq z(l7W5+Raf?K`*SOO4gUPG+lzrs9{;@s$&Ln0_<20m#WZB1~w{#5(1ADN4*0g8)ieN zUZzTZ_gV`4kKKOvvT$I}s~(OvSifm=(6(wyILa@l_AxI9H2exWR>P4>%CDqjh$B_d z24?Y9)WuiAQvnZ0Qx2*Oq^hZM#^rLg)zG$8lq{$G8X$RvBftQTx_e*-u(*KI1p!hu zRJoE`MU~4g7xAp2Vs$3Pyx3hZlWYBg1^yT}^a02Nwov<_;kGjpVx z)}e}tkjn^|BY!ih{0q#)oMu)k;MeMPtEG?9CJs90)_ukp$fFvl9W+&2tQQ4JcBQSB zrl7b{7g5#jW$D zzwssusfhDt3#p2CR|=c=E@B+QpZ31Qa6)viZ6Oygosym|P4KKmvVd)HKr(?lal~P@ z;B}Ao0$!Hn9YRt4(>6yOR;Lp$O$N_5R=7SmC%)&EpA5w#LGVjUX)m!RJv3yU6|aU zAW9E+$rzDy!L6IM^q4Kq%mA)Q$P4(x3ICx)Q+py9&6wHjgtd$xN+{F7e*ADk$%ZK7 z?FpN{=?idr2n6^UOYpCgNsJ1+e9thW!eQTh<_Y19Z!wb=9{5U_kA%7VmfAj2^*VJ7 zJvuY=4U6zH!MkrJ6A)VW;bpQ4nfO_Y&s5I_&l(~ES@_abyHjHLh}zbxw)LqZ3bUp8 z>FKFH)m~TTj;JsaFr|9cR$HC*Xy7_lg^7JLmwYfJJ%>LS5}7ay(0^XJKRMqr!oM8q zV8PhO!ck+o*rzI|MMm;ABM3#p!ix9jF|x4z{l)8#s}1L^_q|UT62zRKDU1$f`g;1* z+aIgsgbJI*)bp|0bW&~mM180-!ls`&TACh6r>6~EOIuQ(sI8^>AhujuST6m__E2-M zp~wTeL5usinh|qe`5dcP<*lMQjFedsvreL9;eTKC{&?V;G6i06@sPKKK<;A<->1q` z4GsJWH83|~PEP}S1?*oK@|y5#Lmg&=*$ioBT|B8Oe+inzoKwfuW~Aq(XX^>8A;_3GWR5XQ=E+%dwq%cFE9^*)Q!J6#W-}}hXL~8E zq{j9#W{1$%UiRz@N&oXnvLk69dn@E}=~sngVgjo89$SZ@jA!(oo*hYNP|RK&DQw!2 zW!=xjQso(%=Rh@6`B^*1?Q>x-|ZnhI=%*oNOHK-Y^`rVsu)bbCqlw#_vpKlZ#uB zOEfhj=nO#!{o;aQ<5Gm(CFX~15X}bB#JsT0<_7Xktv_sY19=zpkt3S@u8rTX^^*<_ zUJhtv@lBh1zs4W@jYeL&={}(GA8PV?a!?!imVBsB`=JeqXjI8^6{n|hVbsj_D|bhj5tH{8 zOd^7NhVRxIp(UE}t@lAafX?Rrenin)jy|(K;H{sP!@+_={nJspprP@9jrwPMzizc} zn*48)>eiI36w%U-2&xR7suak*na_7>VKm;Q1&SMQAJtzaP0nwGNDYsZbJ+}ro)N|y zvI!6FeZC|R&B#LNZgf{H9^08@2k#Ef7)0nzS{>gV-xEI(KO0}3*pd(v;e?t%=tcEY j_0L0RdLP{X&J_I4pSx1Ihj)Js=T2V(bD!yKWIF!~BO)IA diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index 1feb7c1ebf24a1aa002174f914d2607fb8af773c..941634f62ef2bd10fb06ed8f16f148a3d9a6c297 100644 GIT binary patch delta 10527 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 MQqZy8_v_F6KVNvvod5s; diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 5398e465..c777b210 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -130,11 +130,14 @@ H.BIN.JMP .EQ 2 H.BIN.CODE.TYPE .EQ 4 H.BIN.VERSION .EQ 5 H.BIN.CODE.LEN .EQ 8 -H.BIN.BIN.DS.SIZE .EQ 10 -H.BIN.DEV.HEADER.O .EQ 10 +* +H.BIN.EXE.DS.SIZE .EQ 10 +H.BIN.EXE.REL.TABLE .EQ 16 +* +H.BIN.DRV.DEVCTRLBLK.O .EQ 10 H.BIN.DRV.CODE.O .EQ 12 H.BIN.DRV.CODE.LEN .EQ 14 -H.BIN.RELOC.TABLE .EQ 16 +H.BIN.DRV.REL.TABLE .EQ 0 *-------------------------------------- * A2osX.SYSCALL Functions Indexes *-------------------------------------- diff --git a/SYS/KERNEL.S.BIN.txt b/SYS/KERNEL.S.BIN.txt index cd208e74..5e32a5c9 100644 --- a/SYS/KERNEL.S.BIN.txt +++ b/SYS/KERNEL.S.BIN.txt @@ -40,54 +40,54 @@ K.LoadEXEYA.1 >PUSHWI KrnBuf256 >PUSHW K.LoadEXEYA.Filename jsr K.LoadFile .9 bcs .99 Error Loading file - - >STYA BIN.Relocate.SegLen + + >DEBUG + stx K.LoadEXEYA.hMem save hMem + + pha YA=CODE+DATA size + tya +* clc CC from bcs .99 + + adc BIN.Relocate.Start Get AUXTYPE for actual Base Address + sta BIN.Relocate.End compute Range End=AUXTYPE+FILELEN + pla + adc BIN.Relocate.Start+1 + sta BIN.Relocate.End+1 + txa jsr K.GetMemPtrA - >STYA ZPQuickPtr1 - - ldy #H.BIN.CODE.LEN+1 get Code Len - lda (ZPQuickPtr1),y - tax - dey - lda (ZPQuickPtr1),y - jsr BIN.Relocate.SetCodeLenAX - - lda BIN.Relocate.Start Get AUXTYPE for actual Base Address - clc - adc BIN.Relocate.SegLen - sta BIN.Relocate.End compute Range End=AUXTYPE+FILELEN + >STYA ZPQuickPtr1 set ZPQuickPtr1 -> Code start - lda BIN.Relocate.Start+1 - adc BIN.Relocate.SegLen+1 - sta BIN.Relocate.End+1 + >DEBUG - lda ZPQuickPtr1 + pha YA = actual load address + tya sec sbc BIN.Relocate.Start sta BIN.Relocate.Offset Offset=ZPQuickPtr1-AUXTYPE - - lda ZPQuickPtr1+1 + pla sbc BIN.Relocate.Start+1 sta BIN.Relocate.Offset+1 - jsr Bin.RelocateEXE + ldy #H.BIN.CODE.LEN get Code Len + jsr BIN.SetupCodeEndPtr2 + + jsr BIN.RelocateEXE >LDYA K.LoadEXEYA.Filename get back bin path >SYSCALL SYS.NewPStrYA make a copy of this string bcs .98 - phx save copy - lda K.LoadEXEYA.hMem - jsr K.GetMemByIDA + lda K.LoadEXEYA.hMem Keep X=hMem + jsr K.GetMemByIDA X unmodified >STYA ZPQuickPtr1 lda (ZPQuickPtr1) ora #S.MEM.F.CODE This is a code segment sta (ZPQuickPtr1) - pla + txa Get Back hMem ldy #S.MEM.BIN sta (ZPQuickPtr1),y @@ -111,14 +111,7 @@ K.LoadEXEYA.hMem .BS 1 * BIN.InstallDRV * pDrv = .DRV File Loaded Address *-------------------------------------- -BIN.InstallDRV ldy #H.BIN.DRV.CODE.LEN+1 - lda (pDrv),y - tax - dey - lda (pDrv),y - jsr BIN.Relocate.SetCodeLenAX - - ldy #H.BIN.DRV.CODE.O +BIN.InstallDRV ldy #H.BIN.DRV.CODE.O lda (pDrv),y clc adc BIN.Relocate.Start Advance start From Bin code to DRV code @@ -128,29 +121,28 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.LEN+1 adc BIN.Relocate.Start+1 sta BIN.Relocate.Start+1 - ldy #H.BIN.DRV.CODE.O - lda BIN.Relocate.SegLen + lda BIN.Relocate.End Compute DRVLen=End-start sec - sbc (pDrv),y + sbc BIN.Relocate.Start sta BIN.InstallDRV.DRVLen - iny - lda BIN.Relocate.SegLen+1 - sbc (pDrv),y - sta BIN.InstallDRV.DRVLen+1 Compute DRV Len + + lda BIN.Relocate.End+1 + sbc BIN.Relocate.Start+1 + sta BIN.InstallDRV.DRVLen+1 lda DevMgr.Free clc adc BIN.InstallDRV.DRVLen sta BIN.InstallDRV.DRVEnd + tay Save DRVEnd LO lda DevMgr.Free+1 - adc BIN.InstallDRV.DRVLen+1 + sta ZPQuickPtr3+1 save it for DrvMove + adc BIN.InstallDRV.DRVLen+1 A = DRVEnd HI sta BIN.InstallDRV.DRVEnd+1 - + bcs .98 we crossed $FFFF, out of mem - lda BIN.InstallDRV.DRVEnd - cmp #DevMgr.HiMem - lda BIN.InstallDRV.DRVEnd+1 + cpy #DevMgr.HiMem sbc /DevMgr.HiMem bcs .98 No More Room to load Driver.... @@ -161,7 +153,7 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.LEN+1 sta DevMgr.LastDevID - ldy #H.BIN.DEV.HEADER.O + ldy #H.BIN.DRV.DEVCTRLBLK.O lda (pDrv),y clc adc pDrv @@ -193,6 +185,9 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.LEN+1 adc pDrv+1 sta ZPQuickPtr1+1 + ldy #H.BIN.DRV.CODE.LEN + jsr BIN.SetupCodeEndPtr2 + jsr BIN.RelocateDRV jsr BIN.MoveDRV @@ -210,7 +205,7 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.LEN+1 sec rts *-------------------------------------- -BIN.MoveDRV ldy #H.BIN.DEV.HEADER.O +BIN.MoveDRV ldy #H.BIN.DRV.DEVCTRLBLK.O lda (pDrv),y clc adc pDrv @@ -259,10 +254,8 @@ BIN.MoveDRV ldy #H.BIN.DEV.HEADER.O adc pDrv+1 sta ZPQuickPtr1+1 Make ZPQuickPtr1=DRV.CODE - lda DevMgr.Free - sta ZPQuickPtr2 - lda DevMgr.Free+1 - sta ZPQuickPtr2+1 Make ZPQuickPtr2=Dest Ram Location + >LDYA DevMgr.Free + >STYA ZPQuickPtr2 Make ZPQuickPtr1=Dest location in LC lda BIN.InstallDRV.DrvLen+1 eor #$ff @@ -276,7 +269,7 @@ BIN.MoveDRV ldy #H.BIN.DEV.HEADER.O .2 inx bne .3 pla - inc + dec beq .8 pha @@ -284,35 +277,41 @@ BIN.MoveDRV ldy #H.BIN.DEV.HEADER.O sta (ZPQuickPtr2),y iny bne .2 - inc ZPQuickPtr1+1 inc ZPQuickPtr2+1 bra .2 -.8 rts CC from last ADC +.8 rts *-------------------------------------- BIN.InstallDRV.DrvLen .BS 2 BIN.InstallDRV.DrvEnd .BS 2 *-------------------------------------- -BIN.Relocate.SetCodeLenAX - eor #$ff - sta BIN.Relocate.nCodeLen - txa - eor #$ff - sta BIN.Relocate.nCodeLen+1 +BIN.SetupCodeEndPtr2 + lda (ZPQuickPtr1),y + clc + adc ZPQuickPtr1 + sta ZPQuickPtr2 Make ZPQuickPtr2 = ZPQuickPtr1 + CodeLen + iny + lda (ZPQuickPtr1),y + adc ZPQuickPtr1+1 + sta ZPQuickPtr2+1 rts *-------------------------------------- * BIN.Relocate___ : * In : * ZPQuickPtr1 = Ptr to Code +* ZPQuickPtr2 = End Of Code *-------------------------------------- -BIN.Relocate.SegLen .BS 2 Code+Data Len BIN.Relocate.Start .BS 2 BIN.Relocate.End .BS 2 BIN.Relocate.Offset .BS 2 -BIN.Relocate.nCodeLen .BS 2 !Code length *-------------------------------------- -BIN.RelocateEXE ldy #H.BIN.JMP relocate Main JMP +BIN.RelocateEXE ldy #H.BIN.HEADER+1 + lda (ZPQuickPtr1),y + cmp /H.BIN.HEADER.BIN65 + bne * + + ldy #H.BIN.JMP relocate Main JMP lda (ZPQuickPtr1),y clc adc BIN.Relocate.Offset @@ -323,14 +322,11 @@ BIN.RelocateEXE ldy #H.BIN.JMP relocate Main JMP adc BIN.Relocate.Offset+1 sta (ZPQuickPtr1),y - ldy #H.BIN.RELOC.TABLE skip Header, CS.SIZE & DS.SIZE... (16 bytes) - - - >DEBUG - + ldy #H.BIN.EXE.REL.TABLE skip Header, CS.SIZE & DS.SIZE... (16 bytes) + .HS 2C bit abs *-------------------------------------- -BIN.RelocateDRV ldy #0 +BIN.RelocateDRV ldy #H.BIN.DRV.REL.TABLE .1 lda (ZPQuickPtr1),y Start Relocate JMP table tax LO in X @@ -362,24 +358,19 @@ BIN.RelocateDRV ldy #0 bcc .3 inc ZPQuickPtr1+1 ZPQuickPtr1=Current Code PTR -.3 inc BIN.Relocate.nCodeLen - bne .4 nCodeLen reached 0 ? - inc BIN.Relocate.nCodeLen+1 - beq .8 no, continue relocating - -.4 lda (ZPQuickPtr1) get OPCODE +.3 lda (ZPQuickPtr1) get OPCODE lsr /2 tax lda BIN.OPCODES,x get OPCODE definition - bcs .5 go get LO nibble + bcs .4 go get LO nibble lsr lsr move HI -> LO lsr lsr -.5 and #$0f +.4 and #$0f bit #$8 abs addressing? - beq .7 no.... + beq .6 no.... and #7 save Opcode length... pha @@ -393,13 +384,13 @@ BIN.RelocateDRV ldy #0 cpx BIN.Relocate.Start lda (ZPQuickPtr1),y Get HI sbc BIN.Relocate.Start+1 - bcc .6 addr < BIN.Relocate.Start, out of range + bcc .5 addr < BIN.Relocate.Start, out of range txa Get back LO cpx BIN.Relocate.End lda (ZPQuickPtr1),y Get HI sbc BIN.Relocate.End+1 - bcs .6 addr > BIN.Relocate.End, out of range + bcs .5 addr > BIN.Relocate.End, out of range txa Get back LO * clc CC from bcs .6 @@ -411,14 +402,19 @@ BIN.RelocateDRV ldy #0 adc BIN.Relocate.Offset+1 sta (ZPQuickPtr1),y store relocated addr HI -.6 pla get back Opcode length... +.5 pla get back Opcode length... -.7 clc A = OPCODE length +.6 clc A = OPCODE length adc ZPQuickPtr1 sta ZPQuickPtr1 - bcc .3 + bcc .7 inc ZPQuickPtr1+1 - bra .3 next opcode.... + +.7 eor ZPQuickPtr2 A = ZPQuickPtr1 + bne .3 + lda ZPQuickPtr1+1 + eor ZPQuickPtr2+1 + bne .3 next opcode.... .8 rts *-------------------------------------- diff --git a/SYS/KERNEL.S.FIO.txt b/SYS/KERNEL.S.FIO.txt index db40b9fa..2a704500 100644 --- a/SYS/KERNEL.S.FIO.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -145,13 +145,13 @@ K.LoadFile jsr K.FOPEN ldx #SYS.FSEEK.SET jsr K.LoadFile.Seek - bcs .99 + bcs .97 >PUSHW K.LoadFile.Mem >PUSHW K.LoadFile.Len >PUSHB K.LoadFile.hFile jsr K.FREAD - bcs .99 + bcs .97 jsr .99 @@ -159,6 +159,12 @@ K.LoadFile jsr K.FOPEN ldx K.LoadFile.hMem clc .9 rts + +.97 pha + lda K.LoadFile.hMem + jsr K.FreeMemA + pla + .HS 2C .98 lda #SYSMGR.ERRFTB diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index 86fdb3a8..b850b95b 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -265,7 +265,7 @@ PS.Init >LDYA K.CreateProcess.CmdLine ldy #S.PS.hCS sta (ZPQuickPtr3),y save CS hMem in TSKSLOT - ldy #H.BIN.BIN.DS.SIZE+1 + ldy #H.BIN.EXE.DS.SIZE+1 lda (ZPQuickPtr4),y Load DS.SIZE HI tax dey