Nachts im Muse... *hust!* ääääähhhh... Emulator...

Alle Projekte hier herein, egal ob mit einem Atmel, Pic, oder einen anderen µC realisiert
Antworten
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Nachts im Muse... *hust!* ääääähhhh... Emulator...

Beitrag von yeti »

Mir kommt die nächsten Tage ein Duinomite-Mini ins Haus.
Erstmal soll der eher Werkzeug spielen, aber das wird dann ein anderer Thread... spääääter...

Da es aber für das süße kleine Biest auch BSD gibt, konnte ich nicht widerstehen, das wenigstens mal in "virtualmips", einem PIC32-Emulator, anzutesten.

Kernel und Filesystem sind binär ergattert, nur "virtualmips" hab ich lokal kompeilert...

Genau genommen hab ich den ChipKit-MAX32-Kernel getestet und nicht den für den Duinomite, da Ersterer in neuerer Version downloadbar war, aber das spielt letztlich keine Bratsche... schlimmstenfalls nur 'ne ganz winzige Geige...

Code: Alles auswählen

(yeti@darkstar:9)~/wrk/tmp$ ./pic32
VirtualMIPS (version 0.06-retrobsd)
Copyright (c) 2008 yajin, 2011 vak.
Build date: Dec 19 2014 06:38:28

Using configure file: pic32_max32.conf
ram_size: 128k bytes 
boot_method: Binary 
flash_type: NOR FLASH 
flash_size: 492k bytes 
flash_file_name: unix.bin 
flash_phy_address: 0x1d000000 
boot_from: NOR FLASH 
sdcard_port: SPI4
sdcard0_size: 340M bytes
sdcard0_file_name: filesys.img
start_address: 0x9d001000
uart1_type = console
--- Start simulation: PC=0x9d001000, JIT disabled

2.11 BSD Unix for PIC32, revision 511 build 1:
     Compiled 2012-02-26 by vak@Cobra.local:
     /Volumes/Users/vak/Project/retrobsd/trunk/sys/pic32/max32
cpu: 795F512L 80 MHz, bus 80 MHz
oscillator: HS crystal, PLL div 1:2 mult x20
console: port UART1
sd: port SPI4, select pins D3, D4
sd0: type I, size 348160 kbytes, speed 13 Mbit/sec
phys mem  = 128 kbytes
user mem  = 96 kbytes
root dev  = (0,0)
root size = 16384 kbytes
swap dev  = root, offset 65
swap size = 2048 kbytes
/dev/sd0: 280 files, 9198 used, 7121 free
Starting daemons: update


2.11 BSD UNIX (pic32) (console)

login: root        
Password:
Welcome to RetroBSD!
erase, kill ^U, intr ^C
# ls -l /
total 2063
-rwxrwxrwx  1 root          124 Feb 26 00:50 .profile
drwxrwxrwx  2 root         2048 Feb 26 00:50 bin
drwxrwxrwx  2 root         1024 Feb 26 00:50 dev
drwxrwxrwx  2 root         1024 Feb 26 00:50 etc
drwxrwxrwx  3 root         1024 Feb 26 00:50 games
drwxrwxrwx  3 root         1024 Feb 26 00:50 include
drwxrwxrwx  2 root         1024 Feb 26 00:50 lib
drwxrwxrwx  2 root         1024 Feb 26 00:50 libexec
drwxrwxrwx  2 root         1024 Feb 26 00:50 lost+found
drwxrwxrwx  2 root         1024 Feb 26 00:50 sbin
drwxrwxrwx  4 root         1024 Feb 26 00:50 share
-r--------  1 root      2097152 Feb 26 00:50 swap
drwxrwxrwx  2 root         1024 Feb 26 00:50 tmp
drwxrwxrwx  2 root         1024 Feb 26 00:50 u
drwxrwxrwx  4 root         1024 Feb 26 00:50 var
# df
Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/sd0        16319     9199     7120    56%    /
# cd games
# ls
adventure    bcd          fish         ppt          worm
arithmetic   canfield     lib          primes       worms
backgammon   cfscores     morse        rain         wump
banner       factor       number       teachgammon
# banner woot

                       #
 #   #   ###    ###   ###
 #   #  #   #  #   #   #
 # # #  #   #  #   #   #
 # # #  #   #  #   #   #
  # #    ###    ###     #
