Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - MasterLee

Seiten: [1] 2 3
1
Softwareentwicklung / Antw:GRUB4DOS funktioniert nicht
« am: 03. May 2019, 15:18 »
Allerdings wenn du sie in eine eMail steckst wird es trotzdem als möglich Gefährdung Angezeigt. Wenn also jetzt ein Amiga User sein New Software Comercial konzept (Amiga OS 5) gespeicht in New.Soft.Com an einen Windows User schickt tickt der Antivirus und Anti Phishing Filter aus.
2
Softwareentwicklung / Antw:GRUB4DOS funktioniert nicht
« am: 02. May 2019, 13:59 »
Für Windows schon einfach x.txt in x.com umbenennen und fertig ist die MS-DOS Anwendung.
3
Softwareentwicklung / Re: Quadratwurzel schnell berechnen
« am: 23. February 2017, 19:51 »
Stimmt, ich dachte an den Mittelwert. War halt spät. :roll:
Die relevante Frage ist, ob das die Anforderungen an Genauigkeit und Geschwindigkeit erfüllt, und das müsste man austesten.
ganz falsch ist dein Ansatz ja nicht mit wiederholter Ermittelung des Mittelwerts lässt sich auch Interpolieren man fängt dann beim höchsten Bit an und arbeitet sich nach unten durch ist ein Bit gesetzt nimmt man:
a'=Mittewert(a+b)
b'=b
wenn es nicht gesetzt ist nimmt man
a'=a
b'=Mittewert(a+b)
Am ende enthält a das Ergebnis, das das selbe wäre wie bei:
((a<<8)+t*(b-a))>>8Wenn t 8 Bit groß ist und obige Methode somit 8 mal durchgeführt würde.
4
Softwareentwicklung / Re: Quadratwurzel schnell berechnen
« am: 23. February 2017, 18:15 »
Ist lineare interpolation nicht:
(1-t)*a+t*bbzw.
a+t*(b-a)Wo siehst du da eine division ich sehe nur eine Multiplikationen?
Bzw. wenn man mit Ganzahlen arbeitet und t von 0 bis 256 geht:
((a<<8)+t*(b-a))>>8
5
Softwareentwicklung / Re: Quadratwurzel schnell berechnen
« am: 21. February 2017, 11:19 »
Ich komme leider nicht unter 81 Befehle ;(
Dafür ist es aber exakt
Eingabe R0 Ausgabe R1. R2 Wird während der Berechnung überschrieben

;Zu berechnendes X
MOV R0,#4096
;bit= #0x40000000
MOV R1,#0 ;res

ADD R2,R1,#0x40000000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x40000000

ADD R2,R1,#0x10000000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x10000000

ADD R2,R1,#0x4000000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x4000000

ADD R2,R1,#0x1000000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x1000000

ADD R2,R1,#0x400000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x400000

ADD R2,R1,#0x100000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x100000

ADD R2,R1,#0x40000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x40000

ADD R2,R1,#0x10000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x10000

ADD R2,R1,#0x4000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x4000

ADD R2,R1,#0x1000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x1000

ADD R2,R1,#0x400
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x400

ADD R2,R1,#0x100
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x100

ADD R2,R1,#0x40
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x40

ADD R2,R1,#0x10
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x10

ADD R2,R1,#0x4
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x4

ADD R2,R1,#0x1
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x1

Aber wenn man das ganze in VHDL rekodiert kann man es bestimmt in einen Takt schaffen…
6
Softwareentwicklung / Re: Eigene Programmiersprache
« am: 05. January 2017, 21:43 »
Danke für deine tolle Ergänzung wegen der Website ;) , ich hätte es mal trotzdem hinschreiben sollen :)
Deine Sprache sieht echt hammer aus! Ich würde sowas nicht hinbekommen, der Parser würde mich umhauen :D Ob es die irgendwo zum Download gibt?
Das war eigentlich der Parser mit einen Stück Beispiel Kode. Der Kode ist folgender:
  public super "Test" "java/lang/Object" []
  public "<init>" [] void [
    aload_0
    invokespecial "java/lang/Object" "<init>" [] void
    return
  ]
  public static "main" ["java/lang/String" 1] void [
    getstatic "java/lang/System" "out" "java/io/PrintStream"
    ldc_w string "Hallo, Welt!"
    invokevirtual "java/io/PrintStream" "println" ["java/lang/String"] void
    return
  ]
