************************************************
************************************************

Unfortunately, this site has restricted functionality as this browser does not support the HTML button formaction attribute.

Unfortunately, this site has restricted functionality as this browser has HTML web storage turned off.

stup8CPU rev: 0.002 by Kindergarten

1 of 2 files anormal
Release
3 items
STUP8.ZIP
  • STUP8.ASM
  • STUP8.COM
  • STUP8CPU.PRJ
Credits
Metadata
  • Zip / DOS   Computer tool

Emulating STUP8.COM in DOSee.

Use these tabs to make adjustments to the emulation

If the emulation is taking too long to load, you can turn it off.

Applying changes will reload the page and reboot the emulator





Changes are not applied until the browser tab is reloaded





DOS programs need a keyboard for user input
Some common keys used in DOS programs

ENTER ↵ to select or continue
ESC to navigate back or exit
←→ ↑↓ are often used to navigate menus


Emulation too fast?
Set the emulator to use the 386 CPU configuration
Experiencing graphic or animation glitches?
Set the emulator to use VGA only graphics configuration
Need to turn off the audio?
Disable sound card support

Have no audio?
  1. Try Gravis Ultrasound hardware
  2. The song or audio file maybe missing from the program

Want to hack around in the DOS prompt?
  1. Mount the DOS tools drive with automatic run program turned off
  2. Then dir u: to list the utilities, some included programs 4dos.com cp.exe acidview.exe pictview.exe
  3. Use mount to list the emulated drives
  4. Learn the DOSBox commands

DOSee pronounced dos/see, is our emulator used to run MS-DOS based software in your web browser.

MS-DOS (Microsoft DOS) was the primary operating system used by PCs during the 1980s to the early 1990s and is the precursor to Microsoft Windows.


DOSee is a slimmed down, modified port of The Emularity.

The Emularity is a multi-platform JavaScript emulator that supports the running of software for legacy computer platforms in a web browser. It is the same platform that's running emulation on the Internet Archive.

EM-DOSBox is a discontinued, high-performance JavaScript port of DOSBox that is applied by The Emularity for its emulation of the MS-DOS platform.

DOSee uses BrowserFS ZipFS and ZipFS Extras to simulate zip file archives as hard disks within EM-DOSBox.

DOSBox is the most popular MS-DOS emulator in use today and is frequently used by commercial game publishers to run games from their back-catalogues on modern computers.


DOSee, built on The Emularity, EM-DOSBox and DOSBox. Capture screenshot and save function built on canvas-toBlob.js.