# factor 123456789
        3
        3
        3607
        3803
# cd /
# ls bin
[           col         head        nice        rz          test
adb         comm        hostid      nm          sb          time
adc-demo    cp          hostname    nohup       scm         touch
aout        cpp         id          od          sed         tr
apropos     date        iostat      pagesize    setty       true
ar          dc          join        passwd      sh          tsort
as          dd          kill        portio      size        tty
awk         df          la          pr          sl          uname
basename    diff        last        printf      sleep       uniq
basic       du          ld          ps          sort        vi
bc          echo        ln          pwd         split       vmstat
cal         ed          login       ranlib      strip       w
cat         egrep       lol         rb          stty        wall
cb          expr        ls          re          su          wc
cc          false       mail        renice      sum         whatis
chflags     fgrep       make        renumber    sx          whereis
chfn        file        man         retroforth  sync        who
chgrp       find        med         rev         sysctl      whoami
chmod       forth       mesg        rm          sz          write
chpass      fstat       mkdir       rmail       tail        xargs
chsh        grep        more        rmdir       tar
cmp         groups      mv          rx          tee
# ls sbin
chown     fastboot  init      mkpasswd  pstat     umount    vipw
chroot    fsck      mkfs      mount     reboot    update
disktool  halt      mknod     poweroff  shutdown  updatedb
# awk
/bin/awk: too big
# echo ':.('
:.(
# halt
killing processes... done
syncing disks... done
halted
9d0025d4: wait instruction with interrupts disabled - stop the simulator.

--- Stop simulation
...es ist also noch Einiges zu tun... insbesondere wird's richtig interessant mit den neueren noch fetteren PIC32-Schönheiten...

Mehr dazu gibt's bei http://retrobsd.org.

...vielleicht geht der Trend ja auch zum Zweit-Duinomite, wenn der Erstere generell überzeugt und als Werkzeug im Einsatz bleibt... ;-)
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Tadaaaaaa...

Beitrag von yeti »

Neues aus dem Muse... *hust!* ääääähhhh... Emulator...

Annuntio vobis gaudium magnum: Habemus Cross-Toolchain!

Marke "Homegrown"!

Mittlerweile tut RetroBSD, als könne man es unter Debian6-LTE bauen, aber dann verhält es sich im Muse... ääääähhhh... Emulator seltsam.

+++Edit 20150101
Als dann RetroBSD auf die reale Hardware losgelassen wurde, stellte sich heraus, daß das seltsame Verhalten am Emulator lag. Der unter der Debian6-Cross-MIPS-Toolchain gebaute Kernel und sein Filesystem verhalten sich in Allem bislang völlig korrekt auf dem Duinomite-Mini.
---Edit 20150101


Der Toolchain-Bau muß unter dem noch im Freeze steckenden Debian8 etwas modifiziert werden, aber danach schaut's besser aus und auch im Muse... ääääähhhh... Emulator benimmt sich das Kompilat dann schön handzahm... ;-)

+++Edit 20150101
Naja... der Emulator zickte etwas weniger unter Debian8... das war das ganze Mysterium...
---Edit 20150101

Code: Alles auswählen

(yeti@aurora:6)/opt/retrobsd.git/tools/virtualmips$ ./pic32
VirtualMIPS (version 0.06-retrobsd)
Copyright (c) 2008 yajin, 2011 vak.
Build date: Dec 25 2014 19:01:38

Using configure file: pic32_max32.conf
ram_size: 128k bytes 
boot_method: Binary 
flash_type: NOR FLASH 
flash_size: 492k bytes 
flash_file_name: ../../sys/pic32/max32/unix.bin 
flash_phy_address: 0x1d000000 
boot_from: NOR FLASH 
sdcard_port: SPI4
sdcard0_size: 340M bytes
sdcard0_file_name: ../../sdcard.img
start_address: 0x9d001000
uart1_type = console
--- Start simulation: PC=0x9d001000, JIT disabled

2.11 BSD Unix for PIC32, revision G185 build 13:
     Compiled 2014-12-25 by yeti@aurora:
     /opt/retrobsd.git/sys/pic32/max32
cpu: 795F512L 80 MHz, bus 80 MHz
oscillator: HS crystal, PLL div 1:2 mult x20
console: tty0 (5,0)
sd0: port SPI4, select pin D3
sd1: port SPI4, select pin D4
sd1: no SD/MMC card detected
sd0: type I, size 348160 kbytes, speed 13 Mbit/sec
phys mem  = 128 kbytes
user mem  = 96 kbytes
root dev  = rd0a (0,1)
root size = 102400 kbytes
swap dev  = rd0b (0,2)
swap size = 2048 kbytes
/dev/rd0a: 656

2.11 BSD UNIX (pic32) (console)

login: root
Password:
Welcome to RetroBSD!
erase, kill ^U, intr ^C
# cd /u
# cat x.c
main()
{
        puts("Hello RetroBSD!");
}
# scc x.c -o x
# ./x
Hello RetroBSD!
# halt
killing processes... done
syncing disks... done
halted
9d00ae2c: wait instruction with interrupts disabled - stop the simulator.

--- Stop simulation
Ich fühl mich in der Duinomite-Materie noch nicht fit genug, um so kurz nach Erstkontakt gleich RetroBSD drauf zu flashen und ich wollt DMBASIC ja auch noch eine Chance geben (aber das wird ein running Gag ...ääääähhhh... anderer Thread!).

Vielleicht wird's schon jetzt Zeit für den Zweit-Duinomite? Der ohne VGA würd ja reichen...

Fraaagen über Fraaagen... ;-D
Zuletzt geändert von yeti am Do 1. Jan 2015, 22:01, insgesamt 1-mal geändert.
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Quellen + Kernel + FS + Muse... *hust!* ääääähhhh... Emulato

Beitrag von yeti »

Södele... ich hab mal das Muse... *hust!* ääääähhhh... den Emulator auf Debian6 (jeweils auf einer AMD64- und einer I386-Kiste) gebaut und statisch gelinkt, es sollte also fast überall laufen.

Der Kernel liegt in

Code: Alles auswählen

retrobsd$ ls -l sys/pic32/max32/unix.bin*
-rw-r--r-- 1 yeti yeti 143088 29. Dez 08:15 sys/pic32/max32/unix.bin
-rw-r--r-- 1 yeti yeti 143088 29. Dez 08:20 sys/pic32/max32/unix.bin.BAK
und das Filesystem-Abbild in

Code: Alles auswählen

retrobsd$ ls -l sdcard.img*
-rw-r--r-- 1 yeti yeti 211813376 29. Dez 08:16 sdcard.img
-rw-r--r-- 1 yeti yeti 211813376 29. Dez 08:13 sdcard.img.BAK
und somit ist also Beides durch Backups gegen versehentliches "make clean" oder "make cleanall" gesichert.

Das Muse... *hust!* ääääähhhh... der Emulator (ich glaub, der Gag wird langsam lahmweilig...) wird in seinem Quelltextdirectory gestartet... liegt also in

Code: Alles auswählen

retrobsd/tools/virtualmips$ ls -l pic32-static-*
-rwxr-xr-x 1 yeti yeti 933528 29. Dez 08:12 pic32-static-amd64
-rwxr-xr-x 1 yeti yeti 837636 29. Dez 08:12 pic32-static-i386
und sein Konfigfile "pic32_max32.conf" enthält die passenden Pfade zu SDKarten-Abbild und Kernel, die wenn man alle beteiligten Komponenten in ein eigenes Verzeichnis isolieren wollen würde anzupassen wären...

Code: Alles auswählen

retrobsd/tools/virtualmips$ uname -a
Linux darkstar 3.2.0-0.bpo.4-amd64 #1 SMP Debian 3.2.63-2+deb7u2~bpo60+1 x86_64 GNU/Linux
(yeti@darkstar:7)~/wrk/tmp/retrobsd/tools/virtualmips$ ./pic32-static-i386
...ich hab frech das I386-Binärchen im 64bittigen Debian6-LTE gestartet und auch das klappt:

Code: Alles auswählen

VirtualMIPS (version 0.06-retrobsd)
Copyright (c) 2008 yajin, 2011 vak.
Build date: Dec 28 2014 09:15:51

Using configure file: pic32_max32.conf
ram_size: 128k bytes
boot_method: Binary
flash_type: NOR FLASH
flash_size: 492k bytes
flash_file_name: ../../sys/pic32/max32/unix.bin
flash_phy_address: 0x1d000000
boot_from: NOR FLASH
sdcard_port: SPI4
sdcard0_size: 340M bytes
sdcard0_file_name: ../../sdcard.img
start_address: 0x9d001000
uart1_type = console
Could not configure '/dev/hpet' to have a 1024Hz timer. This is not a fatal
error, but for better emulation accuracy type:
'echo 1024 > /proc/sys/dev/hpet/max-user-freq' as root.
Could not configure '/dev/rtc' to have a 1024 Hz timer. This is not a fatal
error, but for better emulation accuracy either use a 2.6 host Linux kernel or
type 'echo 1024 > /proc/sys/dev/rtc/max-user-freq' as root.
--- Start simulation: PC=0x9d001000, JIT disabled

2.11 BSD Unix for PIC32, revision G185 build 15:
     Compiled 2014-12-28 by yeti@darkstar:
     /opt/retrobsd.git_gcc-4.8.1/sys/pic32/max32
cpu: 795F512L 80 MHz, bus 80 MHz
oscillator: HS crystal, PLL div 1:2 mult x20
console: tty0 (5,0)
sd0: port SPI4, select pin D3
sd1: port SPI4, select pin D4
sd1: no SD/MMC card detected
sd0: type I, size 348160 kbytes, speed 13 Mbit/sec
phys mem  = 128 kbytes
user mem  = 96 kbytes
root dev  = rd0a (0,1)
root size = 102400 kbytes
swap dev  = rd0b (0,2)
swap size = 2048 kbytes
/dev/rd0a: 651 files,
...hier läuft noch etwas schief, ich vermute an der Art des Aufrufes von "fsck" in "/etc/rc" muß noch gefeilt werden...

Code: Alles auswählen


2.11 BSD UNIX (pic32) (console)

login: root
Password:
...das Passwort ist schlicht leer... also einfach nur "ENTERn"...

Code: Alles auswählen

Welcome to RetroBSD!
erase, kill ^U, intr ^C
# df
Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/rd0a      101999    10171    91828     9%    /
# ps aux
USER       PID NICE SZ TTY  TIME COMMAND
root         0   0   3 ?    0:00 swapper
root         1   0  42 ?    0:00 init - 
root        11   0   6 ?    0:00 update 
root        13   0  70 ?    0:00 cron 
root        14   0  57 0    0:00 -sh 
root        20   0  49 0    0:00 ps aux
...der Start von "update" liegt nach dem "fsck"-Zeuchs in "/etc/rc" und hat offensichtlich geklappt.
Beruhigend! ;-)

