Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "isa"
-
Assembly Programming is a misunderstood and tragically underutilized form of self-abuse.
While the ladies were off reading "50 Shades of Grey," I was reading the ARM ISA documentation.2 -
You know what I realized we should always say no for demo driven application development.
We should always ask for enough time do a proper development and if its not enough, shouldn’t write a single line.
Because once we deliver a working demo. Its release ready for them because its FUCKING WORKING..
And trying to explain why this is just a demo and cant be put to production is even bigger pain in the ass than saying no in the beginning.
LESSON LEARNED .4 -
Just thought I'd share my current project: Taking an old ISA sound card I got off eBay and wiring it up to an Arduino to control its OPL3 synth from a MIDI keyboard. I have it mostly working now.
No intention to play audio samples, so I've not bothered with any of the DMA stuff - just MIDI (MPU-401 UART) and OPL3.
It has involved learning the pinout of the ISA bus connectors, figuring out which ones are actually used for this card, ignoring the standards a little (hello, amplifier chip that is wired up to the +12V line but which still happily works at +5V...)
Most of the wires going to it are for each bit of the 16-bit address and 8-bit data. Using a couple of shift registers for the address, and a universal shift register for the data. Wrote some fairly primitive ISA bus read/write code, but it was really slow. Eventually found out about SPI and re-wrote the code to use that and it became very fast. Had trouble with some timings, fixed those.
The card is an ISA Plug and Play card, meaning before I could use it I had to tell it what resources to use. Linux driver code and some reverse-engineering of the official Windows/DOS drivers got me past this stage.
Wired up IRQ 5 to an Arduino interrupt to deal with incoming MIDI data, with a routine that buffers it. Ran into trouble with the interrupt happening during I/O and needing to do some I/O inside the handler and had to set a flag to decide whether to disable/re-enable interrupts during I/O.
It looks like total chaos, but the various wires going across the breadboard are mainly to make it easier to deal with the 16-bit address and 8-bit data lines. The LEDs were initially used to check what addresses/data were being sent, but now only one of them is connected and indicates when the interrupt handler is executing.
There's still a lot to do after that though - MIDI and OPL3 are two completely different things so I had to write some code to manage the different "channels" of the OPL3 chip. I have it playing multiple notes at the same time but need to make it able to control the various settings over MIDI. Eventually I might add some physical controls to it and get a PCB made.
The fun part is, I only vaguely know what I'm doing with the electronics side of this. I didn't know what a "shift register" was before this project, nor anything about the workings of the ISA bus. I knew a bit about MIDI (both the protocol and generally how the MPU-401 UART works) along with the operation of a sound card from a driver/software perspective, but everything else is pretty new to me.
As a useful little extra, I made some "fake" components that I can build the software against on a PC, to run some tests before uploading it to the Arduino (mostly just prints out the addresses it is going to try and write to).46 -
Hello everyone 👋
I see people blaming the developers when you see a crappy software product , saying that they have done a bad job.
But even it could be true also it could be the product managers who didn’t give enough time todo what needs to be done or project scope is too big for the persons knowledge.
I’ve worked in a company where deadlines were so tight I didn’t have enough time to proper UI and Testing. I used to be only developer who has someone experience and I had to train the interns as well. I am also to blame to joining such company but in desperate times takes desperate measures.
And now when i’m leaving the company and I have spend 2 years of my life for apps that I’m not proud of.
Just rant. Please feel free to give ur thoughts2 -
This is a RISCV Emulator that I wrote. I started 2PM and finished 4PM next day. This is the outcome. :)
half of those 26 hours were reading the ISA manual 😅 bc I'm dumb and I take ages to understand.6 -
What you are expected to learn in 3 years:
power electronics,
analogue signal,
digital signal processing,
VDHL development,
VLSI debelopment,
antenna design,
optical communication,
networking,
digital storage,
electromagnetic,
ARM ISA,
x86 ISA,
signal and control system,
robotics,
computer vision,
NLP, data algorithm,
Java, C++, Python,
javascript frameworks,
ASP.NET web development,
cloud computing,
computer security ,
Information coding,
ethical hacking,
statistics,
machine learning,
data mining,
data analysis,
cloud computing,
Matlab,
Android app development,
IOS app development,
Computer architecture,
Computer network,
discrete structure,
3D game development,
operating system,
introduction to DevOps,
how-to -fix- computer,
system administration,
Project of being entrepreneur,
and 24 random unrelated subjects of your choices
This is a major called "computer engineering"4 -
Making my own game console.
I work with FPGAs and have access to a bunch of pretty nice dev boards, so building a workable CPU and GPU is definitely possible. I even have architectures for both in mind, and have planned ways to get compiler support (i.e. just use RISC-V as the ISA as much as possible so that I can reuse an existing RISC-V compiler with minimal changes) so that I don't need to write assembly.
But, lack of time. Sigh.4 -
Why the fuck these managers can’t understand that you can’t build a full blown system with in a week. After building a demo driven application to show the client you can tell the client we are fucking ready to launch the damn thing . I FUCKING MENTIONED BEFORE GOING TO THE MEETING ITS NOT RELEASE READY GOD DAMN IT.
Now when I say we can’t launch this app we need to fix things . THE FUCKING MANAGER HAS THE GUTS TO SAY “one day is enough to fix the issues right ? Shouldn’t be a big deal for you to fix this” .
Kill me now 🤬🤬🤬🤬🤬7 -
!rant seems that my raspberry pi serial idea is a little bit complex at the moment and may take a more serious turn later, but I have studied and found DOS based TCP/IP software that will allow me to use my 5150 with actual Ethernet. There are a few 8bit ISA Ethernet cards that will work in the 5150 and separate executables that will configure DHCP, DNS, and even allow me to use a terminal emulator and SSH to connect to *nix based computers over lan! I'll keep you all posted!6
-
The company that manages my ISA for Lambda emails on a regular basis to get you to update your income. I got annoyed by the frequency while I was employed so started filtering everything.
Though I’ve been up to date with reporting income to them and submitting tax documents, etc, I apparently missed some important emails.
Like the one on the 4th saying a third party provider flagged by account for employment with CompanyA and that I needed to submit my pay stubs for CompanyA.
I do not and have never worked for CompanyA. My husband works for CompanyA.
I also missed the email from the 12th saying I’m in breach of contract and owe them $19,091.65 immediately.
*head desk*
I’m so mad I can’t even.
Why did i check my email before going to sleep?
AND I POSTED RECENTLY SO I CAN’T EVEN RANT YET. *
*Waited it out -
I spend all morning on trying to solve an Algo problem for upcoming interview practice (Euler #3) that comes down to implementing IsPrime.
I remember reading once how Sieve of Eratosthenes
Isa the right way to go do when I first started I wanted to use that.
Then I couldn't think of the right code though so I went with Brute Force (for all numbers upto X see X is divisible by it)
It actually worked but I wanted to just try the "right way".
It's way slower and actually ended up with the wrong answer...
But at this point I don't give a **** anymore.
I guess lesson learned... Use Brute Force first... Then optimise for a problem more elegant solution.10 -
Now... I understand 2FA is to make things more secure, and I do appreciate it. BUT can we please work out a damn solution for people who work in an agency for other corporates which only have one shared account across the agency that bundles one phone number or mobile app.
What if people are on leave or sick? I need stupid 2FA to be able to login/work. uhhhhhhh.....9 -
Do you need a degree to become a software engineer ?
Now this is a question I’ve seen many people ask. I personally have no degree and I’ve been doing programming for the past 10 years (since I was 18 ). Whatever I learned, I learned from reading and watching tutorials.
So far It wasn’t a problem for me.
What do u guys think and what is your experience is this matter ?9 -
Shit bathed and stack smashing ass loads of fuck.
I wrote a virtual machine, and just to fuck myself harder, I make the decision of applying some fancy dumbass theories of mine. This translates to a piece of shit modular design that works exactly as intended, but constantly gives me vietnam flashbacks to the horrifying, multiple concurrent instances of my younger mind being incessantly turbo-raped by the dozen object-obsessed pedophiles that I initially studied under.
Now, were they *actual* pedophiles? No, of course not. But I have to make fun of the acronym somehow and that's what came to mind, leaking horse dung all over the walls, floor, curtains and carpets.
Anyway, I feel so smart after this traumatic experience I just have to keep doing it to relive the terror once again. Find me in the corner, laying down in the fetal position, sobbing until the tears build up and drown me in this well of despair, or rather this finely shit painted portrait of a toilet in a lonely and stinking unisex public bathroom stall.
But let me squeeze these fucking tits a little bit harder, because that's my actual day job. That's right. I get PAID for slapping around mammary glands, it's not much but it's an honest living.
So where was I? Ah, yes, absolute degeneration. I'm truly the Max Wright of programming, mostly for smoking crack and having unprotected sex with homeless people, but also for keeping alien life forms in my basement that go out at night to hunt for sweet feline delight.
But as I keep going, I decide I want a language for the machine so I don't have to punch bits by hand all fucking day like an idiot, so alright let's make a small assembler for this shit... oh, right, except it's not small, because gently suckle the bile out the lips of my fucking butthole.
I may redefine a load of shit two months down the line, so I have to make everything perfectly encapsulated and easily fucked with -- which in my licking vomit off the floor of a porn theater travesty of a case means I'm generating half the code and scrambling as hard as I can to glue everything together.
Does it work? Of course it works, I'm Max Wright bitch. I can redefine the ISA all I want, anytime I want without breaking anything because of my pristine crackhead encapsulation. And to credit the scrambled eggs I have for fucking brains, it's not even *that* complex.
The problem is I keep forgetting shit, not how it works, just that it's there. So I forget that I have a virtual machine, and I forget that I have an assembler, and so I spend an entire day trying to figure out how the fuck I'm going to handle a loop inside an unrelated interpreter.
By the time I manage to remind the drooling undead jackass that is this husk that my irredeemably demonic self inhabits, that we can easily solve this by using the tools we've already built, it's so late and we're so tired there's not much we can do. All this time, WASTED.
Which circles back to crack. Are you tired of blowing your babysitter for cash? Have you considered suicide by a thousand used trojan condoms? Is your roommate possesed by the forces of Avernum, and now seeking all-destructive vengeance against your rectum?
Try no other than Soul Excision, the treatment that will neuter your being and curse it to the TRUEST form of eternal damnation! Through Soul Excision, you will be CUT OFF from the very essence of the universe, and turned into an astral prostitute that offers their EVERY orifice to the BUTTLOADS of maggots that debour their mind and body, all for the pleasure of some rich and powerful wankers that *deeply* enjoy watching questionable erotic tapes from nightmarish outer dimensions!
Use my promo code SLUTSKANK for 20% OFF in your very LAST purchase on this earth! And once you surrender your BODILY holes to cosmic oblivion, remember: when it comes to your ASS, we're ALWAYS open for business!
Thanks to Soul Excision for sponsoring this DDDDDDDDDDDDDDDDDDDDD$$$$$"2402"$$?"="$0"?¿"=¿?40'0"$="¿¿=$¿"?=4¿?"$="?¿$="¿?$0¿?"=$¡'0$"¿?$=::::::
:~%4 -
Well, I love react-native and how easy to build mobile app with it. but damn look at these folder sizes jeez1
-
I needed to align instruction execution to a 64bit boundary, for custom CPU architecture that I'm building. Basically the ISA had 3 types of instruction lengths; 16bit, 32bit, and 48bit. The core did 64bit fetch from the Instruction Cache, the issue was that if an instruction was in between two blocks of data I needed to fetch two blocks. That would impact performance a bit. So I had to modify GCC sources of the ISA that I'm using. So instead of doing it the right way, I just did it the lazy way and modified the GCC backend to print
.p2alignw 3, 0x00ff, 4
.p2alignw 3, 0x00ff, 2
On each 48bit and 32bit instruction to generate NOPs. And it did work lol. -
Worst documentation experience: reading an 500+ page ISA document where the author (a so-called computer architect) kept confusing the term 'op-code,' and 'instruction.' When I asked for a consistent definition he flamed the shit out of me. My boss sided with him.
-
TIL all x86-compatible CPUs have ISA support and the ability to be reset by the keyboard controller via A20 line, all thanks to not wanting to alienate a single person who refuses to upgrade.
you can put ISA or AGP devices straight onto the fucking LPC bus and it'll work on most CPUs. Y'know, on the same bus as the TPM in most?
you already know i'm gonna put a floppy controller, a parallel port, and an IDE controller on the PCI-e bus with an ISA daughterboard12 -
Hi all. I'm now connected to wifi of another restaurant ordering expensive food and cheap lemonade. Next (hehe nextjs) to this restaurant isa cinema and Barbie movie is being emitted in Extreme IMAX 2D should i go and watch it with my blonde gf after we eat (expensive) food? (last night and this morning i got lots of sexes from her so im pretty low on bullshit today and dont care about wave 2 shitstorm from last night)16
-
Dear the devs at Danske Bank UK,
For the 4th time in 5 years I am going to send a error report to you and get my local branch to directly email you to complain about the lack of being able to see anything on my ISA on online banking, plus just fucking fix it,
sincerely Hidden3