IRC Logs for #lost


2021-12-28

03:48:37 LittleFox joined the channel
10:14:19 Paddy joined the channel
13:49:13 xq: huhu
13:49:25 xq: ach verdammt, die beiden qemu-nasen sind ja gar nicht da :D
16:18:29 Paddy joined the channel
16:33:14 xq: huhu Paddy
16:33:43 Paddy: Moin xq
16:34:06 xq: du bist nicht zufällig qemu dev, oder? :D
16:34:27 Paddy: Du meinst, ich soll mich mal besser verstecken?
16:34:39 xq: ich bin am überlegen, was smorter ist
16:34:45 xq: nen komplett eigenen emulator zu schreiben
16:34:51 xq: oder qemu erweitern
16:35:02 xq: zweiteres klingt sinnvoller
16:35:13 Paddy: Für eine komplett neue Architektur?
16:36:05 xq: jo
16:36:12 Paddy: Also das Ergebnis ist mit Sicherheit besser, wenn du qemu erweiterst, aber die Frage ist halt, ob dein Einsatzzweck den Aufwand rechtfertigt
16:36:21 xq: cpu scheint okayish zu sein vom auwand
16:36:37 xq: ich hab noch ne sehr dünne MMU, sowie nen haufen standard-geräte
16:36:48 Paddy: Ist lang her, dass ich TCG angefasst habe, aber ja, das ist schon machbar
16:36:51 xq: also 4*16C550, ne IDE Karte, ...
16:37:12 Paddy: Die Standardgeräte haben in qemu natürlich den Vorteil, dass sie schon da sind
16:37:14 xq: äääh cf
16:37:21 xq: cf mit pcmcia memory mapping :D
16:37:39 xq: nen custom VGA hab ich
16:37:47 xq: aber der ist basically nur nen sehr dummer framebuffer
16:38:44 Paddy: Also das existierende VGA-Gerät kopieren und das Interface anpassen, oder?
16:38:48 xq: quasi
16:40:07 xq: eher ramfb :D
16:40:10 Paddy: Ist das dann eine rein virtuelle Architektur, oder willst du die tatsächlich in Hardware bauen?
16:41:36 xq: ich hab den schaltplan fast fertig *grin*
16:42:35 Paddy: Hoffentlich ist er auch richtig ;-)
16:42:46 xq: ohja
16:42:46 xq: :D
16:42:55 xq: ich lass es von zwei kollegen korrekturlesen
16:43:00 xq: und werde auch prototypen daraus auskoppeln
16:43:03 xq: wenn ich unsicher bin
16:43:41 Paddy: Klingt gut
16:43:56 xq: wird halt teilweise sehr PCy
16:44:08 Paddy: Jo, aber warum auch nicht?
16:44:10 xq: also PS/2, 16C550, PCMCIA CompactFlash
16:44:14 xq: das ist der gute Kram von PC :D
16:44:27 xq: aber halt ne MMU statt komischer segmentierung
16:44:42 xq: nen einfacher linearer videochip mit 800x600 phys und 256x128 virtueller auflösung
16:44:44 Paddy: Wie, du zählst das A20-Gate nicht zum guten Kram? *g*
16:44:47 xq: LOL
16:44:59 xq: und ner kleinen hübschen Eigenbau-CPU
16:45:46 Paddy: Das ist wahrscheinlich der interessanteste Teil am ganzen
16:46:02 xq: die ist quasi fertig designed
16:46:27 xq: zum glück ^^
16:46:40 xq: vhdl-implementierung sind auch weit < 1000 zeilen code
16:47:23 Paddy: Hast du irgendwo ein ISA-Dokument rumfliegen?
16:47:51 xq: klar
16:48:02 xq: https://ashet.computer/specs/spu-mark-ii/
16:48:07 xq: https://ashet.computer/livedemo/
16:48:12 xq: und ne kleine demo *grins*
16:48:19 xq: den "dummen" emulator mit seriell hab ich schon
16:49:40 Paddy: Schöne Formulierung: "If a value is defined undefined" *g*
16:49:58 xq: jo
16:50:46 Paddy: Oh, eine Stackmaschine. Mal was anderes. :-)
16:51:19 xq: jop
16:51:25 xq: Svenska kennt das Design auch noch ^^
16:51:34 xq: was ein bisshcen was über das Alter des Dings sagt
16:51:39 xq: und Jonathan
16:52:43 Paddy: Oh, Jonathan hab ich schon ewig nicht mehr gesehen
16:53:03 Paddy: Du hast aber zwischendurch an anderen Sachen gebastelt, oder? Und dann irgendwann die alten Pläne wieder rausgeholt?
16:53:51 xq: jop
16:54:02 xq: aber das Design ist tatsächlich schon sehr alt
17:02:17 Paddy: Nice. Bin mal gespannt, wann du berichtest, dass du das Ding auf dem Schreibtisch stehen hast. :-)
17:02:31 xq: ja, ich auch!
17:02:57 xq: https://ashet.computer/specs/ashet/#hardware
17:03:00 xq: das hier ist leicht outdated
17:03:17 xq: und mittlerweile konkreter geworden (wie gesagt, ich hab ne BOM) ^^
17:04:29 xq: Schreibtisch stehen hast.
17:04:31 xq: https://github.com/MasterQ32/ashet.computer#features
17:04:34 xq: hier ist der aktuelle plan
17:06:38 Paddy: Jo, damit müsste man doch was anfangen können
17:06:46 Paddy: Parallelport finde ich aber überraschend
17:06:59 xq: ist halt nen GPIO ^^
17:07:03 xq: 8 pinnig
17:07:15 xq: änderung in planung: DVI-I kommt noch dazu
17:09:29 Paddy: Wenn's fertig ist, komm ich mal vorbei ;-)
17:09:36 Paddy: Oder bist du überhaupt noch in Stuttgart?
17:11:32 xq: jop
17:11:38 xq: Du auch? *thinking*
17:11:50 xq: Ich weiß, dass kevin aus Stuggi kam (bzw. da studiert hat)
17:19:53 Paddy: lol, ja, der Nick ändert nichts daran, wo ich wohne. Der verrät höchstens, an welchem Rechner ich sitze. ;-)
17:21:07 xq: hö?
17:21:11 xq: jetzt bin ich verwirrt
17:21:26 xq: kann sein, dass ich seit jahren ein memo verpasst habe?
17:21:38 Paddy: Vermutlich? So neu bist du doch aber gar nicht?
17:22:09 xq: "der Nick ändert nichts daran" was meinst du damit?
17:23:23 Paddy: taljeth/kevin/kwolf/Paddy bin ich. (Ich glaube, das sind alle Nicks, die ich hier mal benutzt habe.)
17:23:28 xq: oh
17:23:31 xq: OH
17:23:41 xq: mir ist nicht bewusst gewesen, dass Paddy und kevin die selbe Person sind
17:23:42 xq: LOL
17:23:46 xq: revelations nach 10 Jahren IRC
17:23:50 Paddy: lol
17:23:58 xq: Yep
17:24:06 xq: oh god
17:24:12 xq: hat ein paar jahre gebraucht LOL
17:24:23 xq: okay, das erklärt ein paar sachen
17:24:26 xq: warum zwei nicks?
17:25:01 xq: taljeth hätte ich jetzt auch nicht dir zugeordnet
17:25:16 Paddy: Mehr oder weniger auf Arbeit und privat
17:25:19 xq: ah
17:25:44 xq: aber gut
17:25:49 Paddy: Paddy ist irgendwann mal hier im Channel entstanden und hat sich gehalten
17:25:52 xq: dann bin ihc bei qemu-fragen ja an der richtigen stelle
17:26:44 Paddy: Mist, doch verstecken *g*
17:27:15 Paddy: taljeth gab es dann wahrscheinlich schon gar nicht mehr als du dazugekommen bist, oder?
17:27:47 xq: doch doch
17:27:59 xq: ich bin schon ne weile hier, hieß aber auch mal anders (mq32/masterq32)
17:28:06 xq: naja, ich werd dich jetzt nicht löchern
17:30:19 Paddy: Hm, okay, wenn du den Nick taljeth noch kennst, um so seltsamer, dass das Memo bei dir nicht angekommen ist
17:30:35 xq: ich hatte mal ne pause ^^
17:30:39 xq: aber ja
17:30:43 xq: schon witzig
17:32:49 xq: bah
17:32:52 Paddy: Jo, und mittlerweile hat der Channel an sich meistens Pause *g*
17:32:55 xq: ^^
17:33:02 xq: ich muss meine ganze verkackte toolchain aufräumen
17:33:05 xq: und alten scheiß wegwerfen
17:33:15 Paddy: Wegwerfen ist doch toll
17:33:22 xq: jo
17:33:34 xq: den assembler aber lieber nicht, der ist gut *grins*
17:33:44 xq: der braucht noch besseres error reporting, aber davon abgesehen ist das ding top-noth
17:33:46 xq: *notch
17:33:57 xq: hat halt direktes linking
17:34:12 xq: aber mal ne spannende frage:
17:34:20 xq: wie würdest du denn VM vs PM im assembler handlen?
17:34:31 xq: also ich hab nen flash/rom segment, wo ich syscalls ablegen möchte
17:34:45 xq: die müssen ja aber alle so gelinkt werden, dass diese nachher per VM an der gleichen stelle liegen
17:40:17 Paddy: Hm, normal interessiert sich doch ein Assembler für sowas nicht, sondern nimmt einfach die Zahlen, die man ihm gibt?
17:40:22 Paddy: Also halt in der Regel alles virtuell?
17:40:32 xq: jo
17:40:37 xq: aber folgendes ist halt mein gedanke:
17:40:46 Paddy: Wo brauchst du denn physisch mit Assemblerunterstützung?
17:40:56 xq: .org 0x1000 @ 0x1000 \ syscall_exec
17:41:07 xq: .org 0x1000 @ 0x2000 \ syscall_kill
17:42:30 xq: dementsprechend wären beide syscalls nachher an der selben location im Vram
17:42:34 xq: aber an ner anderen stelle im ROM
17:42:53 xq: ich könnte jetzt natürlich für jeden syscall einfach eine eigene datei machen
17:42:57 xq: aber so ganz einfach isses dann nich
17:45:34 xq: weil die ja auch noch RAM-Segmente nutzen ^^
17:45:41 Paddy: Ändert dann die syscall-Instruktion das Mapping oder wie?
17:45:43 xq: die ja auch noch shared sind später
17:45:46 xq: genau
17:45:53 xq: das klau ich mir dreist von TI-OS
17:45:58 xq: welche aufm z80 folgendes machen:
17:46:00 Paddy: Das ist ja kaputt
17:46:09 xq: int $0x03 \ .dw 0x1234
17:46:17 xq: das löst interrupt 3 aus
17:46:37 xq: dessen handler mappt dann einfach auf ne definierte page die adressbits 0x1234__
17:46:40 xq: und springt die page an
17:46:43 xq: very smort, very fast
17:46:55 xq: und für nen system ohne userlevel sowieso egal wegen security
17:47:12 Paddy: Jo, ich dachte gerade, einfach irgendwohin springen klingt nicht so super sicher, aber wenn das eh egal ist
17:47:26 xq: yep
17:47:30 xq: ich hab zwar ne MMU
17:47:32 xq: aber keine ringe
17:47:37 xq: gibt nur ring0
17:48:08 Paddy: Hast du einen zu kleinen virtuellen Adressraum oder wieso mappst du die Sachen so um?
17:48:14 xq: 16 bit
17:48:15 xq: cpu :D
17:48:19 Paddy: Ja, okay, das ist übersichtlich
17:49:10 Paddy: Wobei ein Kernel in 64k doch machbar sein müsste
17:49:29 xq: das schon
17:49:34 xq: aber anwendungen?
17:49:42 xq: ich möchte da tatsächlich nen kleines aber feines OS drauf bauen
17:50:04 Paddy: Syscalls rufen doch keine Anwendungen auf?
17:50:11 xq: nein, aber rückwärts
17:50:14 xq: anwendungen syscalls
17:50:22 Paddy: Aber ja, die Rummapperei hast du eh an der Backe, das stimmt wohl
17:50:33 xq: und die idee ist halt, dass es drei permanent gemappte pages gibt:
17:50:41 xq: page 0 für interrupters + handler
17:51:00 xq: page 1 für "hier gammelt der stack"
17:51:13 xq: und dann fällt mir auf, dass ich die dritte page nicht brauche :D
17:51:50 Paddy: Danke, ich spiele gern Gummiente ;-)
17:51:52 xq: weil ich ja im interrupt handler mir einfach ne kernelpage reinmappen kann
17:52:01 xq: ach doch
17:52:06 xq: ich brauch noch die dritte page: I/O
17:52:09 xq: inklusive page mappings :D
17:52:17 xq: wenn die weg sind, wars das nämlich LOL
17:52:33 Paddy: Aber dann sind die Syscall-Handler wahrscheinlich insofern relativ ähnlich, dass sie erstmal den Hauptteil vom Kernel mappen müssen, oder?
17:53:05 xq: kommt halt drauf an, wie komplex die sind
17:53:14 xq: der syscall interrupt kann ja die hauptarbeit übernehmen
17:53:19 xq: und der handler nur nen function call sein
17:55:16 Paddy: Ich dachte, du mappst den Syscall-Handler automatisch und das ist jeweils eine separate Page?
17:56:28 xq: der syscall handler ist ein interrupt, welcher dann die passende page mapped
17:56:31 xq: das ist kein cpu feature
17:56:40 xq: sondern ne os-decision
17:56:44 Paddy: Ok
17:57:01 Paddy: Weil eine separate Page für nur einen Function Call klingt ein bisschen übertrieben?
17:57:10 xq: ich hab 8 MB flash
17:57:13 xq: see if i care :D
17:57:26 Paddy: Fair *g*
17:57:30 xq: gibt max. 2048 syscalls
17:57:33 xq: ich sollte safe sein
17:58:04 xq: mich haben leute schon gefragt, warum ich kein USB in meinem System verbaue
17:58:06 xq: oder SD-Karten
17:58:15 xq: also für storage
17:59:17 Paddy: Braucht ja noch Features für die 2.0 ;-)
17:59:44 xq: ich mein
17:59:57 xq: USB allein ist wahrscheinlich so viel code und HW-Aufwand wie der rest vom system
18:00:06 xq: und dann kann ich jeden dritten usb-stick benutzen
18:00:39 Paddy: Jo
18:01:53 Paddy: Keine Ahnung, was es an fertiger Hardware gibt, wenn du nicht erstmal PCI implementieren willst, aber schon allein die Softwareseite macht nicht unbedingt so viel Spaß
18:35:22 xq: yep
18:35:25 xq: ich sag ja immer:
18:35:43 xq: "Wenn du einen Ingenieur bestrafen willst, muss er einen Bluetooth-USB-Dongle from Scratch entwickeln"
18:38:25 Paddy: hehe
18:38:54 Paddy: Ich würde dann richtig from scratch machen und USB neu definieren :-P
18:39:42 Paddy: Bluetooth natürlich auch. Und wer weiß, vielleicht sogar Dongle.
18:44:08 xq: ^^
18:44:12 xq: gute idee
18:44:18 xq: Wusstest du, dass IrDA noch lebt?
18:44:24 xq: nur halt jetzt als 2.4GhzDA
18:45:44 xq: Der Bluetooth-Stack ist quasi IrDA, nur … anders
21:47:47 Paddy: Wusste ich nicht, hab aber auch mit beidem noch nie wirklich was gemacht. Also Bluetooth halt benutzt als User, aber sonst.