Code: Alles auswählen

# ls -l /
total 17
-rw-rw-r--  1 root          152 Dec 25 00:33 .profile
drwxrwxr-x  2 root         3072 Dec 28 23:09 bin
drwxrwxr-x  2 root         2048 Dec 28 23:09 dev
drwxrwxr-x  2 root         1024 Dec 28 23:09 etc
drwxrwxr-x  3 root         1024 Dec 28 23:09 games
drwxrwxr-x  6 root         1024 Dec 28 23:09 include
drwxrwxr-x  2 root         1024 Dec 28 23:09 lib
drwxrwxr-x  2 root         1024 Dec 28 23:09 libexec
drwxrwxrwx  2 root         1024 Dec 28 23:09 lost+found
drwxrwxr-x  2 root         1024 Dec 28 23:09 sbin
drwxrwxr-x  8 root         1024 Dec 28 23:09 share
drwxrwxr-x  2 root         1024 Dec 28 23:09 tmp
drwxrwxr-x  2 root         1024 Dec 28 23:09 u
drwxrwxr-x  6 root         1024 Dec 28 23:09 var
"lost+found" und "tmp" dürften wohl andere Mode-Bits brauchen, spätestens wenn der Multiuser-Betrieb beginnt, aber ok... es ist ja noch im Werden begriffen, drücken wir also mal fast beide Augen zu... ;-)