[+] Configuration Copy text
; ------------------------------------------------------------------------ ; ------------------------------------------------------------------------ ; project: stup8cpu ; code: anormal/loki/kindergarten/trkitzr ; ; rev: 0.000 : Sun 02-08-1998 : initial code, not debug ; rev: 0.001 : Sun 02-15-1998 : some fixes, some debugging ; rev: 0.002 : Sun 02-22-1998 : +debugging ; i was getting a stupid error due to the use of si without initializating ; time: 0.000 : 1:30 ; time: 0.001 : 1:10 ; time: 0.002 : 2:10 c0de segment assume cs:c0de,ds:c0de org 100h .486 ; opcode macronization :) _inc_idx macro db 0 endm _load macro db 1 endm _mov_idx macro idx_inm db 2 or (idx_inm shl 3) endm _sub_acc macro idx_inm db 3 or (idx_inm shl 3) endm _stop macro db 4 endm _output macro db 5 endm _input macro db 6 endm _jnz macro idx_inm db 7 or (idx_inm shl 3) endm start: mov bx,offset ram mov si,offset ram+32d ;initial ip run: lodsb ;load opcode mov di,ax and di,0111b ;get instruction shl di,1 call [di+offset optable] endemul: jmp run db 0bfh movidx: shr al,3 xlat mov idx,al ret db 0bah load: mov al,idx xlat mov acc,al ret db 0eah subacc: shr al,3 xlat sub acc,al ret db 0bah incidx: inc idx ret db 0cdh output: mov dl,acc mov ah,02 int 21h ret acc db 0 input: mov dx,offset buffer mov ah,0ah int 21h mov al,idx sub ah,ah mov di,ax add di,bx xchg ax,si mov si,offset buffer+2 xor cx,cx mov cl,[buffer+1] rep movsb xchg ax,si ret idx db 0 jnzlabel: cmp acc,0 jne jump ret db 0b2h jump: sub ah,ah shr al,3 xlat mov si,ax add si,bx ret db 0b8h stop: pop ax ret buffer db 20h,0 db 20h dup (0) db 0eah optable dw incidx,load,movidx,subacc,stop,output,input,jnzlabel ;ram!!! ;vector of pointers to real inmediates ram db iniMess-ram ;0 db imprime-ram ;1 let_o db 'o' ;2 db pass-ram ;3 db badtry-ram ;4 let_u db 'u' ;5 db okMess-ram ;6 db badMess-ram ;7 let_l db 'l' ;8 db imprime2-ram ;9 let_r db 'r' ;10 let_p db 'p' ;11 db 32-12 dup(0) _mov_idx 0 imprime: _load _sub_acc 10 ;decode message _inc_idx _output _jnz 1 ;must be 'r' terminated _mov_idx 3 _input _load _sub_acc 8 _jnz 4 _inc_idx _load _sub_acc 5 _jnz 4 _inc_idx _load _sub_acc 11 _jnz 4 _inc_idx _load _sub_acc 5 _jnz 4 _inc_idx _load _sub_acc 8 _jnz 4 _inc_idx _load _sub_acc 2 _jnz 4 _inc_idx _mov_idx 6 imprime2: _load _inc_idx _sub_acc 8 _output _jnz 9 _stop badtry: _mov_idx 7 _jnz 9 pass: db 23,93,83,25,73,83,91 ;just some trash iniMess: db 0ah + 'r' db 0dh + 'r' db 's' + 'r' db 't' + 'r' db 'u' + 'r' db 'p' + 'r' db '8' + 'r' db 'C' + 'r' db 'P' + 'r' db 'U' + 'r' db ' ' + 'r' db 'b' + 'r' db 'y' + 'r' db ' ' + 'r' db 'a' + 'r' db 'n' + 'r' db 'o' + 'r' db 'r' + 'r' db 'm' + 'r' db 'a' + 'r' db 'l' + 'r' db '/' + 'r' db 'k' + 'r' db 'i' + 'r' db 'd' + 'r' db 'e' + 'r' db 'r' + 'r' db 'g' + 'r' db 'a' + 'r' db 'r' + 'r' db 't' + 'r' db 'e' + 'r' db 'n' + 'r' db ' ' + 'r' db '-' + 'r' db ' ' + 'r' db 'f' + 'r' db 'e' + 'r' db 'b' + 'r' db '-' + 'r' db '9' + 'r' db '8' + 'r' db 0ah + 'r' db 0dh + 'r' db 'E' + 'r' db 'n' + 'r' db 't' + 'r' db 'e' + 'r' db 'r' + 'r' db ' ' + 'r' db 'p' + 'r' db 'a' + 'r' db 's' + 'r' db 's' + 'r' db 'w' + 'r' db 'o' + 'r' db 'r' + 'r' db 'd' + 'r' db ':' + 'r' db ' ' + 'r' db 'r' ;terminator okMess: db 0ah + 'l' db 0dh + 'l' db 'n' + 'l' db 'i' + 'l' db 'c' + 'l' db 'e' + 'l' db '!' + 'l' db '!' + 'l' db '!' + 'l' db '!' + 'l' db ',' + 'l' db ' ' + 'l' db 'e' + 'l' db 'm' + 'l' db 'a' + 'l' db 'i' + 'l' db 'l' + 'l' db ' ' + 'l' db 'm' + 'l' db 'e' + 'l' db ' ' + 'l' db 'n' + 'l' db 'o' + 'l' db 'w' + 'l' db '!' + 'l' db '!' + 'l' db ' ' + 'l' db 't' + 'l' db 'o' + 'l' db ' ' + 'l' db 'a' + 'l' db 'n' + 'l' db 'o' + 'l' db 'r' + 'l' db 'm' + 'l' db 'a' + 'l' db 'l' + 'l' db '@' + 'l' db 'b' + 'l' db 'i' + 'l' db 'g' + 'l' db 'f' + 'l' db 'o' + 'l' db 'o' + 'l' db 't' + 'l' db '.' + 'l' db 'c' + 'l' db 'o' + 'l' db 'm' + 'l' db 0ah + 'l' db 0dh + 'l' db 'l' ;terminator badMess: db 0ah + 'l' db 0dh + 'l' db 'w' + 'l' db 'r' + 'l' db 'o' + 'l' db 'n' + 'l' db 'g' + 'l' db '!' + 'l' db ',' + 'l' db ' ' + 'l' db 't' + 'l' db 'r' + 'l' db 'y' + 'l' db ' ' + 'l' db 'a' + 'l' db 'g' + 'l' db 'a' + 'l' db 'i' + 'l' db 'n' + 'l' db ' ' + 'l' db 'm' + 'l' db 'a' + 'l' db 'n' + 'l' db '!' + 'l' db '.' + 'l' db '.' + 'l' db '.' + 'l' db 0ah + 'l' db 0dh + 'l' db 'l' ;terminator c0de ends end start
STUP8.ASM 105x368 Font
105