[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/vr/ - Retro Games


View post   

File: 515 KB, 1920x1080, 2020-04-19.png [View same] [iqdb] [saucenao] [google]
6352104 No.6352104 [Reply] [Original]

What old (70s/80s/90s) computer provides the comfiest and most interesting programming environment? Which ones have good documentation and communities?

I'm interested in both high-level stuff like BASIC and in assembly/machine language.

I can also read Japanese, Spanish and German in case there were interesting machines coming from those places that can be emulated or bought for little money.

I just started dicking around with a C64 emulator and while the Basic language is pretty limited, I love how it immediately boots you into a programming environment, and how easy it is to access low-level stuff like the graphics memory and so on. I just wish you could write assembly routines right into the bootup screen like Basic programs.

I looked at some videos of BASIC programming on Atari computers and it seems a lot easier to do graphics stuff on there compared to C64.

>> No.6352131

>>6352104
z80 and 6502 is pretty comfy, z80 better.
Of course C is top tier comfy, but haven't really used it for anything retro related.

>> No.6352137

>>6352104
Whats your programming experience look like? If you're fairly experienced and just wanting to learn the language/architecture, you might be better off looking at code for existing games.

>> No.6352171

>>6352104
>BASIC
QBasic on MS-DOS
>Assembly
C64 with a monitor cartridge (see https://en.wikipedia.org/wiki/Machine_code_monitor ).

>> No.6352176

Redefined character sets are pretty convenient for making games in Atari BASIC
I made games with those when I was a kid

>> No.6352184

220 POKEFG,CF:?CF:POKEBO,NOTCFAND15:LIST:ZA=PEEK(56321):EX=8
320 EX=EX-1:?SGN(ZAAND2^EX)"TIMES"2^EX:IFEXTHEN320

Crunching BASIC code on a C64 is vital to saving memory and speeding up execution time.

>> No.6352192

>>6352137
>Whats your programming experience look like?
I'm not a professional developer, but I've written a few useful patches for some open source programs, the most ambitious of which was for a Playstation emulator.

I just like dicking around with stuff, I mostly have experience with ARM assembly, C++, BASH and Python. Also know some stuff about electronics and wrote a couple of simple games (snake, breakout, connect four etc) for Arduino boards that I connected to various LEDs and buttons.

>>6352171
>monitor cartridge
I'll look into it, thanks

>> No.6352194

Atari BASIC provides more support for graphics, but it has several annoying features particularly string handling and it's also really slow and poorly optimized.

>> No.6352201

Don't listen to him, you want to use a 6502 cross assembler on your PC.

>> No.6352223
File: 42 KB, 388x355, kc85.jpg [View same] [iqdb] [saucenao] [google]
6352223

>>6352201
That's probably the most efficient way to do it, but it just doesn't feel... retro enough.

>>6352137
>you might be better off looking at code for existing games.
I'll do that for sure, but I still have to pick a platform.

Maybe I'll try and pick up a communist era Robotron KC 85 from East Germany and mess around with CAOS. In fact, I just found out that there's an emulator for it, now this might be interesting...

>>6352184
first time writing much of anything in BASIC, I'll get to the optimization tricks later

>> No.6352286

>>6352104
>high-level stuff like basic

>> No.6352301

>>6352104
BBC Basic is powerful and pretty cool, and the Atari 8-bit machines are unique and have an ass-ton of documentation that's been digitized as well.

>> No.6352308

>>6352286
Basic is highlevel retard

>> No.6352316

Like everyone else has said, C64 is probably the most documented and hacked non-IBM compatible computer from that era. It's simplicity, like the 2600, makes it friendly for people just looking to dick around.

>> No.6352318

>>6352316
Since when is coding for the 2600 considered simple?

>> No.6352342

At that point you may as well just learn assembly language since any relatively complex BASIC program is going to be almost as involved to make as an assembly one.

>> No.6352361

>>6352104
Since you include the 90's the answer is "PC"s across the board. By 1999 it was almost the only game in town, there was a massive number of development tools available and it was by far the most well documented. And this had been the case for 10 years so you should really exclude the 90's if you want anything "interesting" as is le secret club interesting.
If you're emulating the C64 and want to play with assembly just emulate the 128 instead. It has a built in assembler. I wouldn't want to use it for writing anything big, but I have.
C64 basic is very limited. Nearly worthless unless you want to do text shit slowly.

>> No.6352362
File: 65 KB, 769x612, Earpu.jpg [View same] [iqdb] [saucenao] [google]
6352362

Are any games written in Haskell? All I know is Haskell.

>> No.6352402

>>6352361
The C128 has a much better BASIC and a lot more memory but it's also slower. C64 BASIC is fast because it's really skinny (only 8k).

>> No.6352502

>>6352194
Could use one of those improved Atari BASICs like Turbo Basic XL

>> No.6352535

>>6352194
It was banged out in six weeks and the programmers evidently didn't have a lot of passion for the project, it was just a paycheck to them.

>> No.6352543

>>6352286
If BASIC doesn't make the cut, I'd be really curious to know what you consider a high level language. I have a feeling you're just a retard, though.

>> No.6352545

>>6352176
Char graphics are not used as often on the A8 as they are on the C64. The low-res bitmap screen is very common since it only takes 1.5k of memory, though char mode allows one additional color. It also does only support 128 characters which is a lot more limiting than the C64 and its 256 characters.

>> No.6352584
File: 547 KB, 521x515, 1578739809009.png [View same] [iqdb] [saucenao] [google]
6352584

>>6352104
>he didn't crunch his code

pathetic

>> No.6352596
File: 1.10 MB, 635x803, 1565653926724.png [View same] [iqdb] [saucenao] [google]
6352596

>>6352584
if your c64 code doesn't look like this, you're doing it wrong

>> No.6352605

>>6352584
Why does the first line have a semicolon?

>> No.6352619

>>6352605
Semicolon tells it not to put a carriage return at the end of the line. A comma puts a five space tab after the line.

10 PRINT"HELLO"
20 PRINT"WORLD"
RUN
HELLO
WORLD

10 PRINT"HELLO";
20 PRINT"WORLD"
RUN
HELLOWORLD

10 PRINT"HELLO",
20 PRINT"WORLD"
RUN
HELLO WORLD

>> No.6352620

>>6352605
PRINT expr1 [;|,] expr2 [;|,] ...
Outputs text to the user. Multiple expressions can be separated by semicolons or commas. Semicolons leave no space between printed expressions. A comma is used to align text neatly in columns; it forces the next output column to be the start of the next print zone. Print zones are always 14 characters wide. A newline will be automatically printed at the end of the line, unless the PRINT statement ends in a semicolon or comma. Floating-point values are automatically padded with one trailing space, and positive values are also padded with a leading space, so that they take up the same amount of space as negative numbers. Example: PRINT "TURN";TU, "YOU HAVE";LI;"LIVES LEFT".

>> No.6352630

>>6352104
8086 asm is my go-to comfy zone.
if you like C++20, you can still target DOS (386) with the latest gcc.

>> No.6352635
File: 100 KB, 1920x1079, 1573808300566.png [View same] [iqdb] [saucenao] [google]
6352635

>> No.6352643

>>6352596
Each program line can occupy two rows on the screen (ie. 80 characters). You do not have to put a space anywhere except between the line number and program statement. Smaller line numbers execute faster and use less memory.

A zero can be replaced with a period which executes slightly faster--thus POKE 54296,. instead of POKE 54296,0.

Omitting the index variable after NEXT also runs slightly faster.

The closing quote mark in a string can be omitted if nothing is after it, thus 30 PRINT"HELLO, AGAIN...

PEEK and POKE addresses that are used frequently should be stored in a variable for faster execution and less memory use.

? can be typed instead of PRINT. This makes no difference in memory usage and will be displayed as PRINT when the program is listed, but saves a little typing and allows you to crunch more onto a program line.

Commodore BASIC only supports floating point variables, the integer type is strictly for arrays and saves memory since each array element takes two bytes instead of four.

>> No.6352649

You might as well just program in 6502 assembly, it's literally easier than dealing with BASIC's bullshit for anything but the most trivial of use cases.

>> No.6352653

>>6352649
As I said, >>6352342. That on top of the balls-slow execution speed and your not being able to use interrupts.

>> No.6352668

>>6352620
>>6352619
Interesting how print commands are the first thing you learn but there's still a lot of weird extra stuff in them.

>> No.6352670

>>6352668
Not really, because of the way console output works most languages have a lot of special syntax dedicated to it

>> No.6352703

Variable names are alphanumeric and consist of 1-2 characters (excluding the $ and % type modifiers), but the first character must be a letter. Thus A1 is allowed but 1A is not. Any additional characters in a variable name are ignored. As you'd probably guess, single character variable names execute a little faster.

If you don't DIMension an array, it defaults to ten elements but it uses a base 0 so actually it's 11 elements eg. A(0), A(1), A(2)...A(10). You can't redimension an array short of using CLR to wipe all variables (Z80 versions of Microsoft BASIC had a special ERASE command to nuke arrays but there was no REDIM until QBASIC).

RND(0) uses the C64's jiffy clock to generate random numbers but it can only generate numbers from 0-63 so it's pretty useless. RND(1) uses a pseudo-random algorithm and the only way to get true random numbers is via the SID's white noise channel. For comparison, the RND function in Atari BASIC actually does use the white noise channel on the POKEY.

>> No.6352707

>>6352703
we get it anon, you found a website on BASIC, you don't need to copy/paste the contents here

>> No.6352776

>>6352402
>better
>slower
I know what you're trying to say but lol. C128 basic is shit. All those extra features are worthless because there's literally nothing worth writing in basic on the C64 or C128 much more complicated than hello world. 65xx assembly is so easy to learn there's hardly ever a reason not to use that instead.

>>6352707
lol. He shows up in every C64 thread and gets really mad when you catch him parroting something incorrectly. I suspect he's the assembly language larper guy. But in this case it's pretty on relevant to the "interesting programming environment" question.

>> No.6352853

>>6352776
>65xx assembly is so easy to learn there's hardly ever a reason not to use that instead.
I'm not so sure about that. This was excerpted from an old book I had about x86 asm; it was part of a sample program to convert decimal numbers to hex. Try and convert this to 6502 asm. I tried and was unable to do it. When you don't have 16-bit registers or an XCHG instruction, it's tough. Converting to Z80 would be easier since it's much more like x86 assembly.

>xor bx,bx
>newchar:
>mov ah,1
>int 21h
>sub al,30h
>jl exit
>cmp al,9
>jg exit
>cbw
>xchg ax,bx
>mov cx,10
>mul cx
>xchg ax,bx
>add bx,ax
>jmp newchar
>exit:
>ret

>> No.6352880

>>6352286
High level doesn't mean advanced, it means abstracted. Assembly is considered a low level language because it's as close to the metal as you can reasonably get.

>> No.6352903

man i was so jelly that the Apple IIs at school had a command HLINE to draw stuff on the screen instead of POKEPOKEPOKEPOKEPOKEPOKEPOKEPOKEPOKE

>> No.6352948

Commodore retained the outdated 8k PET BASIC for cost reasons, they assumed if you wanted sound or graphics that you'd learn assembly or buy a third party BASIC extender--Simon's BASIC was the most popular one and was actually something a British kid wrote in his living room and Commodore UK liked it and bought it from him.

>> No.6353027

>>6352853
It sounds like the problem is you're trying to "convert" from one instruction set you barely understand how to work with to another instruction set you completely don't understand how to work with. That's a recipe for disaster.
What you should do is work out the logic of the process you're trying to achieve. Do it on paper if you can't do it in you head, or just in case. Then map that to instructions available on the target architecture. You're not not going to "convert" 8086 instructions to 6510 instructions that have no counterpart. You might be able to get away with that with similar parts but not with ones so radically different.
As for being tough, I guess it requires more instructions and understanding, but this is a very simple challenge. Take this as a comparison. Old school LCD calculators don't have a dedicated "calculate chip" in them. They're made using 4 bit CPUs and all that math is done in code. The difficulty of your problem is a grain of sand on a beach by comparison.

>> No.6353034

I personally wouldn't bother with BASIC, regardless of the platform.

I would recommend 6502 Assembly on the C64. There are some good books on it from the 80s. You can't go wrong with Z80 either. Or if you feel like stepping up a bit, M68K.

I wouldn't recommend getting straight into C before you are confident with Assembly, either. You will be confused by pointers, bitwise ops, and the like.

>> No.6353141

Coding is for nerds

>> No.6353226

>>6353141
True. Coding is for nerds. Programming is for pros.

>> No.6353373

>>6353034
I wouldn't recommend reddit spacing on 4chan. I also wouldn't recommend recommending things you don't know much about.

>> No.6353414

>>6353226
Coding is for web industry
Programming is for software industry

>> No.6353426

>>6352362
Definitely not retro games, no chance in hell something like an Atari 800 or even an Amiga could run a Haskell compiler

>> No.6353431

>>6353426
Where there any games written in Lisp?
They had dedicated Lisp hardware.

>> No.6353443

>>6352104
https://www.youtube.com/channel/UC4hnwmds9vAIJICAieAUEZA/videos

>> No.6353494

>>6353034
How are pointers and bitwise ops any more or less confusing in one language vs another? A pointer is a pointer, it's not a difficult concept, nor an abstract one, you've got a block of data that contains the address of a larger block of data, doesn't matter if that pointer is in a variable or a register, you just dereference it to get the data either way. Bitwise ops are the same thing, bits don't change across languages. Multiple languages implementing the same identical constructs does not imply the concept will be any different between the languages. In fact, if done correctly, they should be indistinguishable design-wise, with C's bitwise stuff mapping to underlying opcodes, | to or, ^ to xor, & to and, ~ to not, etc. on the host system. C strives to be the lowest level abstraction of base functionality on all supported architectures, so most of the baked-in functionality (conditionals, bitwise logic, arithmetic) models what you get in an ISA (conditional branches, jumps, calls, bitwise operators, mathematical operators). Granted, these are abstractions so you get constructs like switches and loops too, but you would implement the same in assembly and a series of conditional branches, that's what your compiler turns the stuff into anyway.

>> No.6353532

>>6353373
t. someone who managed to type in a BASIC program from a book once

>>6353494
I first got into high(er) level languages, eventually settling for C. The purpose of a pointer was not entirely clear (and if you search for "pointers vs. variables", you'll see some really confusing stuff/advices). Same for bitwise operations - I understood why we need them, but I didn't understand what they actually do under the hood.

Once I started with 6502 assembly (just for the fun of it), everything started to make sense. I learned what the machine actually does.

>> No.6353557

>>6353532
What is complicated about a pointer though? It's just an address to data, that's literally it, and bitwise operators refer to the exact same primitive operations, whether you're doing them with a | in the middle of an or.l in front of them....

>> No.6353561

>>6353532
If anything C makes it easier to understand as you can implement these same constructs in more abstract concepts.

>> No.6353568

>>6353557
>What is complicated about a pointer though?
The fact you have to understand how memory is managed and addressed - a concept rarely explained in detail in books/courses aimed at beginners.

>> No.6353580

>>6353568
It's literally an array, memory starts at addy x and goes to y, the object you're accessing is somewhere in the middle and your pointer is basically the index in the array. Memory isn't some wildly advanced concept, it's literally just slots in a stack of data. In fact, memory is arguably easier in C since you have the standard library and its memory allocation utilities. Allocating memory in assembly is implementation-dependent and can range from trivial to a massive pain. Sorry but I just don't see any reality in which the concepts are any easier in asm, rather, memory management is much easier to implement and handle properly in C.

>> No.6353596

>>6353568
Plus, if you don't know anything about those concepts, you're going to have a really bad time in C, it doesn't hold your hand like whatever high level Microsoft language script kiddie larpers use to write their "programs" these days.

>> No.6353597

>>6353580
>Sorry but I just don't see any reality in which the concepts are any easier in asm
Sorry but I just don't see any reality in which the concepts are any easier in <C/Pascal/LISP/Fortran/your language of choice>. Different people, different skill levels. (I must add though, this anti-assembly thing is hilarious. Especially on a retro board.)

>> No.6353601

>>6353597
I'm not being anti-assembly, I code in 68k and x86_64 pretty regularly, I'm just pointing out the idea that assembly makes these concepts easier than C is fucking laughable.

>> No.6353610

>>6353601
>the idea that assembly makes these concepts easier than C is fucking laughable
So is your "if it works for me this way, it ought to be the same for everyone" logic. Nobody told OP what he MUST use. People, me included, were giving recommendations. It's up to him what he finds the most convenient.

>> No.6353620

>>6353610
I feel like anyone (including you) would have a hard time justifying knowing each architecture and operating environment's system-provided memory allocation constructs as being easier to understand than pointer = malloc(datasize)

>> No.6353648

>>6353373
based

>> No.6353659

>>6353620
Read OP's post. He said:
>What old (70s/80s/90s) computer provides the comfiest and most interesting programming environment? Which ones have good documentation and communities?
>I'm interested in both high-level stuff like BASIC and in assembly/machine language.
He's not interested in learning each and every architecture out there. Moreover, there aren't many (actually useful) high-level compilers for these machines anyway.

>> No.6353714

>>6353659
I'm well aware of what OP said, but I'm responding to what you said, that pointers, bitwise ops, and such are easier concepts in assembly, which for reasons stated simply isn't true. Just don't spread bullshit, someone might believe you.

>> No.6353735

>>6353714
See: >>6353610

>> No.6353864

>>6352853
Trying to do those things on a 6502 is a PITA and usually requires a lot of zero page gymnastics.

>> No.6353989
File: 109 KB, 498x717, 7578.jpg [View same] [iqdb] [saucenao] [google]
6353989

One thing I've never been able to figure out is just how the fug you're supposed to do the RND function in assembly language. I get that BASIC has a pseudo-random generator but fuck me if I know how to write something like that in asm.

>> No.6354003

>>6353989
Depends on your hardware. On the C64, people mostly utilize the SID's oscillator to generate random numbers.

>> No.6354013

>>6354003
Not sure what you'd do on an Apple II or something. Probably have to fudge it with a pseudo-random generator.

>> No.6354017

>>6352853
The same book had a Sieve of Erasothenes (everyone's favorite computer speed test in the early 80s) program in GW-BASIC and assembly to demonstrate how much faster the latter is. Converting the BASIC program for the C64 was simple, the assembly one...oh boy would that be a toughy.

>> No.6354031

Those type-in programs in the magazines were such a PITA.

>> No.6354048

>>6353494
Maybe they're not covered until the second chapter of the book he's thinking about starting to read to learn C?

>>6353532
Looks like we've found the village idiot for this thread. Seems like one shows up every time a programming thread gets started here some retarded fuck comes along pretending he has a clue and shits it up. The underage bullshitter who's deluded himself into thinking everyone is at least as ignorant as him. Back to le facebook kiddo.

>>6353597
There's no " anti-assembly thing" here faggot. It's an anti retarded LARPer thing. You don't know WTF you're talking about and it's obvious to everyone here except you.

>> No.6354068

>>6354048
based boomer

>> No.6354270

>>6354048
I fuck. You are virgin.

>> No.6354315

>>6352903
Every computer had its pros and cons. If you tried to do music or sprite animation on an Apple II, it was like bashing your head into concrete.

>> No.6354325

>>6352643
All the 6502 Microsoft BASICs were FP-only though they had 40-bit FP against the 32-bit in Z80 BASIC.

>> No.6354328

>>6352649
Actually BASIC isn't totally useless, for a lot of applications particularly where you need to work with floating point or trig functions you really, really don't want to do that stuff in assembly. If your program only uses integer numbers, assembly is fine.

Even some commercially released games (Pirates! is a notable one) are partially written in BASIC because it made it easier for the programmer to visualize the game algorithms.

>> No.6354351

>>6352596
>IF...THEN...ELSE
>SOUND
>LOCATE
>MOD
That's not C64 BASIC. It looks like GW-BASIC but GW-BASIC doesn't support line crunching.

>> No.6354365

>>6352853
You would have to use two memory locations as a sub for 16-bit registers. The MUL instruction...big deal, you just do ROL for multiplication and LSR for division. In fact even on the 8086 you didn't ever want to use MUL because there was no hardware multiplier and it was unbelievably slow (that wasn't added until the 286). XCHG would involve zero page swapping.

>> No.6354380

>>6354365
wats the best way to get into c64 never had one growing up. know nothing about it always seemed interesting

>> No.6354386

>>6354380
There's only one viable emulator that is actively developed (VICE), and it includes two versions: one optimized for speed and one for cycle-accuracy. So it's a good starting point.

>> No.6354390

>>6354386
wat do i download

>> No.6354394

>>6354390
and how do i use it

>> No.6354396

>>6354390
Just get the latest version, it comes preloaded with everything you need.

>> No.6354398

>>6354396
dunno wat zip to download

>> No.6354404

>>6354398
do i use unnoffical test builds

>> No.6354407

>>6354398
Try again later when you're not retarded.

>> No.6354409
File: 43 KB, 1876x376, dfsfdfsdfs.png [View same] [iqdb] [saucenao] [google]
6354409

>>6354407
wat do i choose

>> No.6354413

>>6354409
Hate to break it to you, but if you're this stupid you should probably just give up now. You'll never manage to get it working, and programming anything is absolutely impossible for you.

>> No.6354420

https://www.atariarchives.org/basicgames/showpage.php?page=57

Anything in 101 BASIC Computer Games would be a fun exercise to convert to asm provided it doesn't use floating point or trig shit.

>> No.6354438

Anything that runs vim lmao

>> No.6354443

>>6354409
You don't want to build from source, so get the binary. You should probably look up terms as you come across them so you know what you're doing

>> No.6354447

>>6354443
And not the nightly one

>> No.6354475

>>6354420
1 ?CHR$(147):?TAB(17)"DICE":?TAB(7)"CREATIVE COMPUTING MORRISTOWN, NJ":?:?:?
2 DIMF(11):?"THIS PROGRAM SIMULATES THE ROLLING OF A PAIR OF DICE. ENTER THE # OF TIMES YOU WANT ";
3 ?"THE COMPUTER TO ROLL THE DICE. BEWARE, VERY LARGE NUMBERS WILL TAKE A WHILE.
4 FORQ=.TO11:F(Q)=.:NEXT:?:INPUT"# OF ROLLS";X:FORS=1TOX:A=INT(6*RND(1)+1):B=INT(6*RND(1)+1)
5 R=A+B:F(R)=F(R)+1:NEXTS:?:?"TOTAL SPOTS","# OF TIMES":FORV=1TO11:?V,V(V)NEXT:?
6 INPUT"TRY AGAIN (Y/N)";Z$:IFZ$="Y"THEN4

>Commodore BASIC clear screen command (can be CLS, HOME, etc for other machines)
>dimension array as 11 elements since it's really 0-11
>single digit line numbers for maximum speed
>. used in place of 0 for slight speed gain
Also if you're using arrays, you may as well just use FP unless it's a really huge object with 100 or more elements; each reference to an integer array has to have a percent sign in front of it which takes an additional byte so you don't actually save memory if the array is small like in this program.

If you did this on Atari BASIC, you'd have to initialize the array first with FORX=0TO11:F(X)=0:NEXTX because it doesn't do that automatically and the thing will be full of whatever garbage was in memory.

>> No.6354520

>>6354475
But in assembly language?

>> No.6354543

>>6354475
It would be pretty straightforward, you might use the SID white noise channel for random number generation. Displaying text strings on a C64 is a little annoying and would involve repeatedly calling the kernal JSR $FFD2 function in a loop, there's not a straight output string function like the DOS INT 21h Function 9.

>> No.6354674

>>6352104
Applesoft BASIC doesn't have the bitwise operators (NOT, AND, XOR, and OR). They were cut out to fit in some of the graphics commands.

>> No.6354680

>>6352316
>Like everyone else has said, C64 is probably the most documented and hacked non-IBM compatible computer from that era
Surely not the Apple II?

>> No.6354769

bump

>> No.6354775

>>6354328
you know there are assembly libraries, right? just because you're writing a program in assembly doesn't mean you're working from scratch...

>> No.6354819
File: 92 KB, 512x416, kc87_jungle.jpg [View same] [iqdb] [saucenao] [google]
6354819

Anyone have experience with the Acorn Archimedes? Are the emulators, documentation and software development tools good? Seems pretty interesting to me because it has an ARM processor (I love ARMv7 and ARMv8 assembly) and comes with an assembler built in. It's also 32 bit despite being from the 80's. The BASIC flavor it uses also seems to be a lot more powerful than the C64's.

>>6352853
>When you don't have an XCHG instruction
You could use XOR instructions. I don't know much about 65xx assembly yet, but in ARMv8 I'd do this to swap the values of registers x1 and x2 without using additional registers or memory:
eor x1, x1, x2
eor x2, x1, x2
eor x1, x1, x2

>>6354674
C64's BASIC also doesn't have an XOR operation which I thought was weird, especially seeing how the CPU does have an XOR instruction.
It comes with OR, NOT and AND though, so I was able to still do with the XOR operation what I wanted, just with a lot more typing. I then rewrote it in Assembly, which ended up being shorter.

>>6352171
>DOS
So how do I get into this on a modern computer? Is DosBox good for programming stuff? What assembler should I use? Does DOS allow me to do funky stuff like change around the graphics ram and memory used by the OS, similar to a C64?

>>6353034
>I wouldn't recommend getting straight into C before you are confident with Assembly, either. You will be confused by pointers, bitwise ops, and the like.
I can definitely see where you're coming from here, it wasn't until I wrote a good amount of assembly code that thinking with bitwise operations and working with the stack became second nature to me. It also gives you an intuitive feel for what kind of operations in C need a lot of instructions, versus those that can be realized in very few.
It's not that these concepts are harder to grasp in C/C++, it's just that Assembly FORCES you to work with them. I mean shit, I went through a 500 page C++ tutorial and by the end of it I didn't even know what a register is.

>> No.6354930

6502 asm is generally more code dense than Z80 which is why the latter has more powerful BASICs--you can accomplish more in less memory.

>> No.6354954

>>6354270
zoom

>>6354365
He wants to multiply by 10 so it'd need an ADC and should be ASL instead of ROL. Not rocket science and even if anon is bitwisely challenged like the anti-assembly LARPer he could just do a bunch of adds. Maybe they don't tech that sort of stuff in school anymore?

>> No.6355030

imagine trying to program a c64 on a c64 with those load times

>> No.6355032

>>6355030
In the early period (up to 1984 or so) C64 games were often written on an Apple II, as they got bigger and more complex a cross-assembler on a workstation or minicomputer would be used.

>> No.6355046

>>6354775
It's also possible to call the BASIC floating point routines from assembly.

>> No.6355158

>>6354475
>made typo so program won't even work
>this is what happens when you write code like a tard
>only retarded aspies ever wrote code this way
>people might make a compacted copy from actual readable source
>if they were too retarded to use a compiler or assembly
lol

>> No.6355175

>>6355158
Sup assembly language LARPer guy.

>> No.6355450

>>6355175
Sup zoomer who keeps fucking up the shit he parrots in every C64 thread

>> No.6355465
File: 76 KB, 465x574, 777.png [View same] [iqdb] [saucenao] [google]
6355465

You've probably seen the sine curve program in the C64 PRG, right? It's slower than balls (really needs a quick machine language routine to clear the bitmap screen). But oh dear, it uses a trigonometric function. So much for any attemped recreation of this program in assembly.

>> No.6355550
File: 87 KB, 795x586, sieve of erasothenes.png [View same] [iqdb] [saucenao] [google]
6355550

>16381 element array
>set to integer, that would take about 32k of memory
>Atari BASIC also had no integer anything so you might want to consider using a smaller array size there
>actually even on other machines I'd probably cut it down to maybe 8k elements

>> No.6355558

>>6352104
Turbo Pascal for MS-DOS. With Turbo Pascal you get an almost modern IDE, an object oriented language better than C++, a solid standard library and instant compilation even on era-appropriate hardware. It's really good. And if you don't care about authenticity that much you can even bring modern Free Pascal to your DOS machine. You will then have a programming language with freakin' genetics. Go programmers will stare at you with envy from behind their MacBooks when you bring your 486 full tower to Starbucks.

>> No.6355572
File: 1.98 MB, 1280x961, 1564922365213.png [View same] [iqdb] [saucenao] [google]
6355572

>>6355558 >>6352104
Sadly Turbo C/Pascal/etc aren't free.
Openwacom is. It's also packaged on freedos.
Pic related (fasmd, from fasm, the flat assembler) is pretty comfy too, and it supports multiple files opened at once, making it very comfy for reference documents. Fasm has a quite nice community around it, and while it works well for DOS programming, it isn't limited to it. Pic related is me doing some dev while reading Advanced ms-dos programming.
You can find advdos.txt in gopherus's author gopher site. Gopherus is also packaged in freedos.

>> No.6355581

>>6355558
>genetics
That should be 'generics'.

>> No.6355613

>>6355572
>Sadly Turbo C/Pascal/etc aren't free.
There is Free Pascal like I said. It actually uses parts of Open Wacom.
https://wiki.freepascal.org/DOS
I think it's a bit silly (not to mention inauthentic) to avoid proprietary software or piracy on DOS. The only situation in which I would be concerned about developing with a pirated copy of TP is if I was making commercial software to sell to other DOS enthusiasts.

>> No.6355617

>>6355613
I would be concerned if I wanted to distribute the stuff I make (which is the case) at all. I'd have to explain why, despite writing software with turbo pascal or whatever, I am not registered as having a license of it.
The risk is very low, but it's a hostile world out there.

>> No.6355636

>>6355465
It's true. The trig functions in BASIC had to be etched into the silicon of the ROM using Satans ball sweat because they were impossible to write in assembly.

>> No.6355637

Say I wanted to mess around making simple programs on the Amiga, would AMOS or Blitzbasic be a better option?

>> No.6355645

>>6355617
>I am not registered as having a license of it.
I don't think you even needed to send your registration card in to Borland in order to use TP legally. You only needed to own the box. Now, 30 years later, nobody at Embarcadero (Borland's pathetic successor) is going to care. They probably don't even have the registered user database any more. Maybe MAYBE if you somehow make thousands of dollars and become famous as a Turbo Pascal dev in the 2020s they'll email you asking if you have a copy.

>> No.6355647

>>6355637
I don't know about the Amiga, but Blitz was pretty good on the PC and Mac.

>> No.6355678

Actually even back when Gates and Allen wrote Altair BASIC, neither of them wanted to do the floating point code because it was a royal PITA so they got some other guy to do that for them.

>> No.6355681

>>6353431
Lisp is for Jews

>> No.6355707

My dad said he'd just use a lookup table if he had to do trig functions in machine language, that was the easiest way to do it.

>> No.6355760

It's amusing we're having these threads here, because /g/ is too retarded.

>> No.6355797
File: 9 KB, 642x427, gwbasic_timestamp.png [View same] [iqdb] [saucenao] [google]
6355797

>>6352104
GW-Basic in DOSBox

>> No.6355814

>>6355797
Except you can't use Ctrl+Break to exit programs because the dumbasses won't add it to DOSBox for some reason.

>> No.6355856

>>6355814
Classic PC emulation is in a sad state.
qemu will make the cpu ultrafast (no way to slow it down) and the vga and other peripherals would lag.
PCem/86box seems too busy implementing voodoo 3d cards and such to actually care about cycle exact emulation of 8086/8088/286 or even implementing serial port support.
Classic PC needs a byuu moment.
I only use real hardware because of this.

>> No.6355869

>>6355797
>>6355814
I don't know how things are now, but I remember the times when the manchildren from the doscocks team used to throw a tantrum every time someone asked a question on their forum about running an app that is not a game.

>> No.6355870

Sorry to hijack the thread, but what kind of programs do hobbyist coders actually make for fun besides games? I'm trying to learn coding myself but I'm having trouble feeling motivated because I can't really think of anything interesting to make

>> No.6355892

>>6355870
try the Advent of Code challenges

>> No.6355926
File: 250 KB, 828x1167, img_manga_contents01.png [View same] [iqdb] [saucenao] [google]
6355926

>>6355870
Solve programming puzzle in Paiza if you like manga.
I did one where the story is helping one of the 2 girls.
One if your childhood friend and the other is an idol you like.
You'll be given a few pages of manga and a puzzle to solve at the end of those pages. Solve it and receive more pages of manga.

>> No.6355969

>>6355870
Install freedos. Try using it in general. Detect bunch of annoyingly missing tools that should obviously be in there.
Write such tools.

>> No.6356045

>>6353431
Not quite, but https://all-things-andy-gavin.com/2011/03/12/making-crash-bandicoot-gool-part-9/

>> No.6356064
File: 76 KB, 422x779, optimized_drawing.png [View same] [iqdb] [saucenao] [google]
6356064

Checkout the old issues of https://www.gdcvault.com/gdmag

>> No.6356087

"Graphics Programming Black Book" https://www.gamedev.net/reference/articles/article1698.asp

>> No.6356115

https://www.youtube.com/watch?v=r8LbtuabMuY
b a s e d

>> No.6356373

>>6355856
>Classic PC needs a byuu moment.
PCem is pretty great. It supports an obscene amount of hardware, and runs more stuff than Dosbox, even if it's not quite as easy to use.

>> No.6356374

>>6356373
But it doesn't even emulate the f-ing serial port, and they are working on voodoo emulation instead.
Madness and too much catering to gaymers.

>> No.6356527

http://www.sizecoding.org/wiki/Memories

>> No.6356564

>>6352362
you could probably use forth

>> No.6356765

>>6355870
Back in the day you'd make whatever tools you needed that didn't exist for free which was just about everything. By now everything you'd ever need has been made. But that's not a problem is you're just starting because you aren't going to make anything useful until have a lot more experience. You're going to be copying useless utilities out of old magazines and playing with them to understand how they work.

>> No.6356782

>>6352286
Anon...

>> No.6356786

>>6352301
>BBC Basic is powerful
Once you get used to the power of BBC Basic there is no going back.

>> No.6357013

>>6356374
wtf do you want serial support in an emulator for? what exactly are you trying to do with it?

>> No.6357265

You can call BASIC's trigonometry functions from assembly quite easily if you need that shit. Just load up the right zero page locations with the numbers you want to process and JSR into them.

>> No.6357315

>>6357013
Probably because the main legitimate need to run old software is to interface with old equipment. Playing Daggerfall because Skyrim is to mainstream isn't exactly what I'd call an essential service.

>> No.6357317

I love the retards who think the main difference between an 8-bit machine and a modern PC is the graphics fidelity and they be like "Oh yeah I can totes port Civilization or Skyrim to the C64 it would just be lower resolution."

>> No.6357346

>>6357315
If you're relying on an open source hobby emulator for your "essential services" just means you fucked up big time. If your services are so essential you can afford to upgrade equipment or refurbish old equipment.

>> No.6357357

>>6357317
Then you must love the delusional hipsters who develop low-res pixel art games in Unity and call them "8-bit something".

>> No.6357407

>>6357357
I like to call them the vidya equivalent of classic car restomods--people who like the retro aesthetic but can't be bothered to deal with the technical quirks and limitations of it.

>> No.6357697

bump

>> No.6357725

>Decimation was a fairly extreme form of punishment used in the Roman army for the most serious offenses such as mutiny and cowardice in battle. One out of ten soldiers in a legion (hence the term deci-mation) would be chosen by lot for death and stabbed, beaten, or stoned to set an example to the rest. The remaining soldiers were stripped of their wheat flour rations and given less nutritious barley. They were then required to biouvac outside the camp away from the rest of the army.

>The first known decimation occurred in the 5th century BC and most documented cases happened under the republic, it was rarely used during the empire and said to be popular mainly with "those in love with ancient rituals and customs." The emperor Macrinus reduced the punishment to only 1 out of 100 soldiers executed and the practice was finally outlawed by Byzantine emperor Maurice in 532 AD on the grounds that it was inhumane and killed too many men in addition to demoralizing the remaining soldiers who had to execute their comrades, thus badly reducing a legion's combat effectiveness.[68]

>> No.6357808
File: 566 KB, 801x448, 6bits.png [View same] [iqdb] [saucenao] [google]
6357808

>>6357357
6 bits?

>> No.6357839

>>6356765
And try and convert BASIC programs like >>6355550 to asm as an exercise and to get a "feel" for it.

>> No.6357883

>>6355572
>Sadly Turbo C/Pascal/etc aren't free
>as if anyone's going to care that you pirate a DOS Turbo C compiler from 1990

>> No.6357892

>>6357883
KOEI still sell those retro games from 90's in Steam.
And it's pricy too.

>> No.6357919

>>6357892
And you can safely assume none of the actual programmers/artists who worked on them still works for Koei or will receive a penny of that money.

>> No.6357927

>>6357919
Those games belong to KOEI, not the employees.

>> No.6357945

>>6352362
nothing fun was ever written in Haskell. And certainly nothing retro; it is a resource hog.

>>6356564
seconded. There was a fabulous space game written in Forth for micros. Also look into Lisp, which can have very small implementations and still use a functional programming style.

>> No.6357953

>>6357927
Doesn't matter. The point of IP laws is to ensure the people who worked on something get paid for it. The Disney school of IP law is false and should not be taken seriously by anyone.

>> No.6357970

Oh yes, Steam.

>charging you for hacked up games taken from abandonware sites which are often missing components or have been modified for whatever
One particular example I can think of is Wasteland because the Steam version is actually the reissued 10th anniversary one from 1998 that's missing the CGA/Hercules drivers. If you can't give a clean, unmodified copy with all the components in place, you got a whole lot of nerve asking us to pay for it.

>> No.6358083
File: 298 KB, 1140x855, il_1140xN.1801135551_ik18.jpg [View same] [iqdb] [saucenao] [google]
6358083

>>6355870
Play these books
https://en.wikipedia.org/wiki/Micro_Adventure

>> No.6358121

>>6358083
where's #3?

>> No.6358130

I personally prefer Compute! programs because they actually use the unique hardware features of each machine even if they were a bit biased towards Commodore and Atari and didn't give a shit about the Apple II or TRS-80 or whatever.

>> No.6358154

>>6357346
Dude, those timers the automatically flush the universal in public toilets is more essential than you playing a game. More essential than you period from the sounds of it. You can't even afford to pay for GOG games. Don't even pretend to understand the costs involved in upgrading equipment in the real world.

>> No.6358175

>>6358083
I had #2 as a kid
Don't think I ever got any others
Probably came from those Scholastic Book Club flyers where you buy books at school

>> No.6358249

>>6357013
Development.
It's extremely useful to have a serial port for debug output.

>> No.6358264

>>6358154
If you're really doing something essential, you can afford to pay someone to add serial support to PCem.

>>6358249
If you're a developer, you can start by developing serial support for PCem.

>> No.6358278

>>6358264
>If you're a developer, you can start by developing serial support for PCem.
Yep, I could.
Then again, is PCem even the right project to contribute to?
The right project would already have serial port support.
PCem seems concerned with playing games. Yet another dosbox. Not preservation.
It was hugely disappointing to try it. Like, ok, I have a pc1512 how cool is that. Boot a freedos floppy with kermit on it. OK, let's figure out how the serial port works so that I can get started doing development with it... WHAT?! There's no serial port support?!
/me closes it, sighs, and goes back to using hardware (a 386, as unfortunately I don't have anything PC older than that).

>> No.6358310

>>6358278
Sounds like you have no need for PCem, then. So what's the issue?

>> No.6358313

>>6358310
The disappointment.

>> No.6358321

>>6358313
Sounds like a personal problem.

>> No.6358345

>>6358130
Compute! never put out much CoCo stuff and they dropped support for it by 1984. Also they didn't ever support Extended Color BASIC. Yeah they really loved machines with custom chips.

>> No.6358361

>>6358321
I'm considering building an XT for the purpose.
Like, using the ISA backplane in retrobrewcomputers.

>> No.6358371

>>6358154
Ah yes, a job so important that you have to rely on gamers to do free work to prop up your failing critical infrastructure. What would society do without you?

>> No.6358387

8-bit software was usually written in assembly but scripting engines were not uncommon for games if they didn't have much animation. It was more common to use compilers on Z80s than 6502s.

>> No.6358413

why did so many c64 games try to be action games when they ran at like 5fps? the thing was way more suited for rpgs, but there's only like 5 of them not counting text-based ones...

>> No.6358431

>>6358413
>why did so many c64 games try to be action games when they ran at like 5fps?
It's fine when you stick to single screen games, scrolling stuff it can't keep up with the NES unless you use hax tricks like VSP. Also a lot of those games you're referring to were le Yuro 50Hz epicness.
> the thing was way more suited for rpgs, but there's only like 5 of them not counting text-based ones
wut? there's a fuckton of RPGs. every game developer back then made them.

>> No.6358450

>>6358413
>why did so many c64 games try to be action games when they ran at like 5fps?
Imagine c64 is the computer you have, as it was the case for a lot of people (it sold well). 5fps is much better than not running at all.

>> No.6358474
File: 378 KB, 600x718, 6F5F67AD-196C-4801-BA83-104829744113.png [View same] [iqdb] [saucenao] [google]
6358474

>>6352596

>> No.6358485 [DELETED] 

Sneed

>> No.6358508

>>6358474
And after spending hours typing all that in, it doesn't work because you made a typo in line 345 or else the magazine themselves made a typo and you have to wait for next month's issue where they print the correction.

>> No.6358537 [DELETED] 
File: 23 KB, 640x400, nene.asm.png [View same] [iqdb] [saucenao] [google]
6358537

>>6358508
I remember one day in the school computer lab having GW-Basic class in 91.
I took a private class so I know better than most my classmates.
One of my friend tried being smart.
GW-Basic use line number and executes from the lowest to the highest.
It also allow you to combine statement in multiple lines into 1 line separated with :
Eg. PRINT "Hello" : PRINT "Anon here" : PRINT "/vr/"
One of my friend tried being smart and joined all the lines he wrote in 1 line.
He blindly wrote it before running it (GW-Basic is an interpreter not a compiler).
ILLEGAL FUNCTION CALL IN LINE 100
Confused.jpg
Called me to help him.
Saw the error and fixed it then run it.
SYNTAX ERROR IN LINE 100.
Saw the error and fixed it again then run it again.
ILLEGAL FUNCTION CALL IN LINE 100.
F4U13
Repeat this about 5 times and I gave up.
Told him to separate the code into multiple lines before fixing the code.

>> No.6358548

>>6358508
Didn’t compute have a utility that verified as you went along? Instead of the usual 8, each line had 9 bytes to enter, the 9th being a checksum.

>> No.6358558

>>6358548
The checksum thing was for inline assembly code so it wouldn't crash the computer if you made a mistake (erroneous BASIC code would just exit with an error message). Of course you'd still have to spend hours hunting through all the 2000 DATA 255,93,75,121,127,23,98 etc lines to find the problem.

>> No.6358575

The C64 can't even do anime

>> No.6358718

>>6358264
I think you seriously overestimate how much money there is in making self flushing toilets. Regardless of how essential they are. Of course this is just ridiculous made up example to illustrate how ridiculous the self importance and lack of fore site of certain people is. I could have pointed out the massive horde of applications that use modems but that has practical gaming applications. I really just wanted to get you to out yourself as a fanboi of "brother can you spare a dime" software crusities

>>6358278
>is PCem even the right project to contribute to?
Of course not. Neither is dosbox or anything else designed for poor gamers. For that purpose these things are great. I mean, you can't beat free and beggars can't be choosers. What's really choice though is when the fanbois start ranting about how it's great, perfect, 100% etc, and then have a total meltdown when you ask if it does something as basic as serial.

>>6358371
Another big dose of smug self importance from a DOSROM hoarder. No one is relying on "gamers" for anything, loser Other than keks I guess.

>> No.6358727

>>6358718
You said it yourself, beggars can't be choosers. So if you're too poor for a specialized solution or to pay someone to add serial support to PCem for you, and you're too incompetent to add it yourself, then don't whine when the devs prioritize things they care about instead of what you care about.

>> No.6358731
File: 1.79 MB, 1920x1080, 1573693685487.png [View same] [iqdb] [saucenao] [google]
6358731

>>6358537
Dafuk is that pic, that code, that editor? Looks comfy AF.
>>6358718
>designed for poor gamers.
Again, it fucking emulates pc1512, pc5086 and so on. Specific machines. But it's half assed, because at some point somebody thought a good idea to focus on people who want to play games (which were going to be the main users, sadly, no matter what) instead of doing what's right.
>>6358727
You're replying to the wrong person re: serial support. I could very well add it myself, but pic related is how PCem makes me feel, and why I stay away from it.

>> No.6358735
File: 1.80 MB, 1920x1080, 1585741765129.png [View same] [iqdb] [saucenao] [google]
6358735

>>6358537 >>6358731
>dafuk is that
I just actually tried reading the code. fm_port used for port i/o, and opn being mentioned, it's definitely a music player. At least, the visible part of the code. Who knows what the rest does.

>> No.6358740

>>6355760
That board is infested with underage at this point. Besides, I think it's much more interesting to discuss programming languages that were used more often in /vr/ times like BASIC and PASCAL than stuff like C++ or Java because those modern language get discussed a lot outside of this website already. Say about 4channel what you want but it's because of threads like this that I love to discuss retro games here.

>> No.6358746

>>6356064
Do you know what processor the ASM code is made for? I assume it's for DOS because I see some C there as well but I'm not entirely sure.

>> No.6358758

>>6357953
Yes and the point of law is that it's upholded as long as it isn't abolished by a replacement, at least concerning copyright. Listen, I'm not a fan of the Disney approach and I'm not going to defend current IP law at all - hell I still play romhacks and download old games that are still being sold so strictly speaking I'm actually breaking the law but whatever you or I feel about is completely irrelevant when it comes down to the letter of the law. Dura lex sed lex, good luck convincing the judge with just your opinion if anything else can't help your argument.

>> No.6358770

>>6358758
>The Fugitive Slave Act of 1850 imposed a $1000 fine (equivalent to $33k in 2020 dollars) and six months of jail time on anyone who provided food or shelter to a runaway slave.

>> No.6358776

Oh goody, the Nintendo employees/shills are in this thread.

>> No.6358801
File: 1.48 MB, 1920x1080, 1562791903620.png [View same] [iqdb] [saucenao] [google]
6358801

>>6358746
It's 8086 code. It's 16bit. It's likely for DOS.

>> No.6358807

>>6358770
A law has validity only so far as the majority of the population consents to it. Prohibition proved that out.

>> No.6358848
File: 86 KB, 250x250, Sakura_Nene_Prefers_SICP.jpg [View same] [iqdb] [saucenao] [google]
6358848

>>6358731
I deleted my blog post but you managed to find it (from warosu?).
I doubt it's from an editor/IDE.
I found it when I'm looking for PC98 emulators.
I occasionally post to make a /dpt/ thread in /g/.
Found the site where I found the pic from rbt archive (failed to reverse image search if I use the file in iqdb/yandex, but works from rbt iqdb link).
Old site:
http://nenecchi.php.xdomain.jp
New site:
http://nenecchi.kirara.st
Character is Nene Sakura (nicknamed Nenechi) from New Game! anime.
She's a beta tester who took interest in programming.
She is kinda a meme in /dpt/.

>> No.6358864

>>6358770
What part of 'at least concerning copyright' did you not understand?

>> No.6358879

The 28 year (well really 56) copyright term that we had pre-1978 is fine. Maybe you could still argue it's too long for vidya, but w/e.

>> No.6358880

This thread is made of:
60% boomers who are always right
20% self-made lawyers and attorneys
18% Z80 fans who pretend their CPU of choice was superior to anything during its time
2% people contributing actually useful stuff

>> No.6358881

>>6358880
>copy/pasting passages from an ebook
>USEFUL STUFF

just go on archive.org and download all the pdfs you want on the topic, m8

>> No.6358929
File: 2.79 MB, 1920x1080, 1581368036710.png [View same] [iqdb] [saucenao] [google]
6358929

>>6358848
>I deleted my blog post but you managed to find it (from warosu?).
I simply had the tab open, and 4chan-x did fetch it. You deleted it after that happened, so it remained marked as "deleted".
>Character is Nene Sakura (nicknamed Nenechi) from New Game! anime.
Yeah, I know her, but I personally favor ahagon.
>http://nenecchi.kirara.st/
Thanks for the link.
>>6358880
I support the 5yr renewable twice by registering and paying a fee proposal that the EU greens have.
Copyright law is in a quite shameful state currently.

>> No.6358938

>>6358929
>I support the 5yr renewable twice by registering and paying a fee proposal that the EU greens have.
You are a total faggot. And take this shit to /pol/ anyway.

>> No.6358969

>>6358727
LMAO zoomie. I sell 486 mobos for $500 wholesale because people can't use your game emulators for high technology like a 300bps modem. It's hard to be poor at those prices. You're so retarded you can't tell the difference between a whine and a full belly caused by your inconceivable level of poor+retarded.

>>6358731
>what's right.
The faggots have the right to waste their time on whatever they want. If that's yet another emulator for people too poor/retarded to run an old PC then that's their choice. Would it be nice if they were good for anything other than playing games inaccurately? Well not for me because then I wouldn't be selling that that expensive IPC stuff. And not for them because I doubt adding serial support would give anyone one even half a youtube epen. Best just to use the grownup tool for grown up jobs and laugh at the kiddies when they rant about how great their toys are.

>> No.6358981

>>6358969
>I'm extremely adult and mature, that's why I spend my time on a board about video games

>> No.6359226

>>6358981
>i'm extremely young and immature, that's why I'm insecure about my hobbies.

>> No.6359654

i actually think the multi-color modes on the c64 look fucking awful. i'd rather have high res monochrome sprites.

>> No.6359851

>>6358929
>I support the 5yr renewable twice by registering and paying a fee proposal that the EU greens have.
30 years and you get to renew it once for another 8 years.

>> No.6359859

>>6359851
That's unreasonably long. The balance should tip in favor of the public domain, otherwise it goes against the stated original goal and spirit of copyright law.

>> No.6359896

>>6359859
For computer software a shorter term is probably needed, but note that for 140 years copyright terms were 56 years (28 years plus one renewal).

>> No.6359943

>>6358758
>good luck convincing the judge with just your opinion if anything else can't help your argument.

>1893
>work in steel mill
>go on strike to demand 8 hour work day and retirement pension
>judge bought and owned by the steel industry declares that strikes are illegal
History is full of examples of this. I'm sure Disney has judges and politicians they own as well.

>> No.6360160

>>6359654
It probably looks better on a real machine/CRT than emulators.

>> No.6360172

>>6358880
>18% Z80 fans who pretend their CPU of choice was superior to anything during its time
It was the most used 8-bit CPU ever so clearly it did something right.

>> No.6360213 [DELETED] 

>>6358758
>I'm actually breaking the law but whatever you or I feel about is completely irrelevant when it comes down to the letter of the law
If you feel that way, you should probably live in Best Korea where Kim Jong Un's word is the only thing that matters and you have absolutely no right to complain or criticize it.

>> No.6360237

>>6360172
There's no reliable data if it was the 6502 or the Z80 that is more widely used. Both of them are still being made, both of them served/serves as the base of microcontrollers and countless clones.

>> No.6360257

>>6360237
I can tell you the Z80 was used in a fuckton more computers, game consoles, embedded applications, and arcade games than the 6502. In the late 70s, it was a close contest as the 6502 was cheaper and faster but by 1980 or so, the cost of Z80s dropped considerably and they kept getting faster so there was no real reason to want a 6502 at that point. Between a relatively large instruction set, 16-bit registers, low cost of building a computer around it (on-chip DRAM refresh was a big advantage) and compatibility with 8080 software, it was easy to see why it dominated so quickly.

>> No.6360265

>>6360257
>I can tell you
Stopped reading there.
>I can tell you because I just do, okay?

>> No.6360273

>>6360265
>outed yourself as the assembly language LARPer guy

>> No.6360292

>>6360273
Ah, the boomer who develops in C/C++ on all the 70s and 80s microcomputers, amirite?

>> No.6360336

>>6360257
>i can tell you things and not back them up with evidence
Indeed

>> No.6361072

>>6358758
>but whatever you or I feel about is completely irrelevant when it comes down to the letter of the law.

If that's true then you ought to live in China where the state commands and you obey with no right to question anything.

>> No.6361498

GO CRUNCH THAT SHIT NIGGA
CRUNCH THAT SHIT

>> No.6361709

why waste time programming an computer when you can program an nintendo?

>> No.6361789

>>6352596
you might as well just dump asm listing instead, this is unreadable

>> No.6361796

>>6358278
>I could totally add that
>but I'm not gonna
>they should already have it
>the project that keeps adding 286 and older laptops and shit like the Image Manager 1024 is concerned with playing games
Like most open source projects, most of the development is whatever the people contributing to it decide to work on. It's why MAME is currently spending so much time on dumping and emulating those crappy plug-n-play TV games. Does that mean MAME is concerned with just plug-n-play TV games? If there is no serial support, it's because no one contributing views serial support to be worth their time. Because the people working on PC emulation are interested in emulating different types of PC's, not using the emulator as a development environment.

>> No.6361810

>>6355869
dosbox is game oriented emulator, if you wanted to use normal software you'd use VM instead and not emulator

>> No.6361836

>>6361810
And what if one doesn't need a full VM for a spreadsheet or something? It's a piss poor reasoning.

>> No.6361889

>>6361796
>it's because no one contributing views serial support to be worth their time.
Which in itself says a lot.
A sane project would have implemented serial support before even writing a line of code for the video output.

>> No.6362503

>>6361889
>A sane project would have implemented serial support before video!
And how many x86 emulators fully emulate the serial port? None if you are still using a 386 as stated earlier. Seems like you have no idea what a sane project is. But hey, great argument as to why some hobbyist emulator devs should implement features no one is willing to put the time into making, including yourself.

>> No.6362539

>>6358969
You're weird.

>> No.6362786

>>6354819

Regarding x86 assembler under DOS...
I use Tasm, but Masm seems equally "good".

>> No.6362796

>>6356087


A golden oldie.

>> No.6362864

>>6355681
So high IQ individuals.

>> No.6363018

How come it's ok for VICE to support printer output but the DOSBox devs won't add it?

>> No.6363047

>>6363018
Because:
1. They are still a bunch of manchildren
2. It's not even actively developed anymore

>> No.6363065

Also why are the Vogons mods so butthurt about people using abandonware copies of games?

>> No.6363157

>>6358413
>why did so many c64 games try to be action games when they ran at like 5fps? the thing was way more suited for rpgs, but

Yes because it has lot more writable memory than a console and you can do self-modifying code which isn't possible on consoles due to the code being stored in ROM.

>> No.6363170

>>6363018
Because people who program in 65xx assembly are bad ass mother fucking wizards who can accomplish impossible feats such as multiplying numbers without a multiply instruction, interfacing with 2400 baud modems and tying their own shoes

>> No.6363178
File: 1.76 MB, 1920x1080, 1565617086563.png [View same] [iqdb] [saucenao] [google]
6363178

>>6362786
Tried fasm?
It's comfy AF, particularly with the fasmd editor it bundles.
See >>6355572

>> No.6363267

Big deal, VICE is no different. The C64 emulation is much more complete and accurate than, say, the PET emulation.

>> No.6363301

The 6502 was better for race-the-beam architectures (the Atari 2600 wouldn't have been possible with a Z80 at all) but the Z80 had more crunching power for math-heavy applications.

>> No.6363557

>>6363267
Also VICE has more accurate PAL emulation than it does NTSC emulation.

>> No.6363594

>>6363301
Explain how? I'm guessing it's a fundamental flaw with the way a Z80 is designed? Because the gameboy had a cut down z80 clone and you could comfortably h-blank every line if you wanted. So are you saying a real z80 couldn't do that?

>> No.6363602

>>6363594
Z80s have really long execution times for instructions. Many operations which will take 1-3 cycles on a 6502 take 6-8 on a Z80.

>> No.6363710

>>6363602
I thought that's why they clocked them higher? C64 was 1MHz(ish) but could do 1 instruction per clock on simple instructions, spectrum was 3.5MHz according to the wiki so could average 3 times the execution time. GameBoy was 4MHz I believe.

>> No.6363859
File: 479 KB, 1920x1080, 2020-04-23 (2).png [View same] [iqdb] [saucenao] [google]
6363859

I have to say, 6510 assembly feels very different from the ARM architecture that I'm used to. Very simple though, I think I already know all the instructions after writing and debugging just one program with like 20 lines. It's also nice that VICE has an assembler built into the emulator.

>>6361709
Part of the fun is writing programs ON the old computers (or at least inside the emulator) in an 80's-style programming environment.

I did try writing a few demos for the Sega Master System, but fiddling with the video controller and all that shit just isn't fun. On a C64 I can write an assembly program with like 3 instructions that already does something useful.
Plus, I actually have a lot more fond memories of playing games on my brother's C64 and Amiga 500 than of playing NES.

>> No.6363873

>>6354351
Well there's also the hiragana. Maybe it's for the PC-88 or something?

>> No.6363890

>>6363859
>I did try writing a few demos for the Sega Master System, but fiddling with the video controller and all that shit just isn't fun. On a C64 I can write an assembly program with like 3 instructions that already does something useful.
>Plus, I actually have a lot more fond memories of playing games on my brother's C64 and Amiga 500 than of playing NES.
Consoles are a PITA since if you don't do everything in exactly the right order and pay very careful attention to clock cycles you won't even get anything to display on screen.

>> No.6363892

>>6363859
>Part of the fun is writing programs ON the old computers (or at least inside the emulator) in an 80's-style programming environment.
But nobody actually wrote commercial software on a C64 or Atari 8-bit back in the day. They would have used an Apple II in the early days or a workstation later on.

>> No.6364025

>>6363859
>I have to say, this horse drawn carriage feels very different from the Toyota I'm used to
You don't say
Yes, working in a monitor is a complete different experience than writing shit in a macro assembler, compiling, loading, debugging, etc. Todays script kiddies can't even get their mind around how that would even work.

>>6363892
Youtube lied to you again champ

>> No.6364104

Hi assembly language LARPer guy.

>> No.6364117

did you know that assembly language is like real hard and stuff and only the 3 smartest computer scientists of europe can do it?

>> No.6364309

>>6364117
There's only two now. One died yesterday. They say it was the virus but it was probably just old age. He was like almost 40 or something.

>> No.6364483

>>6363892
>nobody actually wrote commercial software on a C64 or Atari 8-bit back in the day
Can't say for the Atari, but in the case of the C64, this is definitely false. Where I grew up there was a company that used to develop not only the for the C64 on actual C64s, but even using them to develop firmware for 6502-based industrial controllers and such. As a matter of fact, they didn't even have one single non-Commodore machine in the entire building.

>> No.6364657

What makes asembly hard? Whats the easiest programming language?

>> No.6364669

>>6363178

Will give it a try, thx.

There's so many good programs around - hard to choose... I often stay with the oldies for old software as I learn on 486s.

>> No.6364684

>>6364657
It's not. It's a meme that persists through the ages because people can't separate the tools from the language. People just "know" that it's hard so they refuse to teach people it, this in turn causes other people to just "know" that it's hard so they don't try to learn it. Getting the tools to even start was difficult because you didn't even know what to ask.
With a macro assembler like MASM you could have been coding real win32 GUI programs in the 90s that's more feature rich than straight C since you have every x86 opcode and not just the subset you can describe with a high level language. And you have access to EVERY C library same as normal.
When people say certain languages are "easy" what they usually mean is that the Python tutorial they copy/pasted used a bunch of external libraries that already did 95% of what they wanted to do already. That's great if you never want to do more than change the look and feel of someone else's code. But eventually you'll need to forge your own path and you've learned NOTHING.

>> No.6364816

>>6364657
>What makes asembly hard?
You just have fewer and more limited tools to work with.
Can you write code without relying on variables, classes, lists, procedures, or functions?
Because assembly will kick you in the nuts hard if you expect anything like that.

Easiest is subjective, but Python would be a strong contender. If you want something retro, try AMOS or Blitz Basic (for Amiga), or STOS (for ST)

>> No.6364825

>>6357317
Civ I on C-64 would probably be within the realm of possibility though

>> No.6365497

>>6364657
>What makes asembly hard?
To spell? It's not a web based drag and drop game maker

>>6364684
>they refuse to teach people it
There are countless resources made to teach people assembly. "They" don't have some evil master plan to make you stupid. Must be something in the water.

>> No.6365581

>>6364825
>in 64k of memory
Not bloody likely.

>> No.6365598

Assembly isn't "hard", but it does make your code difficult to modify easily or port to other systems. The main advantage was traditionally speed and direct interfacing with hardware, but neither of these are relevant on modern CPUs and OSes. Writing assembly on any OS since the mid-90s would be just your calculations and algorithms in asm while all hardware interfacing is calling the API functions. That's how Roller Coaster Tycoon worked and it could have just been written in C++ but the programmer was a giga autist who used x86 asm for the sheer sake of doing so.

>> No.6365684

>>6365598
>used x86 asm for the sheer sake of doing so
Or perhaps that was the language he was familiar with, so he had no interest in learning C++ whatsoever? It's like making fun of a C++ programmer for not willing to learn Go/Rust/WhateverScript even though they are so (insert hipster cope).

>> No.6365761

>>6365581
>thinks the C64 has "64k" of "memory"
>outs himself as an assmad snaggletooth
wew lad

>>6365598
>neither of these are relevant on modern CPUs
>Writing assembly on any OS
Stopped reading there. Not because i don't like to read stupid. I just kept doubling over in laughter reading that ignorant cringe.

>> No.6365771

>>6365761
>wew lad
Outed yourself as the same faggot who shat on at least 2 other threads.

>> No.6365821
File: 24 KB, 490x382, matthew smith.jpg [View same] [iqdb] [saucenao] [google]
6365821

>>6364483
You could use a monitor cartridge or whatever but it's really only workable for small single load programs. Back in the day an Apple II would have been preferable to write 6502 code as it had a more user friendly development environment with fast disk drives and a nice 80 column text green monochrome display.

As software grew in size and complexity with time, development shifted to minicomputers or workstations. Development tools used for C64 software evolved a huge deal in a decade of being a viable commercial platform, from the early days of using a cross assembler with an Apple II and plotting graphics on graph paper to the end in the early 90s when graphics were being designed with an Amiga and running a 6502 cross assembler on a SPARCstation.

This was also true of the ZX Spectrum, in the earlier period at least it was common to use a TRS-80 to develop for it and other Z80 systems.

>> No.6365827

>>6365821
The must have used PETs then. For sure there were no Apple IIs (due to some embargo bullshit at the time, they couldn't import them). No minicomputers either.

>> No.6365843

The 80xx models of the PET could have been used, they had an optional 64k memory expansion board and disk drives that could store up to an entire megabyte.

>> No.6365978

>>6352619
ldx #$0a
printchar:
lda mess1
jsr $ffd2
dex
bne printchar
rts

mess1 db 'hello world'

>> No.6366521

bump

>> No.6367051

>>6365978
As I recall, printing text strings on the ZX Spectrum was a PITA because it doesn't have an actual character mode.

>> No.6367065

>>6364657
Not so much difficult, just tedious and detailed.
Eating in most peoples minds is pretty much just bite food, chew food, swallow food.
In assembly you’re directing every single muscle through each motion, in each step. Facial muscles, jaw muscles, tongue, then throat muscles, etc. Plus your tongue will be doing different things in each step. Not to mention the steps in directing your arm to pick up the food and bring it to your mouth.

>> No.6367135

>>6365827
I remember some archive of PET disk images with games on them and 90% of the stuff was written in BASIC, there was not much machine language stuff other than a Star Wars game or something.

>> No.6367246

>>6367135
I guess programming a PET in machine languague wasn't as beneficial as on a C64 since it had no actual graphics hardware.

>> No.6367259
File: 21 KB, 311x311, you-must-be-new-here-willy-wonka.jpg [View same] [iqdb] [saucenao] [google]
6367259

>>6365771
Yes. There is only one person ever who who ever said that.

>> No.6367264

>>6367259
Outdated meme.

>> No.6367265
File: 449 KB, 1198x1621, igm985.jpg [View same] [iqdb] [saucenao] [google]
6367265

>> No.6367268
File: 1.08 MB, 2395x3245, 56789.jpg [View same] [iqdb] [saucenao] [google]
6367268

>> No.6367270
File: 929 KB, 2395x3245, 7887.jpg [View same] [iqdb] [saucenao] [google]
6367270

>> No.6367274
File: 1.18 MB, 2395x3254, i87.jpg [View same] [iqdb] [saucenao] [google]
6367274

>> No.6367275
File: 1.04 MB, 2395x3254, mg8.jpg [View same] [iqdb] [saucenao] [google]
6367275

>> No.6367276
File: 1.27 MB, 2395x3245, 567y.jpg [View same] [iqdb] [saucenao] [google]
6367276

>> No.6367284
File: 150 KB, 1585x484, mg9.jpg [View same] [iqdb] [saucenao] [google]
6367284

>> No.6367320

>>6367276
>>6367275
>using long variable names when Commodore BASIC supports only two characters
Shig.

That aside, I guess this could be converted to asm without too much difficulty, it's all integer numbers and there's no FP in there.

>> No.6367324

Introduction to x86 Assembly Language
http://www.c-jump.com/CIS77/ASM/Assembly/lecture.html

>> No.6367434

>>6367320
Don't know where he got that from, but it was pretty standard for early computer magazines to include the full source code for really bad games to type in yourself, mostly as a learning exercise. They would be structured for clarity more than performance.

>> No.6367445

>>6367434
>Don't know where he got that from
From "The Best of Cursor Magazine". Cursor was a Commodore-focused publication and the book was a collection of BASIC games for the PET.

>They would be structured for clarity more than performance
Yeah it should be typed in like 60110 IFZ=13THENIN$=MID$(IN$,2):?CR$;:RETURN

>> No.6367456

>>6367274
The PET has no sound chip to use for random number generation in machine language so you could probably just call the BASIC RND function from your program.

>> No.6367684
File: 927 KB, 1920x1080, 2020-04-24 (1).png [View same] [iqdb] [saucenao] [google]
6367684

So, what's the nicest cross-assembler for C64, for working from a Linux or Windows machine running VICE?

I'm getting real tired of Turbo Macro Pro's bugs, but I did put it into my head that I'm going to write at least a simple game like Tetris or Snake in assembly for this machine.

>> No.6367783

>>6367684
I personally used 64tass. ca65 is also popular.

>> No.6367829

>>6367264
>fortnite baby is mad baby

>> No.6367834

>>6367434
>They would be structured for clarity more than performance.
I remember quite a lot of them just being pages upon pages of cryptic POKEs.
They were usually sent in by readers so they'd just be structured whatever way the programmer saw fit. There were no standards.

>> No.6367840

>>6367834
If you say so. All the ones I ever saw were baby's first BASIC game stuff listed with the other "learn to code" articles.

>> No.6368986

>>6367834
>>6367840
It will depend on the book/magazine. Compute! games were the ones full of POKEs, stuff like >>6358083 are babby's first BASIC and mostly aimed at kids to use in the school computer lab. Simple programs that don't use any machine-dependent features.

>> No.6369148

The fun part about type-in games is you can customize the messages and prompts to your liking (yeah yeah when you're 12, you think adding profanity to them is the shizz).

>> No.6369462

>>6367320
Atari BASIC had no limits on variable names.

>> No.6369494

Compute! published collections of type-in games for Commodore and Atari machines and the TI-99/4A, but they never did any for machines like the Apple II. As someone else said they really loved machines with custom chips.

>> No.6369572

>>6369462
>i am stupid, underage an genetically inclined to shitposting
You're in exactly the right place that, beinganadulthomosapienlarper

>> No.6369949

>>6352643
>Commodore BASIC only supports floating point variables, the integer type is strictly for arrays and saves memory since each array element takes two bytes instead of four.

It uses 40-bit FP so variables are five bytes.

>> No.6369979
File: 16 KB, 320x200, turboc.jpg [View same] [iqdb] [saucenao] [google]
6369979

Borland Turbo C++ 3.0
>Online language reference
>Syntax highlighting (sort of)
>Windows
>Plenty of options
>Retro af

>> No.6370158
File: 566 KB, 598x804, astrostorm vic 20.png [View same] [iqdb] [saucenao] [google]
6370158

>> No.6370179

>>6370158
This shows how it's easier to convert Commodore BASIC programs to machine language since it's all just POKE statements whereas other BASICs with dedicated graphics commands insulate you from the machine a lot more.

>> No.6370348

>>6353494
Im confused by that post as well. C is a high level abstraction over assm that is supposed to be easier to reason about, I don't know assm but I'll assume not having to manually manage the stack is probably harder than occasionally having to manage memory. C has more in common with the languages that spawned from it than it does with assm.

>> No.6370357

>>6367320
If the intent for the reader to be learning BASIC by typing in these programs, then there’s no harm in going past 2 characters. I doubt these programs are squeezing every bit of performance out of the machine.
At worst, maybe they might go on to write a program with variables PLAYER1NAME$ and PLAYER2NAME$ and wonder why its not working right.

>> No.6370367

>>6370179
That program would be pretty easy, assuming all the variables don't have values greater than 255. And if they are someone's going to pay for it.

>> No.6370396
File: 10 KB, 463x421, 33.png [View same] [iqdb] [saucenao] [google]
6370396

Here's what I have so far. Roughly the first ten lines of the program.

>> No.6370654

>>6369979
Very nice. Too bad it's neither free as in freedom nor as in beer.
I just use openwatcom.

>> No.6370665 [DELETED] 

>>6358154
>boohoo why do the people making free emulators not do my fucking job for free for me and instead focus on what they want out of it
Fucking idiotic leech.

>> No.6370776
File: 40 KB, 479x720, tips fedora.jpg [View same] [iqdb] [saucenao] [google]
6370776

>>6370654

>> No.6370830

how easy would it be to send a program to a real c64 over serial? you need something on the machine to actually receive it, right?

>> No.6370928

>>6369979
I use this on an old Toshiba windows 95 laptop. Pretty nice.

>> No.6371107

>>6370396
Do you intend to program an adventure game or something? Just out of curiosity.

>> No.6371394

>>6352104
6502 assembly > https://100r.co/site/6502_assembly.html

I come from an X86 background and simplicty is nice. MIPS 3000 assembly is cool too but not as comfy.

Do some NES dev stuff, it's really easy and lots of good emulators

>> No.6371396

>>6371394
>I come from an X86 background and simplicty is nice.
I can't recommend this enough to you: Learn 68000 assembly.

>> No.6371413

>>6371396
I'm onto it, I'm trying to set up a FX68K FPGA environment on a dedicated machine (Pano Logic). Lockdown has its good sides

>> No.6371435
File: 644 KB, 1309x874, 1580880224642.png [View same] [iqdb] [saucenao] [google]
6371435

>>6371413
I fortunately have two A500 and one A1200 to play with during the lockdown.
And yeah, 68000 is pure pleasure. I got started through coppershade's tutorials a year ago.
I use AsmTwo. Pic related. HD600 are to listen to Love Live, particularly fond of umi.

>> No.6371487

>>6370830
As easy as it was done gazillions of times. That's literally how most programs were loaded by non-youropoors.

>>6371394
>I come from a reddit background
You don't say

>> No.6371510

>>6371107
No...in case you weren't following the thread, I was trying to convert >>6370158 into assembly language.

>> No.6371543

>>6371394
>NES
>easy to code for
Not really no.

>> No.6371727

>>6371543
>"NES dev stuff"
>not easy to larp about

>> No.6371816 [DELETED] 

>>6370158
>100 POKEDD,127:S3W=-((PEEK(PB)AND128)=0):POKEDD,255

What the fuck is going on with this?

>minus sign means the value is negated
>then we AND it with 128
>followed by "=0"
That makes no syntatical sense.

>> No.6371827

>>6370158
>100 POKEDD,127:S3W=-((PEEK(PB)AND128)=0):POKEDD,255

What the fuck is going on with this?

>minus sign means the value is negated
>then we AND it with 128
>followed by "=0"
That makes no syntactical sense.

>> No.6372094

>>6371827
I didn’t look at the rest of the code, and don’t know your knowledge of basic, but I think one point of confusion is the lack of a Boolean type in BASIC. Instead comparisons (typically) produce a value of 0 or 1 for false/true which can be operated with like any other number.
The statement looks to be toggling SW3 between 0 and -1.

The part that confuses me is that they’re doing the AND comparison with a static value. Why not just work with the value of the PEEK? (The 128 should always be producing true for that half.) The comparison with 0 will reduce the value to the needed 0 or 1.
Is there some quirk with this computer/BASIC implementation that calls for it? (My general interpretation is coming from AppleSoft BASIC.)

>> No.6372102
File: 355 KB, 371x470, 1559620360146.png [View same] [iqdb] [saucenao] [google]
6372102

>>6370654
>Too bad it's neither free as in freedom nor as in beer.
It's free as in you can download it for free and use it without restriction.

>> No.6372215

>>6372102
But you can't tip your fedora at it

>> No.6372623

>>6371727
>larp
lol faggot learned a new word and is so happy about it he cannot contain his joy

>> No.6372627

>>6372094
>Is there some quirk with this computer/BASIC implementation that calls for it? (My general interpretation is coming from AppleSoft BASIC.)

The core code of Commodore and Applesoft BASIC is the same except Applesoft doesn't have NOT/OR/AND operators.

>> No.6372756
File: 133 KB, 650x650, a2.jpg [View same] [iqdb] [saucenao] [google]
6372756

>>6372627
huh?

>> No.6372765

>>6372756
AND, OR, and NOT in Commodore BASIC are bitwise operators. They're boolean operators in Applesoft. Not the same thing.

>> No.6374627

bump

>> No.6375105

>>6370158
I typed this into VICE and it crashed when I ran it.

>> No.6375453

https://www.atarimagazines.com/compute/issue59/mindbusters.php

>> No.6375953

>>6352223
someone submitted a demo from the robotron kc85 to this year's revision and it's a pretty powerful beast for a communist country

>> No.6376032

>>6375105
I hope you saved it first.

>> No.6376042

>>6352596
Standard C64 doesn't have katakana input last time I checked.

>> No.6376054

>>6375953
>Implying it was actually developed by the commies, and they didn't steal every single part from whatever they could get their hands on...

>> No.6376476

>>6375953
Found the link: https://youtu.be/aZCnX8xp-m4?t=928

>>6376054
Yeah, but then again, it's not like West Germany produced any computers of note, unless you count the 3rd Reich's Zuse machines.

>> No.6377034

bump

>> No.6378459
File: 184 KB, 1280x720, amiga_protracker.jpg [View same] [iqdb] [saucenao] [google]
6378459

Don't forget to listen to a proper soundtrack while coding:
https://www.youtube.com/watch?v=4v6GS4NfvF4&t=466s

>> No.6378493

>>6378459
Ah yes. Trackers are like the bridge between music and programming anyway. (Which resulted in neither programmers nor ordinary musicians being able to use them to their full potential.)

>> No.6378527

>>6378493
Imagine being an engineer and not a musician.
Imagine being a musician and not an engineer.
Be both.

>> No.6378536

>>6378459
Sounds great on my HD600.

>> No.6378707

>>6362864
No, autistic savants

Jews have a boner for Lisp because it reminds them of the days when they used to get paid by the DoD for writing job security code all day long. Google "AI Winter"

>> No.6381054

bump

>> No.6381063

Does anyone have some actual experience with coding for the NES? Some say it's a good platform to get into console homebrew, with the biggest issue being how to defeat the cockout system for a physical cartridge release.

>> No.6381087

>>6381063
The NES isn't "hard" to program per se (there's only 33 main registers) but it's very timing sensitive and you have to do everything in the correct sequence or you won't even see anything on screen. Also...

>with the biggest issue being how to defeat the cockout system for a physical cartridge release
It's called a ROM and you put it on an Everdrive. This is after all 2020.

Now the SNES, good luck with that. It has almost no homebrew for a reason.

>> No.6381461

>>6381063
I have a lot. It's not hard but it's not necessarily the best to start with. That depends mostly on you. Those "some" who say silly things can be ignored.

>>6381087
>you have to do everything in the correct sequence or you won't even see anything on screen
Yeah, that's basically every system that doesn't run something first that displays something before running your code.

>> No.6381530

Home computers are a lot easier and more forgiving to code for than consoles.

>> No.6381563

>>6381530
Sure, but I already know how to code for the C64 and the MSX2. I'd like to get into consoles, and it was either the NES or the Genesis - but the latter seems a bit complex to start with.

>> No.6382324
File: 2.26 MB, 1280x1022, 1559750217949.png [View same] [iqdb] [saucenao] [google]
6382324

I had to remove that damn Varta from the A501 expansion. It had leaked a little.
My A500 (rev6) lives. But without the battery, the RTC isn't doing well, even with the Amiga powered on.
That's some crazy output.

>> No.6382337

>>6381563
>Sure, but I already know how to code for the C64 and the MSX2.
How did you make it past the assembly language larper?

>> No.6382903

>>6381563
Just find a console that has a BASIC similar to either of those

>> No.6383435

>>6382324
>01 Feb 45
Wow, you have Hitler's Amiga! Now that's a retro collector's item if I ever saw one

>> No.6383453

Commodore 64 is supposed to be easy to code for but it's graphics are too limiting.

>> No.6383558

>>6383453
Believe me, most 8-bit systems are much more limiting than that. Try an Apple II where there's not even any IRQs and you have clicking noises for sound.

>> No.6383584

>>6382337
You mean punch tape?

>> No.6384026

>>6383435
It would read something totally different if you load it again.
And btw, 45 means 2045 in Amiga parlance, as 1945 would be below Amiga epoch
Amiga epoch is 1 January 1978.

>> No.6384126

Zniggy was fun, but why not another 8-bit computer project? Maybe even on an off-the-beaten-path system like the Apple II or VIC-20.

>> No.6384140

I’ve had an itch to start programming for older machines lately, but all my old hardware is out of reach at the moment. But hey I’ve got a TI-84 with a Z80, that’s close enough right?

Exactly how retarded am I for trying to scratch my itch with TI-BASIC?

>> No.6384469

>>6358130
Just curious but did Compute! ever have any Mac type-in programs?

>> No.6384501

>>6384469
Nah they didn't. The Mac didn't ship with Microsoft BASIC, it was an extra cost purchase and Macs were mainly an appliance computer, the typical user wasn't a hacker. Note that Compute! did run Amiga and Atari ST type-ins since those machines did come with BASIC. I'll note that Family Computing did have some Mac BASIC type-ins but their type-in stuff was always weird boomer shit like "Christmas Tree Construction Set" and they didn't have anything actually cool.

>> No.6384519

Also I noticed that Compute! and Family Computing had a somewhat unique practice of readers submitting programs and they would port them to other machines. I never recall any European magazines doing that, or for that matter Japanese ones (as far as I could tell, I can't read moonrunes). If you submitted a ZX Spectrum program to the magazine, they would simply run the listing for it and it was up to you to translate it for your Amstrad or whatever.

>> No.6384548

>>6384519
You mean Satoshi submitted his PC-8801 BASIC listing of Suppa Schoolgirl Panty Boken to a magazine and they didn't convert it for the FM-7, you had to do it yourself? Aw, man.

>> No.6384560

>>6384548
And what's your problem now? He wrote it in BASIC, yet he was still LARPing?

>> No.6385370

>>6383435
>when you have absolutely no clue about anything being discussed in the thread but you still feel compelled to contribute because you desperately want to fit in

>> No.6385624

>>6384560
Everyone in every programming thread is LARPing all the time

>> No.6386195

bump

>> No.6386210

>>6357697
>>6354769
>>6366521
>>6374627
>>6377034
>>6381054
>>6386195
Hey, sweetie, can you, like, stop?

>> No.6386353
File: 389 KB, 1200x702, christmas tree family computing 12-83.jpg [View same] [iqdb] [saucenao] [google]
6386353

I remember seeing a similar GW-BASIC Christmas tree program that used full CGA graphics and played PC speaker Christmas carols. These versions are a little simpler and use only character graphics and no sound even though some of the machines could support full graphics and music.

>> No.6386435

>>6381087
>nes isnt hard
>implying assembly is easy

>> No.6386441

>>6386435
depends on your experience

>> No.6386448

>>6386441
I doubt most of us can do more than Hello World kind of programs. Even a short program like >>6386353 involves some division and 16-bit numbers which is beyond the skill level of most of /vr/.

>> No.6386450

>>6386448
K, but that has nothing to do with the NES and how it isn't hard to code for compared to other consoles.

>> No.6386452

>>6386450
The Gameboy and Mega Drive are probably the easiest retro consoles to program.

>> No.6386456

>>6386452
>Mega Drive
With its 2 diffeerent CPUs? I don't think so.

>> No.6386461

>>6386456
Why is SNES that hard?

>> No.6386468

>>6386461
Because Nintendo. Lack of documentation, lack of tools, and so on.

>> No.6386474

The SNES has a weaker CPU than the MD (spoiler alert: the 65816 uses 64k memory segments just like DOS PCs which is so nice to work with) and its architecture is a spaghetti mess. It was the beginning of Nintendo trying to throw in everything but the kitchen sink and creating an overly complicated clusterfuck.

>> No.6386513

>>6386474
can not be that hard considering how simple snes games are

>> No.6386521

>>6386513
Bruh.

>> No.6386663

>>6386521
hm?

>> No.6386809

>>6384501
Family Computing and Compute! were also both notorious for giving TRS-80 CoCo owners the middle finger.

>type-ins always for Color BASIC and machines with 8k RAM, never any support for Extended Color BASIC or larger memory sizes

>> No.6386817

yeah Family Computing was pretty cornball and boomer-focused. it was published by Scholastic though so i'd have kind of expected that.

>> No.6387156
File: 2.25 MB, 4032x3024, 20200316_190423.jpg [View same] [iqdb] [saucenao] [google]
6387156

I have this thing and a few games

Anything worth checking out on it?

>> No.6387226

>>6387156
The capacitors before you turn it on...

>> No.6387472

>>6387226
Woops
I already turned it on once
It still works but checking the caps is probably a good thing

Got it gifted from the dad of my best friend
Had been in an attic for years

>> No.6387993

>>6387472
First off ignore the Reddit maymay poster--I've never heard of CoCos having cap issues. Secondly most of its games are weird shit made by hole-in-the-wall outfits with names like Ed and Irma's Software Creations from Dead Cow Creek, Nebraska. It wasn't supported by any of the major software developers of the time--no Broderbund, Sierra, Microprose. etc.

Audiovisuals are halfway between an Apple II and a VIC-20. Downsides: Video output is RF-only and the screen has only 32 column text.

For storage, if you have the cassette cable, you can connect it to your PC's sound card to load and save files as WAVs. Disk storage will require the external disk controller cartridge and you can use a Gotek with it. Be careful not to use the disk controller for the CoCo 1 as it required an extra 12V line that was removed from the CoCo 2. The BASIC is pretty nice and even has PLAY, CIRCLE, and other commands like that and the 6809 CPU is really nice--it supports fully relocatable code and hardware multiply/divide.

>> No.6388074
File: 26 KB, 311x311, you-must-be-new-here.jpg [View same] [iqdb] [saucenao] [google]
6388074

>>6387993
>not opening every old device you get and destroying it by ripping pads off the board and replacing them with large balls of cold solder joints with capacitors with full length leads hanging out of them

>> No.6388150

BASIC is a terrible programming language

>> No.6389084
File: 52 KB, 640x640, pa.5497.1.jpg [View same] [iqdb] [saucenao] [google]
6389084

>>6352104
>BASIC

Pic related. Full access to all Saturn hardware, all peripherals, all in BASIC. Look it up on YouTube. People have made fully 3D games in BASIC on the hecking Segata Saturino.

>> No.6389090

>>6388150
Shut up faggot

>> No.6389105

>>6386448
I have a fair amount of experience with assembly language, so that's not the issue. I've already written my first little game for the C64 in 6502 assembly since this thread started.
But when a machine is poorly documented, doesn't have good dev tools available, requires oodles of initialization code and precise timing to do anything at all on it; that's relevant to what I asked about.
>division
easy to implement using subtraction and bit shifts.

>> No.6389198

>>6388150
>i is a terrible programming person

>>6389084
Yeah, Game Basic is very powerful and very easy to use, provided you have the cable.

>> No.6389214

>>6386452
The Mega Drive is easy in that you can program in C on it, and the CPU, VDP, and audio chips are extremely well documented.

>> No.6389224

>>6371396
>>>6371394
>Learn 68000 assembly.
Best decision I ever made as a hobbyist. I love all the 68k systems, from the QL with its 68008 to the Amigas running the 060 and everything in between.

>> No.6389265

>>6388150
(something) LARPing (something) zoomer (something)

>> No.6389353

>>6387993
>I've never heard of CoCos having cap issues.
Nah, they used caps made with FDT (Fairy Dust Technology). No need to worry about electrolyte drying or leaking out, and the laws of physics and chemistry don't apply either.

>>6388074
>ripping pads
>through hole
One has to be a colossal retard to pull this off, though I can totally see what you mean.

>> No.6389510

Z80 or 6502 assembly?

>> No.6389525

>>6389510
BASIC or you're a LARPer.

>> No.6389543

>>6389353
If it was stored in a cool, dry environment and not outside in a shed he probably has nothing to worry about.

>> No.6389560

>>6389543
They still won't last forever. But at least the degradation will occur progressively (random lockups and freezes, etc) in that case.

>> No.6389561

>>6386809
>>6387993
Considering its relative marketplace irrelevance, it's amusing that the CoCo magazine Rainbow ran up to 1990 and beat out any other 8-bit computer publication for longevity (in North America at least, I'm sure European ones went longer) with the exception of the Apple II magazine InCider.

>> No.6389774

>>6389353
>One has to be a colossal retard to pull this off
Do you even know where you are? Also, you just outed yourself as a newfag too young to remeber the vectrex lad. If those threads are an archive somewhere it's worth a read. And he's one of the "smart ones".

>> No.6389778

>>6389774
Fair enough, even without looking up the person you've mentioned. I'm a bit nervous about what I am going to find.

>> No.6390570

>>6389510
6502. It's interesting because it's so simple.

Z80 is a clusterfuck compared to it, with weird and complex instructions like INDR. Not saying these instructions weren't useful for performance and code size back in the day, but there's little reason to spend time with it now.

>> No.6390984

>>6389778
Could only find an archive of the last part
>>/vr/thread/1397976
In the previous threads he'd done some pretty impressive butchery, including tearing up a few traces.

>>6390570
I've spent more time using 65xx's than Z80's so I understand why you think the way you do. Fortunately I worked with the Z80 before the 6502 so I didn't end up like you. The complexity of the Z80 greatly simplifies design, of both hardware and software. If INDR seems weird to you it's probably because you don't understand the concept of ports and have never worked with parts designed to be interfaced that way. Using a TMS9918 with a Z80 requires minimal decoding and a few instructions to operate. With a 6502 it's all massively more complicated. One reason to spend time with a Z80 now might be to learn about it, if for no other reason than to not look retarded on the internet.

>> No.6391104

>>6390984
>I worked with the Z80 before the 6502
Same with me, you assumptive spastic.
>you don't understand the concept of ports
Wrong, and I even worked with them quite a bit specifically on the Z80 when I was writing code for the Sega Game Gear.
>The complexity of the Z80 greatly simplifies design
Hence why I said these instructions positively impact performance and code size.
>One reason to spend time with a Z80 now might be to learn about it, if for no other reason than to not look retarded on the internet
Unfortunately for you, I don't have any tips for people who come across as obnoxious retards on the internet due to an interplay of poor reading comprehension and socially debilitating autism.

>> No.6391109

>>6390984
Writing Z80 code is generally easier due to the larger instruction set and 16-bit registers, particularly when you're doing math heavy applications. It's also more compact than 6502 code since you will need fewer instructions to accomplish the same task. The Z80's built-in DRAM refresh was also a huge plus and it's easy to see why it became the industry standard 8-bit microprocessor. Only time the 6502 had an advantage was in the late 70s when Z80s came in 1-2Mhz speeds and weren't as fast as a comparable 6502. Once Z80s of 3-4Mhz arrived, there was no real reason anymore to choose a 6502 over it.

>> No.6391132

The 6809 also became super common in embedded applications and arcade games once the price of it had dropped, though not many computers other than the TRS-80 CoCo used it.

>> No.6391147

>>6390984
Port-based I/O also saves you memory which on an 8-bit system is very precious since you don't have to waste memory with I/O registers, though the C64 let you switch those out and access the RAM underneath. For other systems like the Apple II, the RAM in the I/O area is just permanently lost to programs.

>> No.6391167

C64 6502 is well documented with an few excellent books and YT channels

>> No.6391172

>>6391167
PS have worked on it and now starting up again on Atari 800 now that I have an Assembler cartridge for mine


Have programmed a bit for the vectrex on 6809 as I have a rare computer for it, now with working bubble memory modules

>> No.6391193

>>6391132
Have a Vectrex I tried making a port of Star Raiders for but all I have is a questionable ROM plus a few various paper printouts


Planning on finding a SuperPET with the dual 6809/6502 processors

>> No.6391579
File: 37 KB, 512x216, 9900.jpg [View same] [iqdb] [saucenao] [google]
6391579

Anyone here use cassette storage with their systems? What kind of recorder do you use?

This is only vaguely related to the OP, but I've started working on a couple TI-99s to do some BASIC/assembly development on and I don't know if this kind of thing is worth its own thread, I thought of just wiring it up to a laptop to save and load programs that way but just picking up a small recorder sounds a little more convenient for physical space and it appeals to my autism for magnetic media.

>> No.6391776

>>6391104
>b-b-but, larp, larp, waaahhh
Oh look, it's the assembly language larper again

>>6391109
Yes. The refresh was a huge advantage. The cost and time savings from a simpler design and cheaper parts was substantial. I love the 65xx but that doesn't have to blind me to the advantages of the Z80. It was so popular for a good reason. Even today, with SRAM costing pennies the Z80 is a good choice for tinkering with old parts.

>>6391147
They really got it right with the C64. I loved having access to almost sort of 64K. With the cost of parts in recent decades I nearly always incorporate the same concept into my designs, even if it's not needed. There's simply no reason not to have at least 64K or RAM. In fact 128K may even be cheaper and easier than trying to find a 64K part or using 2x32K parts. Having oodles of RAM sort of reduces the impact of memory mapped parts but all that mapping still has to be done by something. I can make an very functional Z80 system with the dedicated chips and a few buffers and a GAL. I need a bucket of logic or a CPLD for a 6502.

>> No.6393310

>>6391776
>Oh look, it's the assembly language larper again
The original "assembly language LARPer" (>>6353034) here. Believing every single poster who doesn't share your Z80 and BASIC fetish is me shows how sad and delusional you are.

>> No.6393675

>even here retards are whining and calling each other larpers and zoomers
this place is even worse than /g/ for technical discussion damn

>> No.6394098

>>6391579
Just record to/from your cellphone

>> No.6394241

>>6388150
Go back to your Python shortbus, kid.

>> No.6394309

>>6393310
>I'm a totally different LARPer and I'm crying because I got caught

>> No.6394341

>>6394098
Might still buy an adapter to mess with that later but I ended up just ordering a cheap TI Program Recorder after I tried it with a couple desktops, laptops and even some PDAs with discrete jacks and it didn't take to any of them.