Skip to content

Commit

Permalink
TOS060 2.00 & TOS Drivers 1.00
Browse files Browse the repository at this point in the history
Fragments of flash.tos, flash.tos/tos and flash.tos/nonfree are kept as
is.
  • Loading branch information
Didier Méquignon authored and mikrosk committed Jan 7, 2024
1 parent d66b7c0 commit 7c75dc0
Show file tree
Hide file tree
Showing 334 changed files with 164,711 additions and 73,368 deletions.
16 changes: 16 additions & 0 deletions Linux/README.TXT
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
This ataboot is only for the F030/CT60 and the Videl.

If the Radeon/CTPCI are used, it is possible to avoid that the kernel use
the Videl, for example with bootargs :

-V 0x4303 -k vmlinuz root=/dev/hda9 video=atafb:external:1920;1080;8;p;0x40000000

0x4303 is the modecode for the Radeon driver (Vsetscreen) used inside Ataboot.
external is here for the send infos to the kernel (0x40000000 isthe
screen address, 'p' for packed pixels, 't' for true color).

In this case you must also select Linux boot with CT60CONF.CPX for use
the internal ataboot (else Videl is used).
For capture the hex value of a modecode you can uuse VIDEOCNF.CPX with
a double-click inside the list of screens.

Binary file modified MagiC/auto/ct60xbio.prg
Binary file not shown.
Binary file modified MagiC/auto/magxboot.prg
Binary file not shown.
3 changes: 3 additions & 0 deletions MagiC/auto/magxboot.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
WARNING !
MAGXBOOT.PRG add a patch for boot on IDE slave if boot order setting
with the CT60CONF.CPX select IDE1 before IDE0.
Binary file added MagiC/auto/spdgdos.prg
Binary file not shown.
2 changes: 2 additions & 0 deletions MagiC/auto/spdgdos.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SPDGDOS.PRG disable the caches, start the original C:\GDOS\SPDGDOS.PRG,
and enable the caches
77 changes: 73 additions & 4 deletions MagiC/auto/src/magxboot.l
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ PROC_TYPE EQU $59E
_COOKIE EQU $5A0
RAMTOP EQU $5A4
RAMVALID EQU $5A8
rw_parameter EQU $C60B
CT60_MODE_READ EQU 0
CT60_BOOT_ORDER EQU 3

ILABEL TOS.Q