Code: Alles auswählen

# halt
killing processes... done
syncing disks... done
halted
9d00ae2c: wait instruction with interrupts disabled - stop the simulator.

--- Stop simulation
Fortsetzung irgendwann... :-)

----------8<----------

Leider will mir die Forumssoftware den Upload einer Datei mit mehr als 10MBytes erlauben und ich werde das durch Splitten auch jetzt nicht umgehen.
Für eine Weile (Dauer == pure Willkür) verweise ich auf folgende Adressen:
http://yeti.freeshell.org/retrobsd/
http://utanapischti.sdf-eu.org/retrobsd/
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Nicht mehr im Muse... *hust!* ääääähhhh... Emulator...

Beitrag von yeti »

\o/  \o\  /o/  Und ab jetzt in ECHT!!!  \o\  /o/  \o/

Eiiigentlich wollte ich RetroBSD erst auf einen DuinoMite ohne Namenszusatz "-mini" flashen, weil RetroBSD nicht selbsttätig Video generiert und damit der Duinomite-ohne-mini dann nicht mit arbeitsloser VGA-Buchse leben muß...
Aber mein Duinomite-Dealer hatte gerade keine solchen Boards mehr und so muß ungeduldshalber doch einer der Minis herhalten.

+++ Edit 20150101
Tja... reingefallen! Ich hab in den Schaltplan der Duinomites ohne "Mini"-Suffix geschaut: Es ist wahr, es ist war, es ist wahr, daß der keine Tastatur-, Video-, Audio- und VGA-Anschlüsse hat und diese erst durch eine Zusatzplatine bereit gestellt werden, aber sonst: Alles Lüüüge! (-: Mit Grüßen an Rio Reiser! :-)
Das notwendige Drumrum für diese Anschlüsse liegt auch auf der Hauptplatine. Ich gewinne also letztlich keine Pins durch Einsatz des Duinomite-ohne-Mini. Sicher... der hat auch noch ein paar andere Qualitäten, aber um die ging es mir eigentlich nicht. Ich bleibe also erstmal bei RetroBSD auf Duinomite-Mini und werde weitere diesbezügliche Entscheidungen irgendwann mal in Ruhe treffen.
--- Edit 20150101


