Image Map Image Map
No More Results
About neilobremski

Basic Information

Age
37
About neilobremski
Biography:
I started programming in GW-BASIC by copying and manipulating example listings given to me by a friend. I didn't have access to any books or other references so my initial education was trial and error alone. It was enough to hook me and now I find myself looking back fondly on those early days of struggle and excitement.
Location:
Seattle, USA
Interests:
Hiking, Reading, Music
Occupation:
Computer Programmer

Signature


Statistics


Total Posts
Total Posts
38
Posts Per Day
0.23
General Information
Last Activity
Yesterday 05:43 PM
Join Date
October 9th, 2016
Referrals
0
Home Page
http://www.gw-basic.com/
View neilobremski's Blog

Recent Entries

DDA Lines with 1 Byte Error Accumulators

by neilobremski on March 23rd, 2017 at 10:01 AM
For the past couple of weeks I've had my head metaphorically underwater as I drown myself in writing hardcore assembly for the first-time in two CGA routines: line and filled-triangle drawing. Both of these are based on Bresenham's algorithms which are fundamentally referred to as DDA (digital differential analyzers) and use the concept of integer error accumulators in order to approximate a line via pixels. Consider these two lines:

<-- (0,0) to (7,7)

Read More

Updated March 23rd, 2017 at 11:55 AM by neilobremski

Categories
Asm

ES Segment Prefix Override

by neilobremski on March 12th, 2017 at 02:20 PM
It's possible to override the implied segment of an instruction with a prefix. I was trying to figure out how to do this in DEBUG, specifically to copy the byte at ES:[DI] into AL. I couldn't figure out the correct syntax and the MSDN reference was not helping. I finally just looked up the machine code of such a prefix (26h) and then looked at what DEBUG disassembled it as:

Code:
0100 BF0301	MOV DI,0103	; set DI to next instruction byte
0103 26		ES:		; 26h = ES segment prefix override

Read More

Categories
Asm

Software written in DOS DEBUG

by neilobremski on March 10th, 2017 at 10:29 AM
The DEBUG utility included with DOS (and FreeDOS) is an awesome experimental and hobbyist programming platform, but can it be used for professional programs and full blown software? I think so.

My first computer programming was done on Apple II's during a special class in elementary school. I still don't know how I got put into it but we used LOGO to do cool graphics shit with the "turtle". I don't remember much from this period. Later, my mom got a monochrome IBM AT 8088

Read More

Categories
Asm

Yet another INT to ASCII string routine ...

by neilobremski on March 9th, 2017 at 03:49 PM
If you've been following along then you know I'm doing some programming in assembler using DEBUG. Very early on in any program with an interface, one is faced with displaying an integer in decimal (base 10) which means converting it to ASCII characters. It's the end of the day for me so I didn't want to get too fancy but I did want to try this on my own and here's what I've come up with ...

Code:
XOR DX, DX	; zero DX (used for high word in 32 bit divide)
DIV BX		; divide by decimal

Read More

Categories
Asm

Generating Polynomials

by neilobremski on March 9th, 2017 at 02:59 PM
In Magenta's Maze the core of the puzzle is finding the roots of a polynomial equation. When I wrote the main game, I wasn't sure how far I'd take that so I made some generalized math functions that do this allowing for arbitrary amounts of terms, roots, etc. This is cool but makes it difficult to translate to assembly. Thankfully there is a certain amount of predictability such that I can simplify the algorithm.

The only roots allowed are 1 to 9 which, as terms, show as (x - ?) where

Read More

Categories
Asm