Expand All @@ -30,7 +33,9 @@ DEBUT:
BPL \1
CLR.L MACHINE
CLR CT60
CLR CTPCI
CLR EXT_CLOCK
CLR IDE_SLAVE
MOVE.L #"_MCH",D0
BSR GET_COOKIE
BMI.S \2;pas de cookie-jar
Expand All @@ -47,6 +52,31 @@ DEBUT:
CMP.L #60,CPU
BNE.S \3
ST.B CT60
CLR.L -(SP)
MOVE.l #CT60_BOOT_ORDER,-(SP)
MOVE.W #CT60_MODE_READ,-(SP)
MOVE.W #rw_parameter,-(SP)
TRAP #14
LEA 12(SP),SP
TST.L D0
BMI.S \50
;0: New boot SCSI0-7 -> IDE0-1
;1: New boot IDE0-1 -> SCSI0-7
;2: New boot SCSI7-0 -> IDE1-0
;3: New boot IDE1-0 -> SCSI7-0
;4: Old boot SCSI0-7 -> IDE0-1
;5: Old boot IDE0-1 -> SCSI0-7
;6; Old boot SCSI7-0 -> IDE1-0
;7: Old boot IDE1-0 -> SCSI7-0
BTST #1,D0
SNE.B D0
EXT.W D0
MOVE D0,IDE_SLAVE
\50:MOVE.L #"_PCI",D0
BSR GET_COOKIE
SPL.B D0
EXT.W D0
MOVE.W D0,CTPCI
MOVE.L #"_FPU",D0
BSR GET_COOKIE
BMI.S \3;pas de cookie-jar
Expand Down Expand Up @@ -368,7 +398,36 @@ DEBUT:
PRINTLINE MESS17
ADDQ #1,D2
BRA \23
\47:CMP.L #$40C1007C,D0;PSG imprimante
\47:TST CTPCI
BEQ.S \48
CMP.L #$46FC2300,D0;move #$2300,SR
BNE.S \48
CMP #$7001,4(A1)
BNE.S \48
MOVE #$4E40,4(A1);trap #0 TOS
PRINTLINE MESS24
ADDQ #1,D2
BRA \23
\48:TST IDE_SLAVE
BEQ.S \52
CMP.L #$70102078,D0;moveq #$70,D0
BNE.S \52
CMP.W #$04C6,4(A1)
BNE.S \52
MOVE.W #$7011,(A1)
PRINTLINE MESS25
ADDQ #1,D2
MOVEQ #49,D0
MOVE.L A1,A0
\53:ADDQ.L #2,A0
CMP.L #$78106100,(A0);moveq #$70,D4
DBEQ D0,\53
BNE \23
MOVE.W #$7811,(A0)
PRINTLINE MESS25
ADDQ #1,D2
BRA \23
\52:CMP.L #$40C1007C,D0;PSG imprimante
BNE \23
CMP.L #$070043F8,4(A1)
BNE \23
Expand Down Expand Up @@ -419,10 +478,16 @@ DEBUT:
SUBQ.L #1,D1
BGT \22
MOVEQ #19,D3
TST EXT_CLOCK
TST CTPCI
BEQ.S \49
ADDQ #1,D3
\49:TST EXT_CLOCK
BEQ.S \42
ADDQ #3,D3
\42:CMP D3,D2
\42:TST IDE_SLAVE
BEQ.S \51
ADDQ #3,D3
\51:CMP D3,D2
BEQ \21
PRINTLINE ERR
LINK A5,#-4
Expand Down Expand Up @@ -597,6 +662,8 @@ MESS20:DC.B 13,10,"Internal clock : ",0
MESS21:DC.B ", External clock : ",0
MESS22:DC.B " Mhz",0
MESS23:DC.B 13,10,"Patch PSG printer",0
MESS24:DC.B 13,10,"Patch CTPCI",0
MESS25:DC.B 13,10,"Patch boot IDE slave",0
NOM_MAGIC:DC.B "\magic.ram",0
ERR:DC.B 13,10,10,"WARNING ! A part is not patched ! (",0

Expand All @@ -605,10 +672,12 @@ ERR:DC.B 13,10,10,"WARNING ! A part is not patched ! (",0
ALIGN.W

CT60:DS.W 1
CTPCI:DS.W 1
IDE_SLAVE:DS.W 1
EXT_CLOCK:DS.W 1
MACHINE:DS.L 1
CPU:DS.L 1
FPU:DS.L 1

END

101 changes: 101 additions & 0 deletions MagiC/auto/src/spdgdos.l
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
PROC_TYPE EQU $59E
_COOKIE EQU $5A0

ILABEL TOS.Q

DEBUT:

MOVE.L 4(SP),A5;d‚but de la basepage
MOVE.L $C(A5),D0;taille segment TEXT
ADD.L $14(A5),D0;taille segment DATA
ADD.L $1C(A5),D0;taille segment BSS
ADD.L #1800,D0;pour la pile et la basepage
AND.B #$FE,D0
LEA -104(A5,D0.L),SP
SETBLOCK D0,(A5)
MOVE.L #"_CPU",D0
BSR GET_COOKIE
BMI \1;pas de cookie-jar
MOVE.L D0,A0
CMP.L #60,(A0)
BNE \1
SUPEXEC CACHE_OFF
EXEC ENV,COM,NOM,#0
SUPEXEC CACHE_ON
TERM
\1:EXEC ENV,COM,NOM,#0
TERM
ILLEGAL
RTS

CACHE_OFF:

MOVE SR,-(SP)
OR #$700,SR;masque IRQ
MOVEQ #0,D0;inhibe & vide caches
DC.L $4E7B0002;MOVEC.L D0,CACR
DC.W $F4F8;CPUSHA BC
MOVE (SP)+,SR
RTS

CACHE_ON:

MOVE SR,-(SP)
OR #$700,SR;masque IRQ
DC.W $F4F8;CPUSHA BC
MOVE.L #$A0C08000,D0;68060
; B31:EDC Enable Data Cache
; B29:ESB Enable Store Buffer
; B23:EBC Enable Branch Cache
; B22:CABC Clear All Entries Branch Cache
; B15:EIC Enable Instruction Cache
DC.L $4E7B0002;MOVEC.L D0,CACR
MOVE (SP)+,SR
RTS

GET_COOKIE:;nom dans D0.L, au retour si < 0 pas de cookie
;retourne le pointeur sur donn‚e cookie dans D0

MOVEM.L D1-A1/A6,-(SP)
MOVE.L D0,D6
SUB.L A6,A6
SUPER 1
TST.L D0
BMI.S \5;mode superviseur
SUPER 0
MOVE.L D0,A6;sauve SSP
\5:MOVEQ #0,D7
MOVE.L _COOKIE,D0
BEQ.S \1
MOVE.L D0,A0
\2:TST.L (A0)
BEQ.S \1
CMP.L (A0),D6
BNE.S \3
MOVE.L A0,D7
ADDQ #4,D7
BRA.S \1
\3:ADDQ #8,A0
BRA.S \2
\1:MOVE.L A6,D0
BEQ.S \4
SUPER (A6)
\4:MOVEQ #-1,D6
MOVE.L D7,D0
BEQ.S \6
MOVEQ #0,D6
\6:TST D6
MOVEM.L (SP)+,D1-A1/A6
RTS

DATA

ALIGN

NOM:DC.B "C:\GDOS\SPDGDOS.PRG",0
ALIGN
COM:DC.B 0
ENV:DC.B 0

END

27 changes: 27 additions & 0 deletions MagiC/gemsys/gemdesk/chgres/chgres.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/* Indice du ressource pour CHGRES */

#define CHOIXVIDEO 0 /* Formulaire/Dialogue */
#define BOXRES 0 /* BOX dans l'arbre CHOIXVIDEO */
#define BICONERES 1 /* USERDEF dans l'arbre CHOIXVIDEO */
#define COUL 3 /* BUTTON dans l'arbre CHOIXVIDEO */
#define RES1 5 /* TEXT dans l'arbre CHOIXVIDEO */
#define RES2 6 /* TEXT dans l'arbre CHOIXVIDEO */
#define RES3 7 /* TEXT dans l'arbre CHOIXVIDEO */
#define RES4 8 /* TEXT dans l'arbre CHOIXVIDEO */
#define RES5 9 /* TEXT dans l'arbre CHOIXVIDEO */
#define RES6 10 /* TEXT dans l'arbre CHOIXVIDEO */
#define RES7 11 /* TEXT dans l'arbre CHOIXVIDEO */
#define RES8 12 /* TEXT dans l'arbre CHOIXVIDEO */
#define RES9 13 /* TEXT dans l'arbre CHOIXVIDEO */
#define RES10 14 /* TEXT dans l'arbre CHOIXVIDEO */
#define BHAUT 15 /* BOXCHAR dans l'arbre CHOIXVIDEO */
#define SLIDER 16 /* BOX dans l'arbre CHOIXVIDEO */
#define BSLIDER 17 /* BOX dans l'arbre CHOIXVIDEO */
#define BBAS 18 /* BOXCHAR dans l'arbre CHOIXVIDEO */
#define BSAUVER 19 /* BUTTON dans l'arbre CHOIXVIDEO */
#define BOK 20 /* BUTTON dans l'arbre CHOIXVIDEO */
#define BABANDON 21 /* BUTTON dans l'arbre CHOIXVIDEO */
#define INFORES 22 /* TEXT dans l'arbre CHOIXVIDEO */
#define BTEST 23 /* BUTTON dans l'arbre CHOIXVIDEO */

#define CHAINE1 0 /* Chaine libre */
Binary file added MagiC/gemsys/gemdesk/chgres/chgres.hrd
Binary file not shown.
Loading

0 comments on commit 7c75dc0

Please sign in to comment.