Erstboot nach frischem Flashen...

Code: Alles auswählen

2.11 BSD Unix for PIC32, revision G188 build 1:
     Compiled 2014-12-31 by yeti@darkstar:
     /opt/retrobsd.git_gcc-4.8.1/sys/pic32/duinomite
cpu: 795F512H 80 MHz, bus 80 MHz
oscillator: HS crystal, PLL div 1:2 mult x20
console: ttyUSB0 (5,0)
sd0: port SPI3, select pin D5
sd0: type II, size 1966080 kbytes, speed 13 Mbit/sec
phys mem  = 128 kbytes
user mem  = 96 kbytes
root dev  = rd0a (0,1)
root size = 102400 kbytes
swap dev  = rd0b (0,2)
swap size = 2048 kbytes
/dev/rd0a: 630 files, 10168 used, 91831 free
...die "fsck"-Ausgabe, die im Emulator schäg ausschaute, sieht hier schonmal besser aus...

Code: Alles auswählen

Starting daemons: update /var/cron: No such file or directory
/var/cron: created
tabs: No such file or directory
tabs: created
cron 
...nungut... das schaut hoffentlich nach an dem 2ten Booten schöner aus...

Code: Alles auswählen



2.11 BSD UNIX (pic32) (console)

login: root
Password:
Welcome to RetroBSD!
erase, kill ^U, intr ^C
# time ls -l /
total 16
-rw-rw-r--  1 root          152 Dec 25 00:33 .profile
drwxrwxr-x  2 root         3072 Dec 31 04:45 bin
drwxrwxr-x  2 root         1024 Dec 31 04:45 dev
drwxrwxr-x  2 root         1024 Dec 31 04:45 etc
drwxrwxr-x  3 root         1024 Dec 31 04:45 games
drwxrwxr-x  6 root         1024 Dec 31 04:45 include
drwxrwxr-x  2 root         1024 Dec 31 04:45 lib
drwxrwxr-x  2 root         1024 Dec 31 04:45 libexec
drwxrwxrwx  2 root         1024 Dec 31 04:45 lost+found
drwxrwxr-x  2 root         1024 Dec 31 04:45 sbin
drwxrwxr-x  8 root         1024 Dec 31 04:45 share
drwxrwxr-x  2 root         1024 Dec 31 04:45 tmp
drwxrwxr-x  2 root         1024 Dec 31 04:45 u
drwxrwxr-x  6 root         1024 Dec 31 04:45 var
        0.2 real         0.0 user         0.0 sys