Und das ist eigentlich quasi normaler JAVA-VM Kode
Das was über und unter den Kode Teil steht es wie gesagt der Code des Kompilers der dann den Bytecode erzeugt. Der Parser ist über das Standard Rebol parse realisiert. Genau das parse mit dem sich Rebol selber parst. Oder anders gesagt mein Kode ist eigentlich nur die Anfänge der Spezifizierung einer Rebol DSL für die Erzeugung von Java Bytecode.
7
Softwareentwicklung / Re: Eigene Programmiersprache
« am: 31. December 2016, 23:41 »
Das ist aber lieb. Magst du uns auch verraten, wohin und wo? :-D
Guckst du Profil!
Hab mir das mal angeschaut das kompiliert nach C++ oder früher halt Java(Sprache).
Ich hatte mich auch mal an einen Assembler der nach Java(Bytecode) kompiliert. Allerdings hab ich denn jetzt aufgegeben WebAssembly ist zwar auch irgendwie scheiße aber nicht so schlimm wie Java.
Rebol []

toByte: func [value] [back tail to-binary value]
toInt: func [value] [skip tail to-binary value -4]
toShort: func [value] [skip tail to-binary value -2]
toUTF8: func [value /local x] [x: to-binary value join toShort length? x x]

constant_pool: []
access_flags: #{0000}
interfaces: []
fields: []
methods: []

