NetBSD 7.1 on the Atari TT

Blogs & guides and tales of woo by forum members.
User avatar
Icky
Site Admin
Site Admin
Posts: 3986
Joined: Sun Sep 03, 2017 10:57 am
Location: UK

Re: NetBSD 7.1 on the Atari TT

Post by Icky »

Have been battling time and failures. The New Year has started with a bang. My day job is keeping me away from the land of Atari and to top it all my main computer (where I have been compiling NetBSD) has had a motherboard failure and am waiting a new board.

However despite these annoying distractions I have managed to get the Falcon code for IDE into a kernel for NetBSD 7.1.1. Not so impressed with my coding as its hacky (being a quality software developer manager I need to give myself a good talking to). I intend to clean up and create a proper selection for this in NetBSD code using flags etc.

However I am at the kernel panic / debug stage as it is bombing at the initialising the wdc0 at mainbus0 on startup.
User avatar
Icky
Site Admin
Site Admin
Posts: 3986
Joined: Sun Sep 03, 2017 10:57 am
Location: UK

Re: NetBSD 7.1 on the Atari TT

Post by Icky »

So still no further forward - kernel panics. Have been battling work and not the Atari world :( . Just wanted to post an update.

Currently I have a new kernel config which I have called ATARITT-THUNDER it is set to activate the IDE-bus using the following in the kernel config:

Code: Select all

wdc0 at mainbus0 # IDE-bus
atabus* at wdc? channel ?
wd* at atabus? drive ?
However this is not the only thing that is needed as there are a few statements around IDE code in the wdc_mb.c file that need to allow the TT to use those branches.

Code: Select all

if (machineid & ATARI_FALCON)
From what I can gather these will allow the kernel to run this on the Atari TT with the Thunder board. There are some items I have questions around. Firstly does the Thunder card use the same address space as the Falcon:

Code: Select all

/* Falcon IDE register locations (base and offsets). */
#define FALCON_WD_BASE  0xfff00000
#define FALCON_WD_LEN   0x40
#define FALCON_WD_AUX   0x38
There is also some initiation with the Atari Falcon to turn on the IDE before its probed by tapping the ym2149. Which I believe Port A has a bit to turn the IDE on or off (handy doc on Atari hardware registers http://deunstg.free.fr/sct1/hardware.htm)

Code: Select all

ym2149_ser2(0);
When booting with the new kernel it panics initialising the wdc. I am still in the process of debugging to see where thesis failing.

On another note I am also compiling xfce4 for this NetBSD build so as to have a half decent desktop from twm. This has resulted in many packages that are not in the existing repositories for Atari NetBSD.
troed
Moderator
Moderator
Posts: 908
Joined: Mon Aug 21, 2017 10:27 pm

Re: NetBSD 7.1 on the Atari TT

Post by troed »

How TT specific is all this?

I'm very interested in getting a modern unix onto my Falcon CT60e and the existing Debian m68k seems old and lacking from active maintaining.
User avatar
Icky
Site Admin
Site Admin
Posts: 3986
Joined: Sun Sep 03, 2017 10:57 am
Location: UK

Re: NetBSD 7.1 on the Atari TT

Post by Icky »

troed wrote: Thu Feb 15, 2018 8:59 pm How TT specific is all this?

I'm very interested in getting a modern unix onto my Falcon CT60e and the existing Debian m68k seems old and lacking from active maintaining.
The NetBSD for Atari can be run on a stock ST although its pretty slow and not useable as there is a lot of disabled features. There is support for the TT, Falcon, Hades and Milan. If you were to follow the build walk through on the wiki link posted in the first post http://netbsd-ataritt.wikia.com/wiki/Ne ... tari_TT030 you could get it to build on the Falcon.

I can compile the Falcon kernel and copy it to /. I current use this option to select a kernel at boot by holding the RIGHT-SHIFT key after the memory test. I do this for testing different builds of the Thunder kernel I am playing with.

What I will do is clean up the image (as it has a lot of dev and src floating around) this weekend and post it to work on the Atari TT and have the option to try a Falcon compiled kernel at boot time.

So that said look out for Atari TT NetBSD 7.1 image v1 coming soon - which will be basic NetBSD which can launch X but will not have the xcfe4, Thunder or et4000 support as i am still working on this.
User avatar
Icky
Site Admin
Site Admin
Posts: 3986
Joined: Sun Sep 03, 2017 10:57 am
Location: UK

Re: NetBSD 7.1 on the Atari TT

Post by Icky »

Just built the Falcon kernel and placed in /. I have no way of testing as I don't have a Falcon but it has the options of supporting 68030-060.

Code: Select all

options M68030 # support for 030
options FPU_EMULATE # Support for MC68881/MC68882 emulator
options M68040 # support for 040
options M68060 # support for 060
options FPSP # 68040 Floatingpoint support
options M060SP # MC68060 software support (Required for 060)
As mentioned in the previous post I will clean up the image this weekend and post with instructions thereafter.
User avatar
frank.lukas
Posts: 660
Joined: Fri Jan 19, 2018 11:52 am

Re: NetBSD 7.1 on the Atari TT

Post by frank.lukas »

Send a eMail to Izumi Tsutsui about the IDE Interface on the Atari TT ...
User avatar
Icky
Site Admin
Site Admin
Posts: 3986
Joined: Sun Sep 03, 2017 10:57 am
Location: UK

Re: NetBSD 7.1 on the Atari TT

Post by Icky »

frank.lukas wrote: Fri Feb 16, 2018 11:48 am Send a eMail to Izumi Tsutsui about the IDE Interface on the Atari TT ...
Thanks Frank. I also need to reach out to lightning team with some questions around the Thunder card.
pakman
Posts: 66
Joined: Fri Feb 16, 2018 10:04 pm

Re: NetBSD 7.1 on the Atari TT

Post by pakman »

Icky wrote: Thu Feb 15, 2018 6:54 pm There are some items I have questions around. Firstly does the Thunder card use the same address space as the Falcon:

Code: Select all

/* Falcon IDE register locations (base and offsets). */
#define FALCON_WD_BASE  0xfff00000
#define FALCON_WD_LEN   0x40
#define FALCON_WD_AUX   0x38
Yes, it uses the same address space as the Falcon.
The hardwired base address is 0x00FFF000. Anyhow, TOS 3.06 is using the 68030 MMU to map 0xFFFFF000 to 0x00FFF000 as well.
ATA registers will show up from base + 0x00 to base + 0x39.

From your code above I understand:
- FALCON_WD_BASE: Ok, this is the base address
- FALCON_WD_AUX: Ok, this is the offset to the alternate status register, the uppermost ATA register
- FALCON_WD_LEN: Not sure, what this is supposed to do on a Falcon. The Thunder card will throw a bus error when the offset exceeds 0x3F!
Icky wrote: Thu Feb 15, 2018 6:54 pm There is also some initiation with the Atari Falcon to turn on the IDE before its probed by tapping the ym2149. Which I believe Port A has a bit to turn the IDE on or off (handy doc on Atari hardware registers http://deunstg.free.fr/sct1/hardware.htm)

Code: Select all

ym2149_ser2(0);
The Thunder card can be enabled/disabled by Jumper only.
Setting the YM2149 port bit has no effect on the Thunder at all.
User avatar
Icky
Site Admin
Site Admin
Posts: 3986
Joined: Sun Sep 03, 2017 10:57 am
Location: UK

Re: NetBSD 7.1 on the Atari TT

Post by Icky »

pakman wrote: Fri Feb 16, 2018 10:59 pm
Icky wrote: Thu Feb 15, 2018 6:54 pm There are some items I have questions around. Firstly does the Thunder card use the same address space as the Falcon:

Code: Select all

/* Falcon IDE register locations (base and offsets). */
#define FALCON_WD_BASE  0xfff00000
#define FALCON_WD_LEN   0x40
#define FALCON_WD_AUX   0x38
Yes, it uses the same address space as the Falcon.
The hardwired base address is 0x00FFF000. Anyhow, TOS 3.06 is using the 68030 MMU to map 0xFFFFF000 to 0x00FFF000 as well.
ATA registers will show up from base + 0x00 to base + 0x39.

From your code above I understand:
- FALCON_WD_BASE: Ok, this is the base address
- FALCON_WD_AUX: Ok, this is the offset to the alternate status register, the uppermost ATA register
- FALCON_WD_LEN: Not sure, what this is supposed to do on a Falcon. The Thunder card will throw a bus error when the offset exceeds 0x3F!
Icky wrote: Thu Feb 15, 2018 6:54 pm There is also some initiation with the Atari Falcon to turn on the IDE before its probed by tapping the ym2149. Which I believe Port A has a bit to turn the IDE on or off (handy doc on Atari hardware registers http://deunstg.free.fr/sct1/hardware.htm)

Code: Select all

ym2149_ser2(0);
The Thunder card can be enabled/disabled by Jumper only.
Setting the YM2149 port bit has no effect on the Thunder at all.
Thanks for the info pakman - I will take a look and see how this can help with my debugging.
User avatar
Icky
Site Admin
Site Admin
Posts: 3986
Joined: Sun Sep 03, 2017 10:57 am
Location: UK

Re: NetBSD 7.1 on the Atari TT

Post by Icky »

:excited: Here it is the first version of the AtariTT NetBSD 7.1 image. :excited:

There are probably loads of things I have missed but this is the first version so all feedback / questions welcome.

Firstly I would like to thank exxos and IngoQ for helping me with hosting the file.

So here are some instructions to get you started:

Download the file https://hub.e-quade.de/exxos/netbsd-atari-7.1.zip and unzip to the file netbsd-7.1-ataritt-v1.img

Just a warning the file is about 1.3GB in size

Using the unix command dd copy the image to your disk such as SD card which I use a Gigafile. On a Unix, Linux or OSX machine find the SD card disk device /dev/diskX where X is the disk number of the SD card.

Code: Select all

dd bs=1m if=netbsd-7.1-ataritt-v1.img of=/dev/diskX
Once you have copied over your image to your physical disk pop it in the Atari TT and boot - be patient (remember the Atari TT is not a fast PC).

There are 3 kernels available by default it loads option 1. To boot into one of the other kernels after the memory test on the Atari hold down the RIGHT-SHIFT key and a boot prompt will appear:
  1. netbsd - current Atari TT 7.1.1 kernel with a larger st_pool_size to allow X to work in TT HIGH
  2. netbsd-7.1 - original Atari TT kernel
  3. netbsd-7.1-falcon - kernel compiled for Falcon (not tested)
Once booted there are two logins

Root account:
  • user: root
  • password: ataritt

Unprivileged user account:
  • user: atarian
  • password: ataritt

Network is DHCP enabled but may need a bit more configuration:
  • hostname: atari.local
Setup in /etc/rc.conf is:

Code: Select all

hostname=atari.local

dhclient=YES

sshd=NO

xdm=NO
  • ssh is turned off as ssh slows the system down. I use it but the boot up takes longer.
  • xdm is turned off so you have to launch X as startx (only works under root)
Enjoy!
Post Reply

Return to “MEMBER BLOGS”