...und das ist auf realer Hardware dann auch flotter als im Emulator...

Code: Alles auswählen

# halt             
killing processes... done
syncing disks... done
halted
...der Trend geht zum Zweitboot! ;-)

Code: Alles auswählen


2.11 BSD Unix for PIC32, revision G188 build 1:
     Compiled 2014-12-31 by yeti@darkstar:
     /opt/retrobsd.git_gcc-4.8.1/sys/pic32/duinomite
cpu: 795F512H 80 MHz, bus 80 MHz
oscillator: HS crystal, PLL div 1:2 mult x20
console: ttyUSB0 (5,0)
sd0: port SPI3, select pin D5
sd0: type II, size 1966080 kbytes, speed 13 Mbit/sec
phys mem  = 128 kbytes
user mem  = 96 kbytes
root dev  = rd0a (0,1)
root size = 102400 kbytes
swap dev  = rd0b (0,2)
swap size = 2048 kbytes
/dev/rd0a: 633 files, 10172 used, 91827 free
Starting daemons: update cron 
...schaut gut aus...

Code: Alles auswählen



2.11 BSD UNIX (pic32) (console)

login: root
Password:
Welcome to RetroBSD!
erase, kill ^U, intr ^C
# cd /games
# ls
adventure    bcd          factor       monop        rain         teachgammon
arithmetic   boggle       fish         morse        robots       trek
atc          btlgammon    fortune      number       rogue        worm
backgammon   canfield     hangman      ppt          sail         worms
banner       cfscores     lib          primes       snake        wump
battlestar   cribbage     mille        quiz         snscore
# ./banner 'RETRO!!!'
 #####   ######  #######  #####    ####   #  #  #
 #    #  #          #     #    #  #    #  #  #  #
 #    #  #          #     #    #  #    #  #  #  #
 #####   ####       #     #####   #    #  #  #  #
 #  #    #          #     #  #    #    #  #  #  #
 #   #   #          #     #   #   #    #
 #    #  ######     #     #    #   ####   #  #  #
# cd /
# basic
MICRO-BASIC 2.1 - Copyright 1982-2000 Dave Dunfield.
Ready
10 for i=1 to 1000000:next
run
Ready
...das waren gefühlt 4 Sekunden... vielleicht kann der Duinomite unter RetroBSD ja auch halten, was ich mir von Duinomite-BASIC versprach? Immerhinque hab ich von RetroBSD alle Quellen und diese ja auch selber backen können... das ist im Gegensatz zu dem für mich undurchschaubaren DMBASIC-Quellen vielleicht beherrschbarer...

Code: Alles auswählen

system
Syntax error
Ready
bye
Syntax error
Ready
quit
Syntax error
Ready
exit
***hüstel*** vielleicht hätte ich besser erst nach einer man-Page geschaut...

Code: Alles auswählen

# man basic
man: no entry for basic in the manual.
Also bleibt nur:
...use the source, Luke!

Code: Alles auswählen

# awk '1' /etc/fstab
*** 0x7f0128e4: bus error
Bus error - core dumped
Na immerhin kein spontaner Reboot... ;-)

Code: Alles auswählen