toConstantPool: func [value] [i: index? find constant_pool value either equal? i none [length? append constant_pool value] [i]]
constantUTF8: func [value] [toConstantPool join #{01} toUTF8 value]
constantString: func [value] [toConstantPool join #{08} toShort constantUTF8 value]
constantClass: func [name] [toConstantPool join #{07} toShort constantUTF8 name]
constantNameAndType: func [name type] [toConstantPool rejoin [#{0C} toShort constantUTF8 name toShort constantUTF8 type]]
constantFieldRef: func [class name type] [toConstantPool rejoin [#{09} toShort constantClass class toShort constantNameAndType name type]]
constantMethodRef: func [class name type] [toConstantPool rejoin [#{0A} toShort constantClass class toShort constantNameAndType name type]]

FieldDescriptor: [
  [
    'byte (fd: "B" fd_c: 1) |
    'char (fd: "C" fd_c: 1) |
    'double (fd: "D" fd_c: 2) |
    'float (fd: "F" fd_c: 1) |
    'int (fd: "I" fd_c: 1) |
    'long (fd: "J" fd_c: 2) |
    set x string! (fd: rejoin ["L" x ";"] fd_c: 1) |
    'short (fd: "S" fd_c: 1) |
    'boolean (fd: "Z" fd_c: 1)
  ]
  opt [
    set x integer! (fd: copy fd insert/dup fd "[" x fd_c: 1)
  ]
]

MethodDescriptor: [
  (md: copy "(" md_pc: 0)
  into [
    any [
      FieldDescriptor
      (append md fd md_pc: add md_pc fd_c)
    ]
  ] ( append md ")") [
    FieldDescriptor (md_rc: fd_c) |
    'void (fd: "V" md_rc: 0)
  ]
  (append md fd)
]

datei: open/new %Test.class
write datei #{CAFEBABE} ; magic
write datei toShort 3 ; minor_version
write datei toShort 45 ; major_version
if not parse [
  public super "Test" "java/lang/Object" []
  public "<init>" [] void [
    aload_0
    invokespecial "java/lang/Object" "<init>" [] void
    return
  ]
  public static "main" ["java/lang/String" 1] void [
    getstatic "java/lang/System" "out" "java/io/PrintStream"
    ldc_w string "Hallo, Welt!"
    invokevirtual "java/io/PrintStream" "println" ["java/lang/String"] void
    return
  ]
] [
  any [
    'public (access_flags: or~ access_flags #{0001}) |
    'final (access_flags: or~ access_flags #{0010}) |
    'super (access_flags: or~ access_flags #{0020}) |
    'interface (access_flags: or~ access_flags #{0200}) |
    'abstract (access_flags: or~ access_flags #{0400}) |
    'synthetic (access_flags: or~ access_flags #{1000}) |
    'annotation (access_flags: or~ access_flags #{2000}) |
    'enum (access_flags: or~ access_flags #{4000})
  ]
  set x string! (this_index: constantClass x)
  set x string! (super_index: constantClass x)
  into [any [set x string! (append interfaces constantClass x)]]
  any [
    (field: copy #{0000})
    any [
      'public (field: or~ field #{0001}) |
      'private (field: or~ field #{0002}) |
      'protected (field: or~ field #{0004}) |
      'static (field: or~ field #{0008}) |
      'final (field: or~ field #{0010}) |
      'volatile (field: or~ field #{0040}) |
      'transient (field: or~ field #{0080}) |
      'synthetic (field: or~ field #{1000}) |
      'enum (field: or~ field #{4000})
    ]
    set x string! (append field toShort constantUTF8 x)
    FieldDescriptor
    (append field toShort constantUTF8 fd)
    (append field toShort 0 append fields field)
  ]
  any [
    (method: copy #{0000} max_locals: 1)
    any [
      'public (method: or~ method #{0001}) |
      'private (method: or~ method #{0002}) |
      'protected (method: or~ method #{0004}) |
      'static (method: or~ method #{0008} max_locals: 0) |
      'final (method: or~ method #{0010}) |
      'synchronized (method: or~ method #{0020}) |
      'bridge (method: or~ method #{0040}) |
      'varargs (method: or~ method #{0080}) |
      'native (method: or~ method #{0100}) |
      'abstract (method: or~ method #{0400}) |
      'strict (method: or~ method #{0800}) |
      'synthetic (method: or~ method #{1000}) |
    ]
    set x string! (append method toShort constantUTF8 x)
    MethodDescriptor
    (append method toShort constantUTF8 md max_locals: add max_locals md_pc)
    (code: copy #{})
    opt [
      into [
        any [
          'aload_0 (append code #{2A} max_locals: max max_locals 1) |
          'getstatic copy x_cmd [2 string!] FieldDescriptor (append code rejoin [#{B2} toShort constantFieldRef x_cmd/1 x_cmd/2 fd]) |
          'iconst_0 (append code #{03}) |
          'invokespecial copy x_cmd [2 string!] MethodDescriptor (append code rejoin [#{B7} toShort constantMethodRef x_cmd/1 x_cmd/2 md]) |
          'invokevirtual copy x_cmd [2 string!] MethodDescriptor (append code rejoin [#{B6} toShort constantMethodRef x_cmd/1 x_cmd/2 md])|
          'ldc_w (append code #{13}) [
            'string set x string! (append code toShort constantString x)
          ] |
          'return (append code #{B1}) |
          set x word! (print rejoin ["Unk.Inst.: " x] break)
        ]
      ]
    ]
    (either empty? code [append method toShort 0 ] [
      append method rejoin [toShort 1 toShort constantUTF8 "Code"
        toInt add 12 length? code
        toShort 5
        toShort max_locals
        toInt length? code
        code
        toShort 0
        toShort 0
      ]
    ] append methods method)
  ]
  end
] [print "Invalid Syntax"]
write datei toShort add 1 length? constant_pool ; constant_pool_count
write datei rejoin constant_pool ; constant_pool[constant_pool_count-1]
write datei access_flags ; access_flags
write datei toShort this_index ; this_class
write datei toShort super_index ; super_class
write datei toShort length? interfaces ; interfaces_count
foreach interface interfaces [write datei toShort interface] ; interfaces[interfaces_count]
write datei toShort length? fields ; fields_count
write datei rejoin fields ; field_info fields[fields_count]
write datei toShort length? methods ; methods_count
write datei rejoin methods ; methods[methods_count]
write datei toShort 0 ; attributes_count       
; attributes[attributes_count]


close datei
Kurz hinter if not parse [ beginnt das Programm das kompiliert wird
8
Lowlevel-Coding / Re: Prozessorarchitektur
« am: 29. December 2014, 17:50 »
Am besten eigene Architektur mit eigener SDK um denn Vendor-Lock-In Effekt zu verstärken.
9
Offtopic / Re: Besonders kompartible Tablets?
« am: 25. August 2014, 23:10 »
Wenn du ein Android Tablet nimmst kann ich folgende Apps empfehlen:
https://play.google.com/store/apps/details?id=champion.gnuroot
https://play.google.com/store/apps/details?id=com.spartacusrex.spartacuside
https://play.google.com/store/apps/details?id=com.pdaxrom.cctools
Ansonsten ist ein IBM-PC kompatibles Tablet immer noch am besten nur leider nur noch schwer zu bekommen. Aber Vorsicht unbedingt drauf achten das es einen richtigen PS/2 Tastaturanschluss hat.
10
Das Wiki / Re: Thema löschen
« am: 23. August 2014, 22:23 »
http://forum.lowlevel.eu/index.php?topic=3376.0
Standen solcher Art Beiträge nicht auf der Liste der Dinge die man nicht tun soll.
Ich Denke das reicht als Grund.
11
Offtopic / Re: Hardware Design lernen
« am: 15. April 2014, 20:42 »
Was für Hardware willst du denn designen?
12
Lowlevel-Coding / Re: Floppy Kabel für 5'25 Zoll gesucht
« am: 17. January 2014, 18:31 »
Kein Floppy-Controller, kein Floppy. Ganz einfach.
Für ISA sind mir genug Controller bekannt, für PCI nicht. USB-Diskettenlaufwerke kann man vermutlich nicht schlachten.
Mir fällt da spontan auch nur der Catweasel ein
http://wiki.icomp.de/wiki/Catweasel#Catweasel_MK4_.2F_MK4plus
13
Offtopic / Re: Externes Festplattengehäuse
« am: 19. November 2013, 21:42 »
Hast du es schon mal mit anderen Kabeln versucht?
Folgendes könnte bei der Fehlersuche auch helfen versuch versuch mal den Strom für die Festplatte von einen andere Gerät zu nehmen und umgekehrt Strom vom externen Gehäuse SATA woanders anschließen.
14
Offtopic / Re: Bis wann ist ein OS ein OS?
« am: 09. March 2013, 16:27 »
Bei allen Heimcomputern der 80er befand sich das vollständige Betriebssystem in einem ROM und war mit dem BIOS identisch.
Beim Amiga 1000 Befand sich der Kickstart auf Diskette und wurde beim anschalten in einen speziellen Speicher(WOM) geschrieben.
15
Offtopic / Re: Bis wann ist ein OS ein OS?
« am: 08. March 2013, 13:03 »
Mit unten meine keinen Bootloader oder ähnliches - sondern direkt ein eigenes BIOS zu schreiben oder wenn möglich eine eigene Firmware zu nutzen. Ob das klappt, weiß ich nicht, aber könnte man dieses "OS" noch OS nennen? Schließlich bauen Betriebssysteme auf dem BIOS auf.
Es gibt mindestens ein Betriebssystem(OS 3.9) bei dem sich Teile(Genau die exec, dos, graphics und intuition.library) in einem BIOS besser gesagt ROM(Kickstart) befinden.

Vielleicht ist dies zu persönlich, aber wie verdient ihr euer Geld? Ich z.B. würde gerne einmal Spieleentwickler, Websiteentwickler und/oder Ingeneur werden.
Zur Zeit bin ich auch Student aber  das meiste Geld verdiene ich mit SAS Programmierung.
16
Alternativ könnte man auch Turbo C 2.01 nehmen
http://cc.embarcadero.com/item/25636
Kann man damit auch problemlos flache Binaries bauen oder muss man sich da irgendwelche EXEn  auseinandernehmen?
Ich hab jetzt mal einfach Borland C++ 4.5 für Win 3.1(weil ich es mal für 800DM gekauft hatte) genommen da steht in der Hilfe als Speichermodell Tiny wählen und beim linker /t angeben.
17
Alternativ könnte man auch Turbo C 2.01 nehmen
http://cc.embarcadero.com/item/25636
18
Offtopic / Logisim FPGA
« am: 15. January 2013, 22:33 »
Versuche gerade einen FPGA in Logisim zu realisieren. Besonders weit bin ich noch nicht aber immerhin kann ich schon einen Addierer realisieren. Das Design jeder Zelle ist relativ einfach alle vier Eingangsbit bilden einen Index zum nachschlagen in einem Look-Up-Table von dem es für jedem der 4 Ausgänge einen gibt. Für kleine Schaltungen scheint das OK allerdings befürchte ich das es Später mit dem Routing schwierig wird. Hat hier jemand schon mal ähnliches versucht?
19
Offtopic / Re: Entwickungsumgebungen
« am: 10. December 2012, 16:10 »
Zur Zeit benutz ich am meisten Terminal IDE(von Spartacus Rex) und 920 Text Editor
20
Das Wiki / Re: Sourcecode unvollständig in Android-Browser
« am: 10. October 2012, 20:58 »
Kann schon sein ich kann zum Beispiel Android Developer Dokumentation auch mit den in Android integrierten Browser vernünftig ansehen. Deswegen verwende ich fast nur noch Opera allerding funktioniert dort auch nicht alles perfekt z.B. Google Docs Dokumente lassen sich meist nicht scrollen.
Seiten: [1] 2 3

Einloggen