# rm awk.core
# ls -l /bin/forth
-rwxrwxr-x  1 root        58232 Dec 31 04:43 /bin/forth
# man forth
man: no entry for forth in the manual.
Na dann besser nicht... sonst weiß ich nicht, wie ich wieder raus komme...

Code: Alles auswählen

# halt 
killing processes... done
syncing disks... done
halted
Erstmal genug für jetzt...

...und vielleicht auch erwähnenswert: Unter DMBASIC wird der PIC32 heißer als unter RetroBSD... nach dem "halt"-Befehl steigt dann die Temperatur wieder... der wartet dann wohl aktiv... ;-)

+++ EDIT 20150125
"Zuerst wartete ich langsam, dann immer schneller." - Karl Valentin.
--- EDIT 20150125


Es gibt noch viel zu erforschen... vielleicht wird RetroBSD nicht grad ein täglich eingesetztes Werkzeug, aber es ist erstmal ein endgeiii... *hust* ...niales Textadventure... das Verzeichnis "/games" brauche ich daher eigentlich gar nicht, schließlich ist das ganze OS mein Spielzeug...

----------8<----------

Code: Alles auswählen

# pwd
/share/smallerc
# make CC='time cc'
time cc  -o hello  hello.c
        3.8 real         0.1 user         2.1 sys  
time cc  -o primelist  primelist.c
        3.9 real         0.0 user         2.2 sys  
time cc  -o primesum  primesum.c
        3.5 real         0.0 user         2.1 sys  
time cc  -o test1  test1.c
        4.7 real         0.3 user         3.0 sys  
time cc  -o test2  test2.c
        4.3 real         0.2 user         2.7 sys  
time cc  -o test3  test3.c
        3.7 real         0.1 user         2.2 sys  
time cc  -o gpio  gpio.c
        3.9 real         0.1 user         2.4 sys  
time cc  -o adc  adc.c
        3.9 real         0.1 user         2.4 sys  
time cc  -o rain  rain.c
        5.7 real         0.8 user         3.3 sys  
time cc  -o q8  q8.c
        4.1 real         0.1 user         2.5 sys  
Kompilieren der Beispiele klappt und das nichtmal sooo unflott...

Code: Alles auswählen

# ./gpio
portA = 0x0000
portB = 0xcfdf
portC = 0x6000
portD = 0x0fec
portE = 0x00ff
portF = 0x003b
portG = 0x00c0
...das könnt nützlich werden! :-)
Zugegeben: Ich stochere staunend und irgendwie noch planlos im System rum...

Code: Alles auswählen

# make clean
rm -f *.o hello primelist primesum test1 test2 test3 gpio adc rain  q8
Soviel ordentlich muß!

...und sogar "emg", ein Editor, dessen Start den Emulator abschoß, läuft auf der realen Hardware! "vi" gibt's übrigens auch! ;-)
Zuletzt geändert von yeti am So 25. Jan 2015, 07:02, insgesamt 6-mal geändert.
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Nachts im Muse... *hust!* ääääähhhh... Emulator...

Beitrag von yeti »

(-: ...und noch ein Museu... *hust!* ääääähhhh... Emulator... ;-)

----------8<----------{2015-01-23}---------->8----------

Ich bin da nicht ganz so zufällig über was Nettes gestolpert: https://github.com/sergev/qemu

Das Teil emuliert diverse PIC32MX- und PIC32MZ-Boards und ist somit nicht nur zum Testen von RetroBSD, sondern auch zum Verlieben in LiteBSD geeignet... \o/

Testfutter (RetroBSD und LiteBSD) gibt's im zugehörigen Wiki: https://github.com/sergev/qemu/wiki

Ich spiel mal 'n Bissl damit und wenn's wirklich nett ist, verhau ich die Werbetrommel oder oder und versuche, es statisch gelinkt gebaut irgendwo saugbar abzulegen...

+++Edit 20150124
Naja... das Teil kompiliert ohne Zicken sauber durch... das sollte jeder, der zum Lesen in der Lage ist, problemlos hinkriegen und kann dann auch selbst bestimmen ob es nach "/opt", "/home", "/usr/local" oder wohin auch immer soll... das auf Vorrat Bauen und irgendwo Hinlegen verschiebe ich mal bis sich vielleicht doch Bedarf meldet... ;-)
---Edit 20150124


----------8<----------{2015-01-24}---------->8----------

Nur noch 11 Monate bis Heiligabend!
Habt Ihr schon alle Geschenke eingekauft?    >:-P
Ich habe bis dahin hoffentlich einen PIC32MZ mit LiteBSD laufen oder Zweie oder Dreie... ;-D


Aber erstmal zurück zu RetroBSD auf "qemu-mips"...

Erste Eindrücke zu "qemu-mips" sind positiv. Das seltsame Verhalten rund um den "fdisk"-Aufruf beim Hochfahren von RetroBSD (zuvor mehrfach erwähnt), das im "pic32"-Emulator zu beobachten ist, nicht aber auf realer Hardware, zeigt sich in "qemu-mips" bislang auch nicht.

Gebt's ruhig zu: Die Benchmarkfrage hat Euch Alle nicht schlafen lassen... :-P
Ich versteh das ja... also hier kömmt's:

Code: Alles auswählen

# cd /share/smallerc
# make clean
rm -f *.o hello primelist primesum test1 test2 test3 gpio adc rain  q8
# make CC='time cc'            
time cc  -o hello  hello.c
        0.9 real         0.1 user         0.5 sys  
time cc  -o primelist  primelist.c
        0.8 real         0.1 user         0.4 sys  
time cc  -o primesum  primesum.c
        0.8 real         0.1 user         0.4 sys  
time cc  -o test1  test1.c
        1.1 real         0.2 user         0.5 sys  
time cc  -o test2  test2.c
        1.0 real         0.1 user         0.6 sys  
time cc  -o test3  test3.c
        0.8 real         0.0 user         0.4 sys  
time cc  -o gpio  gpio.c
        1.0 real         0.1 user         0.5 sys  
time cc  -o adc  adc.c
        0.9 real         0.1 user         0.5 sys  
time cc  -o rain  rain.c
        1.3 real         0.3 user         0.7 sys  
time cc  -o q8  q8.c
        0.9 real         0.1 user         0.5 sys  
# _
Dieses Kompilieren in "qemu-mips" lief auf einem T60 (Core2Duo) mit Debian8/64Bit im Energiesparmodus (1 GHz Takt statt Vollgas) und war dabei Pi mal Zeigezeh 4x (in Buchstaben:  V I E R   m a l ) so flott wie das im zuvorigen Beitrag zitierte Kompilieren auf dem real existierenden 80MHz-igen Duinomite. Nett... :-)

...aber wie man "qemu-mips" 'ne zweite SD-Karte bekannt macht, ist mir noch unbelkannt. Es gibt nur eine "-sd"-Option und deren mehrfache Angabe führt nicht dazu, daß eine "sd1" erkannt wird:

Code: Alles auswählen

sd0: port SPI4, select pin D3
sd1: port SPI4, select pin D4
sd1: no SD/MMC card detected
sd0: type I, size 206848 kbytes, speed 13 Mbit/sec
...wirklich lebenswichtig ist das nicht... aber nett wär's schon gewesen... denn an die realen RetroBSD-Kisten möchte ich ja auch eine weitere SDKarte dranfriemeln...

----------8<----------{konec}---------->8----------
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Nachts im Muse... *hust!* ääääähhhh... Emulator...

Beitrag von yeti »

----------8<-----{20160413-1831-GMT: Swan Song}----->8----------

Ich glaub ich ditch meine Versuche mit LiteBSD. Es ist mir bis heute nicht gelungen es selber zu kompilieren und das Forum voller superschlauer Experten war nicht in der Lage zu helfen: http://retrobsd.org/viewtopic.php?f=16&t=37479

Da ich befürchte, daß sich das Interesse der Macher von RetroBSD zu LiteBSD verlagern wird und RetroBSD so de facto einem baldigen EOL entgegendümpelt, wird wohl auch dies bei mir über die Planke laufen dürfen.

----------8<-----{§"&((/)/&%!!!/&&)!!!}----->8----------
